omg systems modeling language (omg sysml™) matthew hause artisan software tools some slides reused...

36
OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Upload: hillary-harrison

Post on 15-Jan-2016

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

OMG Systems Modeling Language (OMG SysML™)

Matthew Hause

ARTiSAN Software Tools

Some slides reused from the OMG SysML™ Tutorial with permission

Page 2: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 2

Topics SysML Status SysML Language Architecture SysML Language Detail

Requirements Structure Parametric Models Allocation

Summary Questions

Page 3: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

04/21/23Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights

Reserved 3*

Where we’ve come from…A Historical Perspective

XMIXMIXMIXMI

yrs ’70yrs ’70 yrs ’80yrs ’80 yrs ’90yrs ’90yrs ’60yrs ’60 yrs2000yrs2000

OO Programming :OO Programming :ADAADAEiffelEiffelSmalltalkSmalltalkSimulaSimulaC++C++

OO Programming :OO Programming :ADAADAEiffelEiffelSmalltalkSmalltalkSimulaSimulaC++C++

Shlaer/MellorShlaer/MellorShlaer/MellorShlaer/Mellor

BoochBoochBoochBooch

Coad/YourdonCoad/YourdonCoad/YourdonCoad/Yourdon

Wirfs-BrockWirfs-BrockWirfs-BrockWirfs-Brock

Jacobson: OOSEJacobson: OOSEJacobson: OOSEJacobson: OOSE

Martin/OdellMartin/OdellMartin/OdellMartin/Odell

Rumbaugh: OMTRumbaugh: OMTRumbaugh: OMTRumbaugh: OMT

Bell LabsBell LabsBell LabsBell Labs

XEROX PARCXEROX PARCXEROX PARCXEROX PARC

US D.O.DUS D.O.DUS D.O.DUS D.O.D

ecc. ecc.....ecc. ecc.....ecc. ecc.....ecc. ecc.....

Structured Method:Structured Method:SA&SDSA&SDEntity ModellingEntity ModellingEvent ModellingiEvent Modellingi

Structured Method:Structured Method:SA&SDSA&SDEntity ModellingEntity ModellingEvent ModellingiEvent Modellingi

SysMLSysMLSysMLSysML

MDAMDAMDAMDA

UMLUMLUMLUML

INCOSEINCOSEINCOSEINCOSE

SPEMSPEMSPEMSPEM

DDSDDSDDSDDS

BPMNBPMNBPMNBPMNMOFMOFMOFMOF

Page 4: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 4

A Unifying Systems Language

SysMLSysML

A Language to A Language to documentdocument the properties the properties from different disciplines tofrom different disciplines to

describedescribe the the whole solutionwhole solution

Page 5: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 5

SysML Contents Summary

Structure e.g., system hierarchy, interconnection

Behaviour e.g., function-based behaviour, state-based

behaviour Properties

e.g., parametric models, time property Requirements

e.g., requirements hierarchy, traceability Verification

e.g., test cases, verification results Cross-Cutting

e.g., allocation of entities for workflow

Page 6: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 6

ibd [Block] Anti-Lock Controller1

«Block»Anti-Lock Controller

«BlockProperty»d1 : Traction Detector

«BlockProperty»m1 : Brake Modulator

«BlockProperty»d1 : Traction Detector

«BlockProperty»m1 : Brake Modulator

c1:modulator interface

use

interaction

par [constraint] StraightLineVehicleDynamics [Parametric Diagram]

The Four Pillars of SysML (ABS Example)

1. Structure

4. Parametrics

2. Behavior

Vehicle SystemSpecification

Braking SubsystemSpecification

«requirement»

id#102

txtThe vehicle shall stop from60 mph within 150ft on aclean dry surface.

Stopping Distance

«requirement»

id#337

txtThe Braking subsystem shallprevent wheel lockup underall braking conditions.

Anti-Lock Performance

req [Package] Vehicle Specifications [Braking]

«deriveReqt»

3. Requirements

bdd [Package] Vehicle [ABS]

«Block»Library::

ElectronicProcessor

«Block»Anti-LockController

«Block»Library::

Electro-HydraulicValve

«Block»TractionDetector

«Block»Brake

Modulator

d1 m1

definition

Gripping Slipping

LossOfTrac tion/

RegainTrac tion/

stm Tire [Traction] state machine

Detect Loss Of Traction

TractionLoss Modulate Braking Force

act PreventLockupactivity/function

