7 CONCLUSION
In the context of software maintenance, the well-
known technical debt is almost always accompanied
by an abstraction debt. Even in the good case were
the specifications include software architecture and
design models they are usually not up-to-date and
not consistent with the current implementation and
runtime configurations. Model-Driven Reverse En-
gineering of a legacy system provides means to get
abstract models from the source code (or from the
binary code). However a standard extraction from
code, usually do not reach the goal because the tool
support is more efficient on the static parts than the
behavioural part. Experiments show us that MDRE
is a complex activity that requires expert assistance,
customization to fit the MDRE goals and progres-
sive abstraction raising. MDRE is not symmetric to
MDE ; the traceability links that bind (abstract) de-
sign concepts to (concrete) implementation concepts
are many-to-many. Things can change if MDRE is an-
ticipated during engineering by using small step trans-
formations and by putting explicit traceability infor-
mation in the source code i.e. preparing round-trip.
The next step will provide more assistance to
MDRE user. For example we target the implemen-
tation of heuristics to propose a list of possible model
abstraction mappings to the modeller, she can then
choose the desired ones. These heuristics will de-
pend on the nature and the semantics of the mappings.
For example, when mapping two releases of the same
model, it is usually easier to detect equality mapping.
In specific cases, one can detect patterns or naming
conventions.
REFERENCES
Anquetil, N., Royer, J., Andre, P., Ardourel, G., Hnetynka,
P., Poch, T., Petrascu, D., and Petrascu, V. (2009).
Javacompext: Extracting architectural elements from
java source code. In 2009 16th Working Conference
on Reverse Engineering, pages 317–318.
Bork, M., Geiger, L., Schneider, C., and Zündorf, A. (2008).
Towards roundtrip engineering - a template-based re-
verse engineering approach. In Schieferdecker, I. and
Hartman, A., editors, Model Driven Architecture –
Foundations and Applications, pages 33–47, Berlin,
Heidelberg. Springer Berlin Heidelberg.
Brown, W. A. (2004). Model driven architecture: Princi-
ples and practice. Software and Systems Modeling,
3(4):314–327.
Brunelière, H., Cabot, J., Dupé, G., and Madiot, F.
(2014). Modisco: A model driven reverse engineer-
ing framework. Information and Software Technology,
56(8):1012 – 1032.
Clark, T., Barn, B. S., and Oussena, S. (2012). A method
for enterprise architecture alignment. In Proceedings
of PRET, volume 120, pages 48–76. Springer.
Cuadrado, J. S., Izquierdo, J. L. C., and Molina, J. G.
(2014). Applying model-driven engineering in small
software enterprises. Sci. Comput. Program.
Dehaghani, S. M. H. and Hajrahimi, N. (2013). Which fac-
tors affect software projects maintenance cost more?
Acta Informatica Medica, 21(1):63–66.
Mantz, F., Taentzer, G., Lamo, Y., and Wolter, U. (2015).
Co-evolving meta-models and their instance models:
A formal approach based on graph transformation.
Science of Computer Programming, 104:2 – 43. Spe-
cial Issue on Graph Transformation and Visual Mod-
eling Techniques (GT-VMT 2013).
Morariu, C., Morariu, O., and Borangiu, T. (2013). Cus-
tomer order management in service oriented holonic
manufacturing. Computers in Industry, 64(8):1061 –
1072.
Pepin, J., André, P., Attiogbé, C., and Breton, E. (2016).
An improved model facet method to support EA align-
ment. CSIMQ, 9:1–27.
Quintanilla, F. G., Cardin, O., L’anton, A., and Castagna, P.
(2016). A modeling framework for manufacturing ser-
vices in service-oriented holonic manufacturing sys-
tems. Engineering Applications of Artificial Intelli-
gence, 55:26–36.
Raibulet, C., Fontana, F. A., and Zanoni, M. (2017). Model-
driven reverse engineering approaches: A systematic
literature review. IEEE Access, 5:14516–14542.
Rausch, A., Reussner, R., Mirandola, R., and Plasil, F., ed-
itors (2008). The Common Component Modeling Ex-
ample: Comparing Software Component Models, vol-
ume 5153 of LNCS. Springer, Heidelberg.
Reis, A. and da Silva, A. R. (2017). Xis-reverse: A model-
driven reverse engineering approach for legacy infor-
mation systems. In Proceedings of the 5th Interna-
tional Conference on Model-Driven Engineering and
Software Development,, pages 196–207. INSTICC,
SciTePress.
Rodrigues, N., Leitão, P., and Oliveira, E. C. (2015). Self-
interested service-oriented agents based on trust and
qos for dynamic reconfiguration. In Borangiu, T.,
Thomas, A., and Trentesaux, D., editors, Service Ori-
entation in Holonic and Multi-agent Manufacturing,
volume 594 of Studies in Computational Intelligence,
pages 209–218. Springer.
Rugaber, S. and Stirewalt, K. (2004). Model-driven reverse
engineering. IEEE Software, 21(4):45–53.
Selic, B. (2008). Personal reflections on automa-
tion, programming culture, and model-based soft-
ware engineering. Automated Software Engineering,
15(3):379–391.
Tebib, M. E. A., André, P., and Cardin, O. (2019). A model
driven approach for automated generation of service-
oriented holonic manufacturing systems. In Service
Orientation in Holonic and Multi-Agent Manufactur-
ing - Proceedings of SOHOMA 2018, Bergamo, Italy,
June 11-12, 2018, volume 803 of Studies in Computa-
tional Intelligence, pages –. Springer. To appear.
Case Studies in Model-Driven Reverse Engineering
263