Zum Inhalt springen
iSAQB-blog-new-DSL-web-v1

Über das neue CPSA®- Advanced-Level-Modul Domänen­spe­zi­fische Sprachen (DSL)

Ein Interview mit Kurator Michael Sperber 

Am 21. November hat das iSAQB den Lehrplan für das neue Advanced-Level-Modul Domänen­spe­zi­fische Sprachen (DSL) veröffentlicht.

DSL deckt entschei­dende Techniken im Program­mier­spra­chen­entwurf und Compi­lerbau ab. Es befähigt die Teilneh­menden, die Rolle von DSLs in der Gesamt­ar­chi­tektur zu verstehen, benut­zer­freund­liche DSLs syste­ma­tisch zu entwerfen und als integralen Bestandteil des Archi­tek­tur­de­signs zu erkennen.

Die Redaktion des iSAQB-Blogs hat die Neuerscheinung zum Anlass genommen, ein ausführ­liches Interview mit dem Kurator Dr. Michael Sperber zu führen.

 

Wer war alles an der Erstellung des Lehrplans beteiligt?

Den Lehrplan haben Dr. Michael Sperber (Active Group) und Dr. Lars Hupel (innoQ, Giesecke + Devrient) entwi­ckelt, mit Unter­stützung von Patrick Müller aus dem iSAQB-Council.

 

Was hat dich oder euch dazu inspi­riert, den Lehrplan für Domänen­spe­zi­fische Sprachen im Advanced Level des iSAQB zu entwickeln?

Wir haben schon in vielen Software­pro­jekten domänen­spe­zi­fische Sprachen reali­siert, wo sie eine wichtige Rolle in der Archi­tektur spielen. Bisher kamen DSLs aber in den iSAQB-Curricula gar nicht vor.

Gleich­zeitig ist das Thema zu umfang­reich, um es als Unter­punkt in einem der existie­renden Curricula unter­zu­bringen. Deshalb haben wir ein neues entwickelt.

 

Welche spezi­fi­schen Ziele und Schwer­punkte hattet ihr bei der Erstellung dieses Lehrplans im Sinn?

Wir glauben, dass DSLs zum Kernwerk­zeug­kasten von Architekt:innen dazuge­hören sollten. Die dafür nötigen Kennt­nisse und Fähig­keiten sind aber unter Architekt:innen kaum verbreitet, was dazu führt, dass viele Projekte, die von DSLs profi­tieren würden, trotzdem darauf verzichten. Außerdem enthalten viele Projekte DSLs, die sich gar nicht so nennen (zum Beispiel für die Konfi­gu­ration), die aber so schlecht gemacht sind, dass sie die Archi­tektur negativ beein­flussen. Beiden Defiziten wollen wir abhelfen.

 

Für wen ist das Training konzi­piert und welche Vorkennt­nisse oder Qualifikationen würdest du empfehlen, um daran teilzunehmen?

Wir glauben, dass alle Architekt:innen, die eine iSAQB-Advanced-Zerti­fi­zierung anstreben, an dem Training teilnehmen können ­– sprich, eine Foundation-Zerti­fi­zierung ist schon sinnvoll, zusammen mit der Archi­tek­tur­er­fahrung, die auch Voraus­setzung für das Advanced Level ist.

Insbe­sondere das DSL-Training kann besonders effektiv sein in Zusam­menhang mit dem Modul FUNAR (Funktionale Software­architektur), weil das dort gelehrte Design von Kombi­na­tor­mo­dellen ein wichtiger Bestandteil vieler DSLs ist.

Außerdem: Wer mal im Studium eine Compi­lerbau-Vorlesung gehört hat, wird sich besonders wohlfühlen im DSL-Training. Falls nicht, werden die nötigen Grund­lagen von dort aber auch im Training gelegt.

 

Welche Vorteile bieten Domänen­spe­zi­fische Sprachen im Kontext der Software­architektur und warum sind sie deiner Meinung nach relevant?

DSLs sind ein großar­tiges Werkzeug, um eine Reihe von Problemen im Archi­tek­tur­design zu lösen:

  • Wir können die Formu­lierung von Domänen­in­halten trennen von der techni­schen Architektur.
  • Wir können die Benutzer:innen befähigen, Probleme selbst zu lösen, für die sie sonst Softwareentwickler:innen bräuchten.

