OMG Systems Modeling Language (OMG SysML™) Matthew Hause ARTiSAN Software Tools Some slides reused from the OMG SysML™ Tutorial with permission
Jan 15, 2016
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
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
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
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
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
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
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»
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
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
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
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
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»
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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}
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
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
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
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
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
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 34
Integration With MARTE
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
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved 36
Questions?