The main problem with such transformations is that
if they are implemented as actors, these actors ap-
pear either in the internal or in the external model of
computation. Both ways are wrong since they break
modularity: if the internal model of an actor contains
actors to adapt data to its external model of compu-
tation, this internal model depends on the external
model of computation. This means that the design
of an actor depends on the context in which it will
be used. The same problem occurs when the adapt-
ing actors are placed in the external model of com-
putation. In (Feredj et al., 2004), we presented a
model for domain-polymorph components that allows
the adaptation between two models of computation to
be done at the interface between the models. This ap-
proach turns the adaptation between the semantics of
the internal and external models of computation into
a property of the edge of the actor.
A last issue is that it is sometimes necessary to
define actors which obey several models of compu-
tation. For instance, a sampler has a continuous in-
put, a discrete event input (the sampling clock) and a
data-flow output (the sequence of samples). A level-
crossing detector has a continuous or sampled input
and a discrete event output. Such actors cannot be
handled directly in our execution model because only
one model of computation is allowed in the model of
a system. However, we have shown in (Boulanger
et al., 2004) that a flat heterogeneous model, i.e. a
model that uses several models of computation at the
same level of its hierarchy, can be rewritten automati-
cally into a hierarchical model by projecting heteroge-
neous actors on the models of computation they use.
One may also consider that such behaviors should not
be modeled as actors but as transformations between
models of computation, and considered as properties
of the edge of models, as evoked earlier.
4 CONCLUSION
We have presented the roles of a model of compu-
tation and the different kinds of actors it should be
able to manage, and then an execution model which,
by making as few assumptions as possible about ac-
tors, is able to execute models that obey any model of
computation. Our works on the integration of the re-
active synchronous approach into object-oriented pro-
gramming and on the adaptation between models of
computation in the Ptolemy framework make us quite
confident in the universality of this model. By consid-
ering only observations on the ports of actors, and not
the activity of actors, this execution model can safely
ignore what happens at lower levels of the hierarchy
of a model. This allows the use of different models
of computation at different level of the hierarchy of a
model of a system. Moreover, by allowing an actor
to veto the result of the computation of a snapshot of
the model, this execution model allows inner models
of computation to interact with the outer models, in
addition to the usual control that the outer model has
on the inner models of computation.
This execution model requires that a model of com-
putation is able to provide a schedule of the actors of
a model, and to propagate the data observed on the
output ports toward the input ports. These two op-
erations can be complex, and are, for the moment,
implemented using generic programming languages
like Java or C++. Our goal is to describe them for-
mally using either an extended version of the Object
Constraint Language (OCL) or the Action Language
of UML 2, with a mathematical foundation for the in
order, particularly, to define transformations from a
model of computation to another and to handle het-
erogeneity in a more generic way.
REFERENCES
Boulanger, F., Mbobi, M., and Feredj, M. (2004). Flat
heterogeneous modeling. In IPSI 2004 conference,
http://wwwsi.supelec.fr/fb/download/Articles/IPSI-
2004.pdf.
Brooks, C., Lee, E. A., Liu, X., Neuendorffer, S., Zhao,
Y., and Zheng, H. (2005). Heterogeneous concurrent
modeling and design in java (volume 1: Introduction
to ptolemy ii). Technical report, University of Califor-
nia, Berkeley.
Eker, J., Janneck, J. W., Lee, E. A., Liu, J., Liu, X., Ludvig,
J., Neuendorffer, S., Sachs, S., and Xiong, Y. (2002).
Taming heterogeneity the ptolemy approach. In Pro-
ceedings of the IEEE, Special Issue on Modeling and
Design of Embedded Software.
Feredj, M., Boulanger, F., and Mbobi, M. (2004).
An approach for domain polymorph component
design. In IEEE International Conference on In-
formation Reuse and Integration 2004 (IRI 2004),
http://wwwsi.supelec.fr/fb/download/Articles/IRI2004-
CDP.pdf.
Fleurey, F., Drey, Z., and Vojtisek, D. (2006). KerMeta
Manual. http://www.kermeta.org/docs/KerMeta-
Manual.pdf.
Kong, C. and Alexander, P. (2003). The rosetta meta-model
framework. In 10th IEEE International Conference
and Workshop on the Engineering of Computer-Based
Systems (ECBS’03).
Liu, X., Liu, J., Eker, J., and Lee, E. A. (2003). Hete ro-
geneous modeling and design of control systems. In
Software-Enabled Control: Information Technology
for Dynamical Systems. Wiley-IEEE Press.
ICSOFT 2006 - INTERNATIONAL CONFERENCE ON SOFTWARE AND DATA TECHNOLOGIES
252