Model-Based Systems Engineering Center

MBSE
Model-Based
Systems Engineering
Center
Model-Based Systems Engineering
with SysML:
Problem Definition, Simulation and Optimization
Chris Paredis
Associate Director
Model-Based Systems Engineering Center
Georgia Tech
chris.paredis@me.gatech.edu
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
1
Presentation Overview

Model-Based Systems Engineering
– Overview and motivation
– The Systems Modeling Language (OMG SysMLTM)

Model Transformation for Simulation and
Optimization

System Architecture Exploration
– Transforming SysML models into analysis and optimization
models
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
2
Model-Based Systems Engineering
Moving from Documents to Models
Marketing
Software
Analysis
Project
Management
Manufacturing
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
CAD
MBSE
•
•
•
•
•
Power plant
Transmission
Brakes
Chassis
…
3
Model-Based Systems Engineering
Moving from Documents to Models
Marketing
Software
Analysis
Implicit
Dependencies
between
Documents
Project
Management
Manufacturing
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
CAD
MBSE
•
•
•
•
•
Power plant
Transmission
Brakes
Chassis
…
4
Model-Based Systems Engineering
Moving from Documents to Models
Marketing
Software
Analysis
Project
Management
System
Model
Manufacturing
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
CAD
MBSE
•
•
•
•
•
Power plant
Transmission
Brakes
Chassis
…
5
Model-Based Systems Engineering
What Kinds of System Models?
Requirements
Dynamic Performance
Structure / Physical Architecture
Engine
Transmission
Control
Input
Driveline
Integrated System Model
Must Address Multiple
Aspects of a System
Shift
Accel
Vehicle
Dynamics
Mass
System
Model
Cost
Manufacturing
Behavior / Functional Architecture
Start
Power
Equations
Reliability
Brake
Models are more formal, complete & semantically rich
(Adapted from OMG SysML Tutorial)
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
6
The Payoff for MBSE
Models are more formal, complete & semantically rich
Improved communication
 less ambiguous, more consistent
Improved complexity management
 traceability, abstraction, decomposition
Improved design quality
 more efficient and effective exploration
Improved knowledge reuse
 integrated model libraries
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
7
Summary: Making Better Decision
Ideas
Alternatives
Knowledge/
Beliefs
Outcomes
Preferences
Selection
Criterion: E[u]
Decision Theory
Maximize E[u]
(Figure Adapted from G. Hazelrigg)

Most Preferred
System Alternative
Goal of MBSE: Improve Efficiency & Rationality
– Efficient = Perform the SE process with fewer resources
– Rational = Make better decisions with available information
(Be consistent with designer’s beliefs and preferences)
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
8
Presentation Overview

Model-Based Systems Engineering
– Overview and motivation
– The Systems Modeling Language (OMG SysMLTM)

Model Transformation for Simulation and
Optimization

System Architecture Exploration
– Transforming SysML models into analysis and optimization
models
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
9
SysML: A Key Enabler for MBSE
The Systems Modeling Language (OMG SysMLTM)
is a visual, general purpose modeling language

What Can be Expressed in SysML?
– All the information and knowledge needed for the
application of a systems development methodology





Specification
Analysis
Design
Verification
Validation






