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 Sascha 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 Sascha 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 Sascha 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 Sascha 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 Sascha 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 Sascha 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 Sascha 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 Sascha 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 Sascha Draffehn10 Beispiele für DSLs und Werkzeuge

11 Sascha Draffehn11 Beispiel Handysoftware ● Handysoftware „Series60“

12 Sascha Draffehn12 Beispiel Handysoftware

13 Sascha 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 Sascha 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 Sascha Draffehn15 Quellen ● Czarnecki & Eisenecker: Generative Programming ● ● ● ● ● ● Wikipedia.org

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


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

Ähnliche Präsentationen


Google-Anzeigen