Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org.

Ähnliche Präsentationen


Präsentation zum Thema: "Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org."—  Präsentation transkript:

1 Programmierung verteilter Systeme Institut für Informatik Universität Augsburg Augsburg Tel.: Fax: Web: Modellbasierte Softwareentwicklung Hauptseminar im WS 2008/09

2 © Bernhard Bauer, all rights reserved Agenda Motivation Seminarthemen Organisatorisches Termine

3 © Bernhard Bauer, all rights reserved Motivation Modellbasierte Softwareentwicklung Modelle sind mehr als Code oder Dokumentation Modelle abstrahieren von komplizierten Problemen und machen diese handhabbar Modelle verbessern die direkte Kommunikation zwischen verschiedenen Stakeholders Modelle verbessern die Produktivität der Entwicklung durch die Generierung von Code und anderen Artefakten (im Umfeld der modellgetriebenen Software-Entwicklung!) Lernziele Was charakterisiert ein Modell? Welche Bereiche der Softwareentwicklung beschäftigen sich mit Modellen? Welche Konzepte und Techniken sind hierfür relevant? Welche Tools existieren für die Entwicklung von Software mittels Modellen?

4 © Bernhard Bauer, all rights reserved Seminarthemen Thema 01: Einführung in die modellbasierte Softwareentwicklung Thema 02: Austauschbarkeit von Modellen Thema 03: Grundlagen der modellbasierten Testfallgenerierung Thema 04: Evaluierung der Potentiale des Eclipse Process Framework Thema 05: Toolplattformen für modellbasiertes Entwickeln im Vergleich Thema 06: Modellbasierte Beschreibung von System und Software Architekturen Thema 07: Binding zwischen XML-Schema-Modellen und Java-Beans (JAXB) Thema 08: Modellierung von Geschäftsregeln Thema 09: Modellierung Service-orientierter Architekturen Thema 10: Datenflussanalyse auf Modellen Thema 11: Metamodellierung und Grammatiken

5 © Bernhard Bauer, all rights reserved Seminarthemen Thema 01 Einführung in die Modellbasierte Softwareentwicklung [Betreuer: Christian Saad] In dieser Arbeit soll die Grundlagen für modellbasierte Softwareentwicklung behandelt werden. Dabei soll die Arbeit Basiswissen der modellbasierten Entwicklung ebenso vermitteln, wie aktuelle Trends innerhalb der einzelnen Teilgebiete (mögliche) Aufgabengebiete Was ist modellbasierte Softwareentwicklung und wofür ist sie gut MDA MDSD Einführung in Modelle, Metamodelle und Metamodellierung Syntax und Semantik von Modellen Domain Specific Languages Constraints Modelltransformationen Editoren Code Generierung

6 © Bernhard Bauer, all rights reserved Seminarthemen Thema 02: Austauschbarkeit von Modellen [Betreuer: Benjamin Honke] In der modellbasierten Softwarewareentwicklung müssen Modelle ausgetauscht und verfügbar gemacht werden zwischen verschiedensten Stakeholders, wie z.B. Firmen Abteilungen Werkzeugen Dabei treten mehrere Probleme auf, die einen sauberen Datenaustausch erschweren oder gar ganz verhindern Inkompatibilität zwischen Import und Export Formaten Verlust von Daten Import/Export von unbekannten Daten Inkonsistenzen zwischen Modellen … Aufgabenstellung In dieser Arbeit sollen die Grundlagen geschaffen werden, die Probleme, die beim Austausch von Modellen auftreten, zu identifizieren. Darüber hinaus sollen aktuelle Ansätze gefunden und verglichen werden, um diese Problem zu vermeiden. Dabei sollen v.a. folgende Ansätze von Bedeutung sein: -XML basierte Technologien -Model BUS -Model Merging -Ontologie und Metamodelle

7 © Bernhard Bauer, all rights reserved Seminarthemen Thema 03: Grundlagen der modellbasierten Testfallgenerierung [Betreuer: Benjamin Honke] Automatisches Testen von Software in Form von Code mit Hilfe von Frameworks wie z.B. JUnit für Java ist mittlerweile Standard Da Modelle in der Regel schon lange vor dem eigentlichen Code verfügbar sind, ist es natürlich wünschenswert, auch Komponenten in Form von Modellen bzgl. ihrer Struktur, ihres internen Verhaltens oder der Interaktion mit anderen Modellkomponenten zu testen Dadurch sollen Fehler früher erkannt werden und auch eine gewisse Korrektheit von aus Modellen automatisch generiertem Code sichergestellt werden Aufgabenstellung Kurze Einführung in Tests allgemein und Hinführung auf das Thema Testen im Bezug auf Modellen Abgrenzung des modellbasierten Testens von modelbasierter Testfallgenerierung Analyse von verschiedenen Arten von Tests und deren Anwendbarkeit auf unterschiedliche Modell-Arten Analyse und Vergleich von Frameworks bzw. Werkzeuge, die das Testen bzw. die Testfallgenerierung unterstützen

