+ All Categories
Home > Documents > Equation-Based Object-Oriented Languages for Acausal...

Equation-Based Object-Oriented Languages for Acausal...

Date post: 15-May-2020
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
22
Equation-Based Object-Oriented Languages for Acausal Modeling and Simulation David Broman [email protected] EECS Department University of California, Berkeley, USA and Linköping University, Sweden Lecture 12a in EECS 144/244 University of California, Berkeley November 12, 2013 Some of the slides are based OSMC tutorials and contributed by Peter Fritzson (Based on book and lecture nodes), David Broman, Emma Larsdotter Nilsson, Peter Bunus, Adrian Pop, Jan Brugård, Mohsen Torabzadeh-Tari, and Adeel Asghar. Copyright © Open Source Modelica Consortium. 2 Part I EOO Languages for CPS Part III Modelyze – an Extensible Research Language [email protected] Part II Modelica Overview Agenda Part I EOO Languages for CPS Part II Modelica Overview Part III Modelyze – an extensible research language Platform 1 Physical Plant 2 Physical Plant 2 Physical Interface Physical Plant 1 Network Platform 2 Platform 3 Physical Interface Sensor Sensor Physical Interface Actuator Physical Interface Actuator Computation 3 Delay 1 Computation 1 Computation 4 Computation 2 Delay 2
Transcript
Page 1: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

Equation-Based Object-Oriented Languages for

Acausal Modeling and Simulation

David Broman [email protected]

EECS Department

University of California, Berkeley, USA

and

Linköping University, Sweden

Lecture 12a in EECS 144/244 University of California, Berkeley

November 12, 2013

Some of the slides are based OSMC tutorials and contributed by Peter Fritzson (Based on book and lecture nodes), David Broman, Emma Larsdotter Nilsson, Peter Bunus, Adrian Pop, Jan Brugård, Mohsen Torabzadeh-Tari, and Adeel Asghar. Copyright © Open Source Modelica Consortium.

2

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Agenda

Part I EOO Languages for CPS

Part II Modelica Overview

Part III Modelyze – an extensible

research language

Platform 1

Physical Plant 2

Physical Plant 2

PhysicalInterface

Physical Plant 1

NetworkPlatform 2

Platform 3

PhysicalInterface

Sensor

Sensor

PhysicalInterfaceActuator

PhysicalInterface Actuator

Computation 3

Delay 1Computation 1

Computation 4Computation 2

Delay 2

Page 2: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

3

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Part I EOO Languages for CPS

Platform 1

Physical Plant 2

Physical Plant 2

PhysicalInterface

Physical Plant 1

NetworkPlatform 2

Platform 3

PhysicalInterface

Sensor

Sensor

PhysicalInterfaceActuator

PhysicalInterface Actuator

Computation 3

Delay 1Computation 1

Computation 4Computation 2

Delay 2

4

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Cyber-Physical Systems (CPS)

Industrial Robots Power Plants Aircraft

Page 3: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

5

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modeling and Simulating Cyber-Physical Systems

Physical system (the plant) Cyber system: Computation (embedded) + Networking

Sensors

Actuators

System

Model

Modeling

Equation-based model

Platform 1

Physical Plant 2

Physical Plant 2

PhysicalInterface

Physical Plant 1

NetworkPlatform 2

Platform 3

PhysicalInterface

Sensor

Sensor

PhysicalInterfaceActuator

PhysicalInterface Actuator

Computation 3

Delay 1Computation 1

Computation 4Computation 2

Delay 2

Various models of computation (MoC)

Physical system available?

Hardware-in-the-loop (HIL) simulation

Simulation with timing properties

Modeling

6

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented (EOO) Languages

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

Page 4: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

7

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

objects (components)!

ports!

connections!

EOO model (textual)

Equation-Based Object-Oriented (EOO) Languages

EOO model (graphical)

8

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented (EOO) Languages

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

Acausality •  At the equation-level u = R * i

•  At the object connection level

Page 5: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

9

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented (EOO) Languages

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

Acausality •  At the equation-level u = R * i

•  At the object connection level

acausal (non-causal)

