xUML - executable UML - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

xUML - executable UML

Description:

Title: PowerPoint Presentation Last modified by: Ren Heilmann Created Date: 1/1/1601 12:00:00 AM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:60
Avg rating:3.0/5.0
Slides: 19
Provided by: unim84
Category:

less

Transcript and Presenter's Notes

Title: xUML - executable UML


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

2
Inhalt
  • Motivation
  • Was ist xUML?
  • Ablauf der Modellierung
  • Zusammenfassung
  • Ausblick

3
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

4
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

5
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

6
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

7
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

8
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

9
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

10
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

11
Überblick
12
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

13
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

14
Zusammenfassung I
xUML-Metamodell
Systemarchitektur Metamodell
Compiler weaving
Abstraktionsebene
15
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

16
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

17
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-0420C
    OL20Agile20MDA20-20Frankel20-20Mellor.pdf
  • http//www.embedded.com/story/OEG20030115S0043
  • http//www.sigs.de/publications/os/2005/MDD/Buehle
    r_MDA_OS_2005.pdf
  • http//www.acceleratedtechnology.com/embedded/nuc_
    xtuml.html
  • http//www.informit.com/articles/article.asp?p282
    74seqNum3rl1
  • http//www.stsc.hill.af.mil/crosstalk/2004/09/0409
    Mellor.html

18
  • Vielen Dank für Ihre Aufmerksamkeit
Write a Comment
User Comments (0)
About PowerShow.com