Extending SysML for Integration with Solver-based Simulation Tools

Slides:



Advertisements
Similar presentations
Lecture 3: Signals & Systems Concepts
Advertisements

Health Level Seven Experience Report Paul V. Biron Kaiser Permanente W3C XML Schema User Experience Workshop, Jun 21-22, 2005.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Zinovy Diskin and Juergen Dingel Queen’s University Kingston, Ontario, Canada Mappings, maps and tables: Towards formal semantics for associations in UML.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Design Model Lecture p6 T120B pavasario sem.
EE3417 – Introduction to Simulink
Simulink Simscape by Dr. Amin Danial Asham.
Multi-bond Graphs We shall today look at vectors of bonds, called multi-bonds. Especially when dealing with 2D and 3D mechanics, the d’Alembert principle.
SysML-Modelica Transformation Specification (SE DSIG Meeting, Jacksonville, 3/22/2010) Chris Paredis Georgia Tech On behalf of the SysML-Modelica Working.
Systems Realization Laboratory SysML-based Reference Models for Fluid Power Components Chris Paredis, Raphael Kobi Product & Systems Lifecycle Management.
SysML Modelica Integration Working Group Report (SE DSIG Meeting, San Antonio, TX, 9/15/2009) Chris Paredis Georgia Tech 1.
SysML and Modelica Integration Working Group Meeting 3/11/09 Peter Fritzson Wladimir Schamai.
Electric Current Chapter 34.2, 34.4, 34.5, and Notes.
SysML-Modelica WG Meeting Robot Example Chris Paredis Georgia Tech Update by S. Friedenthal
SysML Modelica Integration Working Group Meeting 8/12/09 Chris Paredis 1.
Interface Concepts Modeling Core Team Marc Sarrel Steve Hetfield June 23, 2016.
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SysML v2 Formalism Requirements Formalism WG September 15, 2016.
SysML-Modelica Integration Working Group Report (SE DSIG meeting, Washington DC 3/24/2009) Chris Paredis Georgia Tech 1.
Language = Syntax + Semantics + Vocabulary
STRUCTURE And bonding.
Electrical circuits, power supplies and passive circuit elements
SysML-Modelica: A Redefinition & Modification Use Case
OOP - Object Oriented Programming
Clarification of typing a binding connector
Common MBSE Modeling Questions and How Ontology Helps
SysML 2.0 Formalism Requirements and Potential Language Architectures
Types for Programs and Proofs
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
Electrical circuits, power supplies and passive circuit elements
SysML v2 Formalism: Requirements & Benefits
Unified Modeling Language
Chris Paredis Georgia Tech
SysML 2.0 Interface Concepts Modeling Core Team
STRUCTURES Module C2.
Graph-Based Operational Semantics
Chapter 1 Chemistry: The Study of Matter
TIM 58 Chapter 8: Class and Method Design
Física y química 3º E.S.O. FIRST TERM UNIT 2_4: CHEMICAL SUBSTANCES.
Topics HDL coding for synthesis. Verilog. VHDL..
Names, Binding, and Scope
First Order Nonlinear ODEs
Introduction to Data Structures
Energy Notes.
Structural style Modular design and hierarchy Part 1
Multiple Aspect Modeling of the Synchronous Language Signal
GENERAL VIEW OF KRATOS MULTIPHYSICS
STRUCTURES Module C2.
Chapter 1 Table of Contents Section 1 Chemistry Is a Physical Science
Temperature, Heat and Energy
SysML-based Reference Models for Fluid Power Components
Data Structures and Algorithms for Information Processing
Semantic Markup for Semantic Web Tools:
Copyright © 2015, 2012, 2009 Elsevier Inc. All rights reserved.
On behalf of the SysML-Modelica Working Group
Lecture 2 מבוא מורחב.
SysML Modelica Integration Working Group Meeting 3/4/09
Modeling Modelica Interfaces with SysML v1.3
Lecture 2 מבוא מורחב.
STRUCTURES Module C2.
SysML 2.0 Interface Concepts Modeling Core Team
Properties, Changes, and Classification of Matter
Introduction to Modelica and FMI
IBIS 6.2 Editorial Resolutions
Presentation transcript:

Extending SysML for Integration with Solver-based Simulation Tools SysML/Modelica Team Discussion

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.

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: http://www.ida.liu.se/~davbr/publ/modelica-conf-2006-final.pdf. 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.

Alternative Extensions

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?

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.

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.

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.

Alternative Transformations

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.

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.

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.

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.

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.

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.