XUML - executable UML Vortrag im Rahmen des Seminars zum Thema Modellgetriebene Softwareentwicklung René Heilmann.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

Blue J.
1 Referenzmodelle für HISinOne Dr. Uwe Hübner, 02. Juli 2009.
Submodell Softwareentwicklung (SE)
Prüfungspläne Bachelor-Thesis
Datenmodellierung Externe Phase Informationsstruktur
Modellbasierte Software-Entwicklung eingebetteter Systeme
Die Definitionsphase -Objektorientierte Analyse - Das statische Modell
UML-Basics: Einführung in Objekt-Orientierte Modellierung mit der Unified Modeling Language Michael Hahsler.
Kapitel 4 Datenstrukturen
OO Analyse Analyseprozess Erstellen eines Modells
Methodik: Objektorientierte Analyse
WS 04/05 wiss. Übung: Systemanalyse und Softwaredesign
Proseminar “Software Pioneers” (Prof. Dr. Heike Wehrheim)
Anwendungsfalldiagramm
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung versteht Java Programmcode versteht Java Programmcode Für die Entwicklung eigener Software.
Abhängigkeitsbeziehung
UML im Überblick – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/22
DOM (Document Object Model)
Lösungen
Objektorientierte Konzepte
Seminar Modellgetriebene Softwareentwicklung Einführung Seminar modellgetriebene Softwareentwicklung WS 05/06 Dipl.-Inf. Nadine Fröhlich Prof. Dr.-Ing.
Modellierung komplexer Realität mit Objekten
Software-Technik: (fortgeschrittene) Klassendiagramme
GROOVE Graphs for Object-Oriented Verification Seminar: SEFSIS Sommersemester 2006 Basil Becker
Explizite und editierbare Metainformationen für Software Muster.
UML Unified Modelling Language Dipl. -Inform
RDF-Schema Seminar: „Semantic Web“ André Rosin,
Datenmodellierung - Aufbau einer Datenbank -
Objektorientierte Analyse und Design mit der Unified Modelling Language (UML) Sandra Meißl
1 Klassen (1) Eine Klasse beschreibt eine Menge von Objekten mit gemeinsamer Struktur gemeinsamem Verhalten gemeinsamen Beziehungen gemeinsamer Semantik.
UML Begleitdokumentation des Projekts
Unified Modeling Language Einführung zu UML Was ist „UML“?
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Software Engineering SS 2009
11. Vorlesung: Dynamische Konzepte am Fallbeispiel
12. Vorlesung: Aktivitätsdiagramme
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Unified Modeling Language Repetition / Einführung zu UML
UML WS 09/10: Datenbanken vs MarkUp Dozent: Prof. Dr. Manfred Thaller
Einführung Modellgetriebene Softwareentwicklung, Metamodellierung Stephan Hildebrandt.
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #3 ER Modellierung.
UML-Kurzüberblick Peter Brusten.
Wasserfallmodell und Einzelbegriffe
UML Modellierung des Verhaltens von Klassen und Objekten
Paradigmenwechsel in der Unternehmensmodellierung Prof. Dr. Wolfgang Voigt Dipl.-Ing. Päd. Alexander Huwaldt UML Extrakt UML Seminar, Chemnitz
Vom Geschäftsprozess zum Quellcode
Java Programmierung.
Zustandsübergangsdiagramme (1)
1 Ausgangslage Vorgehensweise: Informell, pragmatisch, stark graphisch orientiert. Systemanalytischer Ausgangspunkt: Klassischer Systembegriff als Ansammlung.
Von UML 1.4 zu UML 2.0 InfoPoint vom Mittwoch
Untersuchungen zur Erstellung eines
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Unified Modeling Language UML
Objektorientierung und sichere Software mit Ada
SS 2014 – IBB4C Datenmanagement Do 17:00 – 18:30 R Vorlesung #3 ER Modellierung.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
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
Sichtbarkeit einschränken
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Objektorientierte (OO) Programmierung
Christos, Kornelia, Jan Christos, Kornelia, Jan Entwicklungsumgebung Versteht unseren Java Programm Code Versteht unseren Java Programm.
Technische Universität München, Informatik XI Angewandte Informatik / Kooperative Systeme Verteilte Anwendungen: Entwurf Dr. Wolfgang Wörndl
OCL – Object Constraint Language
 Präsentation transkript:

xUML - executable UML Vortrag im Rahmen des Seminars zum Thema Modellgetriebene Softwareentwicklung René Heilmann

Inhalt Motivation Was ist xUML? Ablauf der Modellierung Zusammenfassung Ausblick René Heilmann executable UML

Motivation Experteneinsatz in ihren Fachgebieten unterstützen Domainexperten Softwareentwicklungsexperten Funktionale Verhalten der Software auf Basis des Modells verifizierbar Agile Softwareentwicklung auf neuer Abstraktionsebene Abtrennung der Anforderungen durch die Plattform von der Anwendung Austauschbarkeit der Hardware- und Softwareplattform erreichen René Heilmann executable UML

Was ist xUML? auch x(t)UML, für executable and translatable UML Integration von Modell und Programmiersprache für gleiche Semantik stehen grafische und textbasierte Notation zur Verfügung UML-Profil eingegrenzte UML Modellmenge + präzisere Elementbeschreibung, entfernte Doppelbelegung „Stützpfeiler“ der MDA Nutzermodelle gemäß xUML entsprechen PIMs Abgrenzung von der MDA PSM als entbehrliche grafische Zwischenstufe zum Code angesehen René Heilmann executable UML

Ablauf der Modellierung externe Sicht auf Systemverhalten Domainspezifikation USE-CASEs  Erkennen der Anforderungen interne Sicht Klassen Constraints Lebenszyklus Kommunikation / Synchronisation der Objekte Domänenverifikation Modellkompilierung / -verbund René Heilmann executable UML

Ablauf: Domains und USE-CASEs Domain (realer, abstrakter, hypothetischer Problemraum): voneinander eindeutig abgrenzbaren Teile des System Darstellung: grafisch - Domain Chart + textbasierte Beschreibung Verknüpfung über „Join Points“, Umsetzung über Bridges USE-CASE: dienen Modellgründung und Testfallermittlung, keine Ausführbarkeit Aktivitätsdiagramme zur Verdeutlichung der Abfolge Annahme Anforderung Domäne1 Bridge Domäne2 Anforderung Annahme René Heilmann executable UML

Ablauf: Klassen I Modellierung mithilfe von Klassendiagrammen Attribute: core type, domain type (nutzerdefiniert, sind zu bevorzugen) Operationen / Methoden definiert über klasseneigene Zustandsmaschine Signale ist nicht mit Operation gleichzusetzen, sondern Auslöser Parametrisierung möglich Assoziationen Generalisierung, Spezialisierung, ... analog UML Klassenmodellierung erzwingt keine objektorientierte Umsetzung René Heilmann executable UML

Ablauf: Klassen II Action Language: bildet Umgang mit (konkreten) Instanzen ab Erstellen, Löschen, Zugriff auf Attribute, Iterationen, Auswahl, Datenmanipulation, Berechnungen (allgemein) abstrahiert Details der Softwareplattform (Datenstrukturen) Basis bildet „Precise Action Semantics for UML“, mit eigens für xUML definierten Syntax Constraints: Regeln zur Festlegung gültiger Werte Umsetzung mittels OCL (Object Constraint Language) ausführbar, definiert berechenbare Werte, unterstützt Laufzeittests René Heilmann executable UML

