Upload
belinda-lambert
View
223
Download
1
Tags:
Embed Size (px)
Citation preview
TISYSE An Introduction to SysML 1
An Introduction to SysML
Finn Overgaard Hansen and
Peter Gorm Larsen
TISYSE An Introduction to SysML 2
Agenda
What is SysML?• Relationship between UML and SysML• Examples of Extensions• Industrial Control• Concluding Remarks
TISYSE An Introduction to SysML 3
What is SysML?
• A graphical modeling 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 a Critical Enabler for Model Driven SE SysML is a Critical Enabler for Model Driven SE
TISYSE An Introduction to SysML 4
SysML Background
• UML for System Engineering RFP issued – 28 March 2003
• SysML Partners Kickoff meeting – 6 May 2003• Chaired by S. Friedenthal and C. Kobryn
• v0.9 Submission to OMG – 10 Jan 2005• Addendum stereotypes chapter – 30 May 2005
• SST and SP split – 30 August 2005
• SST/SP revised submissions to OMG – 14 November 2005
• INCOSE and OMG Evaluations – December 2005 thru January 2006
• SysML Merge Team (SMT) submission v0.99 (ad/2006-02-01) – 13 February 2006
• SMT formally announced - 15 February 2006
• OMG Systems Modeling Language (OMG SysML) Specification - Final Adopted Specification ptc/06-05-04 – 6 July 2006 – Final public version planned in April 2007.
TISYSE An Introduction to SysML 5
SysML Partners
• Industry• American Systems, EADS Astrium, BAE SYSTEMS,
Boeing, Deere & Company, Eurostep, Israel Aircraft Industries, Lockheed Martin, Motorola, Northrop Grumman, oose.de, Raytheon, THALES
• Government• DoD/OSD, NASA/JPL, NIST
• Vendors• Artisan, Ceira, Gentleware, IBM/Rational, I-Logix,
PivotPoint Technology, Popkin, Project Technology, 3SL, Telelogic, Vitech
• Liaisons• AP-233, CCSDS, EAST, INCOSE, Rosetta
TISYSE An Introduction to SysML 6
DoDAFDoDArchitecturalFrameworkacross multiplelevels(Zachman And MoDAF are similar)
UPDMUnified
Modeling Language
(UML) Profile
forDoDAF
and ModAF
SOAArchitecture
basedon
services
SysML UML Extension
for SystemsEngineering
FEA-DEA-BEAFederal and Defense
Enterprise Architectures
SCA Component Interface
Description
SCBAFEA extension to
Services and Components
SDFService Interface
Descriptions
Layers
EnterpriseArchitects
SoftwareArchitects
ProgramArchitects
System Architects
And Engineers
MDAUML Models For software Architecture,
Components and interfaces
Developers Testbeds such as Federated Development and Certification Environment (FDCE)including Live Systems, Modules, Components ,Services and Simulations
SysML ContextServices - EnterpriseSystems - Operations
TISYSE An Introduction to SysML 7
SysML Specification Outline
• Preface• Part I - Introduction• Part II – Structural Constructs
• Model Elements
• Blocks
• Ports and Flows
• Constraint Blocks• Part III – Behavioral Constructs
• Activities
• Interactions
• State Machines
• Use Cases
• Part IV – Crosscutting Constructs
• Allocations
• Requirements
• Profiles & Model Libraries• Part V Appendices
• Diagrams
• Sample Problem
• Non-Normative Extensions
• Model Interchange *
• Requirements Traceability
• Terms and Definitions *
• BNF Diagram Syntax Definitions
TISYSE An Introduction to SysML 8
Harmony – a System Engineering Development Process
TISYSE An Introduction to SysML 9
Agenda
What is SysML? Relationship between UML and SysML• Examples of Extensions• Industrial Control• Concluding Remarks
TISYSE An Introduction to SysML 10
Relationship Between SysML and UML
UML 2
UML 2Reuse(1, 2)
UMLreused by
SysML
UMLnot required
by SysML(UML -
UML4SysML)
SysMLextensions to
UML
SysMLUML4SysML
SysML Profile
TISYSE An Introduction to SysML 11
SysML Diagram Taxonomy
TISYSE An Introduction to SysML 12
Major Extensions to UML 2
• New Diagram Types• Requirement Diagram (visual modeling of requirements)• Parametric Diagram (showing relations between parameters)
• Structure Diagram• Block Definition Diagram (based on UML class diagram with
blocks instead of classes)• Internal Block Diagram (based on UML composite structure
diagram with restrictions and extensions)
• Activity Diagram• extensions for continuous flow modeling• extensions to support disabling control and control operators.• accommodate needs of Extended Functional Flow Block
Diagrams (EFFBDs)
TISYSE An Introduction to SysML 13
Agenda
What is SysML? Relationship between UML and SysML Examples of Extensions• Industrial Control• Concluding Remarks
TISYSE An Introduction to SysML 14
SysML Diagram Frames
TISYSE An Introduction to SysML 15
Blocks are Basic Structural Elements
TISYSE An Introduction to SysML 16
Block Definition Diagram
TISYSE An Introduction to SysML 17
Internal Block Diagram
TISYSE An Introduction to SysML 18
Internal Block Diagram Example
Control signals
TISYSE An Introduction to SysML 19
Requirements Diagram (NEW)
TISYSE An Introduction to SysML 20
Parametric Diagram (NEW)
• 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
TISYSE An Introduction to SysML 21
Example: Defining Vehicle Dynamics
TISYSE An Introduction to SysML 22
Example: Vehicle DynamicsAnalysis – Parametric Diagram
TISYSE An Introduction to SysML 23
Parametric Example - Usage
Weapon Real Force
MetalObject Real Acceleration Real Volume Real Density
cd Weapon
Real Force
MetalObject Real Acceleration Real Volume Real Density
cd
Firing Range
Cannon: Weapon
Shot: MetalObject
scd
« parametricRelation » m=d*v
«property» Cannon.Force:Real
«property» Shot.Acceleration:Real
«property» Shot.Density:Real «property»
Shot.Volume:Real
« parametricRelation » f=m*a f a
m
v m
d
pd Firing Range
Parametric Diagram
TISYSE An Introduction to SysML 24
Activity Diagram Notation
Flows can be discrete, streaming or control
TISYSE An Introduction to SysML 25
SysML EFFBD Profile
TISYSE An Introduction to SysML 26
Allocations
• Provides general relationship to map one model element to another
• Includes specific subclasses of allocation with constraints on their usage• Behavioral• Structural• Flow
• Explicit allocation of activities to swim lanes (e.g. activity partitions)
• Graphical and/or tabular representations
TISYSE An Introduction to SysML 27
Different Allocation Representations
ElementName1
ElementName3
to
ElementName2
from
«allocate»
to
«allocate»:ElementName
ActivityName
Explicit Allocation ofActivity to Swim Lane
Allocate Relationship
Callout NotationCompartment Notation
«block»BlockName
PartName
allocatedFrom«elementType»ElementName
«block»BlockName
allocatedFrom«elementType»ElementName
PartName
TISYSE An Introduction to SysML 28
Example - SysML Allocation to SW and HW
TISYSE An Introduction to SysML 29
req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]
Braking Subsystem Specification
Vehicle System Specification
id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”
«requirement»StoppingDistance
id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”
«requirement»Anti-LockPerformance
«deriveReqt»
definition
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»Traction Detector
«block»Brake
Modulator
«block»Library::Electro-Hydraulic
Valve
«block»Library::
Electronic Processor
«block»Anti-Lock Controller
d1 m1
use
ibd [block] Anti-LockController [Internal Block Diagram]
d1:Traction Detector
m1:Brake Modulator
c1:modulator interface
4 Pillars of SysML ABS Example
1. Structure 2. Behavior
3. Requirements 4. Parametrics
sd ABS_ActivationSequence [Sequence Diagram]
d1:TractionDetector
m1:BrakeModulator
detTrkLos()
modBrkFrc()
sendSignal()
modBrkFrc(traction_signal:boolean)
sendAck()
interaction
state machine
stm TireTraction [State Diagram]
Gripping Slipping
LossOfTraction
RegainTractionactivity/function
act PreventLockup [Activity Diagram]
DetectLossOf Traction
Modulate BrakingForce
TractionLoss:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
:AccellerationEquation[F = ma]
:VelocityEquation[a = dv/dt]
:DistanceEquation[v = dx/dt]
:BrakingForceEquation
[f = (tf*bf)*(1-tl)]
tf: bf:tl:
f:
F:
c
a:a:
v:
v:
x:
TISYSE An Introduction to SysML 30
req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]
Braking Subsystem Specification
Vehicle System Specification
id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”
«requirement»StoppingDistance
id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”
«requirement»Anti-LockPerformance
«deriveReqt»
req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]
Braking Subsystem Specification
Vehicle System Specification
id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”
«requirement»StoppingDistance
SatisfiedBy«block»Anti-LockController
id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”
«requirement»Anti-LockPerformance
«deriveReqt»
act PreventLockup [Activity Diagram]
DetectLossOf Traction
Modulate BrakingForce
TractionLoss:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
:AccellerationEquation[F = ma]
:VelocityEquation[a = dv/dt]
:DistanceEquation[v = dx/dt]
:BrakingForceEquation
[f = (tf*bf)*(1-tl)]
tf: bf:tl:
f:
F:
c
a:a:
v:
v:
x:
ibd [block] Anti-LockController [Internal Block Diagram]
d1:Traction Detector
m1:Brake Modulator
c1:modulator interface
Cross Connecting Model Elements
1. Structure 2. Behavior
3. Requirements 4. Parametrics
act PreventLockup [Swimlane Diagram]
«allocate»:TractionDetector
«allocate»:BrakeModulator
allocatedTo«connector»c1:modulatorInterface
DetectLossOf Traction
Modulate BrakingForce
TractionLoss:
ibd [block] Anti-LockController [Internal Block Diagram]
allocatedFrom«activity»DetectLosOfTraction
d1:TractionDetector
allocatedFrom «activity»Modulate BrakingForce
m1:BrakeModulator
allocatedFrom«ObjectNode»TractionLoss:
c1:modulatorInterface
ibd [block] Anti-LockController [Internal Block Diagram]
allocatedFrom«activity»DetectLosOfTraction
d1:TractionDetector
allocatedFrom «activity»Modulate BrakingForce
m1:BrakeModulator
allocatedFrom«ObjectNode»TractionLoss:
c1:modulatorInterface
satisfies«requirement»Anti-LockPerformance
ibd [block] Anti-LockController [Internal Block Diagram]
allocatedFrom«activity»DetectLosOf Traction
d1:TractionDetector
valuesDutyCycle: Percentage
allocatedFrom «activity»Modulate BrakingForce
m1:BrakeModulator
allocatedFrom«ObjectNode»TractionLoss:
c1:modulatorInterface
satisfies«requirement»Anti-LockPerformance
allocate
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
:AccellerationEquation[F = ma]
:VelocityEquation[a = dv/dt]
:DistanceEquation[v = dx/dt]
:BrakingForceEquation
[f = (tf*bf)*(1-tl)]
tf: bf:tl:
f:
F:
m:
a:a:
v:
v:
x:
v.Position:
v.Weight:v.chassis.tire.
Friction:v.brake.abs.m1.
DutyCycle:v.brake.rotor.BrakingForce:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
:AccellerationEquation[F = ma]
:VelocityEquation[a = dv/dt]
:DistanceEquation[v = dx/dt]
:BrakingForceEquation
[f = (tf*bf)*(1-tl)]
tf: bf:tl:
f:
F:
m:
a:a:
v:
v:
x:
v.Position:
v.Weight:v.chassis.tire.
Friction:v.brake.abs.m1.
DutyCycle:v.brake.rotor.BrakingForce:
value binding
req [package] VehicleSpecifications [Requirements Diagram - Braking Requirements]
Braking Subsystem Specification
Vehicle System Specification
VerifiedBy«interaction»MinimumStoppingDistance
id=“102”text=”The vehicle shall stop from 60 mph within 150 ft on a clean dry surface.”
«requirement»StoppingDistance
SatisfiedBy«block»Anti-LockController
id=”337"text=”Braking subsystem shall prevent wheel lockup under all braking conditions.”
«requirement»Anti-LockPerformance
«deriveReqt»
satisfy
verify
TISYSE An Introduction to SysML 31
Agenda
What is SysML? Relationship between UML and SysML Examples of Extensions Industrial Control• Concluding Remarks
TISYSE An Introduction to SysML 32
System Modeling
TISYSE An Introduction to SysML 33
Combining Model-Driven and Model Based Design in Industrial Machine Control
MDD: Model Driven Developmentin Rhapsody (Telelogic)
MBD: Model Based Design in Simulink (Mathworks)
TISYSE An Introduction to SysML 34
MDD versus MBD Feature Comparison
Table 1. MDD versus MBD feature comparison
TISYSE An Introduction to SysML 35
Complementary Tool Solution
• The Rhapsody MDD environment covers standard UML 2.0 / SysML based software and systems design
• Simulink is the de-facto standard for dynamic systems modeling• allowing block diagrams of complex dynamic
(mathematical) algorithms to be captured and analyzed
• Simulink connection to Rhapsody
TISYSE An Introduction to SysML 36
Rhapsody – Simulink Integration (1)
TISYSE An Introduction to SysML 37
Rhapsody – Simulink Integration (2)
SimulinkModel andCodeImportedintoRhapsody
TISYSE An Introduction to SysML 38
Agenda
What is SysML? Relationship between UML and SysML Examples of Extensions Industrial Control Concluding Remarks
TISYSE An Introduction to SysML 39
Concluding Remarks
• SysML contains many interesting extensions of UML• It will be good to get a more common language
between different disciplines• Question is what kind of validation can be made with
these different models• What about common semantics?
• What about time connectivity between discrete event an continuous simulators?