2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
Hardware
Software
Data
Personnel
Procedures
Facilities
10
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
2. Behavior
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Library::Elec
tro-Hydraulic
Valve
«block»
Anti-Lock
Controller
d1
«block»
Traction
Detector
m1
«block»
Brake
Modulator
definition
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
11
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
2. Behavior
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Anti-Lock
Controller
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Traction
Detector
definition
«block»
Library::Elec
tro-Hydraulic
Valve
«block»
Brake
Modulator
c1:modulator
interface
use
d1:Traction
Detector
m1:Brake
Modulator
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
12
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Anti-Lock
Controller
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Traction
Detector
definition
d1:Traction
Detector
«block»
Library::Elec
tro-Hydraulic
Valve
«block»
Brake
Modulator
c1:modulator
interface
use
d1:Traction
Detector
m1:Brake
Modulator
interaction
detTrkLos()
sendSignal()
modBrkFrc(traction_signal:boolean)
modBrkFrc()
m1:Brake
Modulator
sendAck()
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
13
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Anti-Lock
Controller
«block»
Traction
Detector
definition
stm TireTraction [State Diagram]
m1:Brake
d1:Traction
Modulator
Detector
LossOfTraction
«block»
Library::Elec
tro-Hydraulic
Valve
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Brake
Modulator
c1:modulator
interface
use
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
d1:Traction
Detector
detTrkLos()Gripping
sendSignal()
interaction
state
machine
Slipping
RegainTraction
modBrkFrc(traction_signal:boolean)
modBrkFrc()
m1:Brake
Modulator
sendAck()
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
14
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Anti-Lock
Controller
«block»
Traction
Detector
definition
stm TireTraction [State Diagram]
m1:Brake
d1:Traction
Modulator
Detector
LossOfTraction
act PreventLockup [Activity
Diagram]
«block»
Library::Elec
tro-Hydraulic
Valve
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Brake
Modulator
c1:modulator
interface
use
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
d1:Traction
Detector
detTrkLos()Gripping
interaction
state
machine
Slipping
RegainTraction
TractionLoss:
DetectLossOf
sendSignal()
Traction
modBrkFrc(traction_signal:boolean)
Modulate
BrakingForce
activity/
function
modBrkFrc()
m1:Brake
Modulator
sendAck()
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
15
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
1. Structure
bdd [package] VehicleStructure [ABS-Block Definition Diagram]
«block»
Library::
Electronic
Processor
«block»
Anti-Lock
Controller
«block»
Traction
Detector
definition
stm TireTraction [State Diagram]
m1:Brake
d1:Traction
Modulator
Detector
LossOfTraction
act PreventLockup [Activity
Diagram]
«block»
Library::Elec
tro-Hydraulic
Valve
ibd [block] Anti-LockController
[Internal Block Diagram]
m1
d1
«block»
Brake
Modulator
c1:modulator
interface
use
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
d1:Traction
Detector
detTrkLos()Gripping
interaction
state
machine
Slipping
RegainTraction
TractionLoss:
DetectLossOf
sendSignal()
Traction
modBrkFrc(traction_signal:boolean)
activity/
function
Modulate
BrakingForce
modBrkFrc()
m1:Brake
Modulator
sendAck()
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
x:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
16
(Source: Friedenthal, www.omgsysml.org)
Pillars of SysML — 4 Main Diagram Types
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
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
«block»
Brake
Modulator
c1:modulator
interface
2. Behavior
sd ABS_ActivationSequence [Sequence Diagram]
d1:Traction
Detector
detTrkLos()Gripping
state
machine
Slipping
RegainTraction
TractionLoss:
DetectLossOf
sendSignal()
Traction
modBrkFrc(traction_signal:boolean)
activity/
function
Modulate
BrakingForce
modBrkFrc()
m1:Brake
Modulator
use
interaction
sendAck()
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
tf:
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.”
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
«deriveReqt»
x:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
17
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
ibd [block] Anti-LockController
[Internal Block Diagram]
«allocate»
:BrakeModulator
d1:Traction
Detector
c1:modulator
interface
DetectLossOf
Traction
m1:Brake
Modulator
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
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:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
«deriveReqt»
x:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
18
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
OfTraction
Detector
c1:modulator
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
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:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
v:
v:
:VelocityEquation
[a = dv/dt]
«deriveReqt»
x:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
19
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
OfTraction
Detector
c1:modulator
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
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:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
SatisfiedBy
«block»Anti-LockController
«deriveReqt»
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
20
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
OfTraction
Detector
c1:modulator
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
satisfy
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:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
SatisfiedBy
«block»Anti-LockController
«deriveReqt»
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
21
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
Of
Traction
OfTraction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
Modulate
BrakingForce
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
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:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
SatisfiedBy
«block»Anti-LockController
«deriveReqt»
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
22
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
[Internal Block Diagram]
d1:TractionDetector
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
Of
Traction
OfTraction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
Modulate
BrakingForce
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
v.brake.rotor.
BrakingForce:
v.Weight:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
Braking Subsystem
Specification
«requirement»
StoppingDistance
«requirement»
Anti-LockPerformance
id=“102”
text=”The vehicle shall stop
from 60 mph within 150 ft
on a clean dry surface.”
id=”337"
text=”Braking subsystem
shall prevent wheel lockup
under all braking conditions.”
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
SatisfiedBy
«block»Anti-LockController
«deriveReqt»
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
v.Position:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
23
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
d1:TractionDetector
[Internal Block Diagram]
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
Of
Traction
OfTraction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
Modulate
BrakingForce
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
v.brake.rotor.
BrakingForce:
v.Weight:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
Braking Subsystem
Specification
«requirement»
StoppingDistance
«requirement»
Anti-LockPerformance
id=“102”
text=”The vehicle shall stop
from 60 mph within 150 ft
on a clean dry surface.”
id=”337"
text=”Braking subsystem
shall prevent wheel lockup
under all braking conditions.”
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
SatisfiedBy
«block»Anti-LockController
«deriveReqt»
v:
v:
:VelocityEquation
[a = dv/dt]
x:
«deriveReqt»
v.Position:
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
24
(Source: Friedenthal, www.omgsysml.org)
Cross Connecting Model Elements
1. Structure
2. Behavior
act PreventLockup [Swimlane Diagram]
ibd [block] Anti-LockController
[Internal Block Diagram]
satisfies
«requirement»
Anti-Lock
Performance
ibd [block] Anti-LockController
d1:TractionDetector
[Internal Block Diagram]
«allocate»
act PreventLockup
[Activity Diagram]
:TractionDetector
«allocate»
:BrakeModulator
allocatedFrom
«activity»DetectLos
d1:Traction
Of
Traction
OfTraction
Detector
c1:modulator
c1:modulator
Interface
Interface
c1:modulator
interface
DetectLossOf
Traction
m1:BrakeModulator
m1:Brake
Modulator
allocatedFrom
«activity»Modulate
BrakingForce
allocatedFrom
«ObjectNode»
TractionLoss:
TractionLoss:
allocatedTo
«connector»c1:modulatorInterface
values
DutyCycle: Percentage
satisfy
req [package] VehicleSpecifications
[Requirements Diagram - Braking Requirements]
Modulate
BrakingForce
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
v.chassis.tire.
Friction:
v.brake.abs.m1.
DutyCycle:
v.brake.rotor.
BrakingForce:
v.Weight:
par [constraintBlock] StraightLineVehicleDynamics [Parametric Diagram]
Vehicle System
Specification
Braking Subsystem
Specification
«requirement»
StoppingDistance
«requirement»
Anti-LockPerformance
id=“102”
text=”The vehicle shall stop
from 60 mph within 150 ft
on a clean dry surface.”
id=”337"
text=”Braking subsystem
shall prevent wheel lockup
under all braking conditions.”
tf:
tl:
bf:
:BrakingForce
Equation
[f = (tf*bf)*(1-tl)]
c
m:
f:
F:
:Accelleration
Equation
[F = ma]
a:
a:
:DistanceEquation
[v = dx/dt]
VerifiedBy
SatisfiedBy
«interaction»MinimumStopp
«block»Anti-LockController
«deriveReqt»
ingDistance
v:
v:
:VelocityEquation
[a = dv/dt]
x:
v.Position:
«deriveReqt»
«deriveReqt»
4. Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
3. Parametrics
MBSE
25
Presentation Overview

