Praxis Workshop: Generator Entwicklung mit MontiCore


Betreuende Assistenten:
(english version below)

Sprache
Deutsch oder Englisch

Termine
Ort: 5054
  • 23.05.16 Kick-Off und Einführung in MontiCore
  • 23.05.16 Workshop
  • 30.05.16 Deadline: Outline und Zusammenfassung
  • 02.06.16 Fragestunde
  • 01.07.16 Deadline: Finale Abgabe

Zielsetzung:
MontiCore (www.monticore.de) ist ein Framework zur agilen und effizienten Entwicklung von domänenspezifischen Sprachen (DSLs). Es verarbeitet ein erweitertes Grammatik-Format zur Definition der DSL. Dabei erzeugt es eine Infrastruktur aus Komponenten für die Verarbeitung der Modelle in der definierten Sprache. Ein Modell ist ein textuelles Dokument, welches konform zur Grammatik ist. Die automatisch bereitgestellte Infrastruktur zur Arbeit mit Modellen der Sprache umfasst u.a. einen Parser, den abstrakten Syntaxbaum (AST), eine Symboltabelle, eine Generator-Engine und weiteres. Mit Hilfe dieser Komponenten kann der Anwender die DSLs schnell und agil implementieren. Auf diese Weise lassen sich komplexe Werkzeuge für die eigene domänenspezifische Sprache erstellen.

In diesem Workshop vermitteln wir die Grundlagen der generativen Softwareentwicklung am Beispiel von MontiCore. Nach einer kurzen Einführung ins MontiCore Framework wird eine Website-DSL und die vollständige Toolchain entwickelt, um aus Website-Modellen HTML-Websites zu generieren.

Themen
  • Entwicklung einer domain-specific language (DSL) mit Hilfe der Language Workbench MontiCore (www.monticore.de) zur Beschreibung von Websites.
  • Entwicklung eines Generators, der aus einem Modell in der Website-Sprache eine HTML-Website generiert.
  • Ausblick wie andere Technologien (z.B. App-Platformen) nativ mit einem anderen Generator addressiert werden können.

Anmeldung
Zur Anmeldung wenden Sie sich bitte an Alexander Roth und teilen Sie mit, ob Sie den Workshop in eine Lehrveranstaltung einbringen wollen.

Weitere Informationen:
  • Die Veranstaltung kann eigenständig gehört werden (mit Zertifikat) oder in Kombination mit einer Ausarbeitung als Teil eines Moduls in die Lehrveranstaltungen des SE eingebracht werden. Siehe dazu Praxis Workshops am SE.
  • Eine Ausarbeitung bereitet das Gehörte und Erarbeitete inhaltlich auf.


* ENGLISH *

Practice Workshop: Generator Development with MontiCore

Language
German or English

Appointments
Room: 5054
  • 23.05.16 Kick-Off and introduction to MontiCore
  • 23.05.16 Workshop
  • 30.05.16 Deadline: outline and summary
  • 02.06.16 Question time
  • 01.07.16 Deadline: final report

Aim:
MontiCore (www.monticore.de) is a framework for agile and efficient development of domain-specific languages (DSLs). It processes an extendable grammar-format for defining DSLs. It creates a infrastructure of components for processing the models in the defined language. A model is a textual artifact that conforms to the grammar. The automatically generated infrastructure for working with the models covers a parser, the abstract syntax tree (AST), a symbol table, a generator engine and others. Using these components the MontiCore user can easily implement the DSL (e.g., context conditions, concrete generators, etc.). In this way complex tools for an own DSL can be created.

In this workshop we teach the basics of generative software development using MontiCore. After an introduction to the MontiCore framework, we will develop a website-DSL and a complete tool-chain to generate HTML-websites from website-models.

Topics
  • Development of a domain-specific language (DSL) using the Language Workbench MontiCore (www.monticore.de) for describing websites.
  • Development of a generator that generates a HTML-website from a model in the website-DSL.
  • Outlook on how to develop other generators using the same website-DSL and its models to generate native applications for other platforms (e.g., app-platforms).

Registration
Please contact Alexander Roth for registration and tell us whether you want to combine it with a lecture.

More information:
  • The workshop can be attended on its own (gaining a certificate) or you can combine it with an additional written report as part of a module of one of our SE lectures. See Practice Workshops at SE.
  • A written report evaluates and deepens the understanding of the learned topics.


Lassen Sie sich von uns regelmäßig über neue Lehrveranstaltungen und tagesaktuelle Änderungen:

Subscribe to se-teaching: