UML RT (Beispiel)

Transcrição

UML RT (Beispiel)
PG SCHUTTLE: Seminar
UML RT und Echtzeit Modellierung
Teilnehmer: Wladimir Pauls (6056370)
Leitung:
Dr. Holger Giese
Matthias Tichy
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
1
Agenda
• Geschichte von UML
• UML und Echtzeit
• Übersicht über Echtzeiterweiterungen
• Ausblick auf UML 2.0
• Einsatz von UML RT in der PG
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
2
Geschichte von UML
UML 2.0
OMT
(Rumbaugh)
OOAD
1996
1997
2001
(Booch)
UML 0.9
OOSE
(Jacobson)
UML 1.1
UML 1.4
OMG–Standard
Statecharts
(Harel)
[GLINZ01]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
3
UML und Echtzeitsysteme
• Stärken bei Business Software
• Schwächen im Real Time Bereich
– Zeitkonzept
– Architektur (Komponenten)
– Kommunikation
– Resourcen und QoS
[UMLERW02-ol]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
4
Erweiterungsstrukturen von UML
• Stereotypen
– Dient der Erweiterung des
Sprachvorrats
– Notation: << stereotyp >>
• Tagged Values
– Eigenschaften von
Vorhandenen Elementen
– Notalion: {Eigenschaft}
• Profiles
– Keine neue Semantik
– Lediglich neue Aspekte
[UMLHA99] S .86-88
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
[vl16]
5
Erweiterungsstrukturen (Beispiele)
Intgeger
<< RT Clock >>
MyTimePiece
Semantik: Ein aktiver
Zähler, dessen wert
sich synchron mit der
physikalischer
Zeit
verändert.
setTime()
Server
UML Semantik
Eigenschaften
des Elements
{processors = 3}
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
6
Echtzeiterweiterungen
• UML – RT (ROOM)
– Bran Selic (rational)
• RT Profile
– Bruce Douglass (iLogix)
• Integration von SDL (mit Timer)
– Chris Kobryn (telelogic)
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
7
UML RT
• Real-Time Object Oriented Modelling
(ROOM)
– Komponentenarchitektur
• Aktoren
– Kommunikationsaspekte
• Ports, Protokolle und Nachrichten
– Verhalten
• ROOM Charts
[UMLERW02-ol]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
8
UML RT
• Konzepte für
Systemarchitektur
– Capsules
(Komponenten)
– Ports und Connectors
– Layering
Ports
Connector
Capsule
Subcapsule
<< capsule >>
CapsuleClassX
#counter : int
#x : char
ports
+portB : ProtokollA::master
#portC : ProtokollB
[UMLOVER98]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
9
UML RT
• Kommunikationskonzepte
– Protokolle
– Roles
– Messages
• Verhalten
– Statecharts
[UMLERW02-ol]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
10
UML RT (Beispiel)
Caller
Operator
Callee
<< protocol >>
OperatorAssistedCall
call
ack
<< protocolRole >>
number
call
<< protocolRole >>
operator
caller
ack
transfer
talk
<< protocolRole >>
callee
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
11
UML RT (Beispiel)
call
asking
initial
number
connected
ack
connecting
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
12
UML RT (Beispiel)
Hierarchische Verfeinerung
der CapsuleRoboter
c: ProtRoboterBefehle
<< capsule >>
multiple capsule:
Zwei Achsensteuerungen
<< capsule >>
Förderbandüberwachung
<< capsule >>
Ablaufsteuerung
0-1
<< capsule >>
Montageanleitung
2
multiple port
Temporäre Schnittstelle
zu Montageanleitung
<< capsule >>
Achsensteuuerung
2
<< capsule >>
Greifarmsteuerung
[UMLERW02-ol]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
13
UML RT
• Zeitkonzept
– Timer,Uhren
• Schwachpunkte
– Keine ausreichende Zeitbehandlung
• Nur Timer als Strukturelement
• Keine Semantik mit Zeit
– Keine Ressourcenmodellierung
• Zugriff auf Ressourcen
• Task Scheduling
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
14
RT Profile
• UML Profile for Schedulability,
Performance and Time.
– Zeit
– Quality of Service
– Ressourcen Sharring
– Quantitative Analyse
[OTTO00]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
15
RT Profile
• Zeitmodell
– Zeitwerte
– Zeitmechanismen
– Zeitliche Events
Real
<< RTtime >>
MyTimeClass
[UMLSTAN01]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
16
RT Profile
• Zeitwerte (<<RTtimeString>>)
– „12:04“ (Tageszeit)
– „5.3 ms“ (Zeitspanne)
– „2002/11/20“ (Datum)
– „Mon“ (Wochentag)
– ....
Calendar
startDate:Date=<<RTtime>>“01/01/2000“
<<RTtime>>
Date
Value:DateString
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
17
RT Profile
• Zeitmechanismen
– Timer und Clocks
TimingMechanism
stability
drift
skew
setTime(time:timeValue)
get() : timeValue
reset()
start()
pause()
Clock
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
Timer
isPeriodic : boolean
18
RT Profile
• Resourcen & QoS
Client
S1
RequiredQoS
RequiredQoS
Resource Usage
S1
Resource
OfferedQoS
OfferedQoS
{RequiredQoS
{RequiredQoS ≤
≤ OfferedQoS}
OfferedQoS}
[UMLSTAN01]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
19
RT Profile
Required QoS
Client1
access()
{deadline = 3ms}
Client2
access()
{deadline = 5ms}
myMonitor
{maxExecutionTime = 4ms}
Offered QoS
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
20
RT Profile (Resource Sharing)
<<GRMclient>>
1. read() → <<GRMprotResource>>
master : Master
d : DBaseServer
{GRMperiod = 100 ms}
{GRMwcet = 20 ms}
<<GRMclient>>
dBadmin : Admin
{GRMperiod = 150 ms}
{GRMwcet = 40 ms}
<<GRMclient>>
poller : Poller
{GRMperiod = 150 ms}
{GRMwcet = 40 ms}
2. register() →
sort() →
invoke() →
<<GRMprotResource>>
cs : CommServer
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
21
RT Profile
• Quantitative Analyse
– Schedulability Analyse
(kann das System deadlines einhalten?)
– Performance Analyse
(wie verhält sich das System unter Last?)
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
22
RT Profile (Beispiel)
Tsensor:
TemperatureSensor
{cycle = „20 msec“}
Temp: Temperature
InstPanel: Register
{cycle = „40
msec“}
reqires
Injector: FIControl
{cycle = „20 msec“}
reqires
reqires
<<LWT>>
Thread1 : T
{ctxtSw = „10usec“}
reqires
<< OSprocess >>
HostProcess: P
{ctxtSw = „80
usec“,
heap = „30 Kb“
<<LWT>>
Thread2 : T
{ctxtSw = „10usec“}
<<LWT>>
Thread3 : T
{ctxtSw = „10usec“}
[UMLSTAN01]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
23
UML 2.0
• Vorschläge
– Evolution statt Revolution (Bran Selic, Guus
Ramackers, Cris Kobryn) [SEL02]
• Struktur von Komponentenbasierten Systemen
• Erweiterte Modellierung des komplexen Verhaltens
Revolution (Dov Dori) [DORI02]
– Sprachenfamilie (Keith Duddy) [DUDDY02]
– Modelle als Güter: MDA (Stephen J. Mellor)
[MELLOR02]
– 3C (William Frank, Kevin P. Tyson) [FRTY02]
– Revolution (Dov Dori) [DORI02]
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
24
UML 2.0 (Vorschlag)
• Capsules -> Encapsulated Classifier
• Ports
• Protokoll
– Protokoll State Machine
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
25
UML 2.0 (Notationen)
Ports
Connector
Capsule
EncapsulatedClassifier
Subcapsule
Component
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
26
Was machen wir in der PG?
• RT Statecharts
• Mischung von UML-RT und Profiles im
Hinblick auf UML 2.0
• Architektur: Components(Capsules)
• Ports
• Kommunikation: Protokolle (RT Statecharts)
• Deployment, QoS Profile
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
27
Vielen Dank
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
28
Quellen
• [GLINZ01] Spezifikation und Entwurf von Software, Kapitel
4 Einführung in UML.
– Martin Glinz
– http://www.ifi.unizh.ch/groups/req/ftp/ses/kapitel_04.pdf
• [OTTO00] Ein UML-Profil für eingebettete Echtzeitsysteme
– Christian Otto
– http://ist.unibwmuenchen.de/GROOM/META/Presentations/Otto.pdf
• [UMLERW02-ol] UML Erweiterungen
– http://www.visec.de/servlets/is/2605
• [UMLHA99] Das UML Benutzerhandbuch
– Booch, Rumbaugh, Jacobson
• [UMLOVER98] UML for Real-Time Overview
– Andrew Lyons
– http://www.rational.com/media/whitepapers/umlrt_overview.p
df
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
29
Quellen
• [UMLPRO02] The final specification of UML Profile
for Schedulability, Performance and Time
– http://www.omg.org/cgi-bin/doc?ptc/2002-03-02
• [UMLSTAN01] The Real-Time UML Standard
Definition and Application
– Alan Moore, Bran Selic, Ben Watson.
– http://neptune.irit.fr/Biblio/01-07-03.pdf
Seminar UML-RT und Echtzeit Modellierung: (Wladimir Pauls)
30