Modellbasierte Softwareentwicklung

Slides:



Advertisements
Ähnliche Präsentationen
interaktiver Web Service Workflows
Advertisements

Prof. Dr. Stephan Pareigis Prof. Dr. Birgit Wendholt
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Motivation E-Learning in der Hochschullehre
Motivation Compilerbau klingt abstrakt, Kenntnisse sind aber für die Programmierung von Vorteil Übersetzung von Hochsprachen sorgt für tieferes Verständnis.
Vorgehensmodell - Wasserfallmodell
Prof. Dr. Liggesmeyer, 1 Software Engineering: Dependability Prof. Dr.-Ing. Peter Liggesmeyer.
Vorstellung der Diplomarbeit
Übung 5 Mehrstufige Client/Server-Systeme mit Enterprise Java Beans
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Einführung in Berechenbarkeit und Formale Sprachen
Konzeption und prototypische Implementierung eines zentralen Informationssystems für Systemmanagement Motivation Oft wird es schwierig, die benötigten.
Nutzung und Bedeutung von Business Intelligence und Business Intelligence Methoden und -Werkzeugen Durch die Analyse des BI mit dem Fokus der Managementunterstützung.
Spezifikation, Verifikation, Testtheorie Prof. Dr. Holger Schlingloff Institut für Informatik und Fraunhofer FIRST.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme LE P MuSofT Erkundungsumgebung Entwicklung eines komponentenbasierten Systems WS 03/04.
RUP-Elemente (Schlüsselkonzepte)
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
DOM (Document Object Model)
Fachgerechte Bereitstellung von Geoinformationen mit Service- orientierten Infrastrukturen Niklas Panzer - PRO DV Software AG Wachtberg 24. September 2008.
K-Modeler Engineering
© 2002 Prof. Dr. G. Hellberg 1 XML-Seminar XML-Technologie: XML in Theorie und Praxis Prof. Dr. G. Hellberg XML-Technologie: XML in Theorie und Praxis.
Fortgeschrittenen-Praktikum: Entwicklung und Implementierung eines webbasierten Fußball-Tippspiels mit.
Christian Kästner Modellgetriebene Softwareentwicklung Eclipse Modelling Framework.
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
Rational Unified Process (RUP) - Definitionen
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Explizite und editierbare Metainformationen für Software Muster.
Strukturänderungen Verteilte Anwendungen Wintersemester 06/07 © Wolfgang Schönfeld.
Projekt Web Engineering
Software Engineering Seminar Metamodellierung
Programmierung verteilter Systeme Lab Institut für Informatik Universität Augsburg Universitätsstraße 14, Augsburg Tel.: (+49) 821/ , Fax:
Kickoff zum Praktikum: Modellgetriebene Software-Entwicklung
Bio-inspired & Grid Computing I
Programmierung verteilter Systeme Institut für Informatik Universität Augsburg Augsburg Tel.: Fax: Web:
Kompetenz 2.0: E-Portfolios im Einsatz
UML Begleitdokumentation des Projekts
Das Projekt Studierendenportal für die Universität Erlangen-Nürnberg Informationsveranstaltung für die FSIn 31. Januar 2008.
Institut für Theoretische Informatik TU Carolo-Wilhelmina zu Braunschweig Teamprojekt in Software Systems Engineering und Theoretischer Informatik Einsatz.
Simulation komplexer technischer Anlagen
Spezifikation von Anforderungen
Veranstaltungsdaten der Akademie: Informationsfluss zeigen Datenbank vorstellen Die Gestaltung einer Web-Seite betrachten Wer ist Ihr Web-Redakteur.
Eignung von Grammatik-basiertem Layout für grafische Programmiersprachen Seminar Layout-Algorithmen für Graphen Institut für Informatik Christian-Albrechts.
Future Network-based Semantic Technologies
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Zusammenfassung der Vorlesung
- Organisatorisches: Termine
Architekturen und Techniken für computergestützte Engineering Workbenches.
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
Hauptseminar Web Engineering – Semantic Web Dominik Pretzsch.
Musterlösungen Übungsblatt 5
Kompetenz -, Lern - und Prüfungsbereiche Anforderungsbereiche
Wasserfallmodell und Einzelbegriffe
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Seminar „Standards, Normen und Best-Practice-Modelle für Entwicklung und Betrieb von Softwaresystemen“ (Wintersemester 2008/2009) Vorbesprechung + Themenvergabe:
Fakultät für Informatik WI/WE 2005S UE WI/WE Web Engineering /3 Dr. Michael Derntl Fakultät.
® IBM Software Group © 2005 IBM Corporation Hanseatic Mainframe Summit 2009.
Das Essener-Lern-Modell
Projektgruppe: Internetdienst zur Planung und Modellierung logistischer Netzwerke und Supply Chains Oldenburg, den Hahn/Behrens/Gaudig.
Bern University of Applied Sciences Engineering and Information Technology Documentation generator for XML-based description standards Ausgangslage: Die.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Thomas H. Kolbe Einführung in die Programmierung mit Java 9. Vorlesung WS 2001/2002.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
Seminar Modellgetriebene Softwareentwicklung Thema 3: Metamodelle – MOF Michél Rieser Prof. Dr.-Ing. habil. Georg Paul
MDA – Model Driven Architecture
1 Prof. Dr. Andreas SchmietendorfWS06/07 Übung 3 Test der Möglichkeiten des JDBC-Interfaces.
SS 2015 – IBB4C Datenmanagement Fr 17:00 – 18:30 R Vorlesung #1 Datenmanagement.
Institut für Informatik Betriebliche Informationssysteme S.Dietzold, T.Riechert, J.Lehmann, A.Aslam, M.Herrmann1 Semantic Web Services and Interfaces Sebastian.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
, Jens Rettig1 Einsatz von Versionsverwaltungstools im ORACLE – Umfeld Dipl.-Inform. Jens Rettig
Methodische Grundlagen des Software-Engineering
 Präsentation transkript:

Modellbasierte Softwareentwicklung Hauptseminar im WS 2008/09

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

© Bernhard Bauer, all rights reserved 2008 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? © Bernhard Bauer, all rights reserved 2008 3 3

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 4 4

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 5 5

© Bernhard Bauer, all rights reserved 2008 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 -XMI -XSD -XML -Model-BUS -Model merging -Model consistency -Evtl. Beispiele: Wie machen es verschiedene Tools? © Bernhard Bauer, all rights reserved 2008 6 6

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 7 7

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 8 8

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 9 9

© Bernhard Bauer, all rights reserved 2008 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. © Bernhard Bauer, all rights reserved 2008 10 10

© Bernhard Bauer, all rights reserved 2008 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. © Bernhard Bauer, all rights reserved 2008 11 11

© Bernhard Bauer, all rights reserved 2008 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 Ross Notation: formalizing and visualizing constraints and derivation rules ORM: expressive and stable graphical notation for contraints (amongst others), textual support for derivation rules; models a domain at the conceptual level, very popular language within the business rules community; extensive tool support AORML: extension to UML to describe agent interaction patterns; graphical notation for reactuion rules (including triggering events and invoking actions), MS Visio template exists URML: extends UML with additional graphical symbols and the concept of a rule, which allows visualization of derivation and reaction rules on top of UML class diagrams, editor as Fujaba extension is being developed © Bernhard Bauer, all rights reserved 2008 12 12

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 13 13

© Bernhard Bauer, all rights reserved 2008 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) © Bernhard Bauer, all rights reserved 2008 14 14

© Bernhard Bauer, all rights reserved 2008 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 © Bernhard Bauer, all rights reserved 2008 15 15

© Bernhard Bauer, all rights reserved 2008 Organisatorisches Bewerbung E-mail an honke@informatik.uni-augsburg.de 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 15.1.09 zwingend erforderlich Seminararbeit Formatvorlage auf PvS-Website (Springer LNCS, LaTeX) Umfang: 15-20 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 © Bernhard Bauer, all rights reserved 2008 16 16

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