Direction not determined at modeling time!

causal

Physical topology !is lost!

10

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented (EOO) Languages

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

Acausality •  At the equation-level u = R * i

•  At the object connection level

acausal (non-causal)

causal

Page 6: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

11

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Equation-Based Object-Oriented (EOO) Languages

Equation-Based Object-Oriented

(EOO)

Domain-Specific Language (DSL)

•  Primarily domain: Modeling of physical systems

Models and Objects

•  Object in e.g., Java, C++: object = data + methods

•  Multiple physical domains: e.g., mechanical, electrical, hydraulic

•  Objects in EOO languages: object = data + equations

Acausality •  At the equation-level u = R * i

•  At the object connection level

•  Modelica •  VHDL-AMS •  gPROMS •  Modelyze •  …

12

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Part II Modelica Overview

Page 7: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

13

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is Modelica?

•  Robotics •  Automotive •  Aircrafts •  Satellites •  Power plants •  Systems biology

A language for modeling of complex physical systems

14

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is Modelica? A language for modeling of complex physical systems

Primary designed for simulation, but there are also other usages of models, e.g. optimization.

Page 8: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

15

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is Modelica? A language for modeling of complex physical systems

i.e., Modelica is not a tool

Free, open language specification:

Available at: www.modelica.org

16

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica Tools

SimulationX by ITI GmbH

Dymola by Dassault Systemes

LMS Imagine.Lab AMESim by LMS

MapleSim by Maplesoft

MOSILAB by Fraunhofer FIRST

CyModelica by CyDesign Labs

OPTIMICA Studio by Modelon AB

MWorks by Suzhou Tongyuan

Wolfram SystemModeler by Wolfram

OpenModelica supported by OSMC

Jmodelica.org supported by Modelon

Modelicac (part of Scilab)

SimForge

Free Environments Commercial Environments

Page 9: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

17

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is special about Modelica? Multi-Domain Modeling

18

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is special about Modelica?

Visual Acausal Component

Modeling

Multi-Domain Modeling

Acausal model (Modelica)

Causal block-based model (Simulink)

Keeps the physical structure!!

Page 10: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

19

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

inertialxy

axis1

axis2

axis3

axis4

axis5

axis6

r3Drive1

1r3Motor

r3ControlqdRef1

S

qRef1

S

k2

i

k1

i

qddRef cut joint

q: angleqd: angular velocity

qdd: angular acceleration

qd

tn

Jmotor=J

gear=i

spring=c

fric=Rv0

Srel

joint=0

S

Vs

-

+diff

-

+pow er

emf

La=(250/(2*D*wm))

Ra=250

Rd2=100

C=0.004*D/w m

-

+OpI

Rd1=100

Ri=10

Rp1=200

Rp2=

50

Rd4=100

hall2

Rd3=

100

g1

g2

g3

hall1

g4

g5

rw

cut in

iRef

qd q

rate2

b(s)

a(s)

rate3

340.8

S

rate1

b(s)

a(s)

tacho1

PT1

Kd

0.03

wSum

-

sum

+1

+1

pSum

-

Kv

0.3

tacho2

b(s)

a(s)

q qd

iRefqRef

qdRef

What is special about Modelica?

Visual Acausal Component

Modeling

Multi-Domain Modeling

Hierarchical system modeling

Courtesy of Martin Otter

20

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is special about Modelica?

Visual Acausal Component

Modeling

Multi-Domain Modeling

Typed Declarative Textual Language

A textual class-based language OO primary used for as a structuring concept

Behaviour described declaratively using •  Differential algebraic equations (DAE) (continuous-time) •  Event triggers (discrete-time)

class VanDerPol "Van der Pol oscillator model" Real x(start = 1) "Descriptive string for x”; Real y(start = 1) "y coordinate”; parameter Real lambda = 0.3; equation der(x) = y; der(y) = -x + lambda*(1 - x*x)*y; end VanDerPol;

Differential equations!!

Variable!declarations!!

Page 11: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

21

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is special about Modelica?

Hybrid Modeling

Visual Acausal Component

Modeling

Multi-Domain Modeling