Ablauf: Lebenszyklus I Abbildung von Ereignis – Zustandsrelation der Instanzen einer Klasse mittels Zustandsmaschine Abbildungsmittel: Zustandsdiagramm Elemente: Zustände, Ereignisse Transition (Regel zur Festlegung welcher neue Zustand durch welches Ereignis eintritt) Prozeduren (notwendige, zu vollendende Aktivität / Operation bei Erlangung eines neuen Zustandes  Action Language) initiale, finale Pseudozustände ergänzend: Zustandsübergangstabelle Matrix aus Ereignisse X Zustände  finden verborgener Übergänge, Kombinierbarkeit René Heilmann executable UML

Ablauf: Lebenszyklus II Kommunikation / Synchronisation von Objekten Abbildungsmittel Interaktionsdiagramme: Kollaborationsdiagramme - Kommunikation zwischen Klassen Sequenzdiagramme – zeitl. Verlauf eines Szenarios, bei bekannten Zuständen und Attributwerten Informationsaustausch als Signale zwischen den nebenläufigen Instanzen der jeweiligen Zustandsmaschinen Modellierer hat korrekte Reihenfolge und Datenkonsistenz zu garantieren René Heilmann executable UML

Überblick René Heilmann executable UML

Ablauf: Domänenverifikation Testfälle für einzelnen Use-Case betrachtet eine Aktivität: precondition, initiales Signal, postcondition Basis = Szenario: Kombination aus initialem Systemzustand (Zustandsmaschine), festgelegter Wertebereich für Signalparameter und Attributwerte Menge der Testfälle durch Anfangszustände und Signalparameterwerte bestimmt Testvektoren bestimmen ein bestehen / fehlschlagen des Tests Automatisierung mithilfe der Action Language René Heilmann executable UML

Ablauf: Modellcompiler Compiler trifft HW- / SW-Entscheidungen  allein Compiler entscheidet wie die einzelnen Modellelemente in Quelltext umgesetzt werden Verflechtung der Nutzermodelle: Regelwerk aufgebaut aus Urtypen (archetypes) Urtypen: Fragment aus Datenzugriff und Textmanipulation, welches formal eine Überführung in Text beschreibt Datenzugriff – Repository aus xUML Modellen Textmanipulation – mögliche Anpassung der Textausgabe René Heilmann executable UML

Zusammenfassung I Compiler Quelltext „weaving“ Abstraktionsebene xUML-Metamodell Systemarchitektur Metamodell xUML Anwendungsmodelle Quelltext Compiler „weaving“ Abstraktionsebene René Heilmann executable UML

Zusammenfassung II möglicher Einsatz von Experten aus Anwendungsgebiet Plattformunabhängigkeit, vereinfachte Technologiewechsel erhöhte Wiederverwendbarkeit und Qualität debuggen auf Modellebene UML versierte Anwender kaum Einarbeitung fördert konkurrierende Entwicklung René Heilmann executable UML

Ausblick Ergebnisse der OMG QVT Standardisierung könnte nochmals zu Veränderungen führen (Metamodellmapping untereinander) OMG RFP für Standard um Metamodell nach Text zu mappen Entwickler nur noch Modellierung und Modellkompileranpassung  darunterliegende Ebene (höhere Programmiersprache) bleibt unangetastet, wie heutzutage Assemblerebene René Heilmann executable UML

Quellen Mellor, Stephen, Balcer, Marc: Executable UML – A Foundation for Model-Driven Architecture. Addison-Wesley, 1. Auflage 2002 http://www.pafis.shh.fi/graduates/leogal01.pdf http://www.bptrends.com/publicationfiles/06-04%20COL%20Agile%20MDA%20-%20Frankel%20-%20Mellor.pdf http://www.embedded.com/story/OEG20030115S0043 http://www.sigs.de/publications/os/2005/MDD/Buehler_MDA_OS_2005.pdf http://www.acceleratedtechnology.com/embedded/nuc_xtuml.html http://www.informit.com/articles/article.asp?p=28274&seqNum=3&rl=1 http://www.stsc.hill.af.mil/crosstalk/2004/09/0409Mellor.html René Heilmann executable UML

Vielen Dank für Ihre Aufmerksamkeit René Heilmann executable UML