Download presentation
Presentation is loading. Please wait.
Published byMiroslav Navrátil Modified over 6 years ago
1
Extending SysML for Integration with Solver-based Simulation Tools
SysML/Modelica Team Discussion
2
Next Steps Alternative extensions and transformations to simulators.
Conrad had side discussion with Nicolas. Signal processing / directed flow example. Modeling tool testing (NoMagic, etc). SysML/Modelica profile Based on the simulator-independent profile? Populated from this profile? Other aspects of SysML useful in simulation State machines, etc. Use cases? How much of the simulation languages to include? RFC? Into SysML or separately. Spec should cover generation to simulators. Simulator-independent libraries. Generate to use simulator-specific libraries. Other languages: VHDL-AMS (similar to Modelica). Axel: Other extensions: geometry. Chris: Solvers constrain states to have the same number of equations/unknowns in each state, modelers use conditionals in equations. Conrad: Generate conditionals from state machines when constraint is violated. Axel: Dassault concerned with SE/Eng integration (bought Dymola), and others, offering proprietary solutions. Conrad: Start with smaller players. Axel: Multiple disciplines involved. Conrad: Yes, but with same underlying mathematics.
3
Other comments / questions
Separation of descriptive and analysis model. Not necessarily one-to-one from descriptive to analysis. Time modeling Physical vs clocks vs simulation. Generation from time parameters. Type system differences See Nicolas messages on subtyping. 12/05/12 Conrad: Profile is limited to solver-based simulators, rather than analysis in general. It is simulator-independent, so is more appropriate for so-called descriptive models, because it is widely applicable. The extensions can also be applied in specialized models if complete separate is needed (or using views if its a matter of presentation). We found the descriptive and simulation models to be very close to one-to-one. SysML already contains information need for simulation (connectors, direction of flow) and describes flows (kind of thing that flows). The flow rate and flow potential are just additional information about flows that the SE modeler happens to not be interested in immediately. Roger: Some descriptive information is in analysis models that should be carried back to SE models. Chris: Dependencies between descriptive and analytical models. Facilitates considering the system from different analysis perspectives, eg, mechanical, heat, etc. Conrad: This could be views, rather than separate models, to avoid redudancy and the associated transformation and synchronization burden. Sandy: Specialized descriptive models for analysis. Alex: Support degrees of separation of description and analysis. Chris: Conflicting semantics between SysML and simulation tools. Conrad: Not clear there are conflicts yet. Purpose is to integrate simulation into overall SysML-based SE process, so alignment is needed, perhaps in both SysML and the simulators. Chris: Not simulator-independent due to acausal modeling. Conrad: True, it’s as only as independent as it can be, and includes acausal because its so important. It’s more independent than extension for individual simulators or simulation languages. Chris/Roger: Should define semantics in terms of SysML. Conrad: Perhaps in the long-run, but in the short run, the semantics can be defined by mapping to popular simulation languages, and perhaps DE’s. Roger: Modelica does not support creation/destruction of objects during a simulation run. Nicolas: Time property in example. Ion: Binding to properties on blocks representing clocks (global or otherwise). Should be a regular property, not parameter, because it changes during simulation run. Nicolas: How does generator know this is a simulation time property? Ion: Profile should have a way to indicate it. Modelica has a “time” keyword. Nicolas: For a comprehensible introduction to the distinction between nominal vs. structural subtyping, see: 12/19/12, About Sandy’s example, Chris: Until recently Simulink was used for physical modeling (by writing the additive Kirchoff law themselves, etc, using intermediary component). Simscape has only been around a few years. Conrad: Dymola also prominent. Nicolas: DARPA META using combination of Modelica + GME.
4
Alternative Extensions
5
SimVars on Flow Prop Types?
«block» Electron sim variables «isConserved» i : Current v : Voltage «block» SomePortType «block» HeatEnergyQ flow properties inout electricity : Electron inout heat : HeatEnergyQ inout fluid : WaterMolecule sim variables «isConserved» hq : HeatFlowRate t : Temperature «block» WaterMolecule sim variables «isConserved» fq : VolumeFlowRate p : Pressure i = 43 Do individual electrons or molecules of water (items) have flow rates and potentials to flow independent of their ports?
6
SimVars on Port Types? «block» SomePortType connector EF flow Current i; Voltage v; flow HeatFlowRate hq; Temperature t; flow VolumeFlowRate fq; Pressure p; end EF; flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim variables «isConserved, referTo=electricity» i : Current «referTo=electricity» v : Voltage «isConserved, referTo=heat» » hq : HeatFlowRate «referTo=heat» t : Temperature «isConserved, referTo=fluid» fq : VolumeFlowRate «referTo=fluid» p : Pressure SysML+ Modelica SimVariables for all flow properties on the port type.
7
SimVars on Port Types? Instances of port types are structural elements of as-built systems. They are not flowing items. «block» GasIntake «block» Car value properties diameter : cm temp : Celsius flow properties in fuel : Gas sim variables «isConserved, referTo=fuel» fq : VolumeFlowRate «referTo=fuel» p : Pressure «isConserved, referTo=fuel» hq : HeatFlowFlowRate «referTo=fuel» t : Temperature ports gasIntake : GasIntake Sandy: Similar conceptual problem as atomic flow ports (treating a structural thing as behavioral). Nicolas: Modeling is simpler in SysML, but not close to simulation language (Conrad: doesn’t necessarily need to be) and don’t have instances representing the flows. Harder to separate the analysis from descriptive aspects of the model. Eg, want separate heat going out with the fuel vs heat going out the gas intake part. Structural elements don’t have flow rates and potentials to flow.
8
SimVars on SimBlock Instances of SimBlocks are the flows themselves (not the ports instances or things flowing) «block» GasIntake «simBlock» EHF «block» Car value properties diameter : cm temp : Celsius flow properties in fuel : Gas sim properties «referTo=fuel» fsb : EHF sim variables «isConserved» fq : VolumeFlowRate p : Pressure «isConserved» hq : HeatFlowFlowRate t : Temperature ports gasIntake : GasIntake Chris: The Modelica profile separates the properties of the port object from the flows through it. Nicolas/Chris/Axel: Agreed best to add SimBlock indirection. Chris: About flow property direction, “in” could constrain pressure to be always positive in an acausal simulator, so the SimBlock could have conserved variables. SimBlock instances have flow rates and potentials to flow.
9
Alternative Transformations
10
SimVars Generated By SimBlock
SomePortType connector EF flow Current i; Voltage v; end EF; connector HF flow HeatFlowRate hq; Temperature t; end HF; connector FF flow VolumeFlowRate fq; Pressure p; flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim properties «referTo=electricity» var : ElectricityFlow «referTo=heat» var : HeatFlow «referTo=fluid» var : FluidFlow «simBlock» FluidFlow «simBlock» HeatFlow «simBlock» ElectricityFlow sim variables «isConserved» fq : VolumeFlowRate p : Pressure sim variables «isConserved» hq : HeatFlowRate t : Temperature sim variables «isConserved» i : Current v : Voltage Pin => EF Modelica nested connectors (eg, electrical and mechanical). Alec/Nicolas: Multiple SysML connectors with different matching generate Modelica lines between connectors that match. SysML issue: What if association block has different flow property matching than its usage on a connector? SysML+ Modelica SimVariables generated to separate Modelica connectors.
11
SimVars Generated Together
«block» SomePortType flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim properties «referTo=electricity» var : ElectricityFlow «referTo=heat» var : HeatFlow «referTo=fluid» var : FluidFlow connector EHFF flow Current i; Voltage v; flow HeatFlowRate hq; Temperature t; flow VolumeFlowRate fq; Pressure p; end EHFF; «simBlock» FluidFlow «simBlock» HeatFlow «simBlock» ElectricityFlow sim variables «isConserved» fq : VolumeFlowRate p : Pressure sim variables «isConserved» hq : HeatFlowRate t : Temperature sim variables «isConserved» i : Current v : Voltage Axel: Modelica checks that there are the same number of flow as non-flow variables. Conrad: Can’t use just non-flow variables? Wladimir: Can have just non-flow variables, but they must have direction. On non-directed connectors, must have as Axel said. Nicolas: This optimization not worth doing so early. Modelica SysML+ Could generate SimVariables to one Modelica connector if lines are not needed to separate connectors.
12
Port Type Name => Connector Name
«block» SomePortType flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim properties «referTo=electricity» var : ElectricityFlow «referTo=heat» var : HeatFlow «referTo=fluid» var : FluidFlow connector SomePortType flow Current i; Voltage v; flow HeatFlowRate hq; Temperature t; flow VolumeFlowRate fq; Pressure p; end SomePortType; «simBlock» FluidFlow «simBlock» HeatFlow «simBlock» ElectricityFlow sim variables «isConserved» fq : VolumeFlowRate p : Pressure sim variables «isConserved» hq : HeatFlowRate t : Temperature sim variables «isConserved» i : Current v : Voltage Modelica Pin => EF Modelica nested connectors (eg, electrical and mechanical). SysML+ Generate connector name from port type name. Does not mean instances of SyML port types have flow rates or potentials to flow.
13
Nested Connectors are Syntax Only
connector EF flow Current i; Voltage v; end EF; connector HF flow HeatFlowRate hq; Temperature t; end HF; connector FF flow VolumeFlowRate fq; Pressure p; connector EHFF ef : EF hf : HF ff: FF end EHFF; connector EHFF flow Current i; Voltage v; flow HeatFlowRate hq; Temperature t; flow VolumeFlowRate fq; Pressure p; end EHFF; = Pin => EF Modelica nested connectors (eg, electrical and mechanical). Modelica expandable connectors can take on properties by having lines to connectors that have properties defined. Modelica Simulation is the same with and without nested connectors.
14
SysML Port => Compound Connector
connector EF flow Current i; Voltage v; end EF; connector HF flow HeatFlowRate hq; Temperature t; end HF; connector FF flow VolumeFlowRate fq; Pressure p; connector SomePortType ef : EF hf : HF ff: FF end SomePortType; «block» SomePortType flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim properties «referTo=electricity» var : ElectricityFlow «referTo=heat» var : HeatFlow «referTo=fluid» var : FluidFlow «simBlock» FluidFlow «simBlock» HeatFlow «simBlock» ElectricityFlow sim variables «isConserved» fq : VolumeFlowRate p : Pressure sim variables «isConserved» hq : HeatFlowRate t : Temperature sim variables «isConserved» i : Current v : Voltage Pin => EF Modelica nested connectors (eg, electrical and mechanical). SysML+ Modelica Generating port type as connector with nested connectors.
15
SysML Port => Simple Connector
«block» SomePortType flow properties inout electricity : Charge inout heat : HeatEnergy inout fluid : Water sim properties «referTo=electricity» var : ElectricityFlow «referTo=heat» var : HeatFlow «referTo=fluid» var : FluidFlow connector SomePortType flow Current i; Voltage v; flow HeatFlowRate hq; Temperature t; flow VolumeFlowRate fq; Pressure p; end SomePortType; «simBlock» FluidFlow «simBlock» HeatFlow «simBlock» ElectricityFlow sim variables «isConserved» fq : VolumeFlowRate p : Pressure sim variables «isConserved» hq : HeatFlowRate t : Temperature sim variables «isConserved» i : Current v : Voltage Modelica Pin => EF Modelica nested connectors (eg, electrical and mechanical). SysML+ Generating port type as connector without nested connectors. Simulation is the same as previous slide.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.