Information Technology Reference
In-Depth Information
such as to execute control algorithms, compute interlocking signals or to interface with
sensors or actuators of the system. The hierarchy including its justification is presented
in detail in [6]. Automation Functions (AFs) exchange signals between them with ports
that extend the UML::Connectable concept (see figure 1). The logic operators and con-
nections, on the other hand, can be used inside the AFs to define the functionality of
them. In the profile and tool implementation this was enabled by adding an aggregation
association from the Automation Function base metaclass to logical operation and logic
connection metaclasses similarly to the structure presented in figure 1. Consequently,
the technical challenges of our approach to simulate the models are in transforming the
specifications conforming to UML AP to simulation models. The solution to transform
the models to ModelicaML models and finally to simulateable Modelica models will be
discussed in next section.
4
Technical Background and Implementation of the Approach
It is first necessary to present some basic information about Modelica and ModelicaML
that are used in our approach as target simulation languages. Modelica is an object ori-
ented simulation language for large, complex and heterogeneous physical systems and
a registered trademark of Modelica Association. Modelica models are mathematically
described by differential, algebraic and discrete equations. Modelica includes also a
graphical notation and user models are usually described by schematics that are also
called object diagrams. A schematic consists of components, such as pumps, motors
and resistors, which are connected together using connectors (ports) and connections.
A component, on the other hand, can be defined by another schematic or, on the lowest
level, as a textual equation based definition.
Modelica Modeling Language (ModelicaML) has been created to enable an efficient
way to create, read, understand and maintain Modelica models with UML tools [13].
ModelicaML is a UML profile and defines stereotypes and tagged values of stereo-
types that correspond to the keywords and concepts of the textual Modelica language.
For example, a Modelica block with a set of equations can be modelled by creating a
UML class, applying a << block >> stereotype to it and defining the equations to the
equations tagged value of to the stereotype.
ModelicaML models are not simulateable as they are (at least with current tool sup-
port) but can be transformed to simulateable Modelica models. Tool support for gen-
erating textual Modelica models, as well as the profile, is made publicly available by
the OpenModelica project. [11] The profile is based on UML2 implementation of the
UML metamodel on the Eclipse platform. UML2 is itself based on Eclipse Modeling
Framework (EMF) which is an implementation of OMG Meta Object Facility (MOF)
specification.
EMF is also utilized in our UML AP metamodel implementation that is the basis
of the UML AP Tool [17]. UML AP and ModelicaML models are thus instances of
metamodels defined with EMF implementation of MOF and because of this similar
background, the shifting between UML AP and ModelicaML can be realized with use
of standardized QVT languages. QVT languages are intended for defining model trans-
formations between models conforming to MOF based metamodels and they are also
 
Search WWH ::




Custom Search