Professional Documents
Culture Documents
(OMG SysML)
Tutorial
September, 2009
Sanford Friedenthal
Alan Moore
Rick Steiner
(emails included in references at end)
Intended Audience:
Practicing Systems Engineers interested in system modeling
Software Engineers who want to better understand how to
integrate software and system models
Familiarity with UML is not required, but it helps
Class Exercise
Interface
requirements
System design
Test plans
Mass
Properties
Model
Structural
Model
Safety
Model
Cost
Engine Transmission Transaxle Model
Boundaries
MCE (CRC)
MCE (CRC)
AWACS
LINK 16
LINK 16
AMDPCS
FAAD C3I
LINK 16
LINK 16
Patriot ICC
E-2C
AWACS F/A-18
RIVET JOINT
MCE
F-15C
ABMOC Subsystem
Operator Interface Voice Comm
SIAP
Power
Hardware Hardware includes
Operational Models
Power Generation
and Distribution MSE
ACDS (CVN)
Power
Data Processing Power
Terminal Power TCIM
JTIDS
Hardware
Terminal
11
Correlate Track
Correlated Track
Files
12
Manage BMDS
BMDS Track
JDN Track File Data
Correlation S/W Network Interface Track Management Module Correlation Module Track File HIC
Module Module 13
Request
Attempt to
System Models
Track Data Correlate with Track Data Possible
Network BMDS Track
BMDS Track
File Matches
Interface S/W Network Track MSG Track File Request
Correlating TracksMonitor
BMDS Track Display Correlation Receiving Network Track File
Process Data
On entry / match state vectors
BMDS Track Data Do / corr state vectors
Do / corr LPE On entry / receive file data
<TITLE>System Design<TITLE>
Do / corr PIP Do / store track data
Track MSG Data Send BMDS Do / corr RCS On exit / request matching data
Track Data to Do / corr CID
JDN On exit / corr BMDS Track #
Prepared Track MSG
<SCRIPT src="/virtual/2000/code
Receiving BMDS Track File
Data
<SCRIPT language="javascript"
Track Mangement Module
HIC
/current tracks
1..* /associated track data
manages
/CID data
uses 1..*
assign CID () 1..*
JDN recommend CID ()
1..* retrieve track file data ()
display track file data ()
communicates with ABMOC Subsystem
1
Operator Interface Voice Comm
Power
0..* Hardware Power Generation Hardware includes
interface for
1 <<entity>> and Distribution MSE
1 1
Track File
Correlation Module
Power
<<interface>>
Track Number Network Interface Module Data Processing Power
CID 0..* algorithm
Terminal Power TCIM
/State Vector buffer capacity /tracks to be correlated JTIDS
/Date-Time /msg data correlation data Hardware
decorrelation data Terminal
received from
send track data () receive msg ()
parse msg () correlate tracks ()
route msg data () decorrelate tracks () Software Power
build msg () retrieve track data ()
send msg () send track data () EPLRS or SINGARS Force Level
Terminal Control System
1
0..* Voice & TADIL-B Data
Power
Component Models
correlates PLGR (GPS)
<<entity>>
Network Track <<entity>>
Customer
BMDS Track Power
Software License
owning element Primary Key Client Call
<<derived>> /associated data Primary Key is subject to A2C2 Subsystem
owns
/history Customer_ID [PK1] Power
Received Date-Time
local track number
traces to Serial_Number [PK1] Primary Key Operator Interface Voice Comm
Non-Key Attributes Hardware
Serial_Number [PK1] [FK] Power
create () Customer_Name
Non-Key Attributes Power Generation Hardware includes
receive ()
store () update () Technical_Contact and Distribution MSE
destroy () Purchase_Contact
update ()
retrieve () Customer_Address
send () Power
createsData Processing
consists of Terminal TCIM
Voice & TADIL-B Data
Hardware Power
JTIDS
Software Release Terminal
Software
Tech Support System Entry
Primary Key
Version_Number [PK1] Primary Key
TSS_Entry_Number [PK1]
Non-Key Attributes EPLRS or SINGARS
Windows_Version Terminal
Power
TSS_Description
Force Level Power
Control System PLGR
(GPS)
Power
Status
Location is a currently has
Primary Key
Primary Key
Status [PK1]
Status [PK1] [FK]
Project
Managers
Vendors
Regulators Testers
UML 2
SysML
SysML
UML
extensions
reused by
to UML
SysML
(SysML
UML (UML4SysML)
Profile)
not required
by SysML
(UML - SysML Extensions
UML4SysML) -Blocks
-Item flows
-Value properties
-Allocations
-Requirements
-Parametrics
-Continuous flows
-
4/15/2008 Copyright 2006-2008 by Object Management Group. 15
SysML Diagram Taxonomy
SysML Diagram
Activity Sequence State Machine Use Case Block Definition Internal Block
Package Diagram
Diagram Diagram Diagram Diagram Diagram Diagram
activity/
sendSignal() function
modBrkFrc(traction_signal:boolean)
modBrkFrc()
definition use
sendAck()
3. Requirements
4/15/2008 4. Parametrics
Copyright 2006-2008 by Object Management Group. 17
SysML Diagram Frames
Each SysML diagram represents a model element
Each SysML Diagram must have a Diagram Frame
Diagram context is indicated in the header:
Diagram kind (act, bdd, ibd, sd, etc.)
Model element type (package, block, activity, etc.)
Model element name
User defined diagram name or view name
A separate diagram description block is used to indicate if the
diagram is complete, or has elements elided Diagram Description
Version:
Description:
diagram usage
diagramKind [modelElementType] modelElementName [diagramName]
Contents
4/15/2008 Copyright 2006-2008 by Object Management Group. 18
Structural Diagrams
SysML Diagram
Activity Sequence State Machine Use Case Block Definition Internal Block
Package Diagram
Diagram Diagram Diagram Diagram Diagram Diagram
Architecture
Use Cases Enterprise
Team
Requirements
Requirements System
Team
Physical
Structure IPT B
Design
Definition Usage
Block is a definition/type Part is the usage of a block
in the context of a
Captures properties, etc.
composing block
Reused in multiple contexts
Also known as a role
Enclosing
Block
Connector
Item Flow
Port Part
S1 is a reference part*
Shown in dashed outline box
provided interface
(provides the operations)
Standard
Port part1: part2:
required interface
(calls the operations)
Flow Port
preserve encapsulation of
block (black box vs white box) Child1:
SysML Diagram
Activity Sequence State Machine Use Case Block Definition Internal Block
Package Diagram
Diagram Diagram Diagram Diagram Diagram Diagram
Output
Input Action
out1
in1 a2
a1 out1
in1
out1
[x>0] [x<=0]
in2
Input
in1 in1
a3 a4
in1
out1
a5
out2
Control Input
Control Output
action2
input2 output2
Control Input
Control Output
Starting an action:
An action starts when a token is placed on all of its control inputs and all of its required inputs
(must meet minimum multiplicity of its input pins) and the previous invoked activity has
completed
An action invokes an activity when it starts, and passes the tokens from its input pins to the
input parameter nodes of the invoked activity
During an execution:
An action continues to accept streaming inputs and produce streaming outputs
Terminating an action:
An action terminates when its invoked activity reaches an activity final, or when the action
receives a control disable, or as a side affect of other behaviors of the parent activity
The tokens on the output parameter nodes of the activity are placed on the output pins of the
action and a control token is placed on each of the control outputs of the action
action2
input2 output2
action 4 output3
out1
optional
[x>1]
in1 [else]
<<optional>> {stream}
[y>0] <<optional>>
input1
action 1 output1
{stream} action 2
optional optional out1
{stream}
in1 {stream}
in2 out1
{stream}
{stream} optional
in1
input2 [else] {stream}
action 3 output2
out1
Turn Key
to On :Driving Turn Key
to Off
Brake Pressure
continuous
continuous continuous
Brake Pressure Braking Pressure
:Braking controlOperator
:Enable on Brake
Pressure > 0
Modulation
Frequency
continuous
optional
continuous
Modulation
Frequency
:Monitor Traction {control}
Pins ObjectNode
4/15/2008 Copyright 2006-2008 by Object Management Group. 46
Explicit Allocation of Behavior to
Structure Using Swimlanes
act [Activity] Prevent Lockup [ Actions ]
<<allocate>> <<allocate>>
d1 : Traction Detector m1 : Brake Modulator
p2 : TractLoss
Braking Force
allocatedTo
<<connector>> c2 :
bdd [Pa ck age] Beh avior [ Beh avior De comp ] act [Activity] Prevent Lockup [ Actions ]
a1 a2 p1 : TractLoss
<< activity> > << activity> > a1 : Detect Loss of a2 : Modulate
of1
Traction Braking Force
De tect Modulate
Los s of Braki ng p2 : TractLoss
Tra ction For ce
p1 p2
<<block >>
Tra ctLoss
Definition Use
optional
2.2 Multi-exit
Item 1
Function
{cc#2}
Item 2
Item 3
optional
2.6 Output
Function
2.3 Function in
Concurrency optional
Item 4
ref
StartVehicleBlackBox
par
ref
Idle
[state = (accelerating/cruising)]
ref
Accelerate/Cruise
[state = (braking)]
ref
Brake
ref
Steer
ref
Park/ShutdownVehicle
sd StartVehicleBlackBox
vehicle:HybridSUV
driver:Driver ref StartVehicleWhiteBox
turnIgnitionToStart
1: StartVehicle
References Lifeline
Decomposition
For White Box
Interaction
ecu:PowerControlUnit epc:ElectricalPowerController
1: StartVehicle
1.1: Enable
1.2:ready
0.3
0.25
0.2
0.15
Lifeline are
0.1
0.05
0
0 5 10 15 20
value properties
Time (sec)
140
120
100
Velocity (mph)
80
60
40
20
0
0 5 10 15 20
Time (sec)
1800
1600
1000
800
Part of SysML
600
400
200
0
0 5 10 15 20
Time (sec)
Off keyOff/
Operate
Idle
Transition notation:
trigger[guard]/action
accelerate/
when (speed = 0)
releaseBrake/
Accelerating/
Braking
Cruising
engageBrake/
HybridSUV
Flat_Tire
extend
Accelerate
Drive_The_Vehi include
cle
Driver include
Steer
include
Activity Sequence State Machine Use Case Block Definition Internal Block
Package Diagram
Diagram Diagram Diagram Diagram Diagram Diagram
block
Block Name block
Block Name allocatedFrom
elementTypeElement Name
part name
part name
allocatedFrom
elementType ElementName
node
SF Residence Installation
* 2
hardware hardware
hardware
: Optical Sensor : Alarm
: Video Camera
hardware
: Site Processor
hardware
allocatedFrom : NW Hub hardware
software Device Mgr : DSL Modem
allocatedFrom
software Event Mgr
software SF Comm I/F
software Site Config Mgr
software Site RDBMS
software Site Status Mgr
software User I/F 2
software User Valid Mgr hardware
: DVD-ROM Drive
allocatedFrom
data Video File
hardware
hardware : User Console
: Site Hard Disk
allocatedFrom
data Site Database
HSUVSpecification
RefinedBy
useCase HSUVUseCases::Accelerate
requirement requirement
Eco-Friendliness Performance
requirement
Power
deriveReqt
requirement
Emissions
Id = R1.2.1 VerifiedBy SatisfiedBy
text = The vehicle shall meet Ultra-Low testCase MaxAcceleration block PowerSubsystem
Emissions Vehicle standards.
Supplier
deriveReqt
deriveReqt deriveReqt
Client
requirement
Client depends on supplier Power
from OMG
block
requirement Brake System
Loss of Fluid
satisfy
m:MasterCylinder
requirement
Reservoir
satisfy
rationale problem
The best-practice solution consists in The master cylinder in previous
assigning one reservoir per brakeline. version leaked.
See "automotive_d32_hdb.doc"
metaclass
NamedElement
configurationItem
Engine
author=John Doe
version=1.2"
stereotype lastChanged=Dec12, 2005
ConfigurationItem
author: String
version: String
lastChanged: Date
profile
SysML
apply {strict}
apply
{strict}
modelLibrary import
HSUVModel
SI Definitions
satisfy
3.
4/15/2008 Requirements 4. Parametrics
Copyright 2006-2008 by Object Management Group. 72
SysML Modeling
as Part of the SE Process
Distiller Sample Problem
Refer to Chapter 15
A Practical Guide to SysML
Distiller Problem Statement
Batch
Distiller
Continuous
Distiller
Note: Not all aspects of the distiller are modeled in the example
4/15/2008 Copyright 2006-2008 by Object Management Group. 76
Distiller Problem Process Used
id name text
S0.0 OriginalStatement Describe a system for purifying dirty water.
S1.0 PurifyWater The system shall purify dirty water.
S2.0 HeatExchanger Heat dirty water and condense steam are performed by a
S3.0 Boiler Boil dirty water is performed by a Boiler.
S4.0 Drain Drain residue is performed by a Drain.
S5.0 WaterProperties water has properties: density 1 gm/cm3, temp 20 deg C,
S5.1 WaterInitialTemp water has an initial temp 20 deg C
Energy to Pure
Dirty water Dirty water condense water
Steam
@ 20 deg C @ 100 deg C
Condense
steam
Heat Dirty water Boil Dirty water and
and
To 100 deg C
Drain
Residue
Residue
Heat to Dirty Disposed
water Heat to Boil residue
water
effbd
act [activity] DistillWater [Simple Starting Point)
pure:H2O
recovered:Heat [liquid]
steam:H2O
[gas]
coldDirty:H2O
[liquid]
hotDirty:H2O
[liquid]
a3:CondenseSteam
a1:HeatWater a2:BoilWater
a4:DrainResidue
predischarge :Residue
Need to
consider
phases
of H20
Continuous
Distiller
Batch Distiller Here
Parts
Allocated ibd
4/15/2008 Copyright 2006-2008 by Object Management Group. 87
Distiller Example Block Definition
Diagram: DistillerStructure
<<block>>
Distiller
ibd
Satisfies requirement
WaterHeatOfVaporization
main3 : H2O
main4 : H2O
main1 : H2O
Satisfies requirement
WaterInitialTemp 1. Set these
mass flow rate gm/sec 6.8 6.8 1 1 1
(steady
temp C 20 100 100 100 100 state)
dQ/dt cooling water cal/sec 540
Note: Cooling water
2. Solve for
dQ/dt steam-condensate cal/sec
condenser efficency
540
1
needs to have 6.75x
flow of steam!
these
Need bypass between
heat deficit 0
hx_water_out and
bx_water_in!
dQ/dt condensate-steam cal/sec 540
boiler efficiency 1
dQ/dt in boiler cal/sec 540
3: Operating Lamp On
loop
[while state=Operating]
alt
[level=high]
4: High Level Lamp On
[level=low]
5: Low Level Lamp On
[state=draining residue]
6: Draining Lamp On
7: Turn Off
m2.1 : H2O
feed : Valve
main1 : H2O main2 : H2O sludge2 : Residue
sludge1 : Residue
v : V Ctrl
m2.1 : H2O
iPanel iPanel
Filling Operating
do /open feed : Valve do /bx heater on
[bx1 level high] Draining
[bx1 level low]
do /open drain : Valve
Warming Up [NOT bx1 level low] [NOT bx1 level high] Cooling Off
do /bx1 heater on entry / bx1 heater OFF
do /open feed : Valve, open drain : Valve
Building Up Residue [residue timer] Purging Residue
do /close drain : Valve [drain timer] do /open drain : Valve
Refer to Chapter 16
A Practical Guide to SysML
System Development Process
Status
Test procedures
Technical data Define System Integrate
Reqt's & & Test System
Design System arch System
Allocated reqt's
System
Modeling Procedures Verified
Activities Data System
Hardware Component
Software
Develop
Component System
Modeling Components
Activities
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 100
System Modeling Activities OOSEM
Integrating MBSE into the SE Process
Common Subactivities
4/15/2008 CopyrightCopyright 2006-2008
Lockheed by Object2000
Martin Corporation Management
2003 & Group.
INCOSE 2004-2006 101
Enhanced Security System Example
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 102
ESS Requirements Flowdown
trace
requirement
IntruderDetection requirement
R111
id# = SS102
txt = System shall id# = SS111
deriveReqt
detect intruder entry satisfy
and exit ...
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 103
Operational View Depiction
Comm Network
Residence
Dispatcher Intruder
Police
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 104
ESS Enterprise As-Is Model
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 105
ESS Operational Enterprise To-Be
Model
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 106
System Use Cases - Operate
Activate/Dea-
ctivate
include Operate
include extend
Respond
Monitor Site
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 107
System Scenario: Activity Diagram
Monitor Site (Break-In)
act Monitor Site (break in)
actor system external
Intruder ESS Emergency Services
System On
Enter Property
Status Update System Off
DetectEntry
ValidateEntry
Validated Entry
Conduct Theft
[Alert]
GenerateAlarm ReportEntry
InternalMonitor
[Alert]
DetectExit
ReportExit
[Alert]
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 108
ESS Elaborated Context Diagram
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 109
ESS Logical Decomposition (Partial)
act detectEntry
subsystem
entry/exit subsystem
logical logical logical
Entry Sensor Entry/Exit Monitor Event Monitor
continuous
Door Input
[Else]
store
Event Log
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 113
ESS Logical Design (Partial)
ibd [system] ESS
: AlarmSignal
logical
: Window Input
: Alarm Generator
logical
: Entry Sensor
: SensedEntry
: Door Input
: AlarmCmd
: BIT logical
: Entry/Exit Monitor : Alert Status
logical
: Alarm I/F
: BIT
: Fault
: FaultReport : Lamp
logical logical logical
: Environment Sensor : Customer Output Mgr : Customer I/F
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 114
ESS Allocation Table (partial)
Allocating Logical Components to HW, SW, Data, and Procedures
components
Logical Components
Entry Perimeter Entry/Exit Event Site Customer Customer System Alarm
Type Sensor Exit Sensor Sensor Monitor Monitor Comms I/F Event Log I/F Output Mgr Status Fault Mgr Generator Alarm I/F
Site RDBMS X X
CMS RDBMS X
data Video File X
CMS Database X
Site Database X X
hardware Optical Sensor X X
DSL Modem X
User Console X
Video Camera X
Alarm X
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 115
ESS Deployment View
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 116
ESS Parametric Diagram
To Support Trade-off Analysis
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 117
Entry/Exit Test Case
seq seq
Intruder enters through front Enter
door
Door sensor detects entry : SensedEntry
New alert status sent to central IntruderEntry :
system Alert Status
Intruder leaves through lounge Exit
window
Window sensor detects exit : SensedExit
Changed alert status sent to Intruder Exit :
central system Alert Status
4/15/2008 Copyright
Copyright 2006-2008
Lockheed by Object Management
Martin Corporation 2000 2003Group.
& INCOSE 2004-2006 118
OOSEM Browser View
Artisan Studio Example
Process
Standards EIA 632 ISO 15288 IEEE 1220 CMMI
Architecture
FEAF DoDAF MODAF Zachman FW
Frameworks
Modeling
Methods
HP OOSE SADT Other
Modeling &
IDEF0 SysML MARTE HLA MathML
Simulation
Standards System Modeling Simulation & Analysis
Interchange &
Metamodeling MOF XMI STEP/AP233
Standards
AP233/XMI
.....
.....
..... -
-
-
-
AP233/XMI
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Artisan (Studio)
EmbeddedPlus (SysML Toolkit)
3rd party IBM vendor
No Magic (Magic Draw)
Sparx Systems (Enterprise Architect)
IBM (Tau and Rhapsody)
TopCased
Visio SysML template
Project Management
Engineering Analysis
System Modeling
SysML
CM/DM
PAPERS
Integrating Models and Simulations of Continous Dynamics into SysML
Thomas Johnson, Christiaan Paredis, Roger Burkhart, Jan 2008
Simulation-Based Design Using SysML - Part 1: A Parametrics Primer
RS Peak, RM Burkhart, SA Friedenthal, MW Wilson, M Bajaj, I Kim
Simulation-Based Design Using SysML - Part 2: Celebrating Diversity by Example
RS Peak, RM Burkhart, SA Friedenthal, MW Wilson, M Bajaj, I Kim
SysML and UML 2.0 Support for Activity Modeling,
Bock. C., vol. 9 no.2, pp. 160-186, Journal of International Council of Systems Engineering, 2006.
The Systems Modeling Language,
Matthew Hause, Alan Moore, June ' 2006.
An Overview of the Systems Modellng Language for Products and Systems Development,
Laurent Balmelli, Oct ' 2006.
Model-driven systems development,
L. Balmelli, D. Brown, M. Cantor, M. Mott, July ' 2006.
TUTORIAL AUTHORS
Sanford Friedenthal (sanford.friedenthal@lmco.com)
Alan Moore (alan.moore@mathworks.co.uk)
Rick Steiner (fsteiner@raytheon.com)
4/15/2008 Copyright 2006-2008 by Object Management Group. 131
Class Exercise
Dishwasher Example
Sample Artifacts
Primary
Requirement diagram dishwasher spec
Block definition diagram top level
Internal block diagram dishwasher black box
Use case diagram
Activity diagram black box scenario
Block definition diagram input/output definitions
Block definition diagram dishwasher hierarchy
Internal block diagram dishwasher white box
Activity diagram white box scenario
Requirement diagram - traceability
Optional
Parametric diagram
State machine diagram
Sequence diagram
4/15/2008 Copyright 2006-2008 by Object Management Group. 132