OMG Systems Modeling Language
(OMG SysML™)
Matthew Hause
ARTiSAN Software Tools
Some slides reused from the OMG SysML™ Tutorial with permission
Topics



SysML Status
SysML Language Architecture
SysML Language Detail






Requirements
Structure
Parametric Models
Allocation
Summary
Questions
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
2
Where we’ve come from…
A Historical Perspective
INCOSE
US D.O.D
OO Programming :
ADA
Eiffel
Smalltalk
Simula
C++
Bell Labs
XEROX PARC
Booch
SysML
Wirfs-Brock
Jacobson: OOSE
ecc. ecc.....
UML
Shlaer/Mellor
Structured Method:
SA&SD
Entity Modelling
Event Modellingi
XMI
DDS
Coad/Yourdon
Rumbaugh: OMT
Martin/Odell
yrs ’60
yrs ’70
SPEM
MOF
BPMN
yrs ’80
yrs ’90
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
MDA
yrs2000
3
*
A Unifying Systems Language
SysML
A Language to
document the properties
from different disciplines to
describe the
whole solution
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
4
SysML Contents Summary

Structure


Behaviour


e.g., requirements hierarchy, traceability
Verification


e.g., parametric models, time property
Requirements


e.g., function-based behaviour, state-based behaviour
Properties


