39
TISYSE An Introduction to SysML 1 An Introduction to SysML Finn Overgaard Hansen and Peter Gorm Larsen

TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

Embed Size (px)

Citation preview

Page 1: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 1

An Introduction to SysML

Finn Overgaard Hansen and

Peter Gorm Larsen

Page 2: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 2

Agenda

What is SysML?• Relationship between UML and SysML• Examples of Extensions• Industrial Control• Concluding Remarks

Page 3: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 3

What is SysML?

• A graphical modeling language in response to the UML for Systems Engineering RFP developed by the OMG, INCOSE, and AP233• a UML Profile that represents a subset of UML 2 with 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 and the evolving AP233 standard (in-process)

SysML is a Critical Enabler for Model Driven SE SysML is a Critical Enabler for Model Driven SE

Page 4: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 4

SysML Background

• UML for System Engineering RFP issued – 28 March 2003

• SysML Partners Kickoff meeting – 6 May 2003• Chaired by S. Friedenthal and C. Kobryn

• v0.9 Submission to OMG – 10 Jan 2005• Addendum stereotypes chapter – 30 May 2005

• SST and SP split – 30 August 2005

• SST/SP revised submissions to OMG – 14 November 2005

• INCOSE and OMG Evaluations – December 2005 thru January 2006

• SysML Merge Team (SMT) submission v0.99 (ad/2006-02-01) – 13 February 2006

• SMT formally announced - 15 February 2006

• OMG Systems Modeling Language (OMG SysML) Specification - Final Adopted Specification ptc/06-05-04 – 6 July 2006 – Final public version planned in April 2007.

Page 5: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 5

SysML Partners

• Industry• American Systems, EADS Astrium, BAE SYSTEMS,

Boeing, Deere & Company, Eurostep, Israel Aircraft Industries, Lockheed Martin, Motorola, Northrop Grumman, oose.de, Raytheon, THALES

• Government• DoD/OSD, NASA/JPL, NIST

• Vendors• Artisan, Ceira, Gentleware, IBM/Rational, I-Logix,

PivotPoint Technology, Popkin, Project Technology, 3SL, Telelogic, Vitech

• Liaisons• AP-233, CCSDS, EAST, INCOSE, Rosetta

Page 6: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 6

DoDAFDoDArchitecturalFrameworkacross multiplelevels(Zachman And MoDAF are similar)

UPDMUnified

Modeling Language

(UML) Profile

forDoDAF

and ModAF

SOAArchitecture

basedon

services

SysML UML Extension

for SystemsEngineering

FEA-DEA-BEAFederal and Defense

Enterprise Architectures

SCA Component Interface

Description

SCBAFEA extension to

Services and Components

SDFService Interface

Descriptions

Layers

EnterpriseArchitects

SoftwareArchitects

ProgramArchitects

System Architects

And Engineers

MDAUML Models For software Architecture,

Components and interfaces

Developers Testbeds such as Federated Development and Certification Environment (FDCE)including Live Systems, Modules, Components ,Services and Simulations

SysML ContextServices - EnterpriseSystems - Operations

Page 7: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 7

SysML Specification Outline

• Preface• Part I - Introduction• Part II – Structural Constructs

• Model Elements

• Blocks

• Ports and Flows

• Constraint Blocks• Part III – Behavioral Constructs

• Activities

• Interactions

• State Machines

• Use Cases

• Part IV – Crosscutting Constructs

• Allocations

• Requirements

• Profiles & Model Libraries• Part V Appendices

• Diagrams

• Sample Problem

• Non-Normative Extensions

• Model Interchange *

• Requirements Traceability

• Terms and Definitions *

• BNF Diagram Syntax Definitions

Page 8: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 8

Harmony – a System Engineering Development Process

Page 9: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 9

Agenda

What is SysML? Relationship between UML and SysML• Examples of Extensions• Industrial Control• Concluding Remarks

Page 10: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 10

Relationship Between SysML and UML

UML 2

UML 2Reuse(1, 2)

UMLreused by

SysML

UMLnot required

by SysML(UML -

UML4SysML)

SysMLextensions to

UML

SysMLUML4SysML

SysML Profile

Page 11: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 11

SysML Diagram Taxonomy

Page 12: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 12

Major Extensions to UML 2

• New Diagram Types• Requirement Diagram (visual modeling of requirements)• Parametric Diagram (showing relations between parameters)

• Structure Diagram• Block Definition Diagram (based on UML class diagram with

blocks instead of classes)• Internal Block Diagram (based on UML composite structure

diagram with restrictions and extensions)

• Activity Diagram• extensions for continuous flow modeling• extensions to support disabling control and control operators.• accommodate needs of Extended Functional Flow Block

Diagrams (EFFBDs)

Page 13: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 13

Agenda

What is SysML? Relationship between UML and SysML Examples of Extensions• Industrial Control• Concluding Remarks

Page 14: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 14

SysML Diagram Frames

Page 15: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 15