Page 7: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 7

Requirements Requirements represents a text based

requirement Includes id and text properties Can add user defined properties such as

verification method Can add user defined requirements categories

(e.g. functional, interface, performance, ...) Requirements hierarchy describes

requirements contained in a specification Requirements relationships include

DeriveReqt, Satisfy, Verify, Refine, Trace, Copy

Graphical, tabular and tree notation specified

Page 8: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 8

User Requirements Flow Down

«Activity»Set Desired Speed

«Activity»Decrement Speed

«Activity»Shift Gear

«Activity»Maintain Speed

«Activity»Engage CC

«Activity»Disengage CC

«Block»Cruise Control System

«Activity»Suspend CC

«Activity»Resume CC

«Activity»Increment Speed

«requirement»

txtThe CCS must allow a driver to enable the vehicle to maintain a desired speed.

REQ_CCS_01«requirement»

txtThe CCS must allow cruise control to be engaged and disengaged. When engaged the cruisecontrol system is available to accept driver instructions (such as 'set' and 'increment'). Whendisengaged, the cruise control system will not respond to any driver inputs.

REQ_CCS_02

«requirement»

txtThe CCS must allow cruise control to be suspended (via toggle or brake application) and resumed(via toggle only). This feature should be available only when cruise control is active. Whensuspended, the cruise control system shall memorize the desired speed, but the cruise controlsystem is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to thedriver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or'set'.

REQ_CCS_03

«requirement»

