01.05.2013 Views

SysML (Systems Modeling Language) und UML ... - Microconsult.de

SysML (Systems Modeling Language) und UML ... - Microconsult.de

SysML (Systems Modeling Language) und UML ... - Microconsult.de

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!