32
Intoduction to SysML a modeling language for Systems Engineering SummIT 2013, Axelborg 22. maj 2013 Ingeniørdocent Finn Overgaard Hansen, [email protected] Department of Engineering Aarhus University Ver. 22.5.2013

Introduction to SysML af Finn Overgaard Hansen, AU

Embed Size (px)

DESCRIPTION

Præsentationen blev holdt ved InfinIT-konferencen SummIT 2013, der blev afholdt den 22. maj 2013 på Axelborg i København. Læs mere om konferencen her: http://www.infinit.dk/dk/arrangementer/tidligere_arrangementer/summit_2013.htm

Citation preview

Page 1: Introduction to SysML af Finn Overgaard Hansen, AU

Intoduction to SysML – a modeling language for Systems Engineering

SummIT 2013, Axelborg 22. maj 2013

Ingeniørdocent Finn Overgaard Hansen, [email protected]

Department of EngineeringAarhus University

Ver. 22.5.2013

Page 2: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 2

Agenda� Systems Engineering and SysML� What is SysML?� New SysML concepts and diagrams

1. SysML Requirements2. SysML Structure3. SysML Behaviour4. SysML Parametric

� Perspectives for SysML & Summary

Page 3: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 3

Model Based Systems Engineering (MBSE)

• From a document-based to a model-based approach

• A model-based approach requires modeling concepts and tools

• MBSE: producing and controlling a coherent System Model

• SysML is created to realize an MBSE approach based on a System model of the wanted system

• SysML is a modeling language not a System Engineering (SE) process

Page 4: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 4

What is SysML?• A graphical modeling language created in

response to the UML for Systems Engineering RFP developed by OMG and INCOSE.– a UML Profile that represents a subset of UML 2 with

important extensions

• Supports the specification, analysis, design, verification and validation of systems that include hardware, software, data, personnel, procedures, and facilities

• Supports model and data interchange via XMI

SysML is a Critical Enabler for Model Driven or Model Based Systems Engineering

Page 5: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 5

SysML Specification - History and Status

• Nov. 1997: UML V1.1 launched by OMG• March 2003: The UML for Systems Engineering RFP

(Request for Proposal) was developed jointly by OMG and INCOSE

– The SysML specification was developed in response to these requirements by the diverse group of tool vendors, end users, academia, and government representatives

• July 2005: UML V2.0• Sept. 2007: OMG SysML v.1.0• Nov. 2008: OMG SysML v1.1 (256 pages)

• June 2012: OMG SysML v.1.3 (doc.id: 2012-06-01, 250 pages)

Page 6: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 6

System Model and HW/SW Components

SysML

UML

Page 7: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 7

Comparison of SysMLand UML

Page 8: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 8

SysML Diagram TaxonomySysML

Diagram

Behavior Diagram

Requirement Diagram

Structure Diagram

Block DefinitionDiagram

Internal Block

Diagram

PackageDiagram

Parametric Diagram

Use Case Diagram

State MachineDiagram

SequenceDiagram

ActivityDiagram

Same as UML 2.x

Modified from UML 2.x

New Diagram Type

Page 9: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 9

The 4 Pillars of SysML

1:

2: 3:

4:

Page 10: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 10

1. SysML Requirements

• Requirement Diagram – a NEW diagram type• Graphical visualization of requirements

– Functional– Non-functional

• Requirements can graphical be related to:– Other requirements– Design elements– Test Cases

• Standard stereotypes: – derive, satisfy, verify, refine, trace and copy– Used for requirement traceability

Page 11: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 11

Requirements Diagram (req) - Example

Page 12: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 12

Requirements Traceability - Example

Page 13: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 13

2. SysML Structure• UMLs class concept is replaced with the Block

concept• A Block connects to other blocks via Ports• Class diagrams are replaced with Block

Definition Diagrams (bdd )• Each Block has an Internal Block Diagram

(ibd ) where the internal parts are connected via ports– a replacement for class composite diagrams

• Ports can connect discrete as well as continuous flows of material or information

Page 14: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 14

Blocks are Basic Structural Elements

Page 15: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 15

Block Definition Diagram (bdd) - Example

Page 16: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 16

Internal Block Diagram (ibd) for an Automobile Domain

Port

Page 17: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 17

Block Definition Diagram (bdd) - Example

Page 18: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 18

Internal Block Diagram (ibd) - Example

Part

Running the Vehicle Software

Page 19: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 19

Proxy Ports

<>

Ibd [Block] Camera [Nested flow]

:Electronic Assembly

:MPEG Converter

:Image Processor

:Video

:MPEG4

:Image

camera i/o: CameraInterface

:Light:Camera Module

:Optical Assembly

:Imaging Assembly

:Light

:Light

:Image

Proxy port«flow specification»

Camera InterfaceflowProperties