Model-Based Systems Engineering
– Overview and motivation
– The Systems Modeling Language (OMG SysMLTM)

Model Transformation for Simulation and
Optimization

System Architecture Exploration
– Transforming SysML models into analysis and optimization
models
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
26
Formal Models + Model Transformations
Stage-Gate Documents
Transformation
System
Model
Transformation
Project Management Metrics
Simulation &
Optimization
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
27
Model Transformation
Source Metamodel
refers to
Transformation Specification
conforms to
Source Model
refers to
executes
reads
Target Metamodel
conforms to
writes
Transformation Engine
Target Model
(Czarnecki, K., & Hellen, S., 2006)


Transformation Specification is
also a Model
 automated generation of
transformation engine code
Origins

– Automation of repeated
modeling patterns
– Tool interoperation
– Document generation
– Consistency checking
– Dependency propagation
– Model Driven Architecture/
Engineering

Example Usages:
Tools
– MOFLON, QVTo, ATL, GME/GReAT, VIATRA2, Kermeta,…
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
28
SysML-Modelica Transformation Specification
Representing Hybrid Continuous/Discrete Dynamics in SysML


OMG standard for integrating SysML and Modelica
Transformation is specified in QVT (Query/View/
Transformation) – an OMG specification
conforms to
SysML+
SysML4Modelica
metamodel
conforms to
Modelica
metamodel
XMI
(SysML4
Modelica)
XMI
(Modelica)
SysML
Tool
QVT
(normative)
Tool-Specific
Repository
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
Modelica
abstract
syntax
OMC
Modelica
.mo file
MBSE
29
SysML-ModelCenter Transformation
Executing SysML Parametric Analyses / Optimizations
Transformation
System Properties

Analysis Model

2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
Through ModelCenter,
include and execute a wide
range of engineering
analyses in SysML
Trace requirements and
design models to analysis
30
Presentation Overview

