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