Außerdem können wir viel Arbeit sparen, weil die DSL uns erlaubt, mit weniger Aufwand Probleme zu lösen als die „Heimat­sprache“ des Projekts und eine Reihe von Quali­täts­aspekten eines Software­pro­jekts verbessern, darunter Adaptier­barkeit, Modifi­zier­barkeit, Analy­sier­barkeit und Sicherheit.

DSLs sind stets eine Ergänzung zu anderen Archi­tek­tur­tech­niken, stehen also nicht in Konkurrenz dazu.

 

Welche Heraus­for­de­rungen können bei der Einführung und Nutzung von Domänen­spe­zi­fi­schen Sprachen auftreten und wie hilft euer Lehrplan, diese zu bewältigen?

Beim DSL-Design empfiehlt es sich, syste­ma­tisch vorzu­gehen, damit die entste­henden DSLs einfach zu benutzen sind und sich wirklich langfristig positiv auf die Archi­tektur auswirken. Zu syste­ma­ti­schem Vorgehen gehören Fähig­keiten aus einer ganzen Reihe von Bereichen der Infor­matik: neben der Archi­tektur eben auch Kennt­nisse im Compi­lerbau und im Program­mier­sprachen-Design sowie in Usability. Um diese Kennt­nisse im Projekt einzu­bringen, sollten sie breit und langfristig angelegt werden und nicht nur bei einigen wenigen Expert:innen angesiedelt werden.

 

Könntest du einige Schlüs­sel­kon­zepte oder Lehrin­halte aus dem Lehrplan hervor­heben, welche die Teilneh­menden besonders ansprechen könnten?

Die wichtigste Idee im Training ist, DSLs aus mächtigen Domänen­mo­dellen heraus syste­ma­tisch zu entwi­ckeln. Insofern ist ein DSL-Training auch ein Meisterkurs in Daten­mo­del­lierung. Dort spielt vor allem die sogenannte Kompo­si­tio­na­lität eine wichtige Rolle – wie also aus kleinen Einheiten der Domäne immer größere werden, ohne dass das Domänen­modell jedes Mal erweitert werden muss.

Natürlich spielen noch weitere Themen wichtige Rollen, wie das syste­ma­tische Design von Syntax, der sorgfältige Entwurf von Semantik und der Einsatz von den – inzwi­schen recht vielfäl­tigen – Werkzeugen in diesem Bereich.

 

Wie unter­scheidet sich dieses Training von anderen Angeboten im Bereich Software­architektur und Domänen­spe­zi­fische Sprachen?

Das Thema ist in der Trainings­land­schaft noch ziemlich neu – wir haben uns beim Entwurf des Curri­culums bemüht, umfassend und syste­ma­tisch vorzu­gehen und trotzdem viele Freiheiten bei der Gestaltung indivi­du­eller Trainings zu ermög­lichen. Trotzdem wird es bei jedem Training letztlich um Code gehen und damit konkrete Program­mier­arbeit – und nicht einfach nur um das Schneiden und Anordnen von Bausteinen und Abhän­gig­keiten, so wie bei vielen anderen Architekturthemen.

 

Sie möchten mehr über das neue CPSA-Advanced-Level-Modul DSL erfahren? Bitte besuchen Sie die DSL-Modul-Webseite.

Sie möchten lieber gleich eine passende DSL-Schulung finden und buchen? Dann sehen Sie sich in unserem Schulungs­ka­lender um.

 

Teilen Sie diesen Artikel:

Zum Thema passende Artikel

Über die Autor:innen

Dr. Michael Sperber
Organisation
Land
Deutschland
Michael Sperber ist Geschäftsführer der Active Group in Tübingen, die Softwareprojektentwicklung mittels funktionaler Programmierung betreibt. Mike entwickelt seit 1984 Software und ist anerkannter Experte für funktionale Programmierung, die er seit mehr als 25 Jahren in Forschung, Lehre und industrieller Entwicklung anwendet. Er ist Autor zahlreicher wissenschaftlicher Arbeiten, Artikel und Bücher zu diesem Thema, darunter des iSAQB-Lehrplans zur funktionalen Softwarearchitektur. Mike ist Mitbegründer des Blogs funktionale-programmierung.de und Mitorganisator der jährlichen BOB-Entwicklerkonferenz.  

Bleiben Sie informiert mit dem iSAQB®-Newsletter!

Nach oben scrollen