SysML Modelica Integration Working Group Meeting 8/12/09 Chris Paredis 1.

Slides:



Advertisements
Similar presentations
1 1 Mechanical Design and Production Dept, Faculty of Engineering, Zagazig University, Egypt. Mechanical Design and Production Dept, Faculty of Engineering,
Advertisements

Peter Fritzson 1 MetaModelica for Meta-Modeling and Model Transformations Peter Fritzson, Adrian Pop, Peter Aronsson OpenModelica Course at INRIA, 2006.
Start Presentation November 8, 2012 Bond Graphs for Mechanical Systems We shall look today in a bit more detail at the modeling of 1D mechanical systems.
Hardware Description Language (HDL)
SSP Re-hosting System Development: CLBM Overview and Module Recognition SSP Team Department of ECE Stevens Institute of Technology Presented by Hongbing.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Introduction to JavaScript for Python Programmers
A Library for Synchronous Control Systems in Modelica Martin Otter Bernhard Thiele Hilding Elmqvist DLR Dassault Systèmes Institute of System Dynamics.
MapleSim and the Advantages of Physical Modeling
Teaching with MATLAB - Tips and Tricks
Analyzing the Requirements with Formal Specifications Vienna Development Method Specification Language (VDM-SL) Book: Formal Software Development From.
MathCore Engineering AB Experts in Modeling & Simulation WTC.
DSP Slide 1 Graph theory x y y = x x y a y = a x x z y y = x and z = x xz y z = x + y z = x - y xz y - y = z -1 x x y z -1 DSP graphs are made up of points.
Paper written by Flavio Oquendo Presented by Ernesto Medina.
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
Module 2.1 Gate-Level/Structural Modeling UNIT 2: Modeling in Verilog.
Programming with Visual C++: Concepts and Projects Chapter 2B: Reading, Processing and Displaying Data (Tutorial)
Chapter 15 Introduction to PL/SQL. Chapter Objectives  Explain the benefits of using PL/SQL blocks versus several SQL statements  Identify the sections.
Introduction to VHDL Spring EENG 2920 Digital Systems Design Introduction VHDL – VHSIC (Very high speed integrated circuit) Hardware Description.
Fall 2004EE 3563 Digital Systems Design EE 3563 VHSIC Hardware Description Language  Required Reading: –These Slides –VHDL Tutorial  Very High Speed.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
THE LAPLACE TRANSFORM LEARNING GOALS Definition
SIMULINK-Tutorial 1 Class ECES-304 Presented by : Shubham Bhat.
Chapter 5 Introduction to VHDL. 2 Hardware Description Language A computer language used to design circuits with text-based descriptions of the circuits.
Internet & World Wide Web How to Program, 5/e © by Pearson Education, Inc. All Rights Reserved.
The Laplace Transform.
CSE 425: Functional Programming I Programs as Functions Some programs act like mathematical functions –Associate a set of input values from the function’s.
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.
Copyright © Cengage Learning. All rights reserved. Graphs; Equations of Lines; Functions; Variation 3.
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.
SysML-Modelica WG Meeting Robot Example Chris Paredis Georgia Tech Update by S. Friedenthal
1 Introduction to Engineering Spring 2007 Lecture 18: Digital Tools 2.
SysML and Modelica: Opportunities for Synergy Chris Paredis, Peter Fritzson, Russell Peak Georgia Institute of Technology Linköping University OMG, Santa.
SysML-Modelica Integration Working Group Report (SE DSIG meeting, Washington DC 3/24/2009) Chris Paredis Georgia Tech 1.
Language = Syntax + Semantics + Vocabulary
Hardware Description Languages: Verilog
SysML-Modelica: A Redefinition & Modification Use Case
TODAY’S OUTLINE Introduction to Verilog Verilog coding format
Chapter 1: Overview of Control
Programming with ANSI C ++
Learning to Program D is for Digital.
SysML 2.0 Formalism: Requirement Benefits, Use Cases, and Potential Language Architectures Formalism WG December 6, 2016.
Transfer Functions Chapter 4
Verilog-HDL-1 by Dr. Amin Danial Asham.
Solving Systems of Linear Equations by Addition
Java Primer 1: Types, Classes and Operators
Unified Modeling Language
Chapter 2 Section 8.
Chris Paredis Georgia Tech
SysML 2.0 Interface Concepts Modeling Core Team
Timing Model Start Simulation Delay Update Signals Execute Processes
Chapter 3 The Real Numbers.
Hardware Description Languages: Verilog
WORKSHOP 3 GSE IMPORT.
Solving Systems of Linear Equations by Addition
Extending SysML for Integration with Solver-based Simulation Tools
Chapter 2 Section 8.
Computer Programming.
Instructions to get MAX PLUS running
VHDL Discussion Subprograms
Understand and Use Object Oriented Methods
SysML-based Reference Models for Fluid Power Components
VHDL Discussion Subprograms
Paper written by Flavio Oquendo Presented by Ernesto Medina
On behalf of the SysML-Modelica Working Group
SysML Modelica Integration Working Group Meeting 3/4/09
Modeling Modelica Interfaces with SysML v1.3
COMPILER CONSTRUCTION
Presentation transcript:

SysML Modelica Integration Working Group Meeting 8/12/09 Chris Paredis 1

Constructs discussed in Costa Rica Equations Connections Functions Algorithms 2

Modelica Equations Organized in sections delimited by “equation” keyword Equations are declarative and acausal Order of equations does not matter “initial equation” sections contain equations that are only enforced at the start of the simulation  Similar to SysML constraints  Stereotype constraints to «modelicaEquation» 3

Modelica Equation model Mass "Sliding mass with inertia" […] equation v = der(s); a = der(v); m*a = flange_a.f + flange_b.f; end Mass; In SysML4Modelica: – Constraint with «ModelicaEquation» as stereotype – «ModelicaInitialEquation» exists to indicate “initial equation” sections 4

Modelica Equation in MD 5

Modelica Connections Are contained in equation sections: model Oscillator Modelica.Mechanics.Translational.Components.Mass mass1; Modelica.Mechanics.Translational.Components.Spring spring1; Modelica.Mechanics.Translational.Components.Fixed fixed1; equation connect(spring1.flange_b, fixed1.flange); connect(mass1.flange_b, spring1.flange_a); end Oscillator; 6

Modelica Connections Are removed from the equation section in SysML and replaced by explicit «modelicaConnection»’s «modelicaConnection» is stereotyped from UML4SysML::Connector 7

Modelica Functions can only have inputs and outputs; no connectors – inout is also possible does not have a connectable interface but instead needs to be called can be called recursively is more dynamic; the arguments are computed at run-time does not have internal state can have only one algorithm section and no equation section; is always imperative becomes part of the equation system as black boxes only; the internals are not manipulated symbolically by the solver can potentially be differentiated  Similar to a FunctionBehavior in UML/SysML 8

Function Example function limitValue input Real pMin; input Real pMax; input Real p; output Real pLim; algorithm pLim := if p>pMax then pMax else if p<pMin then pMin else p; end limitValue; 9

Function Example 10

Function Example 11

Comments Since «modelicaFunction» does not specialize Block as do all the other Modelica classes, we need to create a counterpart for «modelicaValue» namely «modelicaFunctionParameter» Rather than specializing Property, this additional stereotype specializes Parameter A function does not need to be opaque, as long as there are no external interactions,… (we need to be explicit about these constraints) 12

Calling Functions Functions can be used in either algorithm or equation sections For now, we will represent function calls as text in Modelica syntax (just like the rest of the equations or statements), but we should consider mechanisms such as MARTE’s Value Specification Language (VSL) to allow the semantics to be represented more explicitly 13

Modelica Algorithms Structured similarly to equations into algorithm sections Is always imperative Multiple algorithm sections can exist in one model Similar to functions but are not named and thus not reusable  Similar to SysML Behavior 14

Algorithm Example block TimeTable "Generate a (possibly discontinuous) signal by linear interpolation in a table" […] algorithm when {time >= pre(nextEvent),initial()} then (a,b,nextEvent,last) := getInterpolationCoefficients(table, offset, startTime, time, last, 100*Modelica.Constants.eps); end when; equation y = a*time + b; end TimeTable; 15

Algorithm Example 16

Comments Equations sections in Modelica have no name  behavior without name Does not need to be opaque  future extension: see PhD work of Wladimir Schamai 17