out digital video: MPEG4out analog video: Compositein control: Control Datain startup sig: Start Up

Page 20: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 20

Standard service based Ports (Full port)

Monitoring Station

CameraControl camera requests

getCameraStatus(in cameraId: Integer, in cameraStatus: String)testCameras()panCamera(in strength: Integer)tiltCamera(in strength: Integer)

operations

Camera Control«interface»

Providedinterface

Required interface

Page 21: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 21

3. SysML - Behavior

• Activity diagrams are enhanced with new concepts

• Flows can be continuous and model information as well as material flow

• Control flows are introduced• SysML activities are based on token-flow

semantics related to Petri-Nets• Tokens corresponds to values of inputs, outputs

and control• Activities can have pins (acting as a buffer)

Page 22: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 22

Activity Diagram (act) Notation

Flows can be discrete, streaming or control

Page 23: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 23

Activity Diagram (act) - Example

swimlanes

Page 24: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 24

Activity Diagram - decomposed

:CollectImages

:CaptureVideo :GenerateVideoOutputs

«optional»

current image{stream}

captured image{stream}

«optional»

MPEG output{stream}

«optional»

Composite out{stream}

act Operate Camera [Object Flow]

Object flow

video out{stream}

input signal{stream}

Have subdiagrams

Activity parameter node

Page 25: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 25

4. SysML Parametric• Parametric Diagram (par) – a NEW diagram type• Used to express constraints (equations) between value

properties– Provides support for engineering analysis (e.g., performance,

reliability)

• Constraint block captures equations shown on a bdd– Expression language can be formal (e.g., MathML, OCL) or informal– A computational engine is defined by applicable analysis tool and not

by SysML

• Parametric diagrams represents the usage of the constraints in an analysis context

– Binding of constraint usage to value properties of blocks (e.g., vehicle mass bound to F= m × a)

• Parametric enable integration of engineering analysis with design models

Page 26: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 26

BDD Parametric Constraint Blocks

Stereotype

Page 27: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 27

Parametric Diagram (par) - Example for a block

Value bindings

Page 28: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 28

Cross Connecting Model Elements

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForceTractionLoss:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

c

a:a:

v:

v:

x:

ibd [block] Anti-LockController [Internal Block Diagram]

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

Structure Behavior

Requirements Parametrics

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

ibd [block] Anti-LockController [Internal Block Diagram]

allocatedFrom«activity»DetectLosOf Traction

d1:TractionDetector

valuesDutyCycle: Percentage

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

satisfies«requirement»Anti-LockPerformance

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]

:AccellerationEquation[F = ma]

:VelocityEquation[a = dv/dt]

:DistanceEquation[v = dx/dt]

:BrakingForceEquation

[f = (tf*bf)*(1-tl)]

tf: bf:tl:

f:

F:

m:

a:a:

v:

v:

x:

v.Position:

v.Weight:v.chassis.tire.Friction:

v.brake.abs.m1.DutyCycle:

v.brake.rotor.BrakingForce:

req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]

Braking Subsystem Specification

Vehicle System Specification

VerifiedBy«interaction»MinimumStoppingDistance

id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”

«requirement»StoppingDistance

SatisfiedBy«block»Anti-LockController

id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”

«requirement»Anti-LockPerformance

«deriveReqt»

satisfy

Page 29: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 29

Project activities using SysML

• Capture and analyze black box system requirements– System Context & System Use Cases, Requirement Diagrams

• Develop one ore more candidate system architectures– Block Definition & Internal Block Diagrams

• Perform engineering trade-off analysis to evaluate and select the optimal architecture– Parametric Diagrams

• Specify component requirements and their traceability to system requirements– Requirement diagrams

• Verify the system design by executing system-level test cases

Page 30: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 30

Perspectives for SysML

• Enable a common modeling language and model across engineering disciplines

• Enable traceability between disciplines• Enable different kinds of system analysis• Enable integration of discrete and continuous

based modeling tools• Critical enabler for Model Based System

Engineering with tool support

Page 31: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 31

Summary

• SysML a common modeling language for different disciplines e.g. Hardware, Software and Mechanics

• New and important concepts for cross disciplinary analysis of system properties (e.g. parametric)

• Blocks and ports as general modeling elements• Important enhancement to activity diagrams• Lot of support for traceability between models and model

elements • Must be supported by an appropriate Systems

Engineering (SE) process

Page 32: Introduction to SysML af Finn Overgaard Hansen, AU

Slide 32

References• OMGs SysML homepage: www.omgsysml.org• INCOSE organization: www.incose.org• Books:

– ”A Practical Guide to SysML – The System Modeling Language”, Sanford Friedenthal, Allan Moore, Rick Steiner, Elsevier, 2008.

– ”Systems Engineering with SysML/UML – Modeling, Analysis, Design”, Tim Weilkiens, Elsevier, 2007.