Title: Referat
1Referat COMET-Basis
- von Rebekka Oeters
- im Rahmen des Seminars
- Entwicklung eingebetteter und verteilter
Systeme WS 01/02
2Gliederung
- Überblick über die Softwareentwicklungsmethode
COMET - Use Case Modellierung
- Statische Modellierung
- Klassen- und Objektstrukturierung
- Modellierung von endlichen Zustandsautomaten
- Modellierung der Interobjektkommunikation
- UML-RT
- Fazit
3Überblick über COMET
- COMET ist eine Softwareentwicklungs-methode für
nebenläufige, verteilte und Echtzeitsysteme - Iterativer Softwarelebenszyklus
- Use Case Modellierung als Ausgangspunkt für alle
weiteren Entwicklungsphasen
4COMET Objektorientiertes Softwarelebenszyklusmod
el
5Use Case Modellierung
- Beschreibung der funktionalen Anforderungen an
das System in Form von Use Cases und Akteuren - Identifikation und Dokumentation von Use Cases
- 4 Arten von Akteuren
- Menschliche Nutzer
- Externe Systeme
- Externe Ein- oder Ausgabegeräte
- Timer
6Elevator Control System
7Use Cases und Akteure des Elevator Control Systems
8Akteure und Use Case Beziehungen
- Primäre versus sekundäre Akteure
- Use Case Beziehungen
- ltltextendgtgt
- ltltincludegtgt
9Use Case Model des Elevator Control Systems
10Statische Modellierung
- Ziel ist die Definition der problem-spezifischen
und statischen Strukturaspekte des Systems - Erstellung eines Systemkontext-diagramms zur
Festlegung der Schnittstelle zwischen dem System
und der externen Umgebung
11Klassendiagramm für das Elevator Control System
12Systemkontextdiagramm für das Elevator Control
System
13Klassen- und Objekt-strukturierung
- Kategorisierung von systeminternen und externen
Klassen des Systems mit Hilfe von Stereotypen - Ziel ist die Identifizierung der konkreten
Softwareobjekte, aus denen das System komponiert
wird - Verwendung von Objektstrukturierungs-kriterien
und Stereotypen zur Klassifizierung
14Klassifikation von Anwendungsklassen mit Hilfe
von Stereotypen
ltltapplicationgtgt
ltltinterfacegtgt
ltltentitygtgt
ltltcontrolgtgt
ltltapplication logicgtgt
ltltbusiness logicgtgt
ltltalgorithmgtgt
ltltuser interfacegtgt
ltltdevice interfacegtgt
ltltsystem interfacegtgt
ltlttimergtgt
ltltcoordinatorgtgt
ltltstate dependent controlgtgt
ltltinput / output device interfacegtgt
ltltinput device interfacegtgt
ltltoutput device interfacegtgt
15Klassifikation von externen Klassen mit Hilfe
von Stereotypen
ltltexternalgtgt
ltltexternal usergtgt
ltltexternal systemgtgt
ltltexternal devicegtgt
ltltexternal timergtgt
ltltexternal input / output devicegtgt
ltltexternal output devicegtgt
ltltexternal input devicegtgt
16Objektstrukturierungskriterien (1)
- Ziel ist die Klassifikation der Objekte, die in
einem System enthalten sind, bzgl. ihrer Rolle,
die sie im System spielen - Verwendung von Objektstrukturierungskriterien
- Interface Objects
- Device Interface Objects
- User Interface Objects
- System Interface Objects
17Objektstrukturierungskriterien (2)
- Weitere Objektstrukturierungskriterien
- Entity Objects
- Control Objects
- Coordinator Objects
- State dependent control Objects
- Timer Objects
- Application Logic Objects
- Business Logic Objects
- Algorithm Objects
18Endliche Zustandsautomaten
- Ziel ist die Modellierung der zustands-abhängigen
Aspekte eines Systems - Ein Statechart beschreibt alle möglichen
Zustände, die ein Objekt einnehmen kann - Ein Statechart repräsentiert meist ein
zustandsabhängiges Objekts innerhalb eines
Systems - Entwicklung von Statecharts mit Hilfe der in den
Use Cases beschriebenen Interaktionsabfolgen
19Statecharts
- Zustände und Events
- Events und Conditions eventcondition
- Actions event / action
- Entry Actions entry / action
- Exit Actions exit / action
- Activities do activity
- Hierarchische Statecharts
- Orthogonale Statecharts
20Statechart für den Use Case Stop Elevator at Floor
21Top-level Statechart für das Elevator Control
System
22Modellierung der Interobjektkommunikation
- Ziel ist die Definition der Kommunikation
zwischen Objekten - Kollaborationsdiagramme versus Sequenzdiagramme
- Beide Diagramme stellen jeweils immer nur eine
Interaktionsabfolge innerhalb des Systems dar - Bezeichnung von Messages
23Aufbau der Bezeichnung von Messages
A ? Use Case ID
Open Door ? message name
A9 Open Door
9 ? message sequence number (main sequence)
A9a Off Elevator Lamp
a ? concurrent message (parallel sequence to 9)
A9a.1 Elevator Lamp Output
.1 ? numeric sequence following 9a
A9b Arrived (Floor )
Floor ? argument list
24Kollaborationsdiagramm für den Use Case Stop
Elevator at Floor
25Sequenzdiagramm für den Use Case Stop Elevator at
Floor
26UML-RT
- UML Erweiterung zur Modellierung von verteilten,
eingebetteten Echtzeitsystemen - UML-RT wurde bei der Firma Rational Software von
Bran Selic und Jim Rumbaugh entwickelt und geht
in den UML 2.0 Standard ein - Ziel ist die Defintion des genauen und
vollständigen Kommunikationsablaufes zwischen
Objekten mit der Möglichkeit, Klassen und
Komponenten wiederzuverwenden - Einführung von fünf Stereotypen
- ltltcapsulegtgt
- ltltconnectorgtgt
- ltltportgtgt
- ltltprotocolgtgt
- ltltprotocol rolegtgt
27UML-RT Modellierungselemente
Kapsel
Protokoll
Ports
Conjugate Ports
Relay Port
Relay Port
End Port
End Port
28UML-RT Klassen- und Strukturdiagramm
Strukturdiagramm der TopLevelCapsule
aHello
aWorld
/ aHello Hello
/ aWorld World
World
Hello
helloPort log
helloPort timing log
ltltportgtgt
helloPort
ltltportgtgt
helloPort
29Fazit
- Inkrementelle, Use Case basierte und iterative
Softwarewareentwicklung ermöglicht flexible
Reaktionen bei auftretenden Problemen oder sich
ändernden Anforderungen - Hoher Konsistenzanspruch bzgl. der Dokumente z.B.
zwischen Use Cases, Statecharts und
Kollaborationsdiagrammen - UML-RT bietet im Gegensatz zu Kollaborations-diagr
ammen die Möglichkeit, Interaktionen zwischen
Objekten genau und vollständig zu spezifizieren
30Literaturangaben
- Designing Concurrent, Distributed, And Real-Time
Applications with UML, Hassan Gomaa, 2000 - Unified Modeling Language 2.0 Proposal version
0.63 (draft) - Einsatz der Unified Modeling Language zur
Entwicklung von Kfz-Steuerungssoftware,
Mark-Oliver P. Reiser, 2000 - Mapping Architectural Concepts to UML-RT,
Shang-Wen Cheng und David Garlan, 2001