OMG Systems Modeling Language (OMG SysML™) Tutorial

Transcription

OMG Systems Modeling Language (OMG SysML™) Tutorial
OMG Systems Modeling Language
(OMG SysML™)
Tutorial
11 July 2006
Sanford Friedenthal
Alan Moore
Rick Steiner
Copyright © 2006 by Object Management Group.
Published and used by INCOSE and affiliated societies with permission.
Caveat
• This material is based on version 1.0 of the SysML
specification (ad-06-03-01)
– Adopted by OMG in May ’06
– Going through finalization process
• OMG SysML Website
– http://www.omgsysml.org/
11 July 2006
Copyright © 2006 by Object Management Group.
2
Objectives & Intended Audience
At the end of this tutorial, you should understand the:
•
Benefits of model driven approaches to systems engineering
•
Types of SysML diagrams and their basic constructs
•
Cross-cutting principles for relating elements across diagrams
•
Relationship between SysML and other Standards
•
High-level process for transitioning to SysML
This course is not intended to make you a systems modeler!
You must use the language.
Intended Audience:
•
Practicing Systems Engineers interested in system modeling
–
–
•
•
Already familiar with system modeling & tools, or
Want to learn about systems modeling
Software Engineers who want to express systems concepts
Familiarity with UML is not required, but it will help
11 July 2006
Copyright © 2006 by Object Management Group.
3
Topics
• Motivation & Background (30)
• Diagram Overview (135)
• SysML Modeling as Part of SE Process (120)
– Structured Analysis – Distiller Example
– OOSEM – Enhanced Security System Example
• SysML in a Standards Framework (20)
• Transitioning to SysML (10)
• Summary (15)
11 July 2006
Copyright © 2006 by Object Management Group.
4
Motivation & Background
SE Practices for Describing Systems
Past
•
Specifications
•
Interface
requirements
•
System design
•
Analysis & Trade-off
•
Test plans
Future
Moving from Document centric to Model centric
11 July 2006
Copyright © 2006 by Object Management Group.
6
System Modeling
Requirements
Start
Engine
Shift
Accelerate
Transmission
Brake
Transaxle
Control
Input
Power
Equations
Vehicle
Dynamics
Mass
Properties
Model
Structural
Model
Safety
Model
Cost
Model
Integrated System Model Must Address Multiple Aspects of a System
11 July 2006
Copyright © 2006 by Object Management Group.
7
Model Based Systems Engineering
Benefits
•
•
•
•
•
•
Improved communications
Assists in managing complex system development
– Separation of concerns
– Hierarchical modeling
– Facilitates impact analysis of requirements and design changes
– Supports incremental development & evolutionary acquisition
Improved design quality
– Reduced errors and ambiguity
– More complete representation
Early and on-going verification & validation to reduce risk
Other life cycle support (e.g., training)
Enhanced knowledge capture
11 July 2006
Copyright © 2006 by Object Management Group.
8
System-of-Systems
Interactions
Boundaries
Modeling Needed to Manage System Complexity
11 July 2006
Copyright © 2006 by Object Management Group.
9
Modeling at Multiple Levels
of the System
MCE (CRC)
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
Hardware
SIAP
Power Generation
and Distribution
ACDS (CVN)
Voice Comm
Hardware includes
MSE
Power
Operational Models
Power
Data Processing
Terminal
Hardware
DDG-51 AEGIS Destroyer
Power
Power
JTIDS
Terminal
TCIM
Power
Software
CG
EPLRS or SINGARS
Terminal
TAOM
PLGR (GPS)
Force Level
Control System
Voice & TADIL-B Data
Power
Power
Patriot ICC
A2C2 Subsystem
Operator Interface
Power
Hardware
AMDPCS
Power
Power Generation
and Distribution
Voice Comm
Hardware includes
MSE
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
CEC Information Exchange Requirements - Classified SECRET when filled in
3
4
5
6
7
Sending Receiving
Information Characterization
Critical Format
Node
Node
Radar measurements to
support data fusion composite Host
CEP
Yes
Binary IAW IDD
tracking
IFF measurements to support
data fusion and composite
Host
CEP
Yes
Binary IAW IDD
tracking
IFF interrogation requests to
support data fusion and
Host
CEP
Yes
Binary IAW IDD
composite tracking
ID Changes to support data
Host
CEP
Yes
Binary IAW IDD
fusion and composite tracking
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
Navigation data to support data
Host
fusion and composite tracking
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
Power
Data Processing
Terminal
Hardware
FAAD C3I
1
EPLRS or SINGARS
Terminal
Power
Rationale/UJTL Number
Event/Action
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
OP 5.1.1 Comm Op Info
Provide SA/Support
Engagements
Power
JTIDS
Terminal
Software
2
TCIM
Voice & TADIL-B Data
Power
Force Level
Control System
PLGR
(GPS)
Power
Network Plan
CID Criteria
OP 5.1.1 Comm Op Info
Network
Network Track Data Receive Network Track Data
Track File
11
Correlate Track
Files
Correlation S/W
Module
Manage BMDS
Track File Data
Network Interface
Module
10
11
Message
Remarks
Error Rate
REF: CEC A-spec
Table 3-3 and
Host reqmts
xx %
xx %
Secret xx secs/xx secs
xx %
Respond w hen
requested
Secret xx secs/xx secs
xx %
CEP
Yes
Binary IAW IDD Secret xx secs/xx secs
xx %
REF:CEC SRS and
Host Nav. spec
CEP
Yes
Binary IAW IDD Secret xx secs/xx secs
xx %
AEGIS only
Host-CEP CEP-Host
Yes
Binary IAW IDD Secret xx secs/xx secs
xx %
CEP
Host
Yes
Binary IAW IDD Secret xx secs/xx secs
xx %
CEP
Host
Yes
Binary IAW IDD Secret xx secs/xx secs
xx %
REF: CEC A-spec
Table 3-3. SPY
only
xx %
When assigned
or changed
xx %
When assigned
or changed
xx %
REF: CEC A-spec
Table 3-3. SPY
only
Host
CEP
CEP
Sensor cues to support data
CEP
fusion and composite tracking
Host
Host
Host
Yes
Yes
Yes
Binary IAW IDD Secret xx secs/xx secs
Binary IAW IDD Secret xx secs/xx secs
Binary IAW IDD Secret xx secs/xx secs
Changes sent
immediately
REF: CEC IDDs for
each host
BMDS Track
Track Management Module
Correlation Module
13
Track Data
Attempt to
Correlate with
BMDS Track
Track Data
Network Track MSG
HIC
Track Mangement S/W Module
9
Latency: SA/Eng
Support
Secret xx secs/xx secs
Correlated Track
12
JDN
Network
Interface S/W
Provide SA/Support
Engagements
Engagement Support Requests
to support data fusion and
composite tracking
Track number management to
support data fusion and
composite tracking
Composite Track State Update
to support data fusion and
composite tracking
Associated Measurement
Reports to support data fusion
and composite tracking
IFF Assignments to support
data fusion and composite
tracking
ID recommendations to
support data fusion and
composite tracking
8
Class
Secret xx secs/xx secs
BMDS Track Data
Verify CID,
Correlation, and
Assoicated Track
Data
Track File
Request
Possible
BMDS Track
File Matches
Track Data
Send Track
File Data
Correlate Tracks
BMDS Track Data
Session Activated
Update Track
File Data
yes
no
/ initialize
Complete ( Correlation
CreateCorrelation
New
Results
BMDS
Track ) [ set not null ] / Send Results
Idle
Network Track File Received ( File Data ) [ number tracks
> 0 ] / Input Network Track
Correlating TracksMonitor
Correlation
BMDS Track Display
Receiving Network Track File
Data
Process
On entry / match state vectors
Do / corr state vectors
Do / corr LPE
Do / corr PIP
Do / corr RCS
Do / corr CID
On exit / corr BMDS Track #
BMDS Track Data
Track MSG Data
System Models
Correlation Results
Correlation
Possible
Prepared Track MSG
HIC
Track File Request
Send BMDS
Track Data to
JDN
On entry / receive file data
Do / store track data
On exit / request matching data
corr fail / is new BMDS Track
corr success / is corr BMDS Track
BMDS Track File Data
Received ( File Data ) /
Correlate Tracks
Receiving BMDS Track File
Data
On entry / receive file data
Do / store track data
<TITLE>System Design<TITLE>
<META http-equiv="REFRESH"
<!--CSSDATA:966533483-->
<SCRIPT src="/virtual/2000/code
<LINK rel="stylesheet" href="/
<SCRIPT language="javascript"
BMDS Track File Request Sent ( Request
) / Pull BMDS Track Files
Track Mangement Module
1..*
manages
HIC
/current tracks
/associated track data
/CID data
assign CID ()
recommend CID ()
1..* retrieve track file data ()
display track file data ()
JDN
1..*
uses
1..*
communicates with
ABMOC Subsystem
1
0..*
1
1
1
buffer capacity
/msg data
algorithm
/tracks to be correlated
correlation data
decorrelation data
receive msg ()
parse msg ()
route msg data ()
build msg ()
send msg ()
correlate tracks ()
decorrelate tracks ()
retrieve track data ()
send track data ()
receive ()
store ()
update ()
send ()
Data Processing
Terminal
Hardware
<<derived>>
traces to
Primary Key
/associated data
/history Customer_ID [PK1]
Non-Key Attributes
create () Customer_Name
update ()
destroy () Purchase_Contact
retrieve () Customer_Address
PLGR (GPS)
owns
Software License
Primary Key
Serial_Number [PK1]
Non-Key Attributes
Technical_Contact
consists of
Software Release
Primary Key
Version_Number [PK1]
11 July 2006
is a
Status
Primary Key
Status [PK1]
TCIM
Power
Power
Force Level
Control System
Voice & TADIL-B Data
Power
is subject to
Client Call
Operator Interface
Primary Key
Power
Hardware
Serial_Number [PK1] [FK]
createsData Processing
Terminal
Hardware
Software
Tech Support System Entry
Primary Key
TSS_Entry_Number [PK1]
Non-Key Attributes
Windows_Version
Power
TSS_Description
Force Level
Control System
Location
Primary Key
Status [PK1] [FK]
Voice Comm
Hardware includes
MSE
Power
EPLRS or SINGARS
Terminal
correlates
<<entity>>
Customer
BMDS Track
Power
Power
JTIDS
Terminal
Software
1
0..*
<<entity>>
Network Track
Power Generation
and Distribution
Power
Correlation Module
<<interface>>
Network Interface Module
0..*
send track data ()
owning element
Received Date-Time
local track number
Operator Interface
Hardware
interface for
<<entity>>
Track File
Track Number
CID
/State Vector
/Date-Time
received from
A2C2 Subsystem
Power
Power Generation
and Distribution
Voice Comm
Hardware includes
MSE
Component Models
Power
Voice & TADIL-B Data
JTIDS
Terminal
TCIM
Power
EPLRS or SINGARS
Terminal
Power
PLGR
(GPS)
Power
currently has
Copyright © 2006 by Object Management Group.
10
Stakeholders Involved
in System Acquisition
Developers/
Integrators
Customers
Project
Managers
Vendors
Regulators
Testers
Modeling Needed to Improve Communications
11 July 2006
Copyright © 2006 by Object Management Group.
11
What is SysML?
•
A graphical modelling language in response to the UML for
Systems Engineering RFP developed by the OMG, INCOSE,
and AP233
– a UML Profile that represents a subset of UML 2 with
extensions
•
Supports the specification, analysis, design, verification, and
validation of systems that include hardware, software, data,
personnel, procedures, and facilities
•
Supports model and data interchange via XMI and the evolving
AP233 standard (in-process)
SysML is Critical Enabler for Model Driven SE
11 July 2006
Copyright © 2006 by Object Management Group.
12
What is SysML (cont.)
• Is a visual modeling language that provides
– Semantics = meaning
– Notation = representation of meaning
• Is not a methodology or a tool
– SysML is methodology and tool independent
11 July 2006
Copyright © 2006 by Object Management Group.
13
UML/SysML Status
• UML V2.0
– Updated version of UML that offers significant capability for
systems engineering over previous versions
– Finalized in 2005 (formal/05-07-04)
• UML for Systems Engineering (SE) RFP
– Established the requirements for a system modeling language
– Issued by the OMG in March 2003
• SysML
–
–
–
–
Industry Response to the UML for SE RFP
Addresses most of the requirements in the RFP
Version 1.0 adopted by OMG in May ’06 / In finalization
Being implemented by multiple tool vendors
11 July 2006
Copyright © 2006 by Object Management Group.
14
SysML Team Members
• Industry & Government
– American Systems, BAE SYSTEMS, Boeing, Deere &
Company, EADS-Astrium, Eurostep, Lockheed Martin,
Motorola, NIST, Northrop Grumman, oose.de, Raytheon,
THALES
• Vendors
– Artisan, EmbeddedPlus, Gentleware, IBM, I-Logix, Mentor
Graphics, PivotPoint Technology, Sparx Systems, Telelogic,
Vitech Corp
• Academia
– Georgia Institute of Technology
• Liaison Organizations
– INCOSE, ISO AP233 Working Group
11 July 2006
Copyright © 2006 by Object Management Group.
15
Diagram Overview
Relationship Between SysML and UML
UML 2
SysML
UML
not required
by SysML
(UML UML4SysML)
11 July 2006
UML
reused by
SysML
(UML4SysML)
SysML
extensions
to UML
(SysML
Profile)
Copyright © 2006 by Object Management Group.
17
SysML Diagram Taxonomy
SysML Diagram
Behavior
Diagram
Activity
Diagram
Sequence
Diagram
Requirement
Diagram
State Machine
Diagram
Use Case
Diagram
Structure
Diagram
Block Definition
Diagram
Same as UML 2
Internal Block
Diagram
Package Diagram
Parametric
Diagram
Modified from UML 2
New diagram type
11 July 2006
Copyright © 2006 by Object Management Group.
18
4 Pillars of SysML – ABS Example
1. Structure
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Traction
Detector
definition
«block»
Brake
Modulator
c1:modulator
interface
interaction
stm TireTraction [State Diagram]
m1:Brake
d1:Traction
Modulator
Detector
LossOfTraction
act PreventLockup [Activity
Diagram]
«block»
Library::Elec
tro-Hydraulic
Valve
«block»
Anti-Lock
Controller
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
d1:Traction
Detector
detTrkLos()Gripping
Slipping
RegainTraction
TractionLoss:
DetectLossOf
sendSignal()
Traction
modBrkFrc(traction_signal:boolean)
activity/
function
Modulate
BrakingForce
modBrkFrc()
m1:Brake
Modulator
use
state
machine
sendAck()
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
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.”
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
f:
:Accelleration
Equation
[F = ma]
F:
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
«deriveReqt»
x:
3. Requirements
11 July 2006
4. Parametrics
Copyright © 2006 by Object Management Group.
19
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, seq, etc.)
– Model element type (activity, block, interaction, etc.)
– Model element name
– Descriptive 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:
Completion status:
Reference:
(User-defined fields)
Header
«diagram usage»
diagramKind [modelElementType] modelElementName [diagramName]
Contents
11 July 2006
Copyright © 2006 by Object Management Group.
20
Structural Diagrams
SysML Diagram
Behavior
Diagram
Activity
Diagram
Sequence
Diagram
Requirement
Diagram
State Machine
Diagram
Use Case
Diagram
Structure
Diagram
Block Definition
Diagram
Same as UML 2
Internal Block
Diagram
Package Diagram
Parametric
Diagram
Modified from UML 2
New diagram type
11 July 2006
Copyright © 2006 by Object Management Group.
21
Package Diagram
• Package diagram is used to organize the model
– Groups model elements into a name space
– Often represented in tool browser
• Model can be organized in multiple ways
– By System hierarchy (e.g., enterprise, system, component)
– By domain (e.g., requirements, use cases, behavior)
– Use viewpoints to augment model organization
• Import relationship reduces need for fully qualified
name (package1::class1)
11 July 2006
Copyright © 2006 by Object Management Group.
22
Package Diagram
Organizing the Model
pkg SampleModel [by diagram type]
pkg SampleModel [by level]
pkg SampleModel [by IPT]
Use Cases
Enterprise
Architecture
Team
Requirements
System
Requirements
Team
Behavior
Logical Design
IPT A
Structure
Allocated
Design
IPT B
EngrAnalysis
Verification
IPT C
By Hierarchy
By IPT
By Diagram Type
11 July 2006
Copyright © 2006 by Object Management Group.
23
Package Diagram - Views
pkg SampleModel [by level]
• Model is organized in
one hierarchy
• Viewpoints can provide
insight into the model
using another principle
Enterprise
«import»
System
«import»
«view»
EngrAnalysis
«import»
Logical Design
Allocated
Design
«conforms»
«import»
EngrAnalysisViewpoint
«viewpoint»
stakeholders=”…”
purpose=”…”
methods=”…”
– E.g., analysis view
that spans multiple
levels of hierarchy
– Can specify diagram
usages, constraints,
and filtering rules
– Consistent with IEEE
1471 definitions
Verification
11 July 2006
Copyright © 2006 by Object Management Group.
24
Blocks are Basic Structural Elements
•
Provides a unifying concept to describe the structure of an
element or system
–
–
–
–
–
–
•
Hardware
Software
Data
Procedure
Facility
Person
«block»
BrakeModulator
allocatedFrom
«activity»Modulate
BrakingForce
values
DutyCycle: Percentage
Multiple compartments can describe the block characteristics
–
–
–
–
–
Properties (parts, references, values)
Operations
Constraints
Allocations to the block (e.g. activities)
Requirements the block satisfies
11 July 2006
Copyright © 2006 by Object Management Group.
25
Block Property Types
• Property is a structural feature of a block
– Part property aka. part (typed by a block)
• Usage of a block in the context of the enclosing block
• Example - right-front:wheel
– Reference property (typed by a block)
• A part that is not owned by the enclosing block (not composition)
• Example - logical interface between 2 parts
– Value property (typed by value type)
• Defines a value with units, dimensions, and probability distribution
• Example
– Non-distributed value: tirePressure:psi=30
– Distributed value: «uniform» {min=28,max=32} tirePressure:psi
11 July 2006
Copyright © 2006 by Object Management Group.
26
Using Blocks
• Based on UML Class from UML Composite Structure
– Eliminates association classes, etc.
– Differentiates value properties from part properties, add
nested connector ends, etc.
• Block definition diagram describes the relationship
among blocks (e.g., composition, association,
classification)
• Internal block diagram describes the internal structure
of a block in terms of its properties and connectors
• Behavior can be allocated to blocks
Blocks Used to Specify Hierarchies and Interconnection
11 July 2006
Copyright © 2006 by Object Management Group.
27
Block Definition vs. Usage
Block Definition Diagram
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
d1
«block»
Traction
Detector
«block»
Anti-Lock
Controller
m1
«block»
Brake
Modulator
ibd [block] Anti-LockController
[Internal Block Diagram]
c2:sensor
Interface
s1
«block»
Sensor
c1:modulator
Interface
s1:Sensor
d1:Traction
Detector
m1:Brake
Modulator
Usage
Definition
– Block is a definition/type
– Captures properties, etc.
– Reused in multiple contexts
11 July 2006
Internal Block Diagram
– Part is the usage in a
particular context
– Typed by a block
– Also known as a role
Copyright © 2006 by Object Management Group.
28
Internal Block Diagram (ibd)
Blocks, Parts, Ports, Connectors & Flows
Enclosing
Block
ibd [block] Anti-LockController
[Internal Block Diagram]
Reference
Property
c2:sensor
Interface
(in, but not of)
c1:modulator
Interface
Connector
s1:Sensor
d1:Traction
Detector
m1:Brake
Modulator
Item Flow
Part
Port
Internal Block Diagram Specifies Interconnection of Parts
11 July 2006
Copyright © 2006 by Object Management Group.
29
Reference Property Explained
S1 is a reference part in ibd
shown in dashed outline box
ibd [block] Anti-LockController
[Internal Block Diagram]
c2:sensor
Interface
c1:modulator
Interface
s1:Sensor
d1:Traction
Detector
m1:Brake
Modulator
11 July 2006
Copyright © 2006 by Object Management Group.
30
SysML Port
• Specifies interaction points on blocks and parts
– Supports integration of behavior and structure
• Port types
– Standard (UML) Port
• Specifies a set of operations and/or signals
• Typed by a UML interface
– Flow Port
• Specifies what can flow in or out of block/part
• Typed by a flow specification
2 Port Types Support Different Interface Concepts
11 July 2006
Copyright © 2006 by Object Management Group.
31
Port Notation
provided interface
(provides the operations)
Standard
Port
required interface
(calls the operations)
Flow Port
Flow
Port
item flow
11 July 2006
Copyright © 2006 by Object Management Group.
32
Delegation Through Ports
• Delegation can be used to
preserve encapsulation of
block
• Interactions at outer ports of
Block1 are delegated to ports
of child parts
• Ports must match (same kind,
types, direction etc.)
• (Deep-nested) Connectors can
break encapsulation if required
(e.g. in physical system
modeling)
11 July 2006
ibd [block]Block1[delegation]
Copyright © 2006 by Object Management Group.
Child1:
Child2:
33
Parametrics
• Used to express constraints (equations) between
value properties
– Provides support for engineering analysis
(e.g., performance, reliability)
• Constraint block captures equations
– Expression language can be formal (e.g., MathML, OCL) or
informal
– Computational engine is defined by applicable analysis tool
and not by SysML
• Parametric diagram represents the usage of the
constraints in an analysis context
– Binding of constraint usage to value properties of blocks
(e.g., vehicle mass bound to F= m × a)
Parametrics Enable Integration of Engineering
Analysis with Design Models
11 July 2006
Copyright © 2006 by Object Management Group.
34
Defining Vehicle Dynamics
Defining Reusable Equations for Parametrics
11 July 2006
Copyright © 2006 by Object Management Group.
35
Vehicle Dynamics Analysis
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
tf:
tl:
v.brake.rotor.
BrakingForce:
bf:
:BrakingForce
Equation
{f = (tf*bf)*(1-tl)}
v.Weight:
m:
f:
F:
:Accelleration
Equation
{F = m*a}
a:
a:
:DistanceEquation
{v = dx/dt}
v:
v:
:VelocityEquation
{a = dv/dt}
x:
v.Position:
Using the Equations in a Parametric Diagram to
11 July 2006
Copyright © 2006Value
by Object Properties
Management Group.
Constrain
36
Behavioral Diagrams
SysML Diagram
Behavior
Diagram
Activity
Diagram
Sequence
Diagram
Requirement
Diagram
State Machine
Diagram
Use Case
Diagram
Structure
Diagram
Block Definition
Diagram
Same as UML 2
Internal Block
Diagram
Package Diagram
Parametric
Diagram
Modified from UML 2
New diagram type
11 July 2006
Copyright © 2006 by Object Management Group.
37
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
– Alignment of activities with Enhanced Functional Flow Block
Diagram (EFFBD)
11 July 2006
Copyright © 2006 by Object Management Group.
38
Activity Diagram Notation
Activity
act MonitorTraction
Action
WheelRevs
Initial
Node
Decision
Calculate
Wheel
Velocity
[loss of
of traction]
AngularVelocity
Fork
Calculate
Traction
Speed
[else]
Calculate
Modulation
Fr e que nc y
Modulation
Frequency
Calculate Car
Velocity
Control
Flow
Object
Flow
SpeedoInput
Activity
Parameter
Node
Pin
Flow
Final
Node
Activity
Final
Node
•Join and Merge symbols not included
•Activity Parameter Nodes on frame boundary correspond to activity parameters
11 July 2006
Copyright © 2006 by Object Management Group.
39
Activity Diagrams
Pin vs. Object Node Notation
• Pins are kinds of Object Nodes
– Used to specify inputs and outputs of actions
– Typed by a block or value type
– Object flows connect object nodes
• Object flows between pins have two diagrammatic
forms
– Pins shown with object flow between them
– Pins elided and object node shown with flow arrows in and out
act PreventLockup [Activity Diagram]
DetectLossOf
Traction
Traction
Loss:
Traction
Loss:
Modulate
BrakingForce
Pins
11 July 2006
act PreventLockup [Activity Diagram]
DetectLossOf
Traction
TractionLoss:
Modulate
BrakingForce
Pins must
have same
characteristics
(name, type
etc.)
ObjectNode
Copyright © 2006 by Object Management Group.
40
Explicit Allocation of Behavior to
Structure Using Swimlanes
act PreventLockup [Activity Diagram]
Activity Diagram
(without Swimlanes)
DetectLossOf
Traction
TractionLoss:
Modulate
BrakingForce
act PreventLockup [Swimlane Diagram]
«allocate»
:TractionDetector
Activity Diagram
(with Swimlanes)
DetectLossOf
Traction
«allocate»
:BrakeModulator
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
11 July 2006
Copyright © 2006 by Object Management Group.
41
SysML EFFBD Profile
EFFBD - Enhanced Functional Flow Block Diagram
Aligning SysML with Classical Systems Engineering Techniques
11 July 2006
Copyright © 2006 by Object Management Group.
42
Distill Water Activity Diagram
(Continuous Flow Modeling)
Continuous Flow
Interruptible
Region
Representing Distiller Example in SysML
Using Continuous Flow Modeling
11 July 2006
Copyright © 2006 by Object Management Group.
43
Activity Decomposition
bdd PreventLockup [Activity Breakdown]
act PreventLockup [Activity Diagram]
«activity»
PreventLockup
a1
«activity»
DetectLossOf
Traction
a2
Traction
Loss:
a2:Modulate
BrakingForce
«activity»
ModulateBrak
ingForce
Definition
11 July 2006
a1:DetectLossOf
Traction
Traction
Loss:
Use
Copyright © 2006 by Object Management Group.
44
Interactions
• Sequence diagrams provide representations of
message based behavior
– represent flow of control
– describe interactions
• Sequence diagrams provide mechanisms
for representing complex scenarios
– reference sequences
– control logic
– lifeline decomposition
• SysML does not include timing, interaction overview,
and communications diagram
11 July 2006
Copyright © 2006 by Object Management Group.
45
Black Box Interaction (Drive)
sd DriveBlackBox
driver:Driver
ref
vehicleInContext:HybridSUV
StartVehicleBlackBox
par
alt controlSpeed
ref
[state = (idle)]
Idle
[state = (accelerating/cruising)]
ref
Accelerate/Cruise
[state = (braking)]
ref
ref
ref
Brake
Steer
Park/ShutdownVehicle
UML 2 Sequence Diagram Scales
July 2006
Copyright © 2006 by Object Management Group.
by11Supporting
Control
Logic and Reference Sequences
46
Black Box Sequence (StartVehicle)
References Lifeline
Decomposition
For White Box
Interaction
Simple Black Box Interaction
11 July 2006
Copyright © 2006 by Object Management Group.
47
White Box Sequence (StartVehicle)
Decomposition of Black Box Into White Box Interaction
11 July 2006
Copyright © 2006 by Object Management Group.
48
Trial Result of Vehicle Dynamics
0.5
0.45
Accelleration (g)
0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0
0
5
10
15
20
15
20
Time (sec)
140
Velocity (mph)
120
Lifeline are
value properties
100
80
60
40
20
0
0
5
10
Time (sec)
1800
1600
Timing Diagram Not
Part of SysML
Distance (ft)
1400
1200
1000
800
600
400
200
0
0
5
10
15
20
Time (sec)
Typical Example of a Timing Diagram
11 July 2006
Copyright © 2006 by Object Management Group.
49
State Machines
• Typically used to represent the life cycle of a block
• Support event-based behavior (generally
asynchronous)
–
–
–
–
Transition with trigger, guard, action
State with entry, exit, and do-activity
Can include nested sequential or concurrent states
Can send/receive signals to communicate between blocks
during state transitions, etc.
11 July 2006
Copyright © 2006 by Object Management Group.
50
Operational States (Drive)
stm HSUVOperationalStates
keyOff/
Off
start[in neutral]/start engine
shutOff/stop engine
Nominal
states only
Operate
Transition notation:
trigger[guard]/action
Idle
accelerate/
when (speed = 0)
releaseBrake/
Accelerating/
Cruising
Braking
engageBrake/
11 July 2006
Copyright © 2006 by Object Management Group.
51
Use Cases
• Provide means for describing basic functionality in
terms of usages/goals of the system by actors
• Common functionality can be factored out via include
and extend relationships
• Generally elaborated via other behavioral
representations to describe detailed scenarios
• No change to UML
11 July 2006
Copyright © 2006 by Object Management Group.
52
Operational Use Cases
11 July 2006
Copyright © 2006 by Object Management Group.
53
Cross-cutting Constructs
• Allocations
• Requirements
SysML Diagram
Behavior
Diagram
Activity
Diagram
Sequence
Diagram
Requirement
Diagram
State Machine
Diagram
Use Case
Diagram
Structure
Diagram
Block Definition
Diagram
Same as UML 2
Internal Block
Diagram
Package Diagram
Parametric
Diagram
Modified from UML 2
New diagram type
11 July 2006
Copyright © 2006 by Object Management Group.
54
Allocations
• Represent general relationships that map one model
element to another
• Different types of allocation are:
–
–
–
–
Behavioral (i.e., function to component)
Structural (i.e., logical to physical)
Software to Hardware
….
• Explicit allocation of activities to structure via swim
lanes (i.e., activity partitions)
• Both graphical and tabular representations are
specified
11 July 2006
Copyright © 2006 by Object Management Group.
55
Different Allocation Representations
(Tabular Representation Not Shown)
Element
Name2
Element
Name1
«allocate»
«allocate»
Element
Name3
Allocate Relationship
Explicit Allocation of
Activity to Swim Lane
«block»
BlockName
PartName
allocatedFrom
«elementType»ElementName
Compartment Notation
11 July 2006
Callout Notation
Copyright © 2006 by Object Management Group.
56
SysML Allocation of SW to HW
•
•
In UML the deployment diagram is used to deploy artifacts to nodes
In SysML allocation on ibd and bdd is used to deploy software/data to hardware
ibd [node] SF Residence
«node»
SF Resid ence In stallati on
«hardware»
: Optical Sensor
2
*
«hardware»
: Site Processor
allocatedFrom
«software» Device Mgr
«software» Event Mgr
«software» Site Config Mgr
«software» Site RDBMS
«software» Site Status Mgr
«software» User I/F
«software» User Valid Mgr
«hardware»
: Video Camera
«hardware»
: NW Hub
allocatedFrom
«software» SF Comm I/F
«hardware»
: Alarm
«hardware»
: DSL Modem
«hardware»
: DVD-ROM Drive
2
allocatedFrom
«data» Video File
«hardware»
: Site Hard Disk
«hardware»
: User Console
allocatedFrom
«data» Site Database
11 July 2006
Copyright © 2006 by Object Management Group.
57
Requirements
• The «requirement» stereotype 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
11 July 2006
Copyright © 2006 by Object Management Group.
58
Requirements Breakdown
req [package] HSUVRequirements [HSUV Specification]
HSUVSpecification
«requirement»
Eco-Friendliness
RefinedBy
«useCase» HSUVUseCases::Accelerate
«requirement»
Performance
«requirement»
Power
«deriveReqt»
«requirement»
Braking
«requirement»
FuelEconomy
«requirement»
Accelleration
«requirement»
Emissions
Id = “R1.2.1”
text = “The vehicle shall meet Ultra-Low
Emissions Vehicle standards.”
VerifiedBy
«testCase» MaxAcceleration
SatisfiedBy
«block» PowerSubsystem
Requirement Relationships Model the Content of a Specification
11 July 2006
Copyright © 2006 by Object Management Group.
59
Example of Derive/Satisfy Requirement
Dependencies
Supplier
Client
Client depends on supplier
(i.e., a change in supplier
results in a change in client)
Supplier
Client
Arrow Direction Opposite Typical Requirements Flow-Down
11 July 2006
Copyright © 2006 by Object Management Group.
60
Problem and Rationale
Problem and Rationale can be attached to any
Model Element to Capture Issues and Decisions
11 July 2006
Copyright © 2006 by Object Management Group.
61
Stereotypes & Model Libraries
• Mechanisms for further customizing SysML
• Profiles represent extensions to the language
– Stereotypes extend meta-classes with properties and
constraints
• Stereotype properties capture metadata about the model element
– Profile is applied to user model
– Profile can also restrict the subset of the meta-model used
when the profile is applied
• Model Libraries represent reusable libraries of model
elements
11 July 2006
Copyright © 2006 by Object Management Group.
62
Stereotypes
Defining the Stereotype
11 July 2006
Applying the Stereotype
Copyright © 2006 by Object Management Group.
63
Applying a Profile and
Importing a Model Library
11 July 2006
Copyright © 2006 by Object Management Group.
64
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
Anti-LockController
[Internal 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
allocatedFrom
allocatedFrom
«activity»DetectLos
«activity»DetectLos
d1:Traction
OfTraction
Of Traction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
m1:BrakeModulator
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
allocatedFrom
«activity»Modulate
«activity»Modulate
BrakingForce
BrakingForce
allocatedFrom
allocatedFrom
«ObjectNode»
TractionLoss:
values
DutyCycle: Percentage
c
allo
ate
DetectLossOf
Traction
TractionLoss:
value
binding
satisfy
«allocate»
:BrakeModulator
Modulate
Modulate
BrakingForce
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
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
tf:
«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
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
:DistanceEquation
[v = dx/dt]
v:
v:
a:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
«deriveReqt»
3. Requirements
11 July 2006
v.Position:
verify
4. Parametrics
Copyright © 2006 by Object Management Group.
65
SysML Modeling
as Part of the SE Process
Distiller Sample Problem
Distiller Problem Statement
•
•
The following problem was posed to the SysMLteam in Dec ’05 by D. Oliver:
Describe a system for purifying dirty water.
–
–
–
–
•
Heat dirty water and condense steam are performed by a Counter Flow Heat Exchanger
Boil dirty water is performed by a Boiler
Drain residue is performed by a Drain
The water has properties: vol = 1 liter, density 1 gm/cm3, temp 20 deg C, specific heat
1cal/gm deg C, heat of vaporization 540 cal/gm.
A crude behavior diagram is shown.
Dirty water
@ 20 deg C
Heat Dirty water
To 100 deg C
Dirty water
@ 100 deg C
Steam
Boil Dirty water
Residue
Heat to Dirty
water
Heat to Boil
water
and
Energy to
condense
Pure
water
Condense
steam
and
Drain
Residue
Disposed
residue
What are the real requirements?
How do we design the system?
11 July 2006
Copyright © 2006 by Object Management Group.
68
Distiller Types
Batch
Distiller
Continuous
Distiller
11 July 2006
Copyright © 2006 by Object Management Group.
69
Distiller Problem – Process Used
• Organize the model, identify libraries needed
• List requirements and assumptions
• Model behavior
– In similar form to problem statement
– Elaborate as necessary
• Model structure
– Capture implied inputs and outputs
• segregate I/O from behavioral flows
– Allocate behavior onto structure, flow onto I/O
• Capture and evaluate parametric constraints
– Heat balance equation
• Modify design as required to meet constraints
11 July 2006
Copyright © 2006 by Object Management Group.
70
Distiller Problem – Package Diagram:
Model Structure and Libraries
pkg [model] Distiller [Model Overview]
DistillerRequirements
DistillerUseCases
bdd [package] ValueTypes
«valueType»
Real
DistillerBehavior
«valueType»
temp
unit = ºC
dimension =
temperature
«valueType»
press
unit = N/m^2
dimension =
pressure
«valueType»
efficency
unit = null
dimension =
efficency
11 July 2006
«valueType»
massFlowRate
unit = gm/sec
dimension =
massFlowRate
«valueType»
specificHeat
unit = cal/(gm*ºC)
dimension =
specificHeat
DistillerStructure
«valueType»
dQ/dt
unit = cal/sec
dimension =
heatFlowRate
ValueTypes
ItemTypes
«valueType»
latentHeat
unit = cal/gm
dimension =
latentHeat
Copyright © 2006 by Object Management Group.
71
Distiller Example
Requirements Diagram
req [package] DistillerRequirements
Source
«requirement»
OriginalStatement
Id = S0.0
text = Describe a system for purifying dirty water.
- Heat dirty water and condense steam are performed by a Counter Flow Heat Exchanger
- Boil dirty water is performed by a Boiler. Drain residue is performed by a Drain.
The water has properties: vol = 1 liter, density 1 gm/cm3, temp 20 deg C, specific heat 1cal/gm deg C, heat of vaporization 540 cal/gm.
«requirement»
PurifyWater
«requirement»
HeatExchanger
Id = S1.0
text = The system shall
purify dirty water.
Id = S2.0
text = Heat dirty water and
condense steam are performed by
a Counter Flow Heat Exchanger
«requirement»
WaterProperties
Id = S5.0
text = water has properties: density 1
gm/cm3, temp 20 deg C, specific heat
1cal/gm deg C, heat of vaporization
540 cal/gm.
«requirement»
Boiler
Id = S3.0
text = Boil dirty water is performed
by a Boiler.
«deriveReqt»
«rationale»
The requirement
for a boiling
function and a
boiler implies that
the water must be
purified by
distillation
«requirement»
Drain
«requirement»
WaterInitialTemp
Id = S5.1
text = water has an
initial temp 20 deg C
Id = S4.0
text = Drain residue is performed by
a Drain.
«requirement»
DistillWater
Id = D1.0
text = The system shall purify water
by boiling it.
11 July 2006
Copyright © 2006 by Object Management Group.
72
Distiller Example:
Requirements Tables
table [requirement] OriginalStatement [Decomposition of OriginalStatement]
id
S0.0
S1.0
S2.0
S3.0
S4.0
S5.0
S5.1
name
OriginalStatement
PurifyWater
HeatExchanger
Boiler
Drain
WaterProperties
WaterInitialTemp
text
Describe a system for purifying dirty water. …
The system shall purify dirty water.
Heat dirty water and condense steam are performed by a …
Boil dirty water is performed by a Boiler.
Drain residue is performed by a Drain.
water has properties: density 1 gm/cm3, temp 20 deg C, …
water has an initial temp 20 deg C
table [requirement] PurifyWater [Requirements Tree]
id
name
relation
id
name
Rationale
The requirement for a boiling function and a boiler
S1.0 PurifyWater deriveReqt D1.0 DistillWater implies that the water must be purified by distillation
11 July 2006
Copyright © 2006 by Object Management Group.
73
Distiller Example – Activity Diagram:
Initial Diagram for DistillWater
•
This activity diagram applies the SysML EFFBD profile, and formalizes the
diagram in the problem statement.
Dirty water
@ 100 deg C
Dirty water
@ 20 deg C
Heat Dirty water
To 100 deg C
Steam
Boil Dirty water
Residue
Heat to Dirty
water
Activities (Functions)
11 July 2006
and
Energy to
condense
Pure
water
Condense
steam
and
Drain
Residue
Heat to Boil
water
Disposed
residue
Control (Sequence) Things that flow (ObjectNodes)
Copyright © 2006 by Object Management Group.
74
Distiller Example – Activity Diagram:
Control-Driven: Serial Behavior
Batch
Distiller
11 July 2006
Copyright © 2006 by Object Management Group.
75
Distiller Example – Block Definition
Diagram: DistillerBehavior
bdd [package] DistillerBehavior [Distiller Behavior Breakdown]
Activities
(Functions)
a1
a2
«activity»
HeatWater
«activity»
BoilWater
a3
a4
«activity»
CondenseSteam
Control
(not shown
on BDD)
11 July 2006
«activity»
DistillWater
Need to
consider
phases
of H20
«activity»
DrainResidue
Things that flow (ObjectNodes)
Copyright © 2006 by Object Management Group.
76
Distiller Example – State Machine
Diagram: States of H2O
stm [block] H2O
Gas
States
Add Latent Heat
of Vaporization
Remove Latent Heat
of Vaporization
Liquid
Remove Latent Heat
of Liquification
Add Latent Heat
of Liquification
Transitions
Solid
11 July 2006
Copyright © 2006 by Object Management Group.
77
Distiller Example – Activity Diagram:
I/O Driven: Continuous Parallel Behavior
act [activity] DistillWater [Parallell Continuous Activities)
loPress:Residue
coldDirty:H2O
[liquid]
steam:H20
[gas]
hiPress:Residue
recovered:Heat
a4:DrainResidue
a1:HeatWater
a3:CondenseSteam
hotDirty:H2O
[liquid]
a2:BoilWater
pure:H2O
[liquid]
external:Heat
Continuous
Distiller
11 July 2006
Copyright © 2006 by Object Management Group.
78
Distiller Example – Activity Diagram:
No Control Flow – Simultaneous Behavior
11 July 2006
Copyright © 2006 by Object Management Group.
79
Distiller Example – Activity Diagram
(with Swimlanes): DistillWater
Parts
11 July 2006
Copyright © 2006 by Object Management Group.
80
Distiller Example – Block Definition
Diagram: DistillerStructure
Generic Subsystems
(Blocks)
11 July 2006
Usage Names
Copyright © 2006 by Object Management Group.
81
Distiller Example – Block Definition
Diagram: Heat Exchanger Flow Ports
bdd [package] DistillerStructure [Structural Breakdown]
«block»
Fluid
«block»
Distiller
Constraints
(on Ports)
hx1
cIn:Fluid
cOut:Fluid
values
temp:ºC
press:kg/m^2
constraints
{cIn.temp <= 220}
{cIn.press <= 150}
{cOut.temp <= 220}
{cOut.press <= 150}
{hIn.temp <= 400}
{hIn.temp <= 1000}
{hIn.temp <= 400}
{hIn.temp <= 1000}
f2Out:Fluid
hIn:Fluid
fIn:Fluid
«block»
Boiler
qIn:Heat
in:Fluid
«block»
Valve
out:Fluid
f1Out:Fluid
hOut:Fluid
Generic Things
Flow Ports
That Flow
(typed by things that flow)
(Blocks)
11 July 2006
values
dQ/dt:cal/s
drain
bx1
«block»
HeatExchanger
«block»
Heat
Copyright © 2006 by Object Management Group.
Generic Subsystems
(Blocks)
82
Distiller Example – Internal Block
Diagram: Distiller Initial Design
ibd: [block] Distiller [DistillerBlockDiagram - ItemFlows]
m1:H2O
m2:H2O
hx1:HeatExchanger
s1:Residue
bx1:Boiler
s2:Residue
drain:Valve
m3:H2O
q1:Heat
m4:H2O
Parts
(Blocks used
in context)
11 July 2006
Flow Ports
Connectors
Copyright © 2006 by Object Management Group.
Things That Flow
In Context
(ItemFlows)
83
Distiller Example –Internal Block
Diagram: Distiller with Allocation
ibd: [block] Distiller [DistillerBlockDiagram - ItemFlows]
allocatedFrom
«objectNode»coldDirty:H2O
allocatedFrom
«objectNode»hotDirty:H2O
m1:H2O
allocatedFrom
«objectNode»hiPress:Residue
m2:H2O
hx1:HeatExchanger
s1:Residue
s2:Residue
bx1:Boiler
allocatedFrom
«activity»a1:HeatWater
«activity»a3:CondenseSteam
allocatedFrom
«objectNode»loPress:Residue
allocatedFrom
«activity»a2:BoilWater
drain:Valve
allocatedFrom
«activity»a4:DrainResidue
m3:H2O
q1:Heat
allocatedFrom
«objectNode»External:Heat
allocatedFrom
«objectNode»steam:H2O
Allocation Compartment
11 July 2006
m4:H2O
allocatedFrom
«objectNode»Pure:H2O
Allocation Callout
Copyright © 2006 by Object Management Group.
84
Distiller Example – Parametric Diagram:
Heat Balance Equations
par [block] Distiller [Simplified Isobaric Heat Balance Analysis}
Parts or
ItemFlows
{Qrate=(th-tc)*mRate/sh)}
water_in:H2O
mRate:
temp:ºC
massFlowRate:
gm/sec
tin:
sh:
tout:
r1:
Qrate:
equivalent
{r1=r2}
hx_water_out:H2O
r2:
Value
Properties
SinglePhaseHeatXFR
Equation
water_in:H2O
Qrate:
temp:ºC
condensing:
SimplePhaseChange
Equation
massFlowRate:
gm/sec
lh:
specificHeat:
cal/(gm*ºC)
latentHeat:
cal/gm
mRate:
bx_steam_out:H2O
massFlowRate:
gm/sec
{Qrate=mRate*lh)}
r1:
water_out:H2O
Value
Bindings
massFlowRate:
gm/sec
equivalent
{r1=r2}
Qrate:
Note: Underline =
these are
invariant
properties of all
uses of H2O
r2:
Constraints
boiling:
SimplePhaseChange
Equation
mRate:
lh:
Constraint
callouts
heat_in:Heat
dQ/dt>:cal/
sec
11 July 2006
Copyright © 2006 by Object Management Group.
85
Distiller Example – Heat Balance
Results
table IsobaricHeatBalance1 [Results of Isobaric Heat Balance]
11 July 2006
water_out
bx_steam_out
bx_water_in
Satisfies «requirement»
WaterSpecificHeat
Satisfies «requirement»
WaterHeatOfVaporization
hx_water_out
Satisfies «requirement»
WaterInitialTemp
1
540
water_in
specific heat cal/gm-°C
latent heat cal/cm
mass flow rate gm/sec
temp °C
6.75 6.75
1
1
1
20 100 100 100 100
dQ/dt cooling water cal/sec
dQ/dt steam-condensate cal/sec
condenser efficency
heat deficit
540
540
1
0
dQ/dt condensate-steam cal/sec
boiler efficiency
dQ/dt in boiler cal/sec
540
1
540
Note: Cooling water
needs to have 6x flow
of steam!
Need bypass between
hx_water_out and
bx_water_in!
Copyright © 2006 by Object Management Group.
86
Distiller Example – Activity Diagram:
Updated DistillWater
act [activity] DistillWater [Revised Swimlane Diagram]
«allocate»
hx1:HeatExchanger
«continuous»
coldDirty:H2O
[liquid]
«allocate»
feed:Vave
«continuous»
recovered:Heat
«streaming»
a1:HeatWater
«continuous»
steam:H2O
[gas]
«streaming»
a3:CondenseSteam
11 July 2006
loPress:Residue
«continuous»
pure:H2O
[liquid]
«continuous»
hotDirty1:H2O
[liquid]
ShutDown
«allocate»
drain:Valve
a4:DrainResidue
«streaming»
a2:BoilWater
«continuous»
hotDirty:H2O
[liquid]
«continuous»
external:Heat
«allocate»
bx1:Boiler
hiPress:Residue
«continuous»
hotDirty2:H2O
[liquid]
a5:DivertFeed
Copyright © 2006 by Object Management Group.
87
Distiller Example – Internal Block
Diagram: Updated Distiller
11 July 2006
Copyright © 2006 by Object Management Group.
88
Distiller Example – Use Case and
Sequence Diagrams
seq OperateDistiller [Operational Sequence]
«actor»
:User
«block»
:Distiller
uc DistillerUseCases [Operate Distiller]
TurnOn
Operate
Distiller
Distiller
PowerLampOn
User
OperatingLampOn
loop
alt
LevelHighLampOn
DrainingLampOn
LevelLowLampOn
TurnOff
11 July 2006
PowerLampOff
Copyright © 2006 by Object Management Group.
89
Distiller Example – Internal Block
Diagram: Distiller Controller
11 July 2006
Copyright © 2006 by Object Management Group.
90
Distiller Example – State Machine
Diagram: Distiller Controller
11 July 2006
Copyright © 2006 by Object Management Group.
91
11 July 2006
Sample - Artisan Tool
Copyright © 2006 by Object Management Group.
92
OOSEM – ESS Example
System Development Process
System
Modeling
Activities
Component
Modeling
Activities
Integrated Product
Development (IPD) is
essential to improve
communications
A Recursive V process
that can be applied to
multiple levels of the
system hierarchy
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
94
Systems Modeling Activities - OOSEM
Analyze
Needs
Major SE Development Activities
•Mission use cases/scenarios
•Enterprise model
Define
System
Requirements
•System use cases/scenarios
•Elaborated context
Define
•Req’ts diagram
Logical
Architecture
Optimize &
Evaluate
Alternatives
•Logical architecture
•Engr Analysis Models
•Trade studies
Validate &
Verify
System
•Test cases/procedures
Synthesize
Physical
Architecture
•Node diagram
•HW, SW, Data architecture
Common Subactivities
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
95
Enhanced Security System Example
• The Enhanced Security System is the example for
the OOSEM material
– Problem fragments used to demonstrate principles
– Utilizes Artisan RTS™ Tool for the SysML artifacts
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
96
ESS Requirements Flowdown
req [package] ESS Requirements Flowdown
«trace»
«document»
Market Needs
ESS Enterprise Models
«trace»
«requirement»
ESS System Specification
«satisfy»
«refine»
id# = SS1
«requirement»
IntruderDetection
id# = SS102
txt = System shall
detect intruder entry
and exit ...
satisfiedBy
Entry/Exit Subsystem
verifiedBy
Entry/Exit Detection Test
ESS System Models
«requirement»
R111
«deriveReqt»
id# = SS111
«requirement»
ESS Logical Requirements
«satisfy»
«refine»
ESS Logical Design Models
id# = LR1
«deriveReqt»
«satisfy»
ESS Allocated Design
Models
«requirement»
ESS Allocated Requirements
id# = AR1
«refine»
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
97
Operational View Depiction
bdd [package] Enterprise (As Is)
Central Monitoring Station As-Is
Comm Network
Residence
Dispatcher
Intruder
Police
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
98
ESS Enterprise As-Is Model
bdd [package] ESS Enterprise (As Is)
*
Domain
As-Is
*
«enterprise»
Enterprise As-Is
Residence
1
Customer As-Is
Intruder
«system»
Sec Sys
1
«external»
Comm Network
«external»
Emergency Services As-Is
*
Site Installation
As-Is
Central Monitoring
Station As-Is
Dispatcher
Police
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006
99
ESS Operational Enterprise To-Be
Model
bdd [package] ESS Enterprise (To Be)
*
Domain
To-Be
«moe» OperationalAvailability = {>.99}
«moe» MissionResponseTime = {<5 min}
«moe» OperationalCost = {TBD}
«moe» CostEffectiveness
MonitorSite ()
DispatchEmergencyServices ()
ProvideEmergencyResponse ()
Intruder
1..*
«enterprise»
ESS Operational Enterprise
*
1..*
Protected Site
«external»
Emergency Services
*
Assess Report ()
Report Update ()
Dispatch Police ()
Customer
«system»
ESS
«external»
Comm Network
*
*
*
*
«external»
Physical Environment
«external»
Single-family Residence
Responder
«external»
Property
«external»
Multi-family Residence
Dispatcher
«external»
Business
Police
Fire
Paramedic
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 100
System Use Cases - Operate
uc [package] System Use Cases
Activate/Deactivate
«include»
Operate
«extend»
«include»
Respond
Monitor Site
Respond to
Break-In
Respond to
Fire
Respond to
Medical
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 101
System Scenario: Activity Diagram
Monitor Site (Break-In)
act Monitor Site (break in)
«actor»
Intruder
«system»
ESS
«external»
Emergency Services
System On
Enter Property
Status Update
System Off
DetectEntry
ValidateEntry
Validated Entry
Conduct Theft
GenerateAlarm
ReportEntry
Exit Property
[Alert]
Assess Report
InternalMonitor
[Alert]
DetectExit
Report Update
ReportExit
Dispatch Police
[Alert]
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 102
ESS Elaborated Context Diagram
ibd [domain] Domain-To-Be
: EmergencyServicesIn
«external»
: Emergency Services : EmergencyServicesOut
«system»
: ESS
«perf» Power = {<100 watts}
«perf» Reliability
«phys» SiteInstallDwg
«store» EventLog
«store» SystemState
: CustomerIn
: CustomerOut
DetectEntry ()
DetectExit ()
: Customer
ReportEntry ()
ReportExit ()
GenerateAlarm ()
ValidateEntry ()
: AlarmSignal
: IntruderSignal
InternalMonitor ()
DetectFire ()
: Intruder
DetectMedicalEmergency ()
RequestUserID ()
«external»
ValidateUserID ()
: Property
: Power
: Door Input : Window Input SetTimer ()
ActivateSystem ()
ProtectPrivacy ()
Status Update ()
«external»
DetectFault ()
: Physical Environment
: Envronmental_In
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 103
ESS Logical Design –
Example Subsystem
subsystem
Entry/Exit S ubsystem
ibd [subsystem]Entry/Exit Subsystem
: Door Input
m+n : SensedEntry
«logical»
: Entry Sensor
«logical»
: Entry/Exit Monitor
: Door Input
: SensedExit
: Entry/Exit Alert Status
: Window Input
: Window Input
m+n
«logical»
: Exit Sensor
«logical»
: Event Monitor
: Alert Status
«store»
: Event Log
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 104
ESS Logical Design (Partial)
ibd [system] ESS
«logical»
: Alarm Generator
: Window Input
«logical»
: Entry Sensor
: AlarmSignal
: SensedEntry
: Door Input
: AlarmCmd
: BIT
«logical»
: Entry/Exit Monitor
: Alert Status
«logical»
: Alarm I/F
: Entry/Exit Alert Status
: Window Input
«logical»
: Exit Sensor
: SensedExit
: Door Input
: BIT
«logical»
: Perimeter Sensor
: BIT
: BIT
«logical»
: Environment Sensor
«logical»
: Event Monitor
«store»
: Event Log
: Alert Status
«logical»
: Emergency Monitor
: EmergencyData
«logical»
: Fault Mgr
«logical»
: Emer Serv I/F
: Emergency
ServicesOut
: Fault
«logical»
: Customer Output Mgr
: FaultReport
«logical»
: Customer I/F
: Lamp
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 105
ESS Allocation Table (partial)
•
Allocating Logical Components to HW, SW, Data, and Procedures
components
Logical Components
Entry
Sensor
Type
«software»
Perimeter
Exit Sensor Sensor
Entry/Exit
Monitor
Event
Monitor
Site
Comms I/F Event Log
Customer
I/F
Customer
System
Output Mgr Status
X
X
X
Event Mgr
X
X
Physical Components
Site Status Mgr
X
X
X
X
X
Site RDBMS
CMS RDBMS
Video File
CMS Database
Site Database
Optical Sensor
X
X
X
X
User Console
Alarm
X
X
DSL Modem
Video Camera
Alarm I/F
X
User I/F
«hardware»
Alarm
Generator
Device Mgr
SF Comm I/F
«data»
Fault Mgr
X
X
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 106
ESS Deployment View
ESS
ibd [system] ESS
«node»
: Central Monitoring Station
*
«node»
: MF Residence Installation
*
«node»
: Business Installation
«external»
: Comm
Network
: SF Residence Installation
*
«hardware»
: Optical Sensor
«hardware»
: Site Processor
allocatedFrom
«software» Device Mgr
«software» Event Mgr
«software» Site Config Mgr
«software» Site RDBMS
«software» Site Status Mgr
«software» User I/F
«software» User Valid Mgr
2
«hardware»
: Video Camera
«hardware»
: NW Hub
allocatedFrom
«software» SF Comm I/F
«hardware»
: Help Desk Client
«hardware»
: Phone Lines
«hardware»
: MS LAN
*
«hardware»
: PS Comm
I/F
«hardware»
: DSL Modem
«hardware»
: Application Server
allocatedFrom
«internal actor»
«software» MS Comm I/F
«software» MS Event Monitor : Help Desk Operator
«software» PS Report Mgr
«software» PS Request Mgr
«software» Site Interface Mgr
«hardware»
: DB Server
«hardware»
: Alarm
«hardware»
: Video Server
«hardware»
: CM Server
allocatedFrom
«software» CMS RDBMS
«data» CMS Database
allocatedFrom
«software» S/W Distrib Mgr
«software» System CM
«hardware»
: DVD-ROM Drive
2
allocatedFrom
«data» Site Database
«hardware»
: Site Hard Disk
«hardware»
: User Console
allocatedFrom
«data» Site Database
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 107
ESS Parametric Diagram
To Support Trade-off Analysis
par [block] EnterpriseEffectivenessModel
{CE= Sum(w1*u(OA)+w2*u
(MRT)+w3*u(OC))}
«moe»
MissionResponseTime
of1 : ObjectiveFunction
«moe»
OperationalAvailability
CE
MRT
OA
«moe»
CostEffectiveness
OC
«moe»
OperationalCost
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 108
Entry/Exit Test Case
sd Entry/Exit Detection Test
Description
«testComponent»
:IntruderEmulator
seq
«sut»
«hardware»
Door[1]
/:Optical Sensor
«sut»
«hardware»
Window[4]
/:Optical Sensor
«sut»
«hardware»
:Site Processor
«sut»
«hardware»
:DSL Modem
seq
Intruder enters through front
door
Enter
Door sensor detects entry
: SensedEntry
New alert status sent to central
system
Intruder leaves through lounge
window
Window sensor detects exit
Changed alert status sent to
central system
IntruderEntry :
Alert Status
Exit
: SensedExit
Intruder Exit :
Alert Status
11 July 2006 CopyrightCopyright
© 2006
byCorporation
Object Management
Group.
© Lockheed
Martin
2000 – 2003
& INCOSE 2004-2006 109
OOSEM Browser View
Artisan Studio™ Example
11 July 2006
Copyright © 2006 by Object Management Group.
110
Copyright © Lockheed Martin Corporation 2000 – 2003 & INCOSE 2004-2006
SysML in a Standards Framework
Systems Engineering Standards
Framework (Partial List)
Process
Standards
Architecture
Frameworks
Modeling
Methods
Modeling &
Simulation
Standards
Interchange &
Metamodeling
Standards
EIA 632
FEAF
ISO 15288
DoDAF
HP
IDEF0 SysML
OOSE
IEEE 1220
MODAF
SADT
UPDM
XMI
Zachman FW
Implemented
By Tools
Other
HLA
System Modeling
MOF
CMMI
MathML
Simulation & Analysis
STEP/AP233
Data
Repository
11 July 2006
Copyright © 2006 by Object Management Group.
112
ISO/IEC 15288
System Life Cycle Processes
Enterprise Processes
5.3.2
Enterprise Environment
Management Process
5.3.4
System Life Cycle
Processes Management
5.3.5
Quality
Management Process
5.4.3
Project Assessment
Process
5.4.4
Project Control Process
5.5.3
Reqts Analysis Process
5.5.4
Architectural Design Process
5.5.5
Implementation Process
5.4.6
Risk Management
Process
Agreement Processes
11 July 2006
5.5.2
Stakeholder Reqts
Definition Process
5.4.5
DecisionDecision-Making Process
5.3.6
Resource
Management Process
5.2.3
Supply Process
Technical Processes
5.4.2
Project Planning Process
5.3.3
Investment
Management Process
5.2.2
Acquisition Process
Project Processes
5.4.7
Configuration Management
Process
5.4.8
Information Management
Process
Copyright © 2006 by Object Management Group.
5.5.6
Integration Process
5.5.7
Verification Process
5.5.8
Transition Process
5.5.9
Validation Process
5.5.10
Operation Process
5.5.11
Maintenance Process
5.5.12
Disposal Process
113
Standards-based Tool Integration
with SysML
Systems Modeling
Tool
SV4
OV7
• .....
• .....
• .....
•
-
11 July 2006
Model/Data
Interchange
Other SE Engineering
Tools
OV2
TV2
AP233/XMI
..
• ...
..
• ...
• .....
•
-
AP233/XMI
-
Copyright © 2006 by Object Management Group.
-
114
Participating SysML Tool Vendors
• Artisan
• EmbeddedPlus
– 3rd party IBM vendor
• Sparx Systems
• Telelogic (includes I-Logix)
• Vitech
11 July 2006
Copyright © 2006 by Object Management Group.
115
UML Profile for DoDAF/MODAF
(UPDM) Standardization
• Current initiative underway to develop standard
profile for representing DODAF and MODAF products
– Requirements for profile issued Sept 05
– Final submissions expected Dec ‘06
• Multiple vendors and users participating
• Should leverage SysML
11 July 2006
Copyright © 2006 by Object Management Group.
116
Transitioning to SysML
Using Process Improvement
To Transition to SysML
11 July 2006
Copyright © 2006 by Object Management Group.
118
Integrated Tool Environment
11 July 2006
System Modeling
SysML
Software Modeling
UML 2
Hardware Modeling
VHDL, CAD, ..
Copyright © 2006 by Object Management Group.
Specialty Engineering Analysis
SoS / DoDAF / Business Process Modeling
Verification & Validation
Engineering Performance Analysis
Requirements Management
CM/DM
Product Data Management
Project Management
119
Summary and Wrap up
Summary
•
•
SysML sponsored by INCOSE/OMG with broad industry and
vendor participation
SysML provides a general purpose modeling language to support
specification, analysis, design and verification of complex
systems
– Subset of UML 2 with extensions
– 4 Pillars of SysML include modeling of requirements, behavior,
structure, and parametrics
•
•
•
OMG SysML Adopted in May 2006
Multiple vendor implementations announced
Standards based modeling approach for SE expected to improve
communications, tool interoperability, and design quality
11 July 2006
Copyright © 2006 by Object Management Group.
121
References
• OMG SysML website
– http://www.omgsysml.org
• UML for Systems Engineering RFP
– OMG doc# ad/03-03-41
• UML 2 Superstructure
– OMG doc# formal/05-07-04
• UML 2 Infrastructure
– OMG doc# ptc/04-10-14
11 July 2006
Copyright © 2006 by Object Management Group.
122