e.g., system hierarchy, interconnection
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
5
The Four Pillars of SysML
(ABS Example)
1. Structure
bdd [Package] Vehicle [ABS]
«Block»
Library::
Electronic
Processor
d1
«Block»
Traction
Detector
interaction
«Block»
Anti-Lock Controller
definition
«Block»
Anti-Lock
Controller
2. Behavior
ibd [Block] Anti-Lock Controller1
stm Tire [Traction]
«Block»
Library::
Electro-Hydraulic
Valve
c1:modulator interface
«BlockProperty»
d1 : Traction Detector
use
«Block»
Brake
Modulator
Los s O fTrac tion/
act PreventLockup
activity/function
Gripping
«BlockProperty»
m1 : Brake Modulator
m1
state machine
Detect Loss Of
Traction
4. Parametrics
Slipping
RegainTrac tion/
Modulate
TractionLoss
Braking Force
3. Requirements
par [constraint] StraightLineVehicleDynamics [Parametric Diagram]
req [Package] Vehicle Specifications [Braking]
{f = (tf*bf)*(1-tl)}
{F = ma}
: BrakingForceEquation
tf
: AccelerationEquation
f
F
c
Vehicle System
Specification
tl
bf
«requirement»
Stopping Distance
a
id#
: DistanceEquation
x
: VelocityEquation
v
v
a
{v = dx/dt}
Braking Subsystem
Specification
«requirement»
Anti-Lock Performance
id#
102
337
txt
The vehicle shall stop from
60 mph within 150ft on a
clean dry surface.
txt
The Braking subsystem shall
prevent wheel lockup under
all braking conditions.
{a = dv/dt}
Copyright
© 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved«deriveReqt»
6
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
7
User Requirements Flow Down
req [Package] Cruise Control System [Reqts with links]
«requirement»
REQ_CCS_01
«requirement»
REQ_CCS_02
txt
The CCS must allow a driver to enable the vehicle to maintain a desired speed.
«refine»
«satisfy»
«deriveReqt»
txt
The CCS must allow cruise control to be engaged and disengaged. When engaged the cruise
control system is available to accept driver instructions (such as 'set' and 'increment'). When
disengaged, the cruise control system will not respond to any driver inputs.
«satisfy»
«requirement»
REQ_CCS_03
«Activity»
Maintain Speed
Maintain Speed
«satisfy»
«Block»
Cruise Control System
«deriveReqt»
«verify»
«testCase»
[Package] Maintain Speed - with flows
«satisfy»«satisfy»
«satisfy»
txt
The 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. When
suspended, the cruise control system shall memorize the desired speed, but the cruise control
system is inactive (i.e. suspended) and must relinquish control of the throttle pedal back to the
driver. The only commands which can be accepted whilst suspended are 'resume', 'disengage' or
'set'.
«satisfy»
«Activity»
Disengage CC
«Activity»
Suspend CC
«Activity»
Resume CC
«requirement»
REQ_CCS_05
«deriveReqt»
«requirement»
REQ_CCS_04
«satisfy»
«Activity»
Engage CC
txt
Once the CCS is engaged, to activate cruise control the driver can 'set' the desired speed. Once
this is set the CCS shall take over control of the throttle.
«satisfy»
«Activity»
Set Desired Speed
txt
The failsafe state for the CCS is 'disengaged' - any errors encountered by the cruise
control system shall be logged (along with the system's configuration data) and the
system shall be disengaged.
«requirement»
REQ_CCS_06a
«requirement»
REQ_CCS_06
txt
When cruise control is engaged, the driver must be able to increment or decrement the
desired speed (in increments of 1 MPH). The driver must also have the ability to change
the gear selection whilst the cruise control is active.
txt
When cruise control is engaged, the driver must be able to increment the
desired speed in increments of 1 MPH.
«satisfy»
«Activity»
Increment Speed
«requirement»
REQ_CCS_06b
txt
When cruise control is engaged, the driver must be able to decrement
the desired speed in increments of 1 MPH.
«requirement»
REQ_CCS_06c
«satisfy»
«satisfy»
«Activity»
Decrement Speed
«Activity»
Shift Gear
txt
When cruise control is active, the driver must be able to change the gear
selection.
«requirement»
REQ_CCS_07
txt
The CCS must provide displayed outputs to the driver. This will enable the driver to determine
the current desired speed before resuming cruise control.
«satisfy»
Display Speed
Cruise Control System - block operation
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
8
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
9
Analysis Model of Vehicle

SysML additions on this
chart


«streaming» activities
consume inputs after
initialization
«continuous» flows
AD Operate Vehicle
Start Up Vehicle
Drive Vehicle
Shut Down Vehicle
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
10
Analysis Model of Vehicle

SysML additions on this
chart


AD Drive Vehicle
«streaming» activities
consume inputs after
initialization
«continuous» flows
select first gear
move from stopped
coast
Steer Vehicle
Shift Gear
Accelerate Vehicle
stopped
Brake Vehicle
Operate Cruise Control
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
11
Analysis Model of Vehicle

SysML additions on this
chart


«streaming» activities
consume inputs after
initialization
«continuous» flows
«block»
Automotive Domain
AD Operate Cruise Control
Driver
«block»
Cruise Control System
Press Engage Button
Do Initialisation tests
error
OK
Log Error
Engaged
Engage CC
Operating
Press Set Button
Set Desired Speed
«valueType»
Speed
EMUMessage
SpeedMsg
Maintain Speed
ThrottleMessage
Press Increment Button
Increment Speed
Press Decrement Button
Decrement Speed
brake applied
wait until....
Suspend CC
Press Suspend/Resume Button
if suspended
Resume CC
CCerror
Log Error
Press Disengage Button
Disengage CC
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
12
Analysis Model of Vehicle

SysML additions on this
chart


«streaming» activities
consume inputs after
initialization
«continuous» flows
«block»
Cruise Control Unit
«block»
Cruise Control IO
Maintain Speed
load profile for current gear
EMUMessage
Callibrate against
current EMU Data
SpeedMsg
Update CC Display
Calculate required
throttle position
send EMU throttle
position message
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
ThrottleMessage
13
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 Element
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
14
Block Definition Diagram for
Vehicle 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] Structure Automotive Domain Breakdown
«Block»
Automotive Domain
1
* Veh
1
«Block»
Vehicle
* Env
* Cargo
«Block»
Environment
«Block»
Baggage
1
1
Drv
Driver
*
Main
Maintainer
*
Pass
* Wthr
* FO
* Sat
* Rd
«Block»
Weather
«Block»
Foreign Object
«Block»
Satellite
«Block»
Road
«Block»
Other Vehicle
«Block»
Pedestrian
«Block»
Fixed Obstacle
«Block»
Cyclist
Passenger
«Block»
Tree
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
«Block»
Wall
15
Block Definition Diagram for
Vehicle 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»
Vehicle
1
1
PowSys
1
«Block»
Power Subsystem
BodySys
1 LightSys
«Block»
Body Subsystem
1 SteerSys
1 BrakeSys
«Block»
Steering Subsystem
«Block»
Brake Subsystem
1
«Block»
Lighting Subsystem
1 InteriorSys
«Block»
Interior Subsystem
CC Sys
«Block»
Cruise Control System
1
ChasSys
«Block»
Chassis Subsystem
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
1
ElecSys
«Block»
Electrical Subsystem
16
Block Definition Diagram for
Vehicle 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 [CC DriverInterfaces]
«Block»
Vehicle
1
parts
AccPedal : Accelerator Pedal
BodySys : Body Subsystem
BrakeSys : Brake Subsystem
CC Sys : Cruise Control System
ChasSys : Chassis Subsystem
ElecSys : Electrical Subsystem
GearSel : Gear Selector
InteriorSys : Interior Subsystem
LightSys : Lighting Subsystem
PowSys : Power Subsystem
SteerSys : Steering Subsystem
«Block»
Brake Subsystem
1
1
parts
BrakeSys ABS : Anti-Locking Braking System
BrkPed : Brake Pedal
BrkSens : Brake Assembly Sensor [*]
1
1
1
AccPedal
1
1
«Block»
Accelerator Pedal
1
CC Sys
GearSel
1
«Block»
Gear Selector
«Block»
Cruise Control System
1
1
BrkPed
«Block»
Brake Pedal
1
Driver
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
1
17
Block Definition Diagram for
Vehicle 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 [Block] Cruise Control System
«Block»
Cruise Control System
1
«Block»
CAN
parts
CCIO : Cruise Control IO
CCUnit : Cruise Control Unit
1
1
1 CCUnit
CCIO
«Block»
Cruise Control IO
1
1
Set
«Block»
Set Speed
operations
update display ()
parts
CC Disp : CC Display Panel
Dec : Dec Speed
Eng/Dis : Engage/Disengage CC
Inc : Inc Speed
Set : Set Speed
Sus/Res : Suspend/Resume CC
1
1
«Block»
Cruise Control Unit
1
operations
load gear profile (in gear : Integer)
calibrate ()
calculate throttle position ()
handle EMU message ()
1
«Block»
Push Button
1
CC Disp
allocatedFrom
«Class» cThrottle Controller
«Class» pAccelerationProfile
«Class» pCalibration Manager
«Class» cSpeedMonitor
1
1
Dec
«Block»
Dec Speed
1
1
«Block»
Suspend/Resume CC
«Block»
CC Motherboard
allocatedFrom
«Class» eCruiseControlPanel
«Class» eEMUIF
«Class» eTransmissionMonitor
«Class» eBrakePedalMonitor
CCUmb
«Block»
CC Display Panel
1
«Block»
CC IO Card
1
CCUio
Sus/Res
1
Inc
«Block»
Inc Speed
1
CANbus
Eng/Dis
«Block»
Engage/Disengage CC
«Block»
Toggle Button
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
18
Unit and Item Types


