UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik,...

75
UML und SysML im Umfeld von eingebetteten Systemen Eine Einführung Oliver Gesch, Betreuer: Dr.-Ing. Edzard Höfig Fachbereich Mathematik & Informatik Donnerstag, 12. Januar 2012

Transcript of UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik,...

Page 1: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

UML und SysML im Umfeld von

eingebetteten Systemen Eine Einführung

Oliver Gesch, Betreuer: Dr.-Ing. Edzard Höfig

Fachbereich Mathematik & Informatik

Donnerstag, 12. Januar 2012

Page 2: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

2

Gliederung

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

1. Motivation

2. Grundlagen

3. UML2

4. SysML

5. Zusammenfassung

Page 3: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

3

1. MOTIVATION

Page 4: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

4

Motivation (1/2)

Allgemein

•Vereinfachung von Teamarbeit

•Systematische Vorgehensweise

•Filtern von Sachverhalten

•Zeitersparnis (UML2Code, Code2UML)

•Wiederverwertbarkeit

Eingebettete Systeme

•Erhöhte Komplexität

•Einhaltung von Normen

•Schnittstelle für Hard- und Softwareentwickler

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 5: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

5

Motivation (2/2)

Ausführbare Spezifikationen/Modelle

Best-Practice-Verfahren für EB

SysML

Verhältnis zur UML Sichtweisen

UML 2

Aufbau Sichtweisen Lücken

Andreas Korff: „Modellierung von eingebetteten Systemen mit UML und SysML“, Spektrum 2008.

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 6: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

6

2. GRUNDLAGEN

Page 7: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

7

Grundlagen (1/7)

Ressourcenbeschränkung

Platzbeschränkung

Batteriebetrieb

• Geringe Energiereserven

• Geringe Leistung

kabelloser Kommunikation

• Geringe Datenraten

• Geringe Sendeleistung (Reichweite)

Anwendungsbereiche

• Medizin

• Haushalt

• Verkehrsmittel

• Mobiltelefone

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Eingebettete Systeme

Arduino

Page 8: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

8

Grundlagen (2/7)

Beispielsystem MSB-A2 (Modular Sensor Board ARM)

Kategorie: Wireless Sensor Node (WSN)

Domäne: Medizin, Militär, Haushalt, Umweltschutz…

Beispielanwendung: Altersheim (betreutes Wohnen)

Einsatz als ständiger Begleiter der Bewohner.

Kontinuierliche Übertragung von Messdaten an eine

zentrale Sammelstelle. Vorort Diagnose durch LCD-

Display.

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 9: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

9

Grundlagen (3/7)

Eigenschaften des MSB-A2

• Prozessor: LPC2387 von TI

• ARM CPU

• 512kB Flash Memory

• 96kB RAM

• Max. 76 MHz Taktrate

• Funkchip: CC1100

• max. 500 kBaud

• Sensor: SHT11

• Temperatur- und Feuchtigkeitssensor

• LCD-Display: LCD128B

• µkleos Mikro-Kernel (RTOS mit Threads)

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 10: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

10

Grundlagen (4/7)

Programmierung

• C immer noch sehr dominant

• Codegenerierung/Reverse Engineering für UML

• modellbasierten System-Codegenerierung (MATLAB/Simulink)

Beschreiben (Bootloader)

• Einmalig (oder von Werk aus) Bootloader brennen

• Flash über PC-Schnittstelle (RS232/USB)

Debugging

• JTAG-Schnittstelle und onboard ICE (In-Cirtcuit-Emulator)

• Softwarenachbildung des Mikrocontrollers

• Ausführbare Modelle (Modelchecking)

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 11: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

11

Grundlagen (5/7) – The Real-Time Perspective

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Systems Engineering

Software Engineering Architekturdesign Feindesign

Software Engineering

Systemanforderungen

definieren

Softwareanforderungen

definieren

Initiale

Objektarchitektur

entwickeln

Initiale

Softwarearchitektur

entwickeln

Softwarearchitektur

finalisieren

Anwendungsfälle im

Detail definieren

Anwendungsfälle

implementieren und

testen