Typed Declarative Textual Language

time

Continuous-time

Discrete-time

Hybrid modeling = continuous-time + discrete-time modeling

22

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Translational

Position

Force

Linear momentum

Mechanical. Translational

Some Domains

Domain Type

Potential

Flow

Carrier

Modelica Library

Electrical

Voltage

Current

Charge

Electrical. Analog

Rotational

Angle

Torque

Angular momentum

Mechanical. Rotational

Magnetic

Magnetic potential

Magnetic flux rate

Magnetic flux

Hydraulic

Pressure

Volume flow

Volume

HyLibLight Heat

Temperature

Heat flow

Heat

HeatFlow1D

Chemical

Chemical potential

Particle flow

Particles

Under construction

Pneumatic

Presure

Mass flow

Air

PneuLibLight

Page 12: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

23

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica Standard Library

24

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica in Autmotive Industry

Page 13: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

25

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica in Avionics

26

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica in Power Generation GTX Gas Turbine

Hello

Courtesy of Siemens Industrial Turbomachinery AB

Developed by MathCore for Siemens

Page 14: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

27

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Brief Modelica History

Modelica design group meetings •  First meeting in fall 1996 •  International group of people with expert knowledge in both

language design and physical modeling •  Industry and academia

Modelica Language Versions

•  v1.0 (1997), v2.0 (2002) v.2.2 (2005) v.3.0 (2007) 3.1 (2009) 3.2 (2010), 3.2 revision 1 (2012)

Modelica Association established 2000 •  Open, non-profit organization

Modelica Conferences •  9 international conferences (2000-2012)

28

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Typical Simulation Process

Page 15: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

29

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Simple model - Hello World!

model HelloWorld "A simple equation" Real x(start=1); parameter Real a = -1; equation der(x)= a*x; end HelloWorld;

Equation: x� = - x Initial condition: x(0) = 1

Simulation in OpenModelica environment

0.5 1 1.5 2 0.2 0.4 0.6 0.8 1

simulate(HelloWorld, stopTime = 2) plot(x)

Name of model!

Continuous-time!variable !

Initial condition!

Parameter, constant!during simulation !

Differential equation !

30

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Textual and Graphical Models

AC

R=10

R1

L=0.1

L

G

L=1!R=100!

Used model (defined elsewhere)!Named component =model instance!

Modification of parameter value!

Connect equations!

Page 16: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

31

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

AC

R=10

R1

L=0.1

L

G

L=1!R=100!

Equations and Inheritance

Inherits equations and !components from !TwoPin

Algebraic equation!

Differential equation!

Pin p, n and Reals v and i are copied to the subclass

Equations are copied as well.

32

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

AC

R=10

R1

L=0.1

L

G

L=1!R=100!

Connectors (Ports)

Connectors are instances !of a connector class.

Page 17: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

33

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

AC

R=10

R1

L=0.1

L

G

L=1!R=100!

Connections and Flow Variables

Equation from flow variables:!L.n.i + AC.n.i + G.p.i = 0

Equations from potential variables: L.n.v = AC.n.v AC.n.v = G.p.v

Fundamental concept making acausal modeling work (simplified)

The resulting equation system is an DAE. (differential-algebraic equations).

34

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Hybrid Modeling

time

Continuous-time

Discrete changes in time

Hybrid modeling = continuous-time + discrete changes (events) (Using Modelica terminology)

Real x; Voltage v; Current i;

Events!

discrete Real x; Integer i; Boolean b;

Page 18: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

35

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Event creation – when

when <conditions> then <equations> end when;

when-equations

Only dependent on time, can be scheduled in advance

Time event when time >= 10.0 then ... end when;

time event 1 event 2 event 3

Equations only active at event times

State event when sin(x) > 0.5 then ... end when;

Related to a state. Check for zero-crossing

36

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Reinit - discontinuous changes

model BouncingBall "the bouncing ball model" parameter Real g=9.81; //gravitational acc. parameter Real c=0.90; //elasticity constant Real height(start=10),velocity(start=0); equation der(height) = velocity; der(velocity)=-g; when height<0 then reinit(velocity, -c*velocity); end when; end BouncingBall;

The value of a continuous-time state variable can be instantaneously changed by a reinit-equation within a when-equation

Reinit ”assigns” continuous-time variable velocity a new value

Initial conditions

Page 19: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

37

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica – large and complex

We have just “scratched on the surface of the language”

•  Functions and algorithm sections •  Arrays and matrices •  Inner / outer variables (lookup in instance hierarchy) •  Annotations •  Loop constructs •  Partial classes •  Packages, blocks... And much more...

Examples of the features which has not been covered

38

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Part III

Modelyze – an extensible research language

Page 20: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

39

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

What is Modelyze?

Modelyze (MODEL and analYZE)

(Broman & Siek, 2012)

Purpose: Research language – address the expressiveness and analyzability problem by making the language extensible

Small, simple, host language for embedding domain-specific languages (DSL) of different models of computation (MoC)

Key aspect: Both the DSL and models in the DSL are defined in Modelyze

Formal semantics for a core of the language. Proven type soundness for the core.

Gradually typed functional language (call-by-value)

Prototype implementation (interpreter). Evaluated for series of equation-based DSLs.

40

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Modelica Environment

Modelica Model

Model Library Model Library Model Library

Modelica Tool

Result (e.g., simulation)

Language Specification -  Type checking -  Collapsing the instance hierarchy -  Connection Semantics -  Simulation (Runtime)

Page 21: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

41

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Language Specification -  Type checking -  Collapsing the instance hierarch

Modelyze Environment

Modelyze DSL Model

Model Library Model Library Model Library

Modelyze Tool

Result (e.g., simulation)

Language Specification -  Type checking -  Collapsing the instance hierarchy -  Connection Semantics -  Simulation (Runtime)

Library for using models -  Connection Semantics -  Simulation (Runtime)

Library for using models -  Connection Semantics -  Simulation (Runtime)

Library expressing DSL semantics -  Connection Semantics -  Simulation (Runtime)

42

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

References and Further Reading

•  Sven Erik Mattsson, Hilding Elmqvist, and Martin Otter. Physical System Modeling with Modelica. Control Engineering Practice 6. Pages 501-510, 1998.

•  Peter Fritzson. Principles of Object-Oriented Modeling and Simulation with Modelica 2.1. Wiley-IEEE Press, New York, 2004.

•  Peter Fritzson, Peter Aronsson, Håkan Lundvall, Kaj Nyström, Adrian Pop, Levon Saldamli, and David Broman The OpenModelica Modeling, Simulation, and Software Development Environment. Simulation News Europe. Issue 44, Pages 8-16, ARGESIM, 2005

•  David Broman, Peter Fritzson, and Sébastien Furic. Types in the Modelica Language. In Proceedings of the Fifth International Modelica Conference, pages 303-315, Vienna, Austria, 2006.

•  David Broman and Jeremy G. Siek. Modelyze: a gradually typed host language for embedding equation-based modeling languages. Technical Report UCB/EECS-2012-173, EECS Department, University of California, Berkeley, June 2012.

See http://www.modelica.org for more information on Modelica, including the latest language specification.

Page 22: Equation-Based Object-Oriented Languages for Acausal ...embedded.eecs.berkeley.edu/...eecs-course...part-1.pdf · (HIL) simulation Simulation with timing properties Modeling 6 Part

43

Part I !EOO Languages!for CPS!

Part IIIModelyze – !an Extensible Research Language!

[email protected]

Part II !Modelica Overview!

Conclusions

EOO Languages are particularly good for physical modeling because of their acausal capability

Modelyze is an extensible research language for embedding equation-based languages.

Modelica is the current state-of-the-art EOO language. The fundamental formalism is DAEs.

Platform 1

Physical Plant 2

Physical Plant 2

PhysicalInterface

Physical Plant 1

NetworkPlatform 2

Platform 3

PhysicalInterface

Sensor

Sensor

PhysicalInterfaceActuator

PhysicalInterface Actuator

Computation 3

Delay 1Computation 1

Computation 4Computation 2

Delay 2


Recommended