Unit types normally based on Real
SI Units and Dimensions defined in SysML appendix
bdd [Package] Vehicle [Definitions]
«Block»
Liquid
values
MFR : Mass Flow Rate [*]
Press : Pressure [*]
Temp : Temperature [*]
«ValueType»
Temperature
unit
DegreeCelsius
«ValueType»
Pressure
unit
Pascal
«Block»
Fuel
values
MFR : Mass Flow Rate [*]
Press : Pressure [*]
Temp : Temperature [*]
«FlowSpecification»
FPump-ICEng
flowPropertyList
out FuelReturn : Fuel
in FuelSupply : Fuel
«FlowSpecification»
TorqueSpec
flowPropertyList
in TorqueIn : Torque
out TorqueOut : Torque
«ValueType»
Force
unit
Newton
«ValueType»
Mass Flow Rate
unit
KilogramPerSecond
«Unit»
KilogramPerSecond
«Unit»
RevolutionsPerMinute
«ValueType»
CAN
«ValueType»
Electric Power
unit
«ValueType»
Speed
Watt
dimension
Velocity
unit
MeterPerSecond
«ValueType»
Electrical Signal
«ValueType»
RPM
dimension
Rotational Speed
unit
RevolutionsPerMinute
«ValueType»
Torque
unit
NewtonMetre
«Unit»
NewtonMetre
«ValueType»
Analogue
dimension
ElectricCurrentRange
operations
Send ()
unit
Ampere
«ValueType»
Digital
dimension
ElectricPotentialDifference
operations
Send ()
unit
Volt
«Dimension»
Rotational Speed
«Dimension»
ElectricCurrentRange
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
19
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
20
IBD for Vehicle
ibd [Block] Automotive Domain
«Block»
Automotive Domain
«BlockProperty»
Veh : Vehicle
Driver
Maintainer
Passenger
«BlockProperty»
Env : Environment
«BlockProperty»
Cargo : Baggage