Systemintegrationstest

Systemakzeptanztest

Vollständig und korrekt?

nein

ja

Page 12: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

12

Grundlagen (6/7) – The Real-Time Perspective

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Systems Engineering

Software Engineering Architekturdesign Feindesign

Software Engineering

Systemanforderungen

definieren

Softwareanforderungen

definieren

Initiale

Objektarchitektur

entwickeln

Initiale

Softwarearchitektur

entwickeln

Softwarearchitektur

finalisieren

Anwendungsfälle im

Detail definieren

Anwendungsfälle

implementieren und

testen

Systemintegrationstest

Systemakzeptanztest

Vollständig und korrekt?

nein

ja

Page 13: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

13

Grundlagen (7/7) – The Real-Time Perspective

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Systemtest

•Testergebnisse (Integration, System)

•Änderungsvorschläge

•Benutzerdokumentation

Implementierung und Unit-Test

•Source Code

•Komponenten laut Spezifikation

•Technische Dokumentation

•Unit-Testfälle

•(Zielhardware)

Design

•Systemarchitektur (speziell)

•Domänen

•Schnittstellenspezifikation

•Paket und Komponentenspezifikationen

•Datenmodell

Analyse

•Anwendungsfälle

•Anforderungen und Zusicherungen (System und Software)

•Szenarien

•Physikalische Systemdefiniton (allgemein)

•Entwicklungszeitplan

Page 14: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

14

3. UML – ANFORDERUNGSDEFINITION

Page 15: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

15

UML – Anwendungsfalldiagramme

Temperatur

messen

«primär»

Zeit

Sensorwerte alle 5

Minuten messen

Digitales

Interface

intialisieren

«include»

use case Sensorwerte messen

System

«sekundär»

Temperatursensor

«primär»

Temperatur

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 16: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

16

UML – Anwendungsfalldiagramme

Temperatur

messen

Sensorwerte alle 5

Minuten messen

Digitales Interface intialisieren

«include»

use case Sensorwerte messen

System

Zeit Temperatur-sensor

Temperatur

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Grafische Stereotypisierung

Page 17: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

17

UML – Anwendungsfalldiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Leistung des Systems definieren (Nutzerperspektive)

• Kommunikation mit fachfremden Personen

• Verknüpfung der schriftlichen Spezifikation mit dem Modell

Ungeeignet für

• Umsetzung des Systems

• Darstellung von System-Anforderungen

• Methoden/Attribute

Analyse

Page 18: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

18

UML – Zustandsdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Pseudozustand: (tiefe) Historie

aktiv

Sensorwerte

state Zustandsdiagramm für das Display mit tiefer Historie

Feuchtigkeit

Temperatur

EvNext/EvNext/aus

Menü

EvOn/

EvOff/

EvSensoren/

EvMenu/

«create»/

H*

Page 19: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

19

UML – Zustandsdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Sortieren der Anwendungsfälle

• Ordnung der Interaktionen

• Darstellung von Aktionen Reaktionen

• Systemverhalten modellieren

Ungeeignet für

• Betrachtung der Benutzerschnittstelle

• Darstellung von Systemgrenzen

• Primitive Objekte

Analyse

Design

Page 20: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

20

3. UML – SYSTEMMODELLIERUNG

Page 21: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

21

UML – Paketdiagramm

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

package Domänenmodell des Sensorknotens

Senke

(Sammelstelle)

Sensorknoten

Benutzerschnittstelle

Schaltflächen

Display

Hardware-

Abstraktion

Threads

Sensoren

AblaufsteuerungFunkübertragung

Page 22: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

22

UML – Paketdiagramm

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Identifikation von Domänen

• Schaffung von Namensräumen

• Softwareschichten

• Aufgabenverteilung

Ungeeignet für

• Kompakte Systeme

Design

Page 23: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

23

UML – Aktivitätsdiagramme

activity Demodulierung und Dekodierung

Demodulator«stream»

CarrierWave

Demodulierung und Dekodierung

«stream»

analogDaten FEC Decoder

PHY Packet

«stream»

demodDaten

packetData

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Streaming Pins