Model-Based Systems Engineering
– Overview and motivation
– The Systems Modeling Language (OMG SysMLTM)

Model Transformation for Simulation and
Optimization

System Architecture Exploration
– Transforming SysML models into analysis and optimization
models
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
31
Architecture Exploration Framework
Components
Problem
Definition
SysML
Linear
Models
SysML
Generate
Architecture
Expl. Problem
SysML
Topology
Analysis
Variable Fidelity
Model Selection
SysML
GAMS / AMPL / AIMMS
Nonlinear
Models
Generate
Algebraic Design
Problem
SysML
Dynamic
Models
Mixed-Integ
Nonlin Solver
Algebraic
Analysis
Design Explorer
Monte Carlo + Kriging
Modelica
Optimization
Solver
Uncertainty
Quantification
Dynamic
Analysis
SysML
Generate
Dynamic Design
Problem
Problem Formulation
Problem Solution
Transformation
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
32
System Architecture Exploration
for a Hydraulic Excavator

Given:
– Component models
– Objectives / preferences

Excavator
Find:
– Best system architecture
– Best component
parameters
– (Best controller)
engine
pump_vdisp
accum
cylinder
v_3way
How to connect and size these?
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
33
Specify Allowable/Required Components
ibd [Block] Hydraulic Subsystem [Hydraulic Subsystem]
A
arm
rod
B
armCylinder : Cylinder
A
bucket
rod
housing
bucketHousing
bucketCylinder : Cylinder
rod
B
boomCylinderLeft : Cylinder
A
boomR
armHousing
B
A
boomL
housing
rod
housing
boomLHousing
housing
boomRHousing
A Component may be
abstract, representing
multiple sub-classes
B
boomCylinderRight : Cylinder
P : Hydraulic
Multiplicities for
optional components
rotational : Rotational swingMotor : FixedDisplacementMotor
P [1]
swing
T : Hydraulic
T2
T
powerUnit : PowerUnit [1..4]
P2
Specify the required
connectors in IBD
rotational : Rotational
out : Rotational
valveBlock : ValveBlock [0..4]
A
B
mover : PrimeMover [1..4]
fuelIn : Fuel
T1
P1
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
fuel
MBSE
34
Specify Allowable/Required Connections
Connectors
blank
not allowed
1
required
+
optional



+
+
1
1
1
1
Note: mock-up – under development
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
35
Associate Tests with Requirements
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
36
Define Tests in a Solution-Independent Fashion
ibd [Block] Hydraulic Subsystem [Hydraulic Subsystem]
A
arm
rod
bucket
rod
boomL
rod
boomR
rod
B
armCylinder : Cylinder
A
housing
armHousing
housing
bucketHousing
housing
boomLHousing
housing
boomRHousing
B
bucketCylinder : Cylinder
A
B
boomCylinderLeft : Cylinder
A
B
boomCylinderRight : Cylinder
P : Hydraulic
rotational : Rotational swingMotor : FixedDisplacementMotor
P [1]
swing
T : Hydraulic
T2
T
powerUnit : PowerUnit [1..4]
P2
rotational : Rotational
out : Rotational
valveBlock : ValveBlock [0..4]
A
B
mover : PrimeMover [1..4]
fuelIn : Fuel
T1
P1
fuel
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
37
Define Test Protocols as Activities
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
38
Domain Knowledge: Model Libraries
Component Structure
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
Algebraic Linear/Nonlinear
MBSE
DAE — Modelica
39
Model Transformations to Domain Knowledge
When cylinder is used, other corresponding models
are often used also
 Capture the reuse pattern

2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
40
Model Transformations to Domain Knowledge
Defining the Reuse Patterns in SysML
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
41
Transformation to Mixed Integer (Linear) Program
Composition of component
models
 Decision variables for
component & connector
selection
 Efficient filtering of
architecture alternatives

ibd [Block] Hydraulic Subsystem [Hydraulic Subsystem]
A
arm
rod
bucket
rod
boomL
rod
boomR
rod
B
armCylinder : Cylinder
A
housing
armHousing
housing
bucketHousing
housing
boomLHousing
housing
boomRHousing
B
bucketCylinder : Cylinder
A
B
boomCylinderLeft : Cylinder
A
B
boomCylinderRight : Cylinder
P : Hydraulic
rotational : Rotational swingMotor : FixedDisplacementMotor
P [1]
swing
T : Hydraulic
T2
T
powerUnit : PowerUnit [1..4]
P2
rotational : Rotational
out : Rotational
valveBlock : ValveBlock [0..4]
A
B
mover : PrimeMover [1..4]
fuelIn : Fuel
T1
P1
fuel
System
Model
Generation of
AIMMS – CPLEX
models through
transformation
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
AIMMS – CPLEX
MBSE
42
Step 1: Create a Superstructure
All potential
components
All potential
connections
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
43
Step 2: Linearization of Constitutive Equations
τmax
 max  0  0  
