MetaModelica: A Unified Equation-Based Semantical and Mathematical Modeling Language

For a long time, one of the major research goals in the computer science research community has been to raise the level of abstraction power of specification languages/programming languages. Many specification languages and formalisms have been invented, but unfortunately very few of those are practically useful, due to limited computer support of these languages and/or inefficient implementations. Thus, one important goal is executable specification languages of high abstraction power and with high performance, good enough for practical usage and comparable in execution speed to hand implementations of applications in low-level languages such as C or C++. In this paper we briefly describe our work in creating efficient executable specification languages for two application domains. The first area is formal specification of programming language semantics, whereas the second is formal specification of complex systems for which we have developed an object-oriented mathematical modeling language called Modelica, including architectural support for components and connectors. Based on these efforts, we are currently working on a unified equation-based mathematical modeling language that can handle modeling of items as diverse as programming languages, computer algebra, event-driven systems, and continuous-time physical systems. The key unifying feature is the notion of equation. In this paper we describe the design and implementation of the unified language. A compiler implementation is already up and running, and used for substantial applications.

[1]  Mikael Pettersson,et al.  Compiling Natural Semantics , 1999, Lecture Notes in Computer Science.

[2]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[3]  Sabine Glesner,et al.  Natural semantics as a static program analysis framework , 2004, TOPL.

[4]  Acm Sigsoft AADEBUG 2005 : proceedings of the sixth international symposium on automated & analysis-driven debugging : Monterey, California, USA, September 19-21, 2005 , 2005 .

[5]  Levon Saldamli PDEModelica - Towards a High-Level Language for Modeling with Partial Differential Equations , 2002 .

[6]  M. Otter,et al.  Modelica - A Unified Object-Oriented Language for Physical Systems Modeling - Language Specification , 2000 .

[7]  Gordon Plotkin,et al.  Semantics of Data Types , 1984, Lecture Notes in Computer Science.

[8]  Peter Fritzson,et al.  Modelica - A Unified Object-Oriented Language for System Modelling and Simulation , 1998, ECOOP.

[9]  Hilding Elmqvist,et al.  Modelica — A unified object-oriented language for physical systems modeling , 1997 .

[10]  Peter Fritzson,et al.  The Implementation of ObjectMath - a High-Level Programming Environment for Scientific Computing , 1992, CC.

[11]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[12]  Michael Tiller,et al.  Introduction to Physical Modeling with Modelica , 2001 .

[13]  Dominique Clément,et al.  A simple applicative language: mini-ML , 1986, LFP '86.

[14]  Peter Fritzson,et al.  Generating an Efficient Compiler for a Data Parallel Language from a Denotational Specification , 1994, CC.

[15]  Peter Fritzson,et al.  DML-a meta-language and system for the generation of practical and efficient compilers from denotational specifications , 1992, Proceedings of the 1992 International Conference on Computer Languages.

[16]  Adrian Pop,et al.  Debugging natural semantics specifications , 2005, AADEBUG'05.

[17]  Martin Odersky,et al.  A Statically Safe Alternative to Virtual Types , 1998, ECOOP.

[18]  Bernhard Bachmann,et al.  A Framework for Describing and Solving PDE Models in Modelica , 2005 .

[19]  Peter Fritzson,et al.  The Open Source Modelica Project , 2002 .

[20]  Peter A. Fritzson,et al.  Principles of object-oriented modeling and simulation with Modelica 2.1 , 2004 .

[21]  Peter Fritzson,et al.  Extending Modelica for Partial Differential Equations , 2002 .

[22]  Martin Otter,et al.  Modelica-a language for physical system modeling, visualization and interaction , 1999, Proceedings of the 1999 IEEE International Symposium on Computer Aided Control System Design (Cat. No.99TH8404).

[23]  Peter D. Mosses,et al.  Modular structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[24]  Thierry Despeyroux,et al.  Executable Specification of Static Semantics , 1984, Semantics of Data Types.

[25]  Peter Fritzson,et al.  Modelica - a general object-oriented language for continuous and discrete-event system modeling and simulation , 2002, Proceedings 35th Annual Simulation Symposium. SS 2002.