Page 24: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

24

UML – Aktivitätsdiagramme

activity Mengenverarbeitung

PHY Pakete empfangen

IP Handling

PHY_Packet

TCP Reassembly

parallel

IP_Pakete

IP_Paket

TCP Packet

TCP Reassembling

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Mengenverarbeitung

• iterativ

• streaming

• parallel

Page 25: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

25

UML – Aktivitätsdiagramme

activity Timer

Waiting for TCP ACK

Retransmitting Data

[No ACK]

[ACK]

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Zeitsignale und unterbrechebare Bereiche

Page 26: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

26

UML – Aktivitätsdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Kontrollfluss und/oder

• Objektfluss visualisieren

• Übersichtliche Darstellung auch von komplexen Anwendungsfällen

Ungeeignet für

• Visualisierung von Besitzverhältnissen

• Darstellung der Auslöser/Ereignisse

Design

Page 27: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

27

3. UML 2 ANSI-C

Page 28: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

28

UML – ANSI C

activity FOR CONTINUE

Aktion 1

[Bedingung 1]

C Code:

for (Initialisierung; Bedingung 1; Inkrement)

{

Aktion 1;

if (Bedingung 2)

continue;

Aktion 2;

}

[else]

[else]

Aktion 2Inkrement

[Bedingung 2]

Initialisierung

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 29: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

29

UML – ANSI C

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

class Attribute

AnzahlSockets: intStatus : boolean

SocketAPI

read(in arguments) : chargetID() : int

socketID : int

Socket

pSocket

/* File: .\SocketAPI.h*/

#ifndef __SOCKETAPI#define __SOCKETAPI

#include "Socket.h"

struct SocketAPI{int AnzahlSockets;int Status;struct Socket *pSocket;};

#endif

1

1

Include

Struct

Pointer

Page 30: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

30

UML – ANSI C

class A und B

+ Operation(in parameter : long) : short

- InstanzAttribut : Attributtyp+ KlassenAttribut : Attributtyp

KlasseA

- AttrInB : long

KlasseB

RolleAufB

/* File: .\KlasseA.h*/

#ifndef __KLASSEA#define __KLASSEA

#include "KlasseB.h"

struct KlasseA{Attributtyp InstanzAttribut;struct KlasseB rRolleAufB[5];};

extern Attributtyp KlassenAttribut;short Operation(struct KlasseA *this, long parameter);

#endif

1

5

/* File: .\KlasseA.c*/

#include "KlasseA.h"

Attributtyp KlassenAttribut;

short Operation(struct KlasseA *this, long parameter){Return 1;}

#endif

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Dezidiertes struct als Übergabeelement

Page 31: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

31

3. UML TASK MANAGEMENT UND SYNCHRONISIERUNG

Page 32: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

32

UML – Taskmanagement und Synchronisierung

object RTOS Tasks

Task A Task B Task C

Speicher Prozessor Peripherie

RTOS

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 33: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

33

UML – Taskmanagement und Synchronisierung

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

no type Intertaskkommunikation stereotypisiert

asynchron synchron

ohne Daten

mit Daten

Event Flag

Message Queue

Signal

Mailbox

Page 34: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

34

UML – Taskmanagement und Synchronisierung

Communication Semaphor

SocketAPI Application

write() recv()

TCP-Payload

Signal() Wait()

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Semaphorfunktionen: wait()/signal()

Page 35: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

35

UML – Kommunikationsdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Kommunikation und Interaktionen darstellen

• Zeitlicher Ablauf

• Nachrichten visualisieren

Ungeeignet für

• Zeitlich und logisch sehr komplexer Austausch von Nachrichten

Analyse

Design

Page 36: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

36

4. SYSML

Page 37: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

37

SysML – Motivation (1/3)

Systemanforderungen modellieren und analysieren

•Keine Softwarezentrierung

•Geringerer Umfang als UML

Nicht funktionale Anforderungen festhalten

Schnittstelle

•Hardwarentwickler

•Elektrotechniker

•weitere Stakeholder

SysMLErweiterungen

SysML

UML2

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

pkg Einbettung der SysML und von SysML-Modellen in UML2