8 © Bernhard Bauer, all rights reserved Seminarthemen Thema 04: Evaluierung der Potentiale des Eclipse Process Framework [Betreuer: Benjamin Honke] Das Eclipse Process Framework (EPF) hat zum Ziel, ein anpassbares Software Process Engineering Framework mit exemplarischem Process Content und Tools zur Verfügung zu stellen. Aufgabenstellung: Diese Arbeit soll kurz in Entwicklungsprozesse einführen, sich anschließend mit dem EPF näher auseinander setzten und dabei folgende Punkte analysieren: -EPF Composer -Anwendungsbereiche des EPF -Erweiterbarkeit des EPF durch Plugins -Mögliche Unterstützung des EPF bei der Artefakt-Erstellung -Alternativen zum EPF Parallel dazu soll eine selbst zu wählende Fallstudie die analysierten Sachverhalte direkt im EPF implementieren und demonstrieren

9 © Bernhard Bauer, all rights reserved Seminarthemen Thema 05: Toolplattformen für modellbasiertes Entwickeln im Vergleich [Betreuer: Benjamin Honke] Erst die verschiedensten Tools bzw. Toolplattformen ermöglichen eine modellbasierte Softwareentwicklung. Gerade weil die unterschiedlichen Tools auch unterschiedlichen Möglichkeiten und Features mit sich bringen, stehen Entwickler vor der Qual der Wahl, die richtige Toolumgebung zu wählen. Aufgabenstellung: Deswegen sollen in dieser Arbeit, am Beispiel der Automobildomäne, verschiedene Modellierungswerkzeuge, wie z.B. -Topcased -Papyrus -OSATE -OpenEmbedd -Artop -… anhand ihrer funktionalen und nichtfunktionalen Anforderungen analysiert und bewertet werden. Dazu gehören u.a.: -Angebotene Features -Handhabung -Erweiterbarkeit -Interaktionen mit anderen Werkzeugen -…

10 © Bernhard Bauer, all rights reserved Seminarthemen Thema 06: Modellbasierte Beschreibung von System und Software Architekturen [Betreuer: Benjamin Honke] Die Entwicklung eines Embedded System muss neben der Softwareentwicklung auch die eigentliche Systementwicklung, sowie Hardware- und Mechanik-Komponenten berücksichtigen. Im Falle einer modellbasierten System-/Software-Entwicklung gibt es sogenannte Architecture Description Languages (ADL), die mit Hilfe verschiedener Sprachelemente, Abstraktionsebenen und Artefakte, diese Entwicklung ermöglichen Aufgabenstellung Da jede ADL ihren Fokus anders setzt, unterscheiden sich alle ADLs in bestimmten Punkten, weswegen sich diese Arbeit mit dem Vergleich verschiedener ADLs, wie z.B. -EAST-ADL2.0 -SAE-AADL -UML -… und deren Anwendbarkeit im Embedded Umfeld beschäftigt.

11 © Bernhard Bauer, all rights reserved Seminarthemen Thema 07: Binding zwischen XML-Schema-Modellen und Java-Beans (JAXB) [Betreuer: Stefan Fenn] Java Architecture for XML Binding (JAXB) ist ein Framework um aus einen XML-Schema Java-Klassen zu generieren und umgekehrt. Dadurch ist es möglich Modelle, die als Schema-konformes XML gegeben sind, direkt in Java-Objekte abzubilden. Aufgabenstellung: Diese Arbeit soll einen Überblick über das JAXB-Framework und ihre Anwendung auf XML-Schema-Modelle geben. Kurze Einführung von XML-Schema und das JAXB-Framework Schema/XML Java: »Wie werden die verschiedenen ComplexTypes übersetzt? »Anpassung durch Annotationen im Schema Java Schema/XML: »Erzeugung eines XML-Schema-Modells aus einer Java-Klasse »Binding von Java-Beans »Anpassung des XML-Bindings mit Java-Annotations Anwendungsbeispiel: Es wird demonstriert wie mit JAXB ein frei gewähltes Beispiel-Modell direkt in eine ablauffähige Anwendung abgebildet wird.

12 © Bernhard Bauer, all rights reserved Seminarthemen Thema 08: Modellierung von Geschäftsregeln [2 Studenten, Betreuer: Raphael Romeikat] Geschäftsregeln beschreiben, wie Unternehmen ihren Geschäftszweck erfüllen. Sie enthalten Informationen über Zusammenhänge in den Abläufen des Unternehmens und treffen dadurch auch Aussagen über die Art und Weise der Geschäftsabwicklung. Verschiedene Techniken zur grafischen Modellierung bieten eine abstrahierte Sichtweise auf Geschäftsregeln. Geschäftsregeln in der Softwareentwicklung Charakteristika von Geschäftsregeln Sprachen zur Spezifikation von Geschäftsregeln Regelbasierte Softwaresysteme zur Steuerung von Geschäftsprozessen Grafische Modellierungstechniken für Geschäftsregeln I Ross Notation ORM (Object Role Modeling) Grafische Modellierungstechniken für Geschäftsregeln II AORML (Agent-Object-Relationship Modeling Language) URML (UML-based Rule Modeling Language) Aufgabenstellung Einführung in Geschäftsregeln Darstellung und Gegenüberstellung grafischer Modellierungstechniken Veranschaulichung durch Beispiele

