Lade Inhalt...

Erzeugung von Statecharts aus Sequence Charts

©2005 Seminararbeit 26 Seiten

Zusammenfassung

Inhaltsangabe:Einleitung:
In dieser Ausarbeitung geht es um Verfahren zur Transformation von Sequence Charts in Statecharts. Es werden die Ansätze zur Transformation von Statecharts aus Life Sequence Charts und Message Sequence Charts vorgestellt und Nachteile bei der Modellierung angesprochen. Der Schwerpunkt dieser Arbeit liegt dabei auf der Transformation aus Message Sequence Charts. Teilaspekte zur Transformation von Message Sequence Charts zu Statecharts werden informell beschrieben und anhand von praktischen Beispielen vorgestellt.
Problemstellung:
Systeme mit Hilfe von Modellierungs-Sprachen zu beschreiben ist heutzutage ein gängiges und bewährtes Verfahren. Sequence Charts sind eine grafische Beschrei-bungssprache zur Darstellung von Nachrichtenaustausch zwischen Objekten. State-charts beschreiben ein System anhand seiner Zustände. Sequence Charts und Statecharts sind damit Werkzeuge für Entwickler, die das Verhalten von Systemen anhand zweier völlig unterschiedlicher Aspekte, den Nachrichtenaustausch zwischen Objekten und Zustände im System, darstellen.
Sequence Charts wurden 1993 von der International Telecommunication Union (ITU) standardisiert. Diese ursprünglichen Sequence Charts enthalten nicht genug Informationen, um aus ihnen Zustände innerhalb des modellierten Systems abzuleiten und damit Statecharts zu erzeugen. Daher werden die ursprünglichen Sequence Charts durch verschiedene Standards erweitert. Die für diese Ausarbeitung wichtigsten Erweiterungen sind durch die Ob-ject Constraints Language erweiterte Message Sequence Charts und Life Sequence Charts.
Diese Erweiterungen werden in Kapitel 2 vorgestellt. Die Transformation von Statecharts aus Message Sequence Charts bzw. Life Sequence Charts werden in (11,10) bzw. (6,4) eingehend beschrieben.
Kapitel 3 gibt eine Übersicht Über diese Verfahren und geht auf einige Vor- und Nachteile beider Modellierung ein.
In Kapitel 4 werden einzelne Teilaspekte beider Transformation von Statecharts aus Message Sequence Charts erläutert und anhand von Beispielen erklärt. Inhaltsverzeichnis:Inhaltsverzeichnis:
1.Einleitung1
2.Grundlagen2
2.1Sequence Charts2
2.1.1Sinn und Zweck von Sequence Charts2
2.1.2Klassifikation von Sequence Charts2
2.2Endliche Automaten und Statecharts4
2.2.1Endliche Automaten5
2.2.2Statecharts6
3.Überblick über Transformationsverfahren8
3.1Transformation von Statecharts aus Message Sequence Charts8
3.2Transformation von Statecharts aus Life Sequence […]

Leseprobe

Inhaltsverzeichnis


Daniel Miesling
Erzeugung von Statecharts aus Sequence Charts
ISBN: 978-3-8366-0880-0
Druck Diplomica® Verlag GmbH, Hamburg, 2008
Zugl. Christian-Albrechts-Universität zu Kiel, Kiel, Deutschland, Seminararbeit, 2005
Dieses Werk ist urheberrechtlich geschützt. Die dadurch begründeten Rechte,
insbesondere die der Übersetzung, des Nachdrucks, des Vortrags, der Entnahme von
Abbildungen und Tabellen, der Funksendung, der Mikroverfilmung oder der
Vervielfältigung auf anderen Wegen und der Speicherung in Datenverarbeitungsanlagen,
bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. Eine Vervielfältigung
dieses Werkes oder von Teilen dieses Werkes ist auch im Einzelfall nur in den Grenzen
der gesetzlichen Bestimmungen des Urheberrechtsgesetzes der Bundesrepublik
Deutschland in der jeweils geltenden Fassung zulässig. Sie ist grundsätzlich
vergütungspflichtig. Zuwiderhandlungen unterliegen den Strafbestimmungen des
Urheberrechtes.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in
diesem Werk berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme,
dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei
zu betrachten wären und daher von jedermann benutzt werden dürften.
Die Informationen in diesem Werk wurden mit Sorgfalt erarbeitet. Dennoch können
Fehler nicht vollständig ausgeschlossen werden, und die Diplomarbeiten Agentur, die
Autoren oder Übersetzer übernehmen keine juristische Verantwortung oder irgendeine
Haftung für evtl. verbliebene fehlerhafte Angaben und deren Folgen.
© Diplomica Verlag GmbH
http://www.diplom.de, Hamburg 2008
Printed in Germany

