launched, a configuration file is needed for the GUI
initialization. Therefore the generator generates only
a file ConfigClient.java to store into the Android
application. Finally, thanks to the tuning tool, the pa-
rameters of the control application can be fixed and
an embedded code can be generated.
6 CONCLUSION AND FUTURE
WORKS
The architecture model IMOCA is designed to
process control systems in disturbed environments
whereas ImocaGen, which includes IMOCA, is a
model of code generation for multiple platforms.
ImocaGen allows to generate both embedded C-like
code and tuning and control tools in Java. It also inte-
grates a communication model for managing the com-
munications between the control application and the
tools. The tools are useful to test the behavior of the
system and to allow system evaluation.
This work has several extensions. Other platforms
and domains are targeted thanks to the development
of specific libraries, as well as the evolution of the
ImocaGen meta-model. The quality and the efficiency
of the generated code is another challenge because of
the embedded platforms constraints. Integrating real-
time aspects is also an ongoing work.
REFERENCES
Alonso, D., Vicente-chicote, C., Ortiz, F., Pastor, J., and Al-
varez, B. (2010). V
3
cmm: a 3-view component meta-
model for model-driven robotic software develop-
ment. Journal of Software Engineering for Robotics,
1(1):3–17.
Collett, T. H., MacDonald, B. A., and Gerkey, B. P. (2005).
Player 2.0: Toward a practical robot programming
framework. In Proc. of the Australasian Conf. on
Robotics and Automation (ACRA), Sydney, Australia.
DeAntoni, J. and Babau, J.-P. (2005). A MDA-based ap-
proach for real time embedded systems simulation.
In Proceedings of the 9th IEEE International Sym-
posium on Distributed Simulation and Real-Time Ap-
plications, pages 257–264, Montreal. IEEE Computer
Society.
Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., and Ziane,
M. (2012). RobotML, a Domain-Specific Language
to Design, Simulate and Deploy Robotic Applica-
tions. In Third international conference on Simula-
tion, Modeling, and Programming for Autonomous
Robots (SIMPAR’12), Lecture Notes In Computer
Sciences, pages 149–160, Tsukuba, Japan. Springer-
Verlag.
Greifenberg, T., H
¨
olldobler, K., Kolassa, C., Look, M.,
Nazari, P. M. S., M
¨
uller, K., P
´
erez, A. N., Plotnikov,
D., Reiss, D., Roth, A., Rumpe, B., Schindler, M.,
and Wortmann, A. (2015). A comparison of mecha-
nisms for integrating handwritten and generated code
for object-oriented programming languages. CoRR,
abs/1509.04498.
Guillou, G. and Babau, J. (2013). IMOCA : une architec-
ture base de modes de fonctionnement pour une ap-
plication de contrle dans un environnement incertain.
In 7
`
eme Conf
´
erence francophone sur les architectures
logicielles, Toulouse France.
Navas, J., Babau, J.-P., and Pulou, J. (2013). Reconcil-
ing run-time evolution and resource-constrained em-
bedded systems through a component-based develop-
ment framework. Science of Computer Programming,
8:1073–1098.
Quigley, M., Conley, K., Gerkey, B. P., Faust, J., Foote, T.,
Leibs, J., Wheeler, R., and Ng, A. Y. (2009). Ros: an
open-source robot operating system. In ICRA Work-
shop on Open Source Software.
Ringert, J. O., Rumpe, B., and Wortmann, A. (2013). Mon-
tiArcAutomaton : Modeling Architecture and Behav-
ior of Robotic Systems. In Workshops and Tutorials
: IEEE International Conference on Robotics and Au-
tomation (ICRA) : Karlsruhe, Germany, page 3 S.
Simon, D., Espiau, B., Kapellos, K., and Pissard-Gibollet,
R. (1997). ORCCAD: Software Engineering for
Real-time Robotics. A Technical Insight. Robotica,
15(1):111–115.
Szyperski, C., Gruntz, D., and Murer, S. (2002). Com-
ponent Software: Beyond Object-Oriented Program-
ming. ACM Press and Addison-Wesley, New York,
NY, 2 edition.
Utz, H., Sablatnog, S., Enderle, S., and Kraetzschmar, G.
(2002). Miro - middleware for mobile robot applica-
tions. Robotics and Automation, IEEE Transactions
on, 18(4):493–497.
MODELSWARD 2016 - 4th International Conference on Model-Driven Engineering and Software Development
396