1 1  2  2  3  3
  0(0)  1(1)  2(2)  3(3)
0  1  2  3  1
τ(1)
τ(2)
τ(0)
sgmt (1)  sgmt (2)  sgmt (3)  1
0  1  sgmt (1)
1  2  sgmt (2)
2  3  sgmt (3)
τ(3)
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
ω
Binary
Variable
44
Step 3: Generate Connection Equations

Kirchhoff’s Laws:
–
–
–
–

A.flow + flowAC = 0
B.flow + flowBC = 0
C.flow – flowAC – flowBC = 0
A.pressure = B.pressure = C.pressure
A
C
B
When considering optional connections:
–
–
–
–
–
A.flow + flowAC * existsAC = 0
B.flow + flowBC * existsBC = 0
C.flow – flowAC * existsAC – flowBC * existsBC = 0
(A.pressure - C.pressure) * existsAC = 0
(B.pressure - C.pressure) * existsBC = 0
Model is nonlinear
 Difficult to solve
Continuous
Variables
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
Binary
Variable
MBSE
45
Step 3: Generate Connection Equations

Kirchhoff’s Laws:
–
–
–
–

A.flow + flowAC = 0
B.flow + flowBC = 0
C.flow – flowAC – flowBC = 0
A.pressure = B.pressure = C.pressure
A
C
B
When considering optional connections:
–
–
–
–
flowAC <= existsAC * upperBound
flowAC >= - existsAC * upperBound
flowBC <= existsBC * upperBound
flowBC >= - existsBC * upperBound
Model is linear  Can be solved very quickly
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
46
Step 4: Solve Mixed-Integer Linear Equations




Potentially 4 Pumps, 4 Valves, 4 Cylinders, 1 Motor
4 Motion Phases
Generated MIP Problem: 7147 Constraints & 2175
Variables
Solution time: < 10 minutes
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
47
So What?

Express complex problems in domain-specific language
– Multiple perspectives, multiple operational phases, …

Transform problem into declarative equations
– Efficient formulation  much larger problems than
can be formulated manually
– Efficient solution  take advantage of knowledge of the
mathematical structure of the equations


Same problem definition can be reused at different levels
of abstraction
Goal is NOT to find the optimal solution in one step… but
to filter out the poor solutions so that more accurate and
more expensive models can be applied selectively
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
48
Architecture Exploration Framework
Components
Problem
Definition
SysML
Linear
Models
SysML
Generate
Architecture
Expl. Problem
SysML
Topology
Analysis
Variable Fidelity
Model Selection
SysML
GAMS / AMPL / AIMMS
Nonlinear
Models
Generate
Algebraic Design
Problem
SysML
Dynamic
Models
Mixed-Integ
Nonlin Solver
Algebraic
Analysis
Design Explorer
Monte Carlo + Kriging
Modelica
Optimization
Solver
Uncertainty
Quantification
Dynamic
Analysis
SysML
Generate
Dynamic Design
Problem
Problem Formulation
Problem Solution
Transformation
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
49
MBSE
Model-Based
Systems Engineering
Center
Key Take-Aways
1. Model-Based Systems Engineering (MBSE)
– Key for meeting tomorrow’s demands on complexity & functionality
2. SysML
– The leading standardized language for supporting MBSE
3. Formal models enable model transformation
– Extract information, documents, analyses from SysML models
4. Efficient solution of Architecture Exploration Problems
– Formal problem definition  optimization at different levels of
abstraction
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
MBSE
50
Acknowledgments

Sponsors

–
–
–
–
John Deere
Ford Motor Company
Lockheed Martin
National Science
Foundation
– Siemens

–
–
–
–
–
–
–
–
–
Collaborators
–
–
–
–
–
Leon McGinnis
Russell Peak
Peter Fritzson
Roger Burkhart
Sandy Friedenthal
2008-2011 Copyright © Georgia Tech. All Rights Reserved.
Grad Students /
Postdocs
MBSE
Aditya Shah (Deere)
Alek Kerzhner
Axel Reichwein
Ben Lee
Brian Taylor
Kevin Davies
Roxanne Moore
Sebastian Herzig
Wladimir Schamai (EADS)
51