Non-Atomic Ports



I/O is specified using FlowSpecification
FlowSpecification consists of properties
stereotyped «FlowProperty»
isConjugate promotes reuse of
flowSpecifications
«BlockProperty»
Wthr : Weather
«BlockProperty»
Sat : Satellite
«BlockProperty»
Rd : Road
«BlockProperty»
FO : Foreign Object

Atomic FlowPorts


In this case the port is directly typed by
the item type (Block or ValueType)
Direction property specify the direction
of flow
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
21
IBD for Vehicle
ibd [Block] Vehicle [High Level Systems]
«Block»
Vehicle
«BlockProperty»
SteerSys : Steering
Subsystem
«BlockProperty»
BodySys : Body
Subsystem
«BlockProperty»
InteriorSys : Interior
Subsystem
Body-Interior
Body-Chassis
Interior-Lighting
Steer-Chassis
Body-Lighting
«BlockProperty»
ChasSys : Chassis
Subsystem
Chassis-Brake
«BlockProperty»
BrakeSys : Brake
Subsystem
Brake-Lighting
«BlockProperty»
LightSys : Lighting
Subsystem
Interior-Elec
Brake-CC System
Elec-Lighting
Power-Chassis
Power-CC System
«BlockProperty»
PowSys : Power
Subsystem

Non-Atomic Ports



«BlockProperty»
CC Sys : Cruise Control
System
CCSystem-Elec
«BlockProperty»
ElecSys : Electrical
Subsystem
Power-Elec

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
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
22
IBD for Vehicle
ibd [Block] Vehicle [Driver Interface Connections]
«Block»
Vehicle
CCIF : RS232
EMU : EMU Message
EMUIF : RS232
Set Throttle : AnalogueMessage
«BlockProperty»
PowSys : Power Subsystem
CCIF : Analogue
«BlockProperty»
CC Sys : Cruise Control
System
TransmIF : Analogue
BrakeIF : Digital
«ItemFlow»
Gear : Analogue
«ItemFlow»
BrakeEngaged : Digital
GearShiftIF : Force
AccelIF : Force
CCIF : Digital
«ItemFlow»
Select : Force
TransmIF : Force
«BlockProperty»
GearSel : Gear Selector
«ItemFlow»
Accel : Force
«BlockProperty»
BrakeSys : Brake Subsystem
ThrotIF : Force
«BlockProperty»
BrkPed : Brake Pedal
«BlockProperty»
AccPedal : Accelerator
Pedal
Driver
Driver

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
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
23
Internal Block Diagram for CC
ibd [Block] Cruise Control System [connections]

«block»
Cruise Control System
«part»
CCIO : Cruise Control IO

«part»
CCUnit : Cruise Control Unit
«part»
CC Disp : CC Display
Panel
«part»
Eng/Dis :
Engage/Disengage CC
Driver
CCIF : RS232
«part»
«board»
CCUmb : CC
Motherboard
CCIF : Digital
«part»
Sus/Res :
Suspend/Resume CC CCIF : Digital
«ItemFlow»
Press : Digital

«part»
«multidropBus»
CANbus : CAN
CANIF
EngDisIF
CCDispIF
«part»
Set : Set Speed
«part»
Inc : Inc Speed
«ItemFlow»
Press : Digital
CCIF : Digital
«ItemFlow»
Press : Digital
«ItemFlow»
CCIF : Digital
Press : Digital
SetIF
CCIF : Digital
«ItemFlow»
Press : Digital
DecIF
BrakeIF : Digital
«ItemFlow»
Gear : Analogue
TransmIF : Analogue
Standard Ports