«metamodel»MOF

«metamodel»UML

«metamodel»SysML

«model»Nutzermodell

«modelLibrary»SysML Profile

«instanceOf»

«import»

«instanceOf»

«reuse»

«instanceOf»

Page 38: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

38

SysML – Motivation (2/3)

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 39: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

39

SysML – Motivation (3/3)

activity Timer

Waiting for TCP ACK

Retransmitting Data

[No ACK]

[ACK]

Intervall: 2*RTT

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Nicht-funktionale Anforderungen

Page 40: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

40

4. SYSML - SYSTEMANFORDERUNGEN

Page 41: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

41

SysML – Systemanforderungen

class TCP Anforderung

txt

Ein ACK für empfangene Daten muss

innerhalb von 500 ms versendet werden.

id#

S-13.2

«requirement»

ACK versenden

tcp_csum() : bool

sendeACK()

piggybackData()

TCPHandler

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Anforderungen

• Name

• ID

• Text

Page 42: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

42

SysML – Systemanforderungen

req Zurückverfolgbare TCP Anforderung

txt

Ein ACK für empfangene Daten muss

innerhalb von 500 ms versendet werden.

id#

S-13.2

«requirement»

ACK versenden

«requirement»

RFC2581

«trace»

TracedTo

«requirement» RFC2581

äquivalente

Semantik

txt

Ein ACK für empfangene Daten muss

innerhalb von 500 ms versendet werden.

id#

S-13.2

«requirement»

ACK versenden

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Nachverfolgbarkeit per «trace»

Page 43: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

43

SysML – Systemanforderungen

req TCP Verbindungseigenschaften

«requirement»

Verlässliche und integere TCP Verbindung

«requirement»

TCP Active ACK

«requirement»

Checksum

«requirement»

TCP Retransmit

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Bestandteile von Anforderungen

Page 44: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

44

SysML – Systemanforderungen

req UDP Integrität

«requirement»

UDP Integrität

«requirement»

UDP Checksum

«requirement»

Checksum

«copy»

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Wiederverwertbarkeit von Anforderungen

Page 45: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

45

SysML – Systemanforderungen

Temperatur

messen

Sensorwerte alle 5

Minuten messen

Digitales Interface intialisieren

«include»

use case Sensorwerte messen

System

Zeit Temperatur-sensor

Temperatur

Refines

«requirement» Umgebungsprofil aktualisieren

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Verfeinern von Anforderungen (in unterschiedlichen Diagrammen)

Page 46: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

46

SysML – Systemanforderungen

activity Timer

Waiting for TCP ACK

Retransmitting Data

[No ACK]

[ACK]

Handle Retransmit

Satisfies

«requirement» TCP Retransmit

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Nicht-funktionale Anforderungen erfüllen

Page 47: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

47

SysML – Anforderungsdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Anforderungen modellieren

• Nichtfunktional

• Funktional

• Nachverfolgbarkeit gewährleisten

Ungeeignet für

• Generische Anforderungen

• Spezifische Umsetzung

• Sehr detailreiche Anforderungen

Analyse

Page 48: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

48

4. SYSML: SYSTEMEIGENSCHAFTEN UND –AUFBAU MODELLIEREN

Page 49: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

49

SysML – Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

bdd Transceiver

flowPorts

Daten : FunkDaten

values

Flashspeicher : KByte = 512

RAM : KByte = 98

maxProzessorTakt : MHz = 72

«block»

LPC2387

Blöcke

•Name

•Werte

•Operationen

•Teile (parts)

•Ports (standard/flow)

•Referenzen

Page 50: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

50

SysML – Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

bdd CPU Flussspez.

flowPorts

Daten : FunkDaten

values

Flashspeicher : KByte = 512

RAM : KByte = 98

maxProzessorTakt : MHz = 72

«block»

LPC2387

flowProperties

in empfangeneDaten : char

out gesendeteDaten : char

«FlowSpecification»

FunkDaten

Flussspezifikationen

• Name

• Flusseigenschaften

Page 51: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

51

SysML – Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

bdd WSN

«block»

CC1100«block»