Inhaltsverzeichnis
1
Einleitung
1
2
Grundlagen
2
2.1
Sequence Charts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2.1.1
Sinn und Zweck von Sequence Charts
. . . . . . . . . . . . .
2
2.1.2
Klassifikation von Sequence Charts . . . . . . . . . . . . . . .
2
2.2
Endliche Automaten und Statecharts . . . . . . . . . . . . . . . . . .
4
2.2.1
Endliche Automaten . . . . . . . . . . . . . . . . . . . . . . .
5
2.2.2
Statecharts . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
3
¨
Uberblick ¨
uber Transformations-Verfahren
8
3.1
Transformation von Statecharts aus Message Sequence Charts . . . .
8
3.2
Transformation von Statecharts aus Life Sequence Charts . . . . . .
10
3.3
Vor- und Nachteile der Ans¨
atze . . . . . . . . . . . . . . . . . . . . .
10
3.4
Probleme und L¨
osungen . . . . . . . . . . . . . . . . . . . . . . . . .
12
4
Transformation von Message Sequence Charts in State Charts
13
4.1
Einzelne Sequence Diagramme
. . . . . . . . . . . . . . . . . . . . .
13
4.1.1
Konfliktsuche . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.1.2
¨
Ubersetzung in endliche Automaten . . . . . . . . . . . . . .
16
4.2
Mehrere Sequence Diagramme . . . . . . . . . . . . . . . . . . . . . .
16
4.3
Erweiterung um Hierarchie
. . . . . . . . . . . . . . . . . . . . . . .
18
5
Zusammenfassung und Ausblick
21

Abstract
In dieser Ausarbeitung geht es um Verfahren zur Transformation von
Sequence Charts in Statecharts. Es werden die Ans¨
atze zur Transfor-
mation von Statecharts aus Life Sequence Charts und Message Sequence
Charts vorgestellt und Nachteile bei der Modellierung angesprochen. Der
Schwerpunkt dieser Arbeit liegt dabei auf der Transformation aus Mes-
sage Sequence Charts. Teilaspekte zur Transformation von Message Se-
quence Charts zu Statecharts werden informell beschrieben und anhand
von praktischen Beispielen vorgestellt.
1 Einleitung
Systeme mit Hilfe von Modellierungs-Sprachen zu beschreiben ist heutzutage ein
angiges und bew¨
ahrtes Verfahren. Sequence Charts sind eine grafische Beschrei-
bungssprache zur Darstellung von Nachrichtenaustausch zwischen Objekten. State-
charts beschreiben ein System anhand seiner Zust¨
ande. Sequence Charts und State-
charts sind damit Werkzeuge f¨
ur Entwickler, die das Verhalten von Systemen anhand
zweier v¨
ollig unterschiedlicher Aspekte, den Nachrichtenaustausch zwischen Objek-
ten und Zust¨
ande im System, darstellen. Sequence Charts wurden 1993 von der
International Telecommunication Union (ITU ) standardisiert [7]. Diese urspr¨
ungli-
chen Sequence Charts enthalten nicht genug Informationen, um aus ihnen Zust¨
ande
innerhalb des modellierten Systems abzuleiten und damit Statecharts zu erzeugen.
Daher werden die urspr¨
unglichen Sequence Charts durch verschiedene Standards
erweitert. Die f¨
ur diese Ausarbeitung wichtigsten Erweiterungen sind durch die Ob-
ject Constraints Language erweiterte Message Sequence Charts und Life Sequence
Charts. Diese Erweiterungen werden in Kapitel 2 vorgestellt. Die Transformation
von Statecharts aus Message Sequence Charts bzw. Life Sequence Charts werden
in [11, 10] bzw. [6, 4] eingehend beschrieben. Kapitel 3 gibt eine ¨
Ubersicht ¨
uber
diese Verfahren und geht auf einige Vor- und Nachteile bei der Modellierung ein. In
Kapitel 4 werden einzelne Teilaspekte bei der Transformation von Statecharts aus
Message Sequence Charts erl¨
autert und anhand von Beispielen erkl¨
art.

