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