WSN1

TR

«block»

LPC2387

«block»

SHT11

1

CPU

1

«block»

LCD128B1

LCD

«block»

Antenne

A

1

1

S

Page 52: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

52

SysML – Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

bdd WSN

flowPorts

in out analogDaten : V

values

Sendeleistung : dBm = +10

Frequenzband : MHz = 868

maxDatenrate : kBaud = 500

«block»

CC1100

Parts

TR : CC1100

CPU : LPC2387

S : SHT11

LCD : LCD128B

A : Antenne

operations

start()

stop()

übertrageFunkDaten() : char

übertrageUSBDaten() : char

flowPorts

in externeEnergie : Elektrische Energie

in out USBDaten : char

in out NutzDaten : char

in Temperatur : int

in Feuchtigkeit : int

«block»

WSN

TR

flowPorts

Daten : FunkDaten

values

Flashspeicher : KByte = 512

RAM : KByte = 98

maxProzessorTakt : MHz = 72

«block»

LPC2387

values

Energieverbrauch : uW = 80

Ansprechzeit : s = 8

maxTemperatur : °C = 125

minTemperatur : °C = -40

«block»

SHT11

S

CPU

1

1

1

1

Operations

writeByte(in wert : Byte) : bool

reset() : bool

values

AnzahlPixel =128*64

Versorgung : mA = 205

«block»

LCD128B

1

LCD

«block»

Antenne

A

1

Page 53: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

53

SysML – Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Visualisierung des physischen Systemaufbaus

• Systemeigenschaften festhalten

• Eigenschaften von Element- und Objektflüssen spezifizieren

Ungeeignet für

• Physische Schnittstellen

• Darstellung von Softwarebestandteilen

Analyse

Design

Page 54: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

54

SysML – Internes Blockdiagramm

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

ibd WSN

«block»

WSN

TR : CC1100

A : Antenne CPU : LPC2387carrierWave

analogDaten

externeEnergie

IF_Services

Daten

USBDaten

Steuerdaten

1 1

1

Page 55: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

55

UML – Interne Blockdiagramme

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Sinnvolle Verwendung

• Visualisierung von physischen und softwarespezifischen Schnittstellen

• Darstellung von Objekt- und Elementflüssen

Ungeeignet für

• Zeit- und Ablaufverhalten

• Nachrichten und Signale

Design

Page 56: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

56

5. ZUSAMMENFASSUNG

Page 57: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

57

Zusammenfassung

UML

• Anwendungsfalldiagramme

• Grafische Stereotypisierung

• Zustandsdiagramme

• Mit flacher Historie

• Mit tiefer Historie

• Paketdiagramme

• Domänen

• Namensräumen

• Aktivitätsdiagramme

• Pins (regulär, Streaming, Mengenverarbeitung)

• Unterbrechungen

• Zeitlimit sowie periodische Timer

• Kommunikationsdiagramme

• Taskmanagement

• Synchronisierung: Semaphore

SysML

• Anforderungsdiagramm

• Trace, Copy, Refine, Satisfy

• Hierarchie

• Blockdefinitionsdiagramm

• Parts

• Internes Blockdiagramm

• Ports (regulär, atomar, flow Ports)

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 58: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

58

VIELEN DANK

Page 59: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

59

QUELLEN

Page 60: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

60

Quellen

• Andreas Korff: „Modellierung von eingebetteten Systemen mit UML

und SysML“, Spektrum 2008.

• WILLER: „Der wahre Nutzen der UML“, 2007.

• ScatterWeb: „MSBA2 Hardwaredokumentation“, CST 2011.

• Matthew Hause: „Successfully Managing An Incremental Real-time

Project“, ARTiSAN Software Tools 1999.

• Alan Moore & Niali Cooling: „Real-Time Perspective: Overview“,

ARTiSAN Software Tools 2000.

• Alan Moore & Niali Cooling: „Real-Time Perspective: Foundation“,

ARTiSAN Software Tools 2000.

• Tim Weilkiens: „OMG SysML für eingebettete Systeme“, OOSE 2008.

• Jerome L. Krasner: „UML for C Developers“, Embedded Market

