DSL Engineering - Design, Implementierung und Einsatz domänenspezifischer Sprachen

Markus Völter

Kurzinformationen

Detailinformationen

Domänenspezifische Sprachen (DSLs) sind Sprachen, die für einen bestimmten Anwendungszweck – ihre Domäne – optimiert sind. Wissen über die Domäne ist direkt in die Sprachen und ihre Übersetzer oder Interpreter integriert. Aufgrund dessen lassen sich die Struktur oder das Verhalten von Software in der entsprechenden Domäne mit einer DSL knapper beschreiben als mit „normalem“ Code. Durch den höheren Abstraktionsgrad lassen sich Programme die mittels DSLs beschrieben sind auch besser analysieren oder optimieren. Sie sind außerdem weniger fehlerträchtig. Alles in allem können DSLs also Produktivität und Codequalität erhöhen – allerdings zahlt man dafür auch einen Preis: man muss erst einmal eine DSL für die relevante Anwendungsdomäne(n) erstellen. In diesem Training lernen Sie, ob und wann man das tun sollte, und wie man dabei vorgeht.

In der Schulung betrachten wir drei große Themenkomplexe. Zunächst wird anhand von Beispielen erarbeitet, für welche Aspekte des Software Engineering DSLs sinnvoll eingesetzt werden können. Darunter fällt Requirements Engineering, Softwarearchitektur, die Implementierungsphase oder der fachliche Kern eines Systems.

Im zweiten Teil betrachten wir das Design von DSLs – unabhängig von Implementierungstechnologien. Dabei gehen wir anhand von Beispielen auf sieben Designaspekte ein: Ausdrucksstärke, Domänenabdeckung, Semantik und Ausführung, Trennung von Belangen, Vollständigkeit, Sprachmodularisierung und –komposition sowie die konkrete Syntax.

Der dritte im Training betrachtete Aspekt betrifft die Implementierung von DSLs mit modernen Language Workbenches – konkret Eclipse Xtext und JetBrains MPS, beide Open Source. Dabei verfestigen praktische Übungen das Gelernte. Im Rahmen der Implementierung gehen wir auf konkrete und abstrakte Syntax, Typsysteme, Codegenerierung und Interpreter sowie auf IDE Aspekte ein.

Die Schulung basiert auf dem Buch DSL Engineering (http://dslbook.org), welches Anfang 2013 vom Trainer veröffentlicht wurde.

Seminarinhalt

  • Was sind DSLs
  • Wichtige Begriffe rund um DSLs
  • Wie können DSLs im Kontext des Softwareengineering eingesetzt werden?
  • DSL Design: wie gestalte ich gute DSLs
  • DSL Implementierung: welche Aspekte sind zu implementieren?
  • Grafische vs. Textuelle DSLs
  • Überblick über moderne Language Workbenches
  • Integration mehrerer Sprachen: warum und wie?
  • Inkrementelle, modulare Spracherweiterung; warum und wie?

Markus Völter

Dr. Markus Völter arbeitet als freiberuflicher Berater und Coach. Seine Schwerpunkte liegen dabei auf Architektur, Modellgetriebener Softwareentwicklung und domänenspezifischen Sprachen sowie Produktlinenengineering. Er hält regelmäßig Vorträge auf den entsprechenden Konferenzen und ist (Mit-) Autor verschiedener Bücher, Patterns und Artikel. Markus ist zu erreichen unter www.voelter.de sowie via voelter@acm.org.

Markus Völter ist auch Sprecher auf der OOP!

weiter >

Seminarziel

Ziel des Seminars ist es, den Teilnehmern eine fundierte Einführung in domänenspezifische Sprachen zu vermitteln. Nach Besuch des Trainings sind die Teilnehmer in der Lage, zu entscheiden, wann und wo DSLs sinnvoll eingesetzt werden können. Sie Teilnehmer haben ein Gefühl für die erzielbaren Vorteile sowie für die entstehenden Aufwände. Sie verstehen die Fähigkeiten moderner Werkzeuge, und haben die Grundlagen für eine selbständige Weiterbeschäftigung mit dem Thema erarbeitet.

Darum sollten Sie dieses Seminar nicht verpassen:

  • DSLs sind ein mächtiges Werkzeug für viele Bereiche der Softwareentwicklung
  • Sie bekommen einen Schnelleinstieg in dieses vielschichtige Thema
  • Lernen Sie von einem der führenden Experten

Zielgruppe

  • Erfahrene Softwarearchitekten und Entwickler

Unsere Teilnehmer sagen:

  • ... großes Expertenwissen des Referenten
  • ... sehr guter Praxisbezug, viele Praxisbeispiele
  • ... der Referent ging sehr flexibel auf Wünsche ein
  • ... sehr individuelle Themengestaltung mit vielen praktischen Übungen
  • ... alle Fragen wurden kompetent erklärt
  • ... kleine Teilnehmerzahl, dadurch kompetente Betreuung, intensive Arbeit

Voraussetzungen

Gute Kenntnisse in objektorientiertem Design und Programmierung sind Voraussetzung.

Hard- Software Voraussetzungen

Die Teilnehmer werden gebeten, für die Übungen wenn möglich Notebooks mitzubringen. Eine Vorinstallation von Software ist nicht nötig

Sprachen

Seminar: Deutsch

Unterlagen: Englisch

Methode

Das Seminar wird aus Vortrag, Diskussionsrunden sowie praktischen Übungen in Kleingruppen bestehen. Viele Beispiele aus der Praxis verdeutlichen die Theorie.

UNTERLAGEN

Die Schulungsunterlagen bestehen aus dem dem Buch DSL Engineering welches der Trainer Anfang 2013 veröffentlicht hat (dslbook.org).

Informationen

Frühbucher-Vorteile - bei einer Anmeldung bis 4 Wochen vor Seminarbeginn: 

  • "sleep & train": 1 Übernachtung inklusive
    Alternativ, wenn keine Hotelübernachtung benötigt wird:
  • "travel & train": 100 € Rabatt
  • Gruppenrabatt: Bei einer gleichzeitigen Anmeldung von 3-4 Mitarbeitern erhalten Sie 5% Gruppenrabatt, ab 5 Personen erhöht sich der Gruppen-Rabatt auf 10% Gruppen-Rabatt.

Inhouse-Seminar:

Dieses Seminar ist auch als Inhouse-Schulung durchführbar. Gerne erstellen wir Ihnen ein unverbindliches Angebot.

NRW-Bildungsscheck:

SIGS-DATACOM ist zugelassener Bildungspartner des Landes NRW. Ihren NRW-Bildungsscheck für unsere Seminare einzulösen ist möglich! Weitere Informationen erhalten Sie unter:NRW Bildungsscheck!!



Empfehlung an diese E-Mail-Adresse senden:


 

 

 

Ihre eigenen Angaben:

 

 

 

 

Diese Seite empfehlen Sie weiter: