Extending SysML for Integration with Solver-based Simulation Tools Ion Matei Conrad Bock
Overview § Motivation and approach § Dynamic simulation overview § SysML extension § Detailed example § Transforming to simulation formats § Summary
Overview § Motivation and approach § Dynamic simulation overview § SysML extension § Detailed example § Transforming to simulation formats § Summary
Model-based Systems Engineering § Enabled by integrated models of: Designs Requirements 100 kw Accelerate at of 4 m/s 2 hydraulic pressure mechanical pressure Analysis and testing 4
Modeling Languages § Needed for people / computers to share models. 1. Acetylation 2. Saponification & Precipitation 3. Washing & Drying 4. Rhodla Flakes Diagrams 5. Mixing 6. Spinning 7. Crimping 8. Drying and/or text 9. Laying 10. Pressing Bales § Graphics: § Domain § What happens: terms: – Circles, – Geometry changed. – Rectangles – Pieces mounted – Lathes, Feeders onto machines. – Lines – Drying, Shaping § Text: – Water removed. 5 – Reserved words
Systems Modeling Language (SysML) § Most widely used graphical modeling language for systems engineering. § Open standard published by the Object Management Group (OMG). § Initiated by the International Council on Systems Engineering (INCOSE). § First published in 2007, most recent update in 2012. § Adopted by practically all commerical and open source SE modeling tools. 6
SysML Diagrams Requirements Components definition use Behavior sd ABS_ActivationSequence [Sequence Diagram] stm TireTraction [State Diagram] interaction m1:Brake d1:Traction Modulator Detector LossOfTraction state machine Gripping Slipping detTrkLos() activity RegainTraction sendSignal() modBrkFrc(traction_signal:boolean) modBrkFrc() Parametrics sendAck() 7
SysML extends the Unified Modeling Language (UML) § UML is the most widely used graphical modeling language for software (also published by OMG). § INCOSE chose to extend UML (and approach OMG) because – Modern systems/products usually have significant amounts of software in them. – Extending UML is a path to integrating engineering and software development. – Software modeling in UML has many commonalities with systems 8 engineering modeling.
SysML/UML Diagrams SysML Block Definition Requirements Internal Block Parametric Package Diagram Diagram Diagram Diagram Diagram (structure) UML Internal Structure Package Class Diagram Diagram Diagram SysML/UML Activity State Machine Use Case Interaction Diagram Diagram Diagram Diagram (behavior) As-is from UML Extension of UML 9
SysML as Hub for Engineering § Focus of this talk is integration with solver-based simulation.
Solver-based Simulators § Solver-based simulators have user interfaces similar to modeling tools. 11 § But the tools treat these as equations rather than physical things.
Solver-based Simulators § Generate differential equations from diagrams and incrementally solve them to give values of variables over time. 0.7 0.6 0.5 0.4 0.3 0.2 0.1 Time
SysML Hub for Simulators § Integration supported by different profiles for each simulator.
Reduce Specialized Profiles § Extend SysML with a general simulation profile.
Overview § Motivation and approach § Dynamic simulation overview § SysML extension § Detailed example § Transforming to simulation formats § Summary
Multiple Engineering Disciplines § Generally, solvers use the same numerical algorithms for all the engineering disciplines. 16
Multiple Engineering Disciplines § Possible because of commonality of underlying physics. What is Potential to Domain Flow rate flowing flow Electrical Charge Current Voltage Mechanics, Momentum Force Velocity translational Mechanics, Angular Angular Torque angular momentum velocity Volume Volumetric Hydraulics (uncompressable Pressure rate fluid) Heat flow Thermal Heat energy Temperature rate 17
Conservation Laws § Rates of flow follow conservation laws, potentials to flow do not. Flow rate, out 1 Flow rate, in Potential to flow Potential to flow Potential to flow Flow rate, out 2 § FR out 1 + FR out 2 = FR in § Potential to flow is the same on all 18 ends.
Conservation Laws § Flow rates can be in either direction (postive or negative). Flow rate, out/in 1 Flow rate, in/out Potential to flow Potential to flow Potential to flow Flow rate, out/in 2 § FR out/in 1 + FR out/in 2 = FR in/out § Potential to flow is the same on all 19 ends.
Simulating Information Flow § Information flow does not follow conservation laws – Information can be copied. – Simulated as potential to flow (signals). Information Information Information § Information is the same on all ends. 20
Simulator Constraints § Rates of flow cannot be simulated on unidirectional flows. Flow rate, out 1 Flow rate, in Potential to flow Potential to flow Potential to flow Flow rate, out 2 § FR out 1 + FR out 2 = FR in § Potential to flow is the same on all 21 ends.
Simulator Constraints § Unidirectional flows cannot be merged. § They can be split (reverse of above). § Bidirectional flows can be merged and split. 22
Overview § Motivation and approach § Dynamic simulation overview § SysML extension § Detailed example § Transforming to simulation formats § Summary
Integration with SE Modeling § Systems engineering models and simulators are concened with overlapping aspects of flow. Kind of item Potential to Domain Flow Rate flowing flow Electrical Charge Current Voltage Mechanics, Momentum Force Velocity translational Direction Mechanics, Angular of flow Torque Angular velocity angular momentum Volume Volumetric Fluid (uncompressable Pressure rate fluid) Heat flow Thermal Heat energy Temperature rate 24 Systems Engineering Dynamic Simulators
Flow Properties in SysML § Specify what is flowing and in which direction. bdd PowerTrain Crankshaft Hub out produces : Energy in accepts : Energy Kind of item Direction flowing of flow cs : Crankshaft h : Hub Engine Wheel 25
Extending SysML § Bring flows and potentials into SysML for generating simulator input. bdd PowerTrain Crankshaft Hub out produces : Energy in accepts : Energy «simProperty» {referTo: produces} «simProperty» {referTo: accepts} simProduces : EnergyFlow simAccepts : EnergyFlow «simBlock» EnergyFlow «simVariable» {isConserved} energyFlowRate : Power «simVariable» energyPotential : PotentialEnergy 26
Stereotypes «metaclass» «stereotype» Property Block «stereotype» «stereotype» Start here SimBlock SimProperty referTo : FlowProperty { all properties have SimVariable applied } { property is typed by Class with SimBlock applied } «stereotype» «stereotype» SimConstant SimVariable isContinuous : Boolean = true isConserved: Boolean = false changeCycle: Real = 0 { property is a value property } 27
Conservation and Directionality § SimBlocks for unidirectional flow properties ( in or out ) can only have non-conserved variables (isConserved = false). § Simblocks for bidirectional flow properties can have both conserved and non-conserved variables.
Connection Constraints § SimBlocks of matching flow properties must either be the same or match exactly. § In flow properties can be connected to no more than out flow property. § Out flow properties can be connected to any number of in flow properties. § Inout flow properties aren’t constrained in linkage number.
Overview § Motivation and approach § Dynamic simulation overview § SysML extension § Detailed example § Transforming to simulation formats § Summary
Example (Graphics) ibd [block] Circuit p: Pin p: Pin r : Resistor s : Source n: Pin n: Pin n: Pin c : Capacitor p: Pin p: Pin i : Inductor p: Pin n: Pin g : Ground § N-ary electrical connections broken into binary SysML connectors.
Example (Extensions) bdd CircuitBlocks Start «block» «block» « simBlock » TwoPinElectricalComponent ElectricityFlow Pin here ports flow properties sim variables p : Pin {isConserved} i : Current inout electricity: Charge n : Pin v : Voltage sim properties sim variables {referTo=electricity} sb: ElectricityFlow {isConserved } iThru : Current vDrop : Voltage «block» «block» «block» «block» Resistor Capacitor Inductor Source sim constants sim constants constraints sim constants R : Resistance= 10 C : Capacitance= 0.01 sc : SourceConstraint L : Inductance= 0.1 constraints constraints constraints rc : ResistorConstraint cc : CapacitorConstraint ic : InductorConstraint «block» Ground ports p : Pin constraints sc : SourceConstraint
Example (Constraint Blocks) «block» TwoPinElectricalComponent par [block] Resistor ports p : Pin p.sb.i p.sb.v n : Pin sim variables «isConserved» iThru : Current posI: posV: vDrop : Voltage vDrop v: «block» rc : ResistorConstraint iThru Resistor i: sim constants R : Resistance= 10 R R: constraints rc : ResistorConstraint negI: negV: n.sb.i n.sb.v
Recommend
More recommend