13 © Bernhard Bauer, all rights reserved Seminarthemen Thema 09: Modellierung Service-orientierter Architekturen [Betreuer: Florian Lautenbacher] SOA im Allgemeinen und Web Services im Speziellen erfordern viel händische Arbeit, um z.B. die Orchestrierung von Services zu beschreiben Idee: Nutzung von Modellierungsstandards, um möglichst viel Code automatisiert generieren zu können Diese Seminararbeit soll verschiedene Ansätze zur Modellierung einer SOA betrachten und gegenüberstellen: UML Profile and Metamodel for Services (UPMS / SoaML) SOA Reference Model oder Reference Architecture Service Modeling Language (SML) Quasar Methodologie etc. Aufgabenstellung: Kurze Einführung in Service-orientierte Architekturen Einblick in und Gegenüberstellung der verschiedenen Ansätze ggf. mit Vor- und Nachteilen

14 © Bernhard Bauer, all rights reserved Seminarthemen Thema 10: Datenflußanalyse auf Modellen [Betreuer: Christian Saad] Datenflußanalyse Verfahren um die Ausbreitung von Informationen in einem Flußgraphen zu untersuchen Typisches Anwendungsgebiet: Optimierung von Programmen Idee Modelle sind auch Graphen! Benötigte Informationen befinden sich oft an unterschiedlichen Stellen im Modell (führt zu umständlicher Navigation, siehe OCL) Nicht alle Informationen sind explizit enthalten sondern müssen erst berechnet werden Durchführen einer Datenflußanalyse auf Modellen? Aufgabenstellung Grundlagen DFA + Tools vorstellen Was sind die Unterschiede zwischen Modellen und Kontrollflußgraphen und welche Anforderungen stellen sich an eine DFA auf Modellen? Einwicklung einer Methodik zur Durchführung einer Datenflußanalyse und Anwendung in einem Beispiel (z.B. Berechnung von Modellmetriken)

15 © Bernhard Bauer, all rights reserved Seminarthemen Thema 11: Metamodellierung und Grammatiken [Betreuer: Christian Saad] Metamodell Beschreibt die Struktur einer Zieldomäne Beispiel: Unified Modeling Language (UML), Meta Object Facility (MOF) Kontextfreie Grammatik Beschreibt die Struktur einer Sprache Beispiel: Erweiterte Backus Naur Form (EBNF) Idee (Meta)Modelle aus dem UML Bereich sind für die graphische Darstellung optimiert Grammatiken/Sprachen eignen sich besser für eine effiziente Auswertung Aufgabenstellung Welche Gemeinsamkeiten/Unterschiede lassen sich zwischen Metamodellen und Grammatiken feststellen? Wie ist der aktuelle Stand der Forschung in diesem Bereich? Wie lassen sich Metamodelle in Grammatiken transformieren (und umgekehrt), lassen sich transformierte Darstellungen synchronisieren? Welche Einsatzmöglichkeiten gibt es? Eventuell eine kleine Implementierung

16 © Bernhard Bauer, all rights reserved Organisatorisches Bewerbung an Name, Matrikelnummer, Studiengang, Semester Bereits gehörte Vorlesungen und Seminare im Hauptstudium Gegebenenfalls weitere qualifizierende Vorkenntnisse Drei priorisierte Themenwünsche STUDIS Zusätzliche Anmeldung in STUDIS bis zwingend erforderlich Seminararbeit Formatvorlage auf PvS-Website (Springer LNCS, LaTeX) Umfang: Seiten (exkl. Anhang) Abgabe aller für die Kompilierung notwendigen Ressourcen + Arbeit im pdf- Format Seminarvortrag Formatvorlage auf PvS-Website (PowerPoint, andere Programme erlaubt) Dauer: ca. 45 min / Person (35-40 min Vortrag, 5-10 min Diskussion) Anrechung des Seminars Alle Themen können in den Software Engineering Bereich eingebracht werden

17 Termine Kickoff-Meeting: Bewerbungsschluss: Verteilung der Themen: Versand von Literaturhinweisen Anmeldung in STUDIS: (spätestens) 1. Besprechung: (spätestens) Literaturüberblick abgeschlossen Grobgliederung erstellt 2. Besprechung: (spätestens) Feingliederung erstellt Seminararbeit ~90% geschrieben Abgabe der Seminararbeiten: (spätestens) Veröffentlichung der Arbeiten: Seminarvorträge: Abgabe der Foliensätze: (spätestens) © Bernhard Bauer, all rights reserved


Herunterladen ppt "Programmierung verteilter Systeme Institut für Informatik Universität Augsburg 86135 Augsburg Tel.: +49 821 598-2118 Fax: +49 821 598-2175 Web: www.ds-lab.org."

Ähnliche Präsentationen


Google-Anzeigen