Object-Oriented Modeling, Simulation and Visualization Tools
The use of computer simulation in industry, to optimize products and to reduce
product development cost and time, is rapidly increasing. There is a need is to
simulate increasingly complex physical real-time systems composed of subsystems
from multiple physical domains such as mechanic, electric, hydraulic,
thermodynamic, and control system components. Typical examples are automobiles,
airplanes and industrial robots. High performance computing is needed to handle
the increased complexity. Hardware-in-the-loop simulation, e.g. for power
systems makes it possible to construct realistic system simulations used for
more effective testing and parameter tuning. Assessment of simulation result can
be best achieved by interactive visualization. Thus, to summarize:
Industry requires high performance real-time simulation of complex multi-domain
systems, which are not handled by current widespread methods.
Simulated systems are increasingly complex. Thus, system modeling has to be
based primarily on combining re-usable components. There is a clear need for
better technology in creating easy-to-use re-usable components.
There is a need for better integrated environments for multi-domain system
design and for interactive visualization.
The Modeling and Simulation Language Modelica
Multi-domain modeling based on object oriented mathematical modeling techniques
has been developed during the past few years and utilized for industrial
applications (robotics, vehicles, thermal power plants, nuclear power plants,
airplane simulation, real-time simulation of gear boxes, etc.). In fall 1996,
work started towards standardization of this technology by defining a model
description language Modelica for modeling dynamic behavior of engineering
systems, intended to become a de facto standard. This has resulted in a full
definition of Modelica, a number of published papers (for references, see the
Modelica homepage www.modelica.org; for the Modelica work at PELAB in Linköping
see www.ida.liu.se/~pelab ), and available implementations of Modelica
translators and simulation environments. Modelica is superior to current
technology mainly for the following reasons:
- Non-causal modeling. Modeling is based on equations instead of assignment
statements as in traditional input/output block abstractions. Direct use of
equations significantly increases re-usability of model components, since
components adapt to the connection structure in which they are used.
- Object-oriented physical modeling of multiple domains. This technique makes it
possible to create model components that correspond to physical objects in the
real world, in contrast to established techniques that require conversion to
signal blocks. For application engineers, such "physical" components are
particularly easy to combine into simulation models using a graphical editor.
The object-oriented methodology is employed to support hierarchical structuring,
reuse, and evolution of large and complex models.
Current Research Activities
The current research activities aim at improving the language and related tools
for increased expressive power, precision, and ease-of-use.
- Debugging Equation-based Languages.
Modelica is a very high level declarative constraint-based language (based on
equations) which makes it very powerful and easy to use, but at the current
state of the art hard to debug. For example, you might get a message that too
few equations are present, but no good hint of which one is missing. The
research problem is to develop easy-to-use declarative debugging methods for
equation-based languages such as Modelica. This is different from but related to
previous declarative debugging research at PELAB.
- Semantic Foundations and Type systems of equation based languages.
During the four years Modelica has been developed, the complexity of the
language has increased, as number of language features have been included. When
extending the language, this complexity often causes unexpected interactions
between language features. Therefore, developing more precise and more general
semantic foundations for equation based languages such as Modelica has become an
important research issue. This includes a precise definition of the Modelica
type system. A related issue is type systems for unit checking. As a beginning
of this work a partial natural semantics specification using RML has been
developed for Modelica.
- Visualization of Object-oriented Models.
Object-oriented models in physical modeling languages like Modelica are most
easily created in using graphical editors or CAD systems. There is a need to
integrate the modeling language and visualization technology, especially
regarding applications in virtual reality, and to develop efficient techniques
and tools to handle large numbers of objects and potential collisions between
objects.
- Efficient compilation of Modelica to multi-processors.
This work is described under the heading compilation technology for real-time
and multi-processors systems.
Graduate students: Peter Bunus, Levon Saldamli, Peter Aronsson and
Tianchu Yang.
Supervisors: Peter Fritzson, Mariam Kamkar, Vadim Engelson.