• The missing link is usually a PDM, a model of the
target framework. A PDM is now mandatory. It
can be obtained by model driven reverse engineer-
ing (André, 2019).
8 CONCLUSION
The maintenance of control systems software high-
lights the need for industrialisation tools that go be-
yond integrated development. The manual develop-
ment enables to carry the main design decisions but
takes time and is subject to the developers experience
and availability especially during maintenance. The
code generators of many case tools typically produce
skeletons where the bulk of the development remains
to be done. Integrated MDA solutions exist but for
a limited range of application. We propose a generic
model transformation workflow where the complexity
should rely to the process not the atomic transforma-
tions. To reduce a technical debt, we must abstract
the infrastructure and reason at the model level while
helping to refine these models. Enriching models, for-
malizing development processes, making composable
customized transformations are tracks we follow.
Much work remains to be done, that are challeng-
ing. From a theoretical point of view, the transforma-
tion processes remain little explored. One perspective
is to design an algebra of transformations to combine
them by assertion conditions. From a practical point
of view, we still need to rationalise the software en-
gineering process as a combination of decisions and
experiment with a typology of transformations. From
a tooling point of view, it is necessary to be able to
reverse engineering the design frameworks as PDM
and to combine transformations written in different
languages and that are interactive so that the designer
influences the design choices.
REFERENCES
André, P., Attiogbé, C., and Mottu, J.-M. (2017). Combin-
ing techniques to verify service-based components. In
Proceedings of AMARETTO@MODELSWARD 2017,
Porto, Portugal.
André, P. (2019). Case studies in model-driven reverse en-
gineering. In Proceedings of MODELSWARD 2019,
Prague, Czech Republic, February 20-22, 2019, pages
256–263.
Bajovs, A., Nikiforova, O., and Sejans, J. (2013). Code gen-
eration from uml model: State of the art and practical
implications. Applied Computer Systems, 14(1):8–18.
Brambilla, M., Cabot, J., and Wimmer, M. (2017). Model-
Driven Software Engineering in Practice: Second
Edition. Morgan & Claypool Publishers, 2nd edition.
Ciccozzi, F. (2018). On the automated translational execu-
tion of the action language for foundational uml. Soft-
ware & Systems Modeling, 17(4):1311–1337.
Ciccozzi, F., Malavolta, I., and Selic, B. (2019). Execution
of uml models: a systematic review of research and
practice. Software & Systems Modeling, 18(3):2313–
2360.
Guermazi, S., Tatibouet, J., Cuccuru, A., Seidewitz, E.,
Dhouib, S., and Gérard, S. (2015). Executable model-
ing with fuml and alf in papyrus: Tooling and experi-
ments. In Proc. of the 1st International Workshop on
Executable Modeling in (MODELS 2015)., pages 3–8,
Ottawa, Canada.
Hansen, M. O. (2011). Exploration of UML State Machine
implementations in Java. Master’s thesis, University
of Oslo, Norway.
Mellor, S. J. and Balcer, M. J. (2002). Executable UML:
A Foundation for Model-Driven Architecture. Object
Technology Series. Addison-Wesley, 1 edition. ISBN
0-201-74804-5.
Mukhtar, M. I. and Galadanci, B. S. (2018). Automatic
code generation from uml diagrams: the state-of-the-
art. Science World Journal, 14(4):47–60.
Niaz, I. A., Tanaka, J., and Words, K. (2004). Mapping uml
statecharts to java code. In in Proc. IASTED Interna-
tional Conf. on Software Engineering (SE 2004, pages
111–116.
OMG (2018). Semantics of a Foundational Subset for Exe-
cutable UML Models (fUML), version 1.4. Technical
report, Object Management Group, https://www.omg.
org/spec/FUML/1.4/.
Paige, R. F., Matragkas, N., and Rose, L. M. (2016). Evolv-
ing models in model-driven engineering: State-of-the-
art and future challenges. Journal of Systems and Soft-
ware.
Pilitowski, R. and Dereziñska, A. (2007). Code generation
and execution framework for uml 2.0 classes and state
machines. In Innovations and Advanced Techniques in
Computer and Information Sciences, pages 421–427.
Springer.
Planas, E., Cabot, J., and Gómez, C. (2016). Lightweight
and static verification of uml executable models. Com-
put. Lang. Syst. Struct., 46(C):66–90.
Raistrick, C., Francis, P., Wilkie, I., Wright, J., and Carter,
C. B. (2004). Model Driven Architecture with Exe-
cutable UML. Cambridge University Press. ISBN 0-
521-53771-1.
Rierson, L. (2013). Developing Safety-Critical Software: A
Practical Guide for Aviation Software and DO-178C
Compliance. Taylor & Francis.
Roques, P. and Vallée, F. (2011). UML 2 en action: De
l’analyse des besoins à la conception. Architecte logi-
ciel. Eyrolles. (in french).
Weilkiens, T. (2008). Systems Engineering with SysM-
L/UML: Modeling, Analysis, Design. The MK/OMG
Press. Elsevier Science.
MODELSWARD 2020 - 8th International Conference on Model-Driven Engineering and Software Development
432