Skip to content
iSAQB-blog-new-DSL-web-v1

About the New CPSA®- Advanced Level Module Domain-Specific Languages (DSL)

An Interview With Curator Michael Sperber 

On November 21, the iSAQB published the curriculum of the new Advanced Level module Domain-Specific Languages (DSL).

DSL covers crucial techniques in programming language design and compiler construction. It enables partic­i­pants to under­stand the role of DSLs in overall architecture, design user-friendly DSLs system­at­i­cally, and recognize them as integral to architecture design.

The editorial team of the iSAQB blog took the new publi­cation as an oppor­tunity for an in-depth interview with curator Dr. Michael Sperber.

 

Who was involved in creating the curriculum?

The syllabus was developed by Dr. Michael Sperber (Active Group) and Dr. Lars Hupel (innoQ, Giesecke + Devrient) with the support of Patrick Müller from the iSAQB Council.

 

What inspired you to develop the curriculum for domain-specific languages at the Advanced Level of the iSAQB?

We have already imple­mented domain-specific languages in many software projects where they play an essential role in the architecture. So far, however, the existing iSAQB curricula did not even mention DSLs.

At the same time, the topic is too extensive to be included as a sub-item in one of the existing curricula. Conse­quently, we have developed a new one.

 

What specific goals and prior­ities did you consider when creating this curriculum?

We believe that DSLs should be part of the core toolbox of archi­tects. However, the knowledge and skills required for this are hardly widespread among archi­tects. As a result, many projects that would benefit from DSLs do without them. Also, many projects do contain DSLs but don’t call them that (e.g., for config­u­ration). These are often so poorly done that they negatively impact the architecture. We want to remedy both deficits.

 

Who is the training designed for, and what prior knowledge or quali­fi­ca­tions would you recommend to participate?

We believe all archi­tects aiming for iSAQB Advanced certification can partic­ipate in the training. In other words, a Foundation certification is a reasonable prereq­uisite, along with the architecture experience that is also required for the Advanced Level.

A DSL makes a partic­u­larly good partner for the FUNAR (Functional Software Architecture) module because the design of combi­nator models taught there is an essential component of many DSLs.

Moreover: Anyone who has ever attended a compiler construction lecture during their studies will feel partic­u­larly at home in a DSL training. If not, the necessary founda­tions are also laid in the training.

 

What advan­tages do domain-specific languages offer in the context of software architecture, and why do you think they are relevant?

DSLs are a great tool to solve several problems in architecture design:

  • We can separate the domain from the technical architecture.
  • We can empower users to solve problems themselves, for which they would otherwise need software developers.

We can also save a lot of work as a DSL can help us solve problems with less effort than the project’s “host language” and improve several quality aspects of a software project, including adapt­ability, modifi­a­bility, analyz­ability, and security.

DSLs are always comple­mentary to other architectural techniques, not in compe­tition with them.

 

What challenges can arise when intro­ducing and using domain-specific languages, and how does your curriculum help to overcome them?

When designing DSLs, it is advisable to take a systematic approach so that the resulting DSLs are easy to use and positively impact the architecture. A systematic approach requires skills from a whole range of areas of computer science — architecture of course, but also compiler construction, programming language design, and usability.

Organi­za­tions should spread this knowledge within their teams, and plan for the long-term, rather then placing it in the hands hands of just a few experts.

 

Could you highlight some key concepts or content from the curriculum that might partic­u­larly appeal to participants?

The main idea of the training is to develop DSLs from powerful domain models system­at­i­cally. In this respect, DSL training is also a master class in data modeling. Compo­si­tion­ality plays a vital role in there – i.e., how small domain units can become larger and larger without the domain model being extended each time.

Of course, other topics also play essential roles, such as the systematic design of syntax, the careful design of semantics, and the use of the – now quite diverse – tools in this area.

 

How does this training differ from other courses in the field of software architecture and domain-specific languages?

The topic is still relatively new in the training landscape – when designing the curriculum, we have tried to proceed system­at­i­cally and produce a compre­hensive curriculum, while allowing a great deal of freedom in designing individual training courses.  Never­theless, every training course will ultimately be about code and concrete programming work, not simply identi­fying bounded contexts and arranging building blocks and depen­dencies, as with many other architecture topics.

 

You would like to learn more about the new CPSA-Advanced Level module DSL? Please visit the DSL module web page. 

You would rather find and book a suitable DSL training course right away? Then check out our training calendar.

 

Share this article:

Related Posts

About the Author

Dr. Michael Sperber
Organisation
Location
Germany
Michael Sperber is CEO of Active Group in Tübingen, Germany, which does software project development using functional programming. Mike has been developing software since 1984, and is a recognized expert in functional programming, which he has been applying in research, teaching, and industrial development for more than 25 years. He's authored numerous scientific papers, articles, and books on the subject, among them the iSAQB curriculum on Functional Software Architecture. Mike is a founder of the blog funktionale-programmierung.de and co-organizer of the annual BOB developer conference.

Stay Up-to-Date with the iSAQB® Newsletter!

Scroll To Top