txtThe failsafe state for the CCS is 'disengaged' - any errors encountered by the cruisecontrol system shall be logged (along with the system's configuration data) and thesystem shall be disengaged.

REQ_CCS_04

«requirement»

txtOnce the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Oncethis is set the CCS shall take over control of the throttle.

REQ_CCS_05

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment or decrement thedesired speed (in increments of 1 MPH). The driver must also have the ability to changethe gear selection whilst the cruise control is active.

REQ_CCS_06

«requirement»

txtThe CCS must provide displayed outputs to the driver. This will enable the driver to determinethe current desired speed before resuming cruise control.

REQ_CCS_07

Maintain Speed

«testCase»

[Package] Maintain Speed - with flows

Display Speed Cruise Control System - block operation

«requirement»

txtWhen cruise control is engaged, the driver must be able to increment thedesired speed in increments of 1 MPH.

REQ_CCS_06a

«requirement»

txtWhen cruise control is engaged, the driver must be able to decrementthe desired speed in increments of 1 MPH.

REQ_CCS_06b

«requirement»

txtWhen cruise control is active, the driver must be able to change the gearselection.

REQ_CCS_06c

req [Package] Cruise Control System [Reqts with links]

«deriveReqt»

«deriveReqt»

«deriveReqt»

«refine» «satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

«verify»

«satisfy»«satisfy»

«satisfy»

«satisfy»

«satisfy»

«satisfy»

Page 9: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 9

Activities Activity used to specify the flow of

inputs/outputs and control, including sequence and conditions for coordinating activities

Secondary constructs show responsibilities for the activities using swim lanes

SysML extensions to Activities Support for continuous flow modeling Support probabilistic choice Alignment of activities with Enhanced

Functional Flow Block Diagram

Page 10: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 10

Analysis Model of Vehicle SysML additions on

this chart «streaming» activities

consume inputs after initialization

«continuous» flowsStart Up Vehicle

Page 11: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 11

select first gear

move from stopped

Steer Vehicle

Analysis Model of Vehicle SysML additions on

this chart «streaming» activities

consume inputs after initialization

«continuous» flows

Page 12: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 12

Automotive Domain

Driver

Press Engage Button

Press Set Button

Press Increment Button

Press Decrement Button

Press Suspend/Resume Button

Press Disengage Button

Cruise Control System

Do Initialisation tests

Analysis Model of Vehicle SysML additions on

this chart «streaming» activities

consume inputs after initialization

«continuous» flows

Page 13: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 13

Analysis Model of Vehicle SysML additions on

this chart «streaming» activities

consume inputs after initialization

«continuous» flows

Maintain Speed

SpeedMsg

EMUMessage

ThrottleMessage

Cruise Control Unit

load profile for current gear

Callibrate againstcurrent EMU Data

Calculate requiredthrottle position

send EMU throttleposition message

«block»

Cruise Control IO

Update CC Display

«block»

Page 14: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 14

SysML Blocks Provides a unifying concept to

describe the structure of an element or system Hardware Software Data Procedure Facility Person

Block is Basic Structural ElementBlock is Basic Structural Element

Page 15: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 15

Block Definition Diagram forVehicle Structural Components

Parts shown by black-diamond notation, or by Parts Compartment

Values compartment shows properties of the block Flowports compartment shows block interfacebdd [Package] Structure Automotive Domain Breakdown

«Block»Automotive Domain

«Block»Vehicle

«Block»Environment

«Block»Baggage

«Block»Weather

«Block»Foreign Object

«Block»Satellite

«Block»Road

«Block»Other Vehicle

«Block»Pedestrian

«Block»Cyclist

«Block»Fixed Obstacle

«Block»Tree

«Block»Wall

Driver Maintainer Passenger

*

1

Pass*

1

Main

*

1

Veh *

1

Env

1

1

Drv

*

1

Cargo

*

1

Wthr *

1

FO *

1

Sat *

1

Rd

Page 16: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 16

Block Definition Diagram forVehicle Structural Components

Parts shown by black-diamond notation, or by Parts Compartment

Values compartment shows properties of the block Flowports compartment shows block interface

bdd [Package] Vehicle [Main Subsystems]

«Block»Lighting Subsystem

«Block»Chassis Subsystem

«Block»Cruise Control System

«Block»Power Subsystem

«Block»Brake Subsystem

«Block»Body Subsystem

«Block»Interior Subsystem

«Block»Vehicle

«Block»Steering Subsystem «Block»

Electrical Subsystem

1

1

SteerSys

1

1

PowSys

1

1

BrakeSys

1

1

BodySys

1

1

InteriorSys

1

1

LightSys

1

1

ChasSys

1

1

CC Sys

1

1

ElecSys

Page 17: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 17

Block Definition Diagram forVehicle Structural Components

Parts shown by black-diamond notation, or by Parts Compartment

Values compartment shows properties of the block Flowports compartment shows block interfacebdd [Package] Vehicle [CC DriverInterfaces]

«Block»Gear Selector

«Block»Brake Pedal

«Block»Accelerator Pedal

«Block»

partsAccPedal : Accelerator PedalBodySys : Body SubsystemBrakeSys : Brake SubsystemCC Sys : Cruise Control SystemChasSys : Chassis SubsystemElecSys : Electrical SubsystemGearSel : Gear SelectorInteriorSys : Interior SubsystemLightSys : Lighting SubsystemPowSys : Power SubsystemSteerSys : Steering Subsystem

Vehicle

«Block»

partsABS : Anti-Locking Braking SystemBrkPed : Brake PedalBrkSens : Brake Assembly Sensor [*]

Brake Subsystem

«Block»Cruise Control System

Driver

1 1

1

1

CC Sys

1 1

1

1

GearSel1

1

AccPedal

11

BrakeSys

1

1

BrkPed

Page 18: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 18

Block Definition Diagram forVehicle Structural Components

Parts shown by black-diamond notation, or by Parts Compartment

Values compartment shows properties of the block Flowports compartment shows block interfacebdd [Block] Cruise Control System

«Block»CC Display Panel

«Block»Toggle Button

«Block»CAN

«Block»CC IO Card

«Block»CC Motherboard

«Block»Inc Speed

«Block»

operationsload gear profile (in gear : Integer)calibrate ()calculate throttle position ()handle EMU message ()

Cruise Control Unit

«Block»Dec Speed

«Block»Push Button

«Block»

operationsupdate display ()

partsCC Disp : CC Display PanelDec : Dec SpeedEng/Dis : Engage/Disengage CCInc : Inc SpeedSet : Set SpeedSus/Res : Suspend/Resume CC

Cruise Control IO

«Block»

partsCCIO : Cruise Control IOCCUnit : Cruise Control Unit

Cruise Control System

«Block»Set Speed

«Block»Suspend/Resume CC

«Block»Engage/Disengage CC

11

CCUmb

11

CCUio

11

CANbus

11 Inc 11 Dec

1

1

CCUnit

1

1CCIO

1

1

Set1

1

Sus/Res1

1

Eng/Dis

11

CC Disp allocatedFrom«Class» cThrottle Controller«Class» pAccelerationProfile«Class» pCalibration Manager«Class» cSpeedMonitor

allocatedFrom«Class» eCruiseControlPanel«Class» eEMUIF«Class» eTransmissionMonitor«Class» eBrakePedalMonitor

Page 19: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 19

Unit and Item Types Unit types normally based on Real SI Units and Dimensions defined in SysML appendix

bdd [Package] Vehicle [Definitions]

«Block»

valuesMFR : Mass Flow Rate [*]Press : Pressure [*]Temp : Temperature [*]

Liquid«ValueType»

unitDegreeCelsius

Temperature

«ValueType»

unitPascal

Pressure

«ValueType»

unitKilogramPerSecond

Mass Flow Rate

«ValueType»Electrical Signal

«Unit»KilogramPerSecond

«Unit»NewtonMetre

«Unit»RevolutionsPerMinute

«Dimension»ElectricCurrentRange

«Dimension»Rotational Speed

«ValueType»

unitWatt

Electric Power«ValueType»

CAN

«ValueType»

unitNewtonMetre

Torque

«ValueType»

dimensionElectricCurrentRange

operationsSend ()

unitAmpere

Analogue«ValueType»

dimensionElectricPotentialDifference

operationsSend ()

unitVolt

Digital

«Block»

valuesMFR : Mass Flow Rate [*]Press : Pressure [*]Temp : Temperature [*]

Fuel

«FlowSpecification»

flowPropertyListout FuelReturn : Fuelin FuelSupply : Fuel

FPump-ICEng

«FlowSpecification»

flowPropertyListin TorqueIn : Torqueout TorqueOut : Torque

TorqueSpec

«ValueType»

dimensionRotational Speed

unitRevolutionsPerMinute

RPM

«ValueType»

dimensionVelocity

unitMeterPerSecond

Speed

«ValueType»

unitNewton

Force

Page 20: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 20

Item Flows Distinct from what can flow via the port

specification Supports top down description of flows

without imposing behavioural method (e.g. activities, state, interactions) Behaviour is not driven from itemFlows but

needs to be consistent with it Is aligned with behaviour thru refinement

and allocation Can be allocated from an object node,

message, or signal from a behavioural diagram

Properties of item flow can be specified and constrained in parametric diagram

Page 21: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 21

IBD for Vehicle

Non-Atomic Ports I/O is specified using FlowSpecification FlowSpecification consists of properties

stereotyped «FlowProperty» isConjugate promotes reuse of

flowSpecifications

Atomic FlowPorts In this case the port is directly typed

by the item type (Block or ValueType) Direction property specify the

direction of flow

ibd [Block] Automotive Domain

«Block»Automotive Domain

«BlockProperty»Cargo : Baggage

«BlockProperty»Env : Environment

«BlockProperty»FO : Foreign Object

«BlockProperty»Sat : Satellite

«BlockProperty»Wthr : Weather

«BlockProperty»Rd : Road

«BlockProperty»Veh : Vehicle

Driver

Maintainer

Passenger

Page 22: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 22

IBD for Vehicle

Non-Atomic Ports I/O is specified using FlowSpecification FlowSpecification consists of properties

stereotyped «FlowProperty» isConjugate promotes reuse of

flowSpecifications

Atomic FlowPorts In this case the port is directly typed

by the item type (Block or ValueType) Direction property specify the

direction of flow

ibd [Block] Vehicle [High Level Systems]

«Block»Vehicle

«BlockProperty»BodySys : Body

Subsystem

«BlockProperty»BrakeSys : Brake

Subsystem

«BlockProperty»CC Sys : Cruise Control

System

«BlockProperty»ChasSys : Chassis

Subsystem

«BlockProperty»InteriorSys : Interior

Subsystem

«BlockProperty»LightSys : Lighting

Subsystem

«BlockProperty»PowSys : Power

Subsystem

«BlockProperty»SteerSys : Steering

Subsystem

«BlockProperty»ElecSys : Electrical

Subsystem

Body-Chassis

Body-Lighting

Power-Chassis

Brake-CC System

Power-CC System

Steer-Chassis

Body-Interior

Interior-Lighting

Brake-LightingChassis-Brake

Elec-Lighting

Power-Elec

CCSystem-Elec

Interior-Elec

Page 23: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 23

IBD for Vehicle

Non-Atomic Ports I/O is specified using FlowSpecification FlowSpecification consists of properties

stereotyped «FlowProperty» isConjugate promotes reuse of

flowSpecifications

Atomic FlowPorts In this case the port is directly typed

by the item type (Block or ValueType) Direction property specify the

direction of flow

ibd [Block] Vehicle [Driver Interface Connections]

«Block»Vehicle

«BlockProperty»PowSys : Power Subsystem

CCIF : RS232

Page 24: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 24

Internal Block Diagram for CC

Shows parts (structural children) …

… and ports (interaction points on blocks and parts)

Supports integration of behavior and structure

Port types Standard Ports

Specify a set of operations and/or signals

Typed by a UML interface Flow Ports

Specify what can flow in or out of block/part

Typed by a flow specification

ibd [Block] Cruise Control System [connections]

«block»

Cruise Control System

Page 25: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 25

Avionics - Topology of Processing Elements

Avionics System

«IMS Processing Element»N1

UART2

UART1I/O

I/O

«IMS Processing Element»N2

I/O

I/O

«IMS Processing Element»N3

I/O

«IMS Processing Element»N4

I/O

«IMS Processing Element»N5

I/O

«IMS Processing Element»N6

I/O

Data Bus 1 : STANAG 3910

Data Bus 2 : 1553B

«IMS Processing Element»N1

UART2

UART1I/O

I/OUART2

UART1I/O

I/O

«IMS Processing Element»N2

I/O

I/O

I/O

I/O

«IMS Processing Element»N3

I/OI/O

«IMS Processing Element»N4

I/OI/O

«IMS Processing Element»N5

I/OI/O

«IMS Processing Element»N6

I/OI/O

Data Bus 1 : STANAG 3910

Data Bus 2 : 1553B

«Equipment»INU/GPS

«Equipment»RADAR

«Equipment»DEP

«Equipment»FLIR

«Equipment»HMS Controls

Page 26: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 26

Avionics - Internals of a Processing Element

Avionics System

N1 : Processing Element

CPU : CPU Card

uProcessor : PowerPC 750

Memory : Memory

Bootstrap : NVM Application : RAM

Backplane : PCI Bus

C3910 : STANAG 3910 I/F Card C1553B : MILSTD 1553B I/F Card CSerial : Serial I/F Card

I/O : STANAG 3190 Connector I/O : MILSTD 1553B Connector

UART1

UART2

UART3

24v

N1 : Processing Element

CPU : CPU Card

uProcessor : PowerPC 750

Memory : Memory

Bootstrap : NVM Application : RAM

Backplane : PCI Bus

C3910 : STANAG 3910 I/F Card C1553B : MILSTD 1553B I/F Card CSerial : Serial I/F Card

I/O : STANAG 3190 Connector I/O : MILSTD 1553B Connector

UART1

UART2

UART3

CPU : CPU Card

uProcessor : PowerPC 750

Memory : Memory

Bootstrap : NVM Application : RAMuProcessor : PowerPC 750

Memory : Memory

Bootstrap : NVM Application : RAMBootstrap : NVM Application : RAM

Backplane : PCI Bus

C3910 : STANAG 3910 I/F Card C1553B : MILSTD 1553B I/F Card CSerial : Serial I/F Card

I/O : STANAG 3190 Connector I/O : MILSTD 1553B Connector

UART1

UART2

UART3

24v

Page 27: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 27

Parametrics Used to express constraints (equations)

between value properties Provides support to engineering analysis (e.g.

performance, reliability, etc) 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 Parametrics Enable Integration of Engineering Analysis with Design ModelsAnalysis with Design Models

Page 28: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 28

Vehicle Parametrics BDD BDDs can show parametric definitions Parameter compartment shows the constraint parameters Constraint compartment for the applied constraint

bdd [Package] Parametrics

«valueType»Position

«valueType»Friction

«valueType»Duty Cycle

«valueType»Velocity

«constraint»

constraints{}AccEq : Acceleration EquationBrkFrceEq : Braking Force EquationDistEq : Distance EquationVelEq : Velocity Equation

parametersBf : Forcem : MassPosn : Positiontf : Frictiontl : Duty Cycle

Straight Line Vehicle Dynamics

«constraint»

constraints{f = (tf * bf) * (1 - tl)}

parametersbf : Forcef : Forcetf : Forcetl : Loss

Braking Force Equation«constraint»

constraints{F = m * a}

parametersa : AccelerationF : Forcem : Mass

Acceleration Equation

«constraint»

constraints{a = dv / dt}

parametersa : Accelerationt : Timev : Velocity

Velocity Equation

«constraint»

constraints{v = dx / dt}

parameterst : Timev : Velocityx : Position

Distance Equation

«valueType»Loss

«valueType»Mass

«valueType»Acceleration

«valueType»Time

«block»

valuesMass : kg = 2000Posn : PositionPower : W = 300

Vehicle

1

1

BrkFrceEq 1

1

AccEq 1

1

VelEq 1

1

DistEq

1 1

Param

{f = (tf * bf) * (1 - tl)} {F = m * a} {a = dv / dt} {v = dx / dt}

Page 29: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 29

Parametric Diagram Small boxes

represent parameters and bound properties

Boxes on left represent item flows

Constraint can be in compartment or in attached note

par [block] Vehicle [1]

Vehicle.Mass : kg

Page 30: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 30

Parametric Diagram Small boxes

represent parameters and bound properties

Boxes on left represent item flows

Constraint can be in compartment or in attached note

par [constraint] Straight Line Vehicle Dynamics [1]Bf m

Posn

tf

tl

Page 31: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 31

Allocations Provides general relationship to map one

model element to another Different types of allocation may include:

Behavioural (i.e. function to component) Structural (i.e. logical to physical) Hardware to Software ….

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

Use of graphical and/or tabular representations

Page 32: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 32

Control

«control»cThrottle Controller

Alg_Derivative

Alg_Integral

Alg_Proportional

ThrottlePosition

SpeedValue

NormalisedSpeedValue

SetSpeedValue ()

Reset ()

SetNormalisedSpeedValue ()

BrakeEngaged ()

GearShift ()

Suspend ()

Resume ()

cSpeedMonitor

CalibrationFactor

RawSpeed

SetRawSpeed ()

CalcNormalisedSpeed ()

External Interface

«boundary»eBrakePedalMonitor

«boundary»eCruiseControlPanel

SpeedSetPoint

Switch_Pressed ()

Set_Speed ()

«boundary»eEMUIF

ThrottlePosition

Set_Throttle ()

«boundary»eTransmissionMonitor

Persistence Support

pAccelerationProfile pCalibration Manager

WheelCircumference

1

1

Calibrates

1 1

Provides Speed

1

1

Stops Cruise Control1

1

Driver Input

1

1

Profiles

1

1

Sets Throttle Position

1

1

Provides Readings

bdd [Package] CC System Software

«Block»Cruise Control System

«Block»«boundary»

allocatedFromDecrement ()Disengage ()Display Speed ()EMU Message ()Engage ()Engage Brake ()Increment ()Resume ()Set Speed ()Shift ()Suspend ()

allocatedToCC MotherboardExternal Interface

Interface

«Block»«control»

allocatedFromErrorMaintain SpeedOperate Cruise ControlPower OffPower OnCalculate Throttle Position

allocatedToCC MotherboardControl

Control

«Block»«entity»

allocatedFromLog Error ()Load Acceleration Profile ()

allocatedToCC MotherboardPersistence Support

Persistence

11CCIF

1

1 CCCtrl

1

1

Perst

«part»

CCUnit : Cruise Control Unit

«part»«multidropBus»

CANbus : CAN

«part»«board»

CCUio : CC IO Card

CCDispIF

Allocation to SW/HW

Page 33: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 33

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

d1:Traction Detector

m1:Brake Modulator

c1:modulator interface

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

allocatedFrom«activity»DetectLosOfTraction

d1:TractionDetector

allocatedFrom «activity»Modulate BrakingForce

m1:BrakeModulator

allocatedFrom«ObjectNode»TractionLoss:

c1:modulatorInterface

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:

Cross Connecting Model Elements1. Structure 2. Behavior

3. Requirements 4. Parametrics

act PreventLockup [Swimlane Diagram]

«allocate»:TractionDetector

«allocate»:BrakeModulator

allocatedTo«connector»c1:modulatorInterface

DetectLossOf Traction

Modulate BrakingForce

TractionLoss:

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»

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

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»

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

verify

value binding

allocate

Page 34: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 34

Integration With MARTE

Page 35: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 35

Summary SysML sponsored by INCOSE/OMG with broad

industry and vendor participation SysML provides a general purpose modelling

language to support specification, analysis, design and verification of complex systems

Subset of UML 2 with extensions 4 Pillars of SysML include modelling of requirements,

behaviour, structure, and parametrics OMG SysML Adopted in May 2006 Multiple vendor implementations announced Standards based modelling approach for SE

expected to improve communications, tool interoperability, and design quality

Page 36: OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission

Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 36

Questions?