Hi, I'm Robert Walter

Hi all and thanks to Federico for starting this community!

My name is Robert (Walter). I’m a freelance software developer and coach based in Köln, Germany.
My main focus during my professional career has been language engineering and tool development. I’ve used different technologies, like EMF, Xtext/Xtend, the Intentional Platform, as well as JetBrains MPS over the last ten+ years to built languages for different domains, including game design, medical engineering, and robotics. I was lucky enough to also be part of some of the development teams behind these technologies, where I was able to learn a lot from very smart people.

I’d like to see language engineering taking in a more prominent role in industry projects, since I firmly believe that DSLs and the right tooling can significantly minimize accidental complexity and allow companies to focus on and explore their business challenges. It’s interesting to me how “low-code” platforms somehow seem to have hit a nerve in that regard and I’m therefore interested to learn more about them.
Another main interest of mine is UX in both language workbenches and the languages we built with them, since I believe it is an important topic that has been neglected both in research as well as industry applications of language engieering. Last but not least, I’m interested to discuss how the process of language design itself can be a very powerful tool for companies to improve their internal communication and their company-wide, common understanding of their problem domain(s), something many people don’t seem to realize.

Anyway, I’m looking forward to learn more about what other topics the community is interested in! If you have any questions, please don’t hestitate to approach me.

5 Likes

Thank you Robert!
I am very happy to have you helping us starting this community.
I think that having a Language Engineering professionals, as you are, is a huge value for many of our (soon to arrive) members. They will a chance to learn a lot from you.

I have played with some of the same technologies: EMF + Xtext and obviously JetBrains MPS. However I never got a chance to access the Intentional Platform and for this I am quite envious of you!

I am also reflecting on we can make DSLs and language engineering more popular. We are obviously doing something wrong on the marketing side, because clients who adopt these technologies are thrilled with the benefits, and yet many would never know about the existence of DSLs or never “get them”.

The low-code guys seem to be able to focus on a subset of the problems solved by DSLs:

  • Making non-professionals being able to write applications
  • Making applications cheaper and faster to build

Also, they promote specific solutions (i.e., a specific low-code platform) while we promote a technology (the concept of DSLs, not a specific DSL). Maybe we need to build specific DSLs for specific domains and promote them. The problem is that the cool stuff is typically built for a specific client and therefore cannot be shared. Maybe we could instead start building DSL off-the-shelf and sell them.

Regarding the effects on language design on communication, I loved what Daniel Ratiu said in his interview (http://beyondparsing.com/interview-with-daniel-ratiu/), when he said that while building languages many colleagues realize they are using the same words to indicate different things. Maybe we should promote “Domain Engineering” independently from DSLs being built. Clarity and common understanding are a side-product of DSLs which are valuable per se and often they are not given the proper attention.

So a lot of stuff for interesting discussions! Thank you again for joining!

1 Like

Welcome Robert!

I have seen that you are interested in low-code platforms. If you have time can I ask you some feedback on our article about the topic:

Thank you, I will read it asap!

1 Like

Nothing to be envious about. Feel free to ask questions if you want to know more.

I think this is a very good idea and would most likely help a lot.

There are obviously overlaps with ideas from DDD and BDD and such, but I actually do try to “sell” my services more from a process/engineering point of view, if that makes sense. I actually try to avoid the term DSL and MDSD altogether and try to talk about productivity tools, domain modeling, and such things instead.

2 Likes

Interesting!
This is a topic I would be interested in discussing further. I will start a topic on domain modeling as I would love to learn more about processes people adopt, resource available, etc.

Hi Gabriele,
thanks for reminding me of your article, I had it queued up some time ago but never gotten around to actually read it. Now, I’m glad I did, I thouroughly enjoyed all the information and the closer looks at some available platforms, well done and thank you!
If there is one minor thing you might be able to improve upon it’s addressing the grammatical errors, especially when to use/not to use the third person singular s, which had me stumbling from time to time, but this is obviously just a minor complaint.
Again, thanks for pointing me to the article!

1 Like

Thanks for your feedback!

If there is one minor thing you might be able to improve upon it’s addressing the grammatical errors, especially when to use/not to use the third person singular s, which had me stumbling from time to time, but this is obviously just a minor complaint.

Sorry, you are right about this. We try to check and re-read everything, but unfortunately these kinds of errors easily slip through.

This is an interesting Federico.

I have two things to share :

I envision it is possible to have low-code technology rather than “a specific low-code platform :

This is made possible specially with the code generation low code approach (as opposed to the interpretation low code approach). Let me explain my idea:

The code generation low code approach is to transform a meta-model to an application code through generation template. A low-code platform is usually both the business user-friendly UI that is used to instantiate a meta-model, the code generation engine to actually generate the code, and the infrastructure to seamlessly deploy and monitor the applications.

If the low code platform is based on a static meta-model and code generation template (static in the sense that the end users don’t have any control over it), then indeed we have a specific low code platform, designed to model and generate a specific type/domain of applications. Even if the domain is quite large (for example: data centric management applications).

However, if the low code platform is open and flexible enough so that the end users (more technical experts than business users) can evolve the meta-model and the code generation templates, or even create their own full new meta-model and code generation templates, then we have a low code technology that is not specific and can cover any kind of domains needs ! You then have a low code platform that can be used by experts who will create meta-models and code generation templates, and by business users who can use specific meta-model and code generation templates tailored to their domain needs. Same as specific DSLs built by experts and then used by (ideally) business users.

This is the second option that I definitively prefer, and on top which Generative Objects is built. A “secret” of Generative Objects approach is that the platform is “bootstrapped”. It means that Generative Objects is built with Generative Objects. You can open with GO the GO meta-model, evolve it, evolve the code generation template and … regenerate GO by itself. So by design, GO allows to have this generic low-code technology approach.

DSL can be a great addition to low-code technology

For me I see DSLs as a great tool to be used as part of low-code platforms. For instance, in GO, we have a mixed Graphical/Textual DSL (built by @tvillaren !) to express and model validation rules and business rules, integrated as part of the UX of GO. This is one of the reasons I am interested in the forum !

Thank you @digital-ember for your introduction ! We might have to connect and share around low-code platforms :wink: I am doing a presentation of the GO low code platform on thursday : Virtual Meetup 30/4: Walter Almeida presents a low code platform