Forecasters 2005.

Page 61: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

61

UML – Zustandsdiagramme

Sensorwerte

state Zustandsdiagramm für das Display

Feuchtigkeit

Temperatur

EvNext/EvNext/

aus

Menü

EvOn/EvOff/

EvSensoren/

EvMenu/

EvOff/«create»/

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 62: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

62

UML – Zustandsdiagramme

Sensorwerte

state Zustandsdiagramm für das Display mit flacher Historie

Feuchtigkeit

Temperatur

EvNext/EvNext/

Haus

Menü

EvOn/EvOff/

EvSensoren/

EvMenu/

EvOff/«create»/

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 63: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

63

UML – Aktivitätsdiagramme

activity Zeige Sensorwerte

Umwandeln der Rohdaten, bestimmen

der Zeichenkettenlänge und blockweise übertragen[raw]

Sensorwert

Display

Sensorwert Anzeigen

Länge Blöcke

{weight = Länge}

{upperbound = 256}

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 64: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

64

UML – Aktivitätsdiagramme

activity Sprungmarken

Aktion X

Aktion X

Aktion X

Aktion X

1

1

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 65: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

65

UML – Aktivitätsdiagramme

activity Zeitsignale

TCP Reassembling

Socket API Handling

TCP_Packet

TCP_Payload

Application Layer Handling

Close

Shutdown

Close TCP Connection

Shutdown TCP Connection

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 66: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

66

UML – Aktivitätsdiagramme

activity periodischer Timer

Prepare TCP Keepalive

Send TCP Keepalive

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 67: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

67

UML – ANSI C

activity IF-THEN-ELSE

Aktion 1

Aktion 2[else]

[Bedingung]

C Code:

if (Bedingung)

{

Aktion 1;

}

else

{

Aktion 2;

}

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 68: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

68

activity SWITCH

Aktion 1

Aktion 2[1]

[0]

C Code:

switch (Variable)

{

Case (0):

{

Aktion 1;

break;

}

Case (1):

{

Aktion 2;

break;

}

default:

{

Aktion 3;

}

}Aktion 3

[else]

«decisionInput» Variable

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

UML – ANSI C

Page 69: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

69

activity WHILE

Aktion

[Bedingung]C Code:

while (Bedingung)

{

Aktion;

}

[else]

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

UML – ANSI C

Page 70: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

70

UML – ANSI C

class globales Modul

WSensorNode

+ thread_create(in arguments) : int+ thread_sleep() : void+ thread_wakeup(in arguments) : int

Thread

«use»

/* File: .\WSensorNode.c*/

#include "WSensorNode.h"

#include "Thread.h"

/* File: .\Thread.h*/

#ifndef __THREAD#define __THREAD

int thread_create(arguments);void thread_sleep(void);int thread_wakeup(in arguments);

#endif

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 71: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

71

UML – Taskmanagement und Synchronisierung

Communication Event flag

MainController DisplayTask

Display-Beleuchtung

set()read()

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 72: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

72

UML – Taskmanagement und Synchronisierung

Communication Message Queue

SocketAPI Application

write() recv()

TCP-Payload

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 73: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

73

UML – Taskmanagement und Synchronisierung

Communication Signal

IP Transceiver

wait() setSignal()

PHY-Payload

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 74: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

74

UML – Taskmanagement und Synchronisierung

Communication Mailbox

IP Transceiver

post() pend()

PHY-Payload

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch

Page 75: UML und SysML im Umfeld von eingebetteten Systemen€¦ · 2 Gliederung Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch 1. Motivation 2. Grundlagen 3. UML2 4. SysML

75

SysML – Systemanforderungen

req Abgeleitete TCP Anforderung

txt

Ein ACK für empfangene Daten muss

innerhalb von 500 ms versendet werden.

id#

S-13.2

«requirement»

ACK versenden

txt

Empfangene TCP Pakete müssen aktiv

bestätigt werden.

id#

S-13.0

«requirement»

TCP Active ACK

«derive»

Mathematik und Informatik, UML+SysML, 12.01.2012 Oliver Gesch