«ItemFlow»
Brake Engaged : Digital
SusResIF
TransmIF : Analogue
«part»
«board»
CCUio : CC IO Card
Supports integration of
behavior and structure
Port types

BrakeIF : Digital
IncIF
«part»
Dec : Dec Speed

Power : Electric Power
CANIF
Speed : Speed
Shows parts (structural
children) …
… and ports (interaction
points on blocks and parts)


Flow Ports

: EMU Message
EMUIF : RS232
EMUIF : RS232
: AnalogueMessage
Specify a set of operations
and/or signals
Typed by a UML interface

Specify what can flow in or
out of block/part
Typed by a flow
specification
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
24
Avionics - Topology of
Processing Elements
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
25
Avionics - Internals of a
Processing Element
Avionics System
N1 : Processing Element
CPU : CPU Card
24v
Memory : Memory
uProcessor : PowerPC 750
Bootstrap : NVM
Application : RAM
Backplane : PCI Bus
UART1
C3910 : STANAG 3910 I/F Card
C1553B : MILSTD 1553B I/F Card
CSerial : Serial I/F Card
UART2
UART3
I/O : STANAG 3190 Connector
I/O : MILSTD 1553B Connector
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
26
Parametrics

Used to express constraints (equations) between
value properties


Constraint block captures equations



Provides support to engineering analysis (e.g.
performance, reliability, etc)
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
withSoftware
Design
Copyright
© 1998-2008 ARTiSAN
Tools Ltd. Models
All Rights Reserved
27
Vehicle Parametrics BDD



BDDs can show parametric definitions
Parameter compartment shows the constraint parameters
Constraint compartment for the applied constraint
bdd [Package] Parametrics
«constraint»
Straight Line Vehicle Dynamics
«block»
Vehicle
constraints
{}
AccEq : Acceleration Equation
BrkFrceEq : Braking Force Equation
DistEq : Distance Equation
1
VelEq : Velocity Equation
parameters
Bf : Force
m : Mass
Posn : Position
tf : Friction
tl : Duty Cycle
1
values
Mass : kg = 2000
Posn : Position
Power : W = 300
Param
1
1 BrkFrceEq
«constraint»
Braking Force Equation
constraints
{f = (tf * bf) * (1 - tl)}
parameters
bf : Force
f : Force
tf : Force
tl : Loss
{f = (tf * bf) * (1 - tl)}
«valueType»
Loss
«valueType»
Friction
1 AccEq
«constraint»
Acceleration Equation
constraints
{F = m * a}
parameters
a : Acceleration
F : Force
m : Mass
{F = m * a}
1 VelEq
«constraint»
Velocity Equation
constraints
{a = dv / dt}
parameters
a : Acceleration
t : Time
v : Velocity
{a = dv / dt}
1 DistEq
«constraint»
Distance Equation
constraints
{v = dx / dt}
parameters
t : Time
v : Velocity
x : Position
{v = dx / dt}
«valueType»
Mass
«valueType»
Time
«valueType»
Position
«valueType»
Acceleration
«valueType»
Duty Cycle
«valueType»
Velocity
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
28
Parametric Diagram

par [block] Vehicle [1]
Vehicle.BrakeSys.Rtr.BrakingForce
: Force
Vehicle.BrakeSys.ABS.Duty Cycle :
Duty Cycle
Vehicle.Param : Straight Line
Vehicle Dynamics
Bf

m
tl
Vehicle.Mass : kg

tf
Vehicle.ChasSys.RFTire.Frctn :
Friction
Posn
Small boxes
represent
parameters and
bound
properties
Boxes on left
represent item
flows
Constraint can
be in
compartment
or in attached
note
Vehicle.Posn : Position
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
29
Parametric Diagram
par [constraint] Straight Line Vehicle Dynamics [1]

Bf
Straight Line Vehicle
Dynamics.AccEq : Acceleration
Equation
Straight Line Vehicle
Dynamics.BrkFrceEq : Braking
Force Equation
tf
bf
constraints
{f = (tf * bf) * (1 - tl)}
tf
constraints
{F = m * a}
a
m
F
f
tl
m

tl