Blocks are Basic Structural Elements

Page 16: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 16

Block Definition Diagram

Page 17: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 17

Internal Block Diagram

Page 18: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 18

Internal Block Diagram Example

Control signals

Page 19: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 19

Requirements Diagram (NEW)

Page 20: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 20

Parametric Diagram (NEW)

• Used to express constraints (equations) between value properties• Provides support for engineering analysis (e.g., performance,

reliability)• Constraint block captures equations

• Expression language can be formal (e.g., MathML, OCL) or informal

• Computational engine is defined by applicable analysis tool and not by SysML

• Parametric diagram 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)• Parametrics Enable Integration of Engineering Analysis with

Design Models

Page 21: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 21

Example: Defining Vehicle Dynamics

Page 22: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 22

Example: Vehicle DynamicsAnalysis – Parametric Diagram

Page 23: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 23

Parametric Example - Usage

Weapon Real Force

MetalObject Real Acceleration Real Volume Real Density

cd Weapon

Real Force

MetalObject Real Acceleration Real Volume Real Density

cd

Firing Range

Cannon: Weapon

Shot: MetalObject

scd

« parametricRelation » m=d*v

«property» Cannon.Force:Real

«property» Shot.Acceleration:Real

«property» Shot.Density:Real «property»

Shot.Volume:Real

« parametricRelation » f=m*a f a

m

v m

d

pd Firing Range

Parametric Diagram

Page 24: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 24

Activity Diagram Notation

Flows can be discrete, streaming or control

Page 25: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 25

SysML EFFBD Profile

Page 26: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 26

Allocations

• Provides general relationship to map one model element to another

• Includes specific subclasses of allocation with constraints on their usage• Behavioral• Structural• Flow

• Explicit allocation of activities to swim lanes (e.g. activity partitions)

• Graphical and/or tabular representations

Page 27: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 27

Different Allocation Representations

ElementName1

ElementName3

to

ElementName2

from

«allocate»

to

«allocate»:ElementName

ActivityName

Explicit Allocation ofActivity to Swim Lane

Allocate Relationship

Callout NotationCompartment Notation

«block»BlockName

PartName

allocatedFrom«elementType»ElementName

«block»BlockName

allocatedFrom«elementType»ElementName

PartName

Page 28: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 28

Example - SysML Allocation to SW and HW

Page 29: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 29

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»

definition

bdd [package] VehicleStructure [ABS-Block Definition Diagram]

«block»Traction Detector

«block»Brake

Modulator

«block»Library::Electro-Hydraulic

Valve

«block»Library::

Electronic Processor

«block»Anti-Lock Controller

d1 m1

use

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

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

4 Pillars of SysML ABS Example

1. Structure 2. Behavior

3. Requirements 4. Parametrics

sd ABS_ActivationSequence [Sequence Diagram]

d1:TractionDetector

m1:BrakeModulator

detTrkLos()

modBrkFrc()

sendSignal()

modBrkFrc(traction_signal:boolean)

sendAck()

interaction

state machine

stm TireTraction [State Diagram]

Gripping Slipping

LossOfTraction

RegainTractionactivity/function

act PreventLockup [Activity Diagram]

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

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:

Page 30: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 30

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 BrakingForce

TractionLoss:

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

Cross Connecting Model Elements

1. Structure 2. Behavior

3. Requirements 4. 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

allocate

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:

value binding

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

verify

Page 31: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 31

Agenda

What is SysML? Relationship between UML and SysML Examples of Extensions Industrial Control• Concluding Remarks

Page 32: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 32

System Modeling

Page 33: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 33

Combining Model-Driven and Model Based Design in Industrial Machine Control

MDD: Model Driven Developmentin Rhapsody (Telelogic)

MBD: Model Based Design in Simulink (Mathworks)

Page 34: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 34

MDD versus MBD Feature Comparison

                                   

                         Table 1. MDD versus MBD feature comparison

Page 35: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 35

Complementary Tool Solution

• The Rhapsody MDD environment covers standard UML 2.0 / SysML based software and systems design

• Simulink is the de-facto standard for dynamic systems modeling• allowing block diagrams of complex dynamic

(mathematical) algorithms to be captured and analyzed

• Simulink connection to Rhapsody

Page 36: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 36

Rhapsody – Simulink Integration (1)

Page 37: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 37

Rhapsody – Simulink Integration (2)

SimulinkModel andCodeImportedintoRhapsody

Page 38: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 38

Agenda

What is SysML? Relationship between UML and SysML Examples of Extensions Industrial Control Concluding Remarks

Page 39: TISYSEAn Introduction to SysML1 Finn Overgaard Hansen and Peter Gorm Larsen

TISYSE An Introduction to SysML 39

Concluding Remarks

• SysML contains many interesting extensions of UML• It will be good to get a more common language

between different disciplines• Question is what kind of validation can be made with

these different models• What about common semantics?

• What about time connectivity between discrete event an continuous simulators?