30.06.2014 Aufrufe

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

MontiCore: Agile Entwicklung von domänenspezifischen Sprachen ...

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Inhaltsverzeichnis<br />

I Grundlagen 1<br />

1 Einführung 3<br />

1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.2 Domänenspezifische <strong>Sprachen</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

1.3 Erfolgsfaktoren und Risiken <strong>von</strong> DSLs . . . . . . . . . . . . . . . . . . . . . 10<br />

1.4 Herausforderungen der DSL-<strong>Entwicklung</strong> . . . . . . . . . . . . . . . . . . . . 12<br />

1.5 Der <strong>MontiCore</strong>-Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13<br />

1.6 Wichtigste Ziele und Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

1.7 Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

2 Entwurf und Einsatz <strong>von</strong> DSLs in der Softwareentwicklung 21<br />

2.1 Aktivitäten in der Softwareentwicklung . . . . . . . . . . . . . . . . . . . . . 22<br />

2.2 Einsatz <strong>von</strong> DSLs in der Softwareentwicklung . . . . . . . . . . . . . . . . . 23<br />

2.2.1 DSLs in der Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . 23<br />

2.2.2 DSLs im Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24<br />

2.2.3 DSLs in der Implementierung . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.2.4 DSLs zur Validierung/Verifikation . . . . . . . . . . . . . . . . . . . 25<br />

2.2.5 DSLs zur Softwareauslieferung . . . . . . . . . . . . . . . . . . . . . 26<br />

2.2.6 DSLs zur Softwarewartung . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.2.7 Übergreifender Einsatz . . . . . . . . . . . . . . . . . . . . . . . . . . 26<br />

2.3 <strong>Entwicklung</strong> einer DSL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.3.1 Analyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2.3.2 Entwurf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

2.3.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29<br />

2.3.4 Validierung/Verifikation . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.3.5 Auslieferung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

2.3.6 Wartung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

2.4 Gekoppelte agile <strong>Entwicklung</strong> einer DSL . . . . . . . . . . . . . . . . . . . . 31<br />

2.5 Technische Realisierung einer DSL . . . . . . . . . . . . . . . . . . . . . . . 33<br />

2.6 Realisierung einer eigenständigen DSL . . . . . . . . . . . . . . . . . . . . . 35<br />

II <strong>MontiCore</strong> 37<br />

3 Grammatikbasierte Erstellung <strong>von</strong> domänenspezifischen <strong>Sprachen</strong> 39<br />

3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

3.2 Lexikalische Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

3.3 Kontextfreie Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

3.3.1 Klassenproduktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!