Straight Line Vehicle
Dynamics.VelEq : Velocity
Equation
Straight Line Vehicle
Dynamics.DistEq : Distance
Equation
constraints
{a = dv / dt}
constraints
{v = dx / dt}
t
t
v
v
a
Small boxes
represent
parameters and
bound
properties
Boxes on left
represent item
flows
Constraint can
be in
compartment
or in attached
note
x
Posn
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
30
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
31
Allocation to SW/HW
«part»
CCUnit : Cruise Control Unit
Control
bdd [Package] CC System Software
«Block»
«control»
Control
«part»
«board»
CCUmb : CC
Motherboard
allocatedFrom
Error
Maintain Speed
Operate Cruise Control
Power Off
Power On
Calculate Throttle Position
allocatedTo
CC Motherboard
Control
CANIF
«part»
«multidropBus»
CANbus : CAN
1
1
CANIF
CCCtrl
«Block»
Cruise Control System
EngDisIF
CCDispIF
1
BrakeIF : Digital
1
«ItemFlow»
Gear : Analogue
SusResIF
TransmIF : Analogue
«part»
«board»
CCUio : CC IO Card
: EMU Message
SetIF
IncIF
DecIF
EMUIF : RS232
: AnalogueMessage
Perst
1
«Block»
«entity»
Persistence
allocatedFrom
Log Error ()
Load Acceleration Profile ()
allocatedTo
CC Motherboard
Persistence Support
«Block»
«boundary»
Interface
allocatedFrom
Decrement ()
1
Disengage ()
CCIF Display Speed ()
EMU Message ()
Engage ()
Engage Brake ()
Increment ()
Resume ()
Set Speed ()
Shift ()
Suspend ()
allocatedTo
CC Motherboard
External Interface
«control»
cThrottle Controller
Alg_Derivative
Alg_Integral
Alg_Proportional
ThrottlePosition
SpeedValue
NormalisedSpeedValue
SetSpeedValue ()
Reset ()
SetNormalisedSpeedValue ()
BrakeEngaged ()
GearShift ()
Suspend ()
Resume ()
1
Provides Speed
1
1
1
Sets Throttle Position
1
1
1
Stops Cruise Control
External Interface
cSpeedMonitor
CalibrationFactor
RawSpeed
SetRawSpeed ()
1
CalcNormalisedSpeed ()
Provides Readings
Driver Input
1
1
«boundary»
eBrakePedalMonitor
«boundary»
eEMUIF
1
ThrottlePosition
Set_Throttle ()
«boundary»
eCruiseControlPanel
1
SpeedSetPoint
Switch_Pressed ()
Set_Speed ()
«boundary»
eTransmissionMonitor
Profiles
Persistence Support
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
1
pAccelerationProfile
Calibrates
1
pCalibration Manager
WheelCircumference
32
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd
ibd [block]
[block] Anti-LockController
Anti-LockController
[Internal
[Internal Block
Block Diagram]
Diagram]
satisfies
satisfies
«requirement»
«requirement»
Anti-Lock
Anti-Lock
Performance
Performance
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
d1:TractionDetector
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
allocatedFrom
«activity»DetectLos
«activity»DetectLos
d1:Traction
OfTraction
Of Traction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
allocatedFrom
«activity»Modulate
«activity»Modulate
BrakingForce
BrakingForce
allocatedFrom
allocatedFrom
«ObjectNode»
«ObjectNode»
TractionLoss:
TractionLoss:
TractionLoss:
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
Modulate
Modulate
BrakingForce
BrakingForce
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
v.brake.rotor.
BrakingForce:
v.Weight:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
Braking Subsystem
Specification
«requirement»
StoppingDistance
«requirement»
Anti-LockPerformance
id=“102”
text=”The vehicle shall stop
from 60 mph within 150 ft
on a clean dry surface.”
id=”337"
text=”Braking subsystem
shall prevent wheel lockup
under all braking conditions.”
SatisfiedBy
VerifiedBy
«block»Anti-LockController
«interaction»MinimumStopp
«deriveReqt»
ingDistance
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
«deriveReqt»
v.Position:
Copyright © 1998-2008 ARTiSAN Software Tools Ltd.
3. Requirements
All Rights Reserved
4. Parametrics
33
Integration With MARTE
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
34
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
35
Questions?
Copyright © 1998-2008 ARTiSAN Software Tools Ltd. All Rights Reserved
36