SysML (Systems Modeling Language) und UML ... - Microconsult.de
SysML (Systems Modeling Language) und UML ... - Microconsult.de
SysML (Systems Modeling Language) und UML ... - Microconsult.de
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>SysML</strong> (<strong>Systems</strong> <strong>Mo<strong>de</strong>ling</strong> <strong>Language</strong>) <strong>und</strong><br />
<strong>UML</strong> (Unified <strong>Mo<strong>de</strong>ling</strong> <strong>Language</strong>)<br />
<strong>UML</strong> ® and <strong>SysML</strong> TM are (registered) tra<strong>de</strong>marks of the Object Management Group (OMG)<br />
© MicroConsult - Microelectronics Consulting & Training GmbH<br />
embed<strong>de</strong>d world 2010
<strong>SysML</strong> <strong>und</strong> <strong>UML</strong>: Übersicht, Zusammenhang, Diagramme<br />
Mo<strong>de</strong>llbasierte Entwicklung: Systementwicklung, Softwareentwicklung<br />
Beispiel „Lady GaGa“: Systemmo<strong>de</strong>llierung, Projekti<strong>de</strong>ntifikation<br />
Leistungen von MicroConsult: Themenbezogen, im V-Mo<strong>de</strong>ll<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 2<br />
Inhalt
Mo<strong>de</strong>llbasierte Entwicklung<br />
<strong>SysML</strong> <strong>und</strong> <strong>UML</strong> – Übersicht<br />
Mo<strong>de</strong>llbasierte Entwicklung für Systeme mit <strong>SysML</strong><br />
Semantik <strong>und</strong> Notation<br />
Aktuelle <strong>SysML</strong> Spezifikation (Stand 02.02.2010): V1.1<br />
Mo<strong>de</strong>llbasierte Entwicklung für Software mit <strong>UML</strong><br />
Semantik <strong>und</strong> Notation<br />
Aktuelle <strong>UML</strong> Spezifikation (Stand 02.02.2010): V2.2<br />
<strong>SysML</strong> <strong>und</strong> <strong>UML</strong> Standardisierung durch OMG (Object Management Group)<br />
www.omg.org, www.omgsysml.org, www.uml.org<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 3
<strong>SysML</strong><br />
<strong>SysML</strong> <strong>und</strong> <strong>UML</strong> – Zusammenhang<br />
<strong>UML</strong><br />
<strong>SysML</strong> Erweiterungen<br />
<strong>UML</strong> nicht verwen<strong>de</strong>t<br />
zu <strong>UML</strong><br />
(<strong>SysML</strong> Profile)<br />
<strong>UML</strong> verwen<strong>de</strong>t<br />
von <strong>SysML</strong><br />
(<strong>UML</strong>4<strong>SysML</strong>)<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 4<br />
von <strong>SysML</strong><br />
(<strong>UML</strong>-<strong>UML</strong>4<strong>SysML</strong>)
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 5<br />
<strong>SysML</strong> <strong>und</strong> <strong>UML</strong> – Diagramme<br />
<strong>SysML</strong> (9 Diagramme):<br />
<strong>UML</strong> (13 Diagramme):<br />
Use Case Diagram<br />
Use Case Diagram<br />
Requirement Diagram<br />
-<br />
Strukturdiagramme<br />
Strukturdiagramme<br />
Package Diagram<br />
Package Diagram<br />
Block Definition Diagram<br />
Class Diagram<br />
-<br />
Object Diagram<br />
Internal Block Diagram<br />
Composite Structure Diagram<br />
-<br />
Component Diagram<br />
-<br />
Deployment Diagram<br />
Parametric Diagram<br />
-<br />
Interaktionsdiagramme<br />
Interaktionsdiagramme<br />
-<br />
Interaction Overview Diagram<br />
Sequence Diagram<br />
Sequence Diagram<br />
-<br />
Communication Diagram<br />
-<br />
Timing Diagram<br />
Verhaltensdiagramme<br />
Verhaltensdiagramme<br />
Activity Diagram<br />
Activity Diagram<br />
State Machine Diagram<br />
State Machine Diagram
Mo<strong>de</strong>llbasierte Entwicklung – Systementwicklung<br />
Entscheidungsfluss Nutzung Ergebnis<br />
Sensor<br />
Input_Device<br />
«Software_Subsystem»<br />
Software_Subsystem_1<br />
Systemmo<strong>de</strong>lle<br />
System_Subsystem_Name<br />
Main_Functionality<br />
Physical_Interface System_Subsystem<br />
C_SS_1<br />
«Software_Subsystem»<br />
Software_Subsystem_2<br />
«Interface»<br />
I_Software_Subsystem_2<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
1 1<br />
«Software_Subsystem»<br />
Software_Subsystem_1<br />
Actor<br />
«Software_Subsystem»<br />
Software_Subsystem_3<br />
Output_Device<br />
«Interface»<br />
I_Software_Subsystem_3<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
«Software_Subsystem »<br />
Software_Subsystem_5<br />
«Interface»<br />
I_Software_Subsystem_5_1<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
C_SS_1_Callback<br />
op_1():void<br />
«Interface»<br />
I_Software_Subsystem_5_2<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
/init();<br />
off<br />
ENV<br />
evTemporise<br />
:AC_Mo<strong>de</strong>Sel<br />
ect<br />
:AC_Increase<br />
Speed<br />
Pre-Condition:<br />
- Motor control system mo<strong>de</strong> is direct<br />
- The current speed is +5<br />
Use-Case: UC_Mo<strong>de</strong>Control<br />
Scenario:<br />
- Changing the current speed to +2 in preselect mo<strong>de</strong><br />
evMo<strong>de</strong>Select()<br />
printMo<strong>de</strong>(Preselect)<br />
printPreselectSpeed(0)<br />
evIncrease()<br />
printPreselectSpeed(1)<br />
printPreselectSpeed(2)<br />
«Software_Subsystem»<br />
Software_Subsystem_4<br />
«Interface»<br />
I_Software_Subsystem_4<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
evIncrease()<br />
setCurrentSpeed(PreselectSpeed)<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 6<br />
«Software_Subsystem»<br />
Software_Subsystem_2<br />
1<br />
«Interface»<br />
I_SS_2<br />
registerSS1CalbackObject(ptrSS1CallbackObject:I_SS_1_Callback*):void<br />
op_2():void<br />
C_SS_2<br />
registerSS1CalbackObject(ptrSS1CallbackObject:I_SS_1_Callback*):void<br />
op_2():void<br />
«Interface»<br />
I_SS_1_Callback<br />
op_1():void<br />
1<br />
evDisarm<br />
evArm<br />
printPreselectSpeed(0)<br />
entering<br />
evDoor<br />
intrusion<br />
tm(ENTRY_TIME)<br />
evEnter()<br />
armed<br />
:AC_Enter :AC_Synchro<br />
n_Motor<br />
active<br />
evMovement<br />
exiting<br />
tm(EXIT_TIME)<br />
<strong>de</strong>tecting<br />
evMovement<br />
tm(ALARM_TIME)<br />
silence<br />
:AC_Characte<br />
r_Display<br />
tm(SILENCE_TIME)<br />
System- Systemarchitektur-<br />
Spezifikation<br />
System<strong>de</strong>sign-<br />
Spezifikation<br />
Weg vom Dokumenten-zentrierten Ansatz hin zum Mo<strong>de</strong>ll-zentrierten Ansatz<br />
…
Mo<strong>de</strong>llbasierte Entwicklung – Softwareentwicklung<br />
Entscheidungsfluss Nutzung Ergebnis<br />
Softwaremo<strong>de</strong>lle<br />
Sensor<br />
Input_Device<br />
«Software_Subsystem»<br />
Software_Subsystem_1<br />
«Software_Subsystem»<br />
Software_Subsystem_2<br />
C_SS_1<br />
System_Subsystem_Name<br />
Main_Functionality<br />
Physical_Interface System_Subsystem<br />
1<br />
«Interface»<br />
I_SS_2<br />
«Software_Subsystem»<br />
Software_Subsystem_2<br />
«Interface»<br />
I_Software_Subsystem_2<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
1 1<br />
registerSS1CalbackObject(ptrSS1CallbackObject:I_SS_1_Callback*):void<br />
op_2():void<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 7<br />
C_SS_2<br />
registerSS1CalbackObject(ptrSS1CallbackObject:I_SS_1_Callback*):void<br />
op_2():void<br />
«Software_Subsystem»<br />
Software_Subsystem_1<br />
Actor<br />
Output_Device<br />
«Software_Subsystem»<br />
Software_Subsystem_3<br />
«Interface»<br />
I_Software_Subsystem_3<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
«Software_Subsystem»<br />
Software_Subsystem_5<br />
«Interface»<br />
I_Software_Subsystem_5_1<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
C_SS_1_Callback<br />
op_1():void<br />
«Interface»<br />
I_SS_1_Callback<br />
op_1():void<br />
1<br />
«Interface»<br />
I_Software_Subsystem_5_2<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
/init();<br />
off<br />
ENV<br />
evTemporise<br />
:AC_Mo<strong>de</strong>Sel<br />
ect<br />
:AC_Increase<br />
Speed<br />
Pre-Condition:<br />
- Motor control system mo<strong>de</strong> is direct<br />
- The current speed is +5<br />
Use-Case: UC_Mo<strong>de</strong>Control<br />
Scenario:<br />
- Changing the current speed to +2 in preselect mo<strong>de</strong><br />
«Software_Subsystem»<br />
Software_Subsystem_4<br />
evMo<strong>de</strong>Select()<br />
printMo<strong>de</strong>(Preselect)<br />
printPreselectSpeed(0)<br />
evIncrease()<br />
printPreselectSpeed(1)<br />
evIncrease()<br />
printPreselectSpeed(2)<br />
evEnter()<br />
setCurrentSpeed(PreselectSpeed)<br />
printPreselectSpeed(0)<br />
«Interface»<br />
I_Software_Subsystem_4<br />
operation_1(argument:int):int<br />
operation_2(argument:int):int<br />
evDisarm<br />
evArm<br />
evDoor<br />
entering<br />
:AC_Enter :AC_Synchro :AC_Characte<br />
n_Motor r_Display<br />
armed<br />
active<br />
evMovement<br />
exiting<br />
tm(EXIT_TIME)<br />
<strong>de</strong>tecting<br />
evMovement<br />
tm(SILENCE_TIME)<br />
tm(ALARM_TIME)<br />
intrusion<br />
silence<br />
tm(ENTRY_TIME)<br />
Software- Softwarespezifikation<br />
Programmco<strong>de</strong><br />
Weg vom Dokumenten-zentrierten Ansatz hin zum Mo<strong>de</strong>ll-zentrierten Ansatz<br />
…
Beispiel „Lady GaGa“ – Systemmo<strong>de</strong>llierung – Anfor<strong>de</strong>rungsanalyse (1..)<br />
Systemanfor<strong>de</strong>rungsmo<strong>de</strong>ll [1] mit Use Case Diagram<br />
Benutzer<br />
„Lady GaGa“<br />
<br />
Flug<br />
abbrechen<br />
Gegenstand<br />
<strong>de</strong>korieren<br />
Enten- Entengeräusche<br />
erzeugen <br />
<br />
Flug<br />
vorbereiten<br />
<br />
Gegenstand<br />
aufprallen<br />
Medium<br />
durchfliegen<br />
<br />
Flug<br />
starten<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 8<br />
Gegenstand<br />
Flugmedium
Beispiel „Lady GaGa“ – Systemmo<strong>de</strong>llierung – Anfor<strong>de</strong>rungsanalyse (..2)<br />
Systemanfor<strong>de</strong>rungsmo<strong>de</strong>ll [2] mit Sequenzdiagramm<br />
Szenario:<br />
„Lady GaGa“ fliegt vom Benutzer getriggert durch die Luft.<br />
Anschließend prallt sie auf <strong>de</strong>n Bo<strong>de</strong>n <strong>und</strong> erzeugt nach <strong>de</strong>m Aufprall<br />
für die Dauer von 8 Sek<strong>und</strong>en das Entengeräusch.<br />
:„Lady GaGa“<br />
spannenGummiband()<br />
loslassenGummiband()<br />
fliegen()<br />
erkennenAufprall()<br />
erzeugenEntengeräusch(8sec)<br />
:Benutzer :Flugmedium<br />
:Gegenstand<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 9
Beispiel „Lady GaGa“ – Systemmo<strong>de</strong>llierung – Systemarchitektur<br />
Systemarchitekturmo<strong>de</strong>ll mit Block Definition Diagram<br />
Schwanz<br />
(Abflugspanner)<br />
Entengeräusch-<br />
Generator<br />
Flügel<br />
2<br />
Rumpf<br />
2<br />
Bein<br />
Flosse<br />
Hals<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 10<br />
Gummiband ↔<br />
↔<br />
Fingerkappe<br />
Auge<br />
2<br />
Kopf<br />
Schnabel
Beispiel „Lady GaGa“ – Systemmo<strong>de</strong>llierung – Projekti<strong>de</strong>ntifikation<br />
Auf Basis <strong>de</strong>r Systemarchitektur ergeben sich die folgen<strong>de</strong>n<br />
(Teil-) Projekte:<br />
Ente: Mechanik<br />
Entengeräusch-Generator: Mechanik<br />
Entengeräusch-Generator: Hardware<br />
Entengeräusch-Generator: Software Einsatz <strong>de</strong>r <strong>UML</strong><br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 11
TRAINING. COACHING. ENGINEERING.<br />
<strong>SysML</strong> Notation<br />
Mo<strong>de</strong>llbasierte Systementwicklung<br />
Systemanalyse <strong>und</strong> System<strong>de</strong>sign<br />
System-Entwicklungsprozess<br />
TRAINING. COACHING. ENGINEERING.<br />
<strong>UML</strong> Notation<br />
Mo<strong>de</strong>llbasierte Softwareentwicklung<br />
Softwareanalyse <strong>und</strong> Software<strong>de</strong>sign<br />
Software-Entwicklungsprozess<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 12<br />
Leistungen von MicroConsult – Themenbezogen<br />
Fragen Sie hier am Stand<br />
nach Ihrer persönlichen<br />
<strong>SysML</strong> Notationsübersicht<br />
Fragen Sie hier am Stand<br />
nach Ihrer persönlichen<br />
<strong>UML</strong> Notationsübersicht
Leistungen von MicroConsult – Im V-Mo<strong>de</strong>ll<br />
Beratung, Training, Workshops, Coaching, Projektarbeit<br />
Anfor<strong>de</strong>rungs-<br />
Anfor<strong>de</strong>rungsanalyse<br />
Analyse<br />
Design<br />
MicroConsult<br />
unterstützt<br />
Sie bei:<br />
Implementierung Unit Test<br />
Systemtest<br />
Komponententest<br />
HW-/SW-Technologien, Tools, Metho<strong>de</strong>n, Prozess, Team<br />
© MicroConsult - Microelectronics Consulting & Training GmbH 08.03.2010 F 13<br />
Abnahmetest