Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von."—  Präsentation transkript:

1 Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von

2 19.09.2016Sascha Draffehn2 Inhalt ● 1 Begriffserläuterung ● 2 Motivation ● 3 Vor- und Nachteile ● 4 Arten von DSL ● 5 Beispiele für DSL ● 6 Einsatzszenarien ● 7 Fazit ● 8 Quellen

3 19.09.2016Sascha Draffehn3 Domänenspezifische Sprache ● (englisch domain-specific language, DSL) ● Ist eine formale Sprache, die speziell für ein bestimmtes Problemfeld (Domäne) entworfen wird ● Beim Entwurf soll ein hohes Maß an Problemspezifität erreicht werden d.h. die Sprache soll nur das enthalten was unbedingt notwendig ist um die Probleme der Domäne darzustellen ● Gegenteil von universell einsetzbaren Programmiersprachen wie Java, C ● Entwickelter Quelltext kann vollautomatisch in Quellcode einer universellen Programmiersprache umgewandelt werden

4 19.09.2016Sascha Draffehn4 Motivation ● Implementation von Software durch universelle Sprachen(C, Java...) ● sehr komplex, Ausführung durch ausgebildete Programmierer ● Folgen: hoher Aufwand für Spezifikation und Test, häufig fehleranfällig und nicht der Spezifikation entsprechend Steigerung der Zeit und Kosten ● Idee der DSL Sprache die auf Problem der Domäne zugeschnitten ist ● Sprachumfang nicht so umfangreich, weniger Zeit und Quellcode erforderlich ● Domänenexperte kann mit wenig Hilfe den Quellcode selber schreiben geringere Kosten ●

5 19.09.2016Sascha Draffehn5 Vorteile ● Transport des Wissens aus der Anwendungsdomäne heraus ● Domänenexperte kann mit wenig Hilfe Programm verändern ● DSL Programme meist übersichtlich, verständlich, selbst dokumentierend Produktivität und Wartbarkeit erhöht

6 19.09.2016Sascha Draffehn6 Nachteile ● DSL durch hohe Spezifikation nur bedingt wieder verwendbar ● Erstellung neuer DSLs mit Zeit und Kosten verbunden ● Fachleute nötig für Entwicklung, Pflege und kontinuierliche Anpassung(bei Domänenexperten Aufbau von Wissen erforderlich) ● Geschicktes Management des Sprachumfangs notwendig ● durch immer neue Funktionen gehen ursprüngliche Vorteile verloren ● Viel automatisch erzeugter Quellcode weniger effizienter Quellcode

7 19.09.2016Sascha Draffehn7 Arten von DSL 1.Statisch separate domänenspezifische Sprachen ● eigener Compiler, Interpreter dadurch eigene Syntax, Semantik ● Flexibel, konfigurierbar, sehr gut spezifizierbar ● Bekannteste wenn auch teuerste Art der DSL ● hohe Kosten beim Compilerbau ● Beispiele : TeX, SQL

8 19.09.2016Sascha Draffehn8 Arten von DSL 2.Eingebettete domänenspezifische Sprachen ● Gewöhnlich in herkömmlichen universellen Programmiersprachen integriert ● Nutzung von Klassen und Prozeduren ● Nachteil : keine Nutzung von domänenspezifischen Syntax und Optimierungen ● Lösung Metaprogrammierung : Einführung von Merkmalen in Klassen und Prozeduren ● Beispiel: C++ template metaprogramming

9 19.09.2016Sascha Draffehn9 Arten von DSL 3.Modular zusammensetzbare domänenspezifische Sprachen ● Jede domänenspezifische Sprache ist eine Komponente ● Gekapselte - und die aspektuelle domänenspezischen Sprachen ● Keine Beeinflussung von gekapselte DSLs auf andere DSLs aber bei aspektuellen DSLs aspektuelle DSLs schwerer zu handhaben ● Gemeinsame Implementierungsplattform notwendig ● Gute Wiederverwendbarkeit und Erweiterbarkeit

10 19.09.2016Sascha Draffehn10 Beispiele für DSLs und Werkzeuge

11 19.09.2016Sascha Draffehn11 Beispiel Handysoftware ● Handysoftware „Series60“

12 19.09.2016Sascha Draffehn12 Beispiel Handysoftware

13 19.09.2016Sascha Draffehn13 Einsatzszenarien ● Nicht für komplette Anwendungen sinnvoll ● Kleine Anwendungsteile mit bestimmten Eigenschaften ● Besonderes sinnvoll bei vielen wenn viele Änderungen vorliegen ● Keinen Einsatz bei hohen Performanceanforderungen

14 19.09.2016Sascha Draffehn14 Fazit ● Durch steigende Komplexität von Software DSLs sehr attraktiv ● Viele gute Werkzeuge erhältlich ● Führt zu Kosteneinsparungen bei richtiger Anwendung ● DSLs gut als SPL einsetzbar, jedoch Spezifikation für jedes Projekt notwendig ● Erweiterung von Domänenexperten steigert Effektivität

15 19.09.2016Sascha Draffehn15 Quellen ● Czarnecki & Eisenecker: Generative Programming ● http://lpzradar.informatik.uni-leipzig.de/uploads/reports/2_2007.pdf http://lpzradar.informatik.uni-leipzig.de/uploads/reports/2_2007.pdf ● http://kluedo.ub.uni-kl.de/volltexte/2004/1723/pdf/DAWeber.pdf http://kluedo.ub.uni-kl.de/volltexte/2004/1723/pdf/DAWeber.pdf ● http://www.sigs.de/publications/os/2004/04/tolvanen_kelly_OS_04_04.pdf ● http://homepages.fh-giessen.de/~hg11260/mat/saa05-bh.pdf http://homepages.fh-giessen.de/~hg11260/mat/saa05-bh.pdf ● http://www.sigs.de/publications/os/2004/04/tolvanen_kelly_OS_04_04.pdf ● Wikipedia.org

16 19.09.2016Sascha Draffehn16 Fragen, Bemerkungen? Vielen Dank für ihre Aufmerksamkeit


Herunterladen ppt "Seminar Softwareproduktlinien Domänenspezifische Sprachen Sascha Draffehn von."

Ähnliche Präsentationen


Google-Anzeigen