2 Grundlagen
2.1 Sequence Charts
2.1.1 Sinn und Zweck von Sequence Charts
Sequence Charts sind hoch intuitiv und gut zu verstehen. Sie sind weitestgehend als
grafische Sprache zur Beschreibung von Szenarien akzeptiert. Insbesondere bei der
Entwicklung reaktiver Systeme ist es wichtig das dynamische Verhalten hinreichend
genau abzubilden. So haben sich Sequence Charts zun¨
achst im Telekommunikati-
onsbereich als eine wichtige Modellierungssprache zur Darstellung von Kommuni-
kation zwischen Systemkomponenten und Ihrer Umgebung etabliert. Sp¨
ater wurden
Sequence Charts in Form von Message Sequence Charts (MSC ) von der ITU stan-
dardisiert [7] und von verschiedenen Institutionen weiterentwickelt.
Insert card
Request passwd
Enter Passwd
Request amount
Chancel
Eject card
User
ATM
Abbildung 1: Sequence Chart
Das grundlegende Konzept aller Sequence Charts ist es, den Austausch von Nachrich-
ten in der zeitlichen Abfolge darzustellen. Abbildung 1 zeigt ein einfaches Sequence
Chart mit zwei Objekten - einem User und einem Bankautomat (ATM, engl. au-
tomated teller machine). Objekte werden als vertikale Linien und Nachrichten als
horizontale Pfeile dargestellt. Die Reihenfolge der Pfeile zeigt dabei den Zeitverlauf
im Nachrichtenaustausch.
2.1.2 Klassifikation von Sequence Charts
Die von der ITU 1993 spezifizierten MSC sind geeignet um ausgew¨
ahlte Beispiel-
Szenarien zu spezifizieren, nicht jedoch f¨
ur eine allgemein g¨
ultige Spezifikation. So
spezifiziert z.B. das in Abbildung 1 angegebene Beispiel nicht was passiert, wenn
zweimal Chancel aufgerufen wird oder sich bereits von Anfang an eine Karte im
ATM befindet. Um das Verhalten komplexer Systeme darzustellen scheint es sinn-
voll mehrere Sequence Charts zu kombinieren.

Die ITU hat in sp¨
ateren Versionen mehrere neue Konstrukte eingef¨
uhrt, die es erlau-
ben MSC zu kombinieren und so das Verhalten von Systemen vollst¨
andig darzustel-
len. In [8] wird eine formale Semantik der zu Hight-Level MSC (HMSC ) erweiterten
MSC gegeben. Unter HMSC werden Graphen, deren Knoten Sequence Charts oder
HMSC sind, verstanden. Ein Beispiel ist in Abbildung 2 zu sehen.
Insert card
Request password
Insert card
Request password
Enter password
Chancel
Eject card
A
B
C
D
Enter password
Reject password
User
ATM
A:
User
ATM
B:
User
ATM
C:
User
ATM
D:
Abbildung 2: High-Level MSC
[5] erweitert ebenfalls die MSC um die M¨
oglichkeit mehrere Sequence Charts zu
kombinieren und f¨
uhrt Konstrukte ein, mit deren Hilfe spezifiziert werden kann was
in einem Sequence Chart passieren muss im Gegensatz zu dem was passieren kann.
Diese erweiterten MSC heißen Life Sequence Charts (LSC ) - MSC erweitert um
lifeness. Ein Beispiel ist im Abbildung 3 angegeben. LSC unterscheiden Universale
und Existentielle Diagramme. Universale Diagramme geben an was in einem Sys-
tem passieren muss (3.3 und 3.4) und Existentielle Diagramme was in einem System
passieren kann (3.1 und 3.2). Universale Diagramme werden mit einem Kasten und
Existentielle Diagrammer mit einem gestrichelten Kasten umrahmt. Zum Beispiel
ussen nach den Nachrichten Insert card und Request passwd die Nachrichten

Enter passwd und Eject card vorkommen. Nach Enter passwd m
¨
ussen entweder
Display passwd not ok und Eject card oder Enter amount und Chancel ver-
sandt werden. Das Beispiel akzeptiert unter anderem das in Abbildung 1 angegebene
MSC . Eine Kollektion aus Universalen und Existentiellen Diagrammen spezifiziert
das Systemverhalten allgemein g¨
ultig und nicht nur beispielhaft.
User
ATM
User
Eject card
Display passwd not ok
ATM
ATM
User
Insert card
Eject card
Take card
Insert card
Request password
Enter passwd
IF
THEN
User
ATM
A:
Enter passwd
Enter passwd
Eject card
Req. amount
Chancel
(3.1)
User
ATM
User
Eject card
Display passwd not ok
ATM
ATM
User
Insert card
Eject card
Take card
Insert card
Request password
Enter passwd
IF
THEN
User
ATM
A:
Enter passwd
Enter passwd
Eject card
Req. amount
Chancel
(3.2)
User
ATM
User
Eject card
Display passwd not ok
ATM
ATM
User
Insert card
Eject card
Take card
Insert card
Request password
Enter passwd
IF
THEN
User
ATM
A:
Enter passwd
Enter passwd
Eject card
Req. amount
Chancel
(3.3)
User
ATM
User
Eject card
Display passwd not ok
ATM
ATM
User
Insert card
Eject card
Take card
Insert card
Request password
Enter passwd
IF
THEN
User
ATM
A:
Enter passwd
Enter passwd
Eject card
Req. amount
Chancel
(3.4)
Abbildung 3: Existentielle (3.1,3.2) und Universale (3.3,3.4) Life Sequence Charts
-- Es muss entweder 3.1 oder 3.2 erf¨
ullt werden. Ist in 3.3 der IF-Fall erf¨
ullt, so
ussen die Nachrichten im THEN-Fall versandt werden. Insert card erzwingt in 3.4
die Nachrichten Eject card und Take card .
Die OMG hat ebenfalls den Ansatz der ITU aufgegriffen und die MSC in Form der
Sequence Diagramme in den UML-Standard [2] aufgenommen und mit der Object
Constraint Language (OCL) [1] die M¨
oglichkeit geschaffen Sequence Diagramme um
Guards sowie Vor- und Nachbedingungen von Nachrichten zu erweitern.
2.2 Endliche Automaten und Statecharts
Im Folgenden werden Statecharts als eine weitere M¨
oglichkeit das Verhalten eines
Systems zu beschreiben vorgestellt. W¨
ahrend Sequence Charts Interaktionen zwi-

schen Objekten beschreiben, eignen sich Statecharts um das interne Verhalten eines
einzelnen Objektes anhand seiner Zust¨
ande darzustellen.
2.2.1 Endliche Automaten
Die Statecharts haben sich aus den s.g. Mealy-Automaten entwickelt. Mealy-Automaten
sind eine Form der Endlichen Automaten (FSM, engl. finite state machine). Formal
lassen sich endliche Automaten M beschreiben durch M = (X, Y, Z, , ), wobei
· X die endliche Menge der Eingabewerte,
· Y die endliche Menge der Ausgabewerte,
· Z die endliche Zustandsmenge
angeben.
Insert card / Request passwd
Enter passwd /
/ Req. amount
Chancel /Eject card
Abbildung 4: Mealy-Automat
Die Ausgabewerte eines Mealy-Automaten h¨
angen von der Eingabe und dem Zu-
stand des Automaten ab, somit ergeben sich folgende Zustandfunktionen f¨
ur Mea-
ly-Automaten:
· : Z × X Z Zustands¨
uberf¨
uhrungsfunktion,
· : Z × X Y Ausgabefunktion
Die Zustands¨
uberf¨
uhrung in einem Mealy-Automaten lassen sich als gerichtete Gra-
phen, dessen Knoten Zust¨
ande und dessen Kanten Zustands¨
uberf¨
uhrungen darstel-
len, beschreiben. Die Kanten werden mit Paaren aus Eingabe- und zugeh¨
origem
Ausgabewert beschriftet. Abbildung 4 zeigt das ATM -Beispiel aus Abbildung 1,
darstellt durch einen Mealy-Automaten.

Insert card /
Req. passwd
Enter passwd /
/ Req. amount
Chancel /
Eject card
/Insert card
Requese passwd/
Enter passwd
Request amount/
Chancel
User
Card inserted
ATM
Abbildung 5: Statechart
2.2.2 Statecharts
Statecharts entstehen durch Erweiterung der Mealy-Automaten um die Konzepte
Hierarchie, Orthogonalit¨
at und Broadcast. In Abbildung 5 ist das ATM -Beispiel als
Statechart zu sehen.
Die Konzepte werden im Folgenden kurz umrissen:
Hierarchie (oder auch Tiefe): In Abbildung 4 kann an jedem beliebigen Knoten
die Eingabe Chancel erfolgen. Dies f¨
uhrt zu einer Vielzahl von Kanten. Durch
Hierarchiebildung l¨
asst sich das Zustandsdiagramm vereinfachen.

Details

Seiten
Erscheinungsform
Originalausgabe
Jahr
2005
ISBN (eBook)
9783836608800
DOI
10.3239/9783836608800
Dateigröße
397 KB
Sprache
Deutsch
Institution / Hochschule
Christian-Albrechts-Universität Kiel – Mathematisch-Naturwissenschaftliche Fakultät, Informatik
Erscheinungsdatum
2008 (Januar)
Note
1,3
Schlagworte
modellierung statecharts life message sequence charts transformation
Zurück

Titel: Erzeugung von Statecharts aus Sequence Charts
book preview page numper 1
book preview page numper 2
book preview page numper 3
book preview page numper 4
book preview page numper 5
book preview page numper 6
book preview page numper 7
book preview page numper 8
26 Seiten
Cookie-Einstellungen