Change Rule Execution Scheduling in Incremental Roundtrip Engineering Chain: From Model-to-Code and Back

Van Cam Pham, Ansgar Radermacher, Sébastien Gérard, Florian Noyrit

Abstract

Model driven engineering allows many stakeholders to contribute their expertise to the system description. Incremental model transformations (IMT) are used to synchronize different artifacts contributed by the stakeholders. IMTs detect changes on the source model and execute change rules to propagate updates to the target model. However, the execution of change rules is not straightforward. A rule is only correctly executed if its precondition is satisfied at execution time. The precondition checks the availability of certain source and target elements involved in the rule. If a rule is executed at the time the involved elements are not appeared in the source and target models, either the execution is blocked or stopped. Therefore, the produced target model becomes incorrect. This paper presents two approaches to the scheduling of change rule execution in incremental model transformations. These approaches are also applied to the case of models and code synchronization and implemented in a tool named IncRoundtrip that transforms and generates code for distributed systems. We also compare the runtime execution performance of different incremental approaches with batch transformation and evaluate their correctness.

References

  1. AndroMDA (2015). http://www.andromda.org/ [Online; accessed 01-Sept-2015].
  2. Bergmann, G., Rth, I., Szab, T., Torrini, P., and Varr, D. (2012). Incremental pattern matching for the efficient computation of transitive closure. Lecture Notes in Computer Science, 7562 LNCS:386400.
  3. Bergmann, G., Rth, I., Varr, G., and Varr, D. (2011). Change-driven model transformations, volume 11.
  4. Fan, W., Wang, X., and Wu, Y. (2013). Incremental graph pattern matching, volume 38.
  5. Giese, H. and Wagner, R. (2006). Incremental Model Synchronization with Triple Graph Grammars, page 543557.
  6. Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y., Gottmann, S., and Engel, T. (2013). Model synchronization based on triple graph grammars: correctness, completeness and invertibility. Software and Systems Modeling, page 129.
  7. Jan, M., Jouvray, C., Kordon, F., Kung, A., Lalande, J., Loiret, F., Navas, J., Pautet, L., Pulou, J., Radermacher, A., and Seinturier, L. (2012). Flex-eWare: A flexible model driven solution for designing and implementing embedded distributed systems. Software - Practice and Experience, 42:1467-1494.
  8. Kindler, E. and Wagner, R. (2007). Triple graph grammars: Concepts, extensions, implementations, and application scenarios. Techn. Ber. tr-ri-07-284, University of.
  9. Kusel, A., Etzlstorfer, J., and Kapsammer, E. (2013). A survey on incremental model transformation approaches.
  10. ME 2013 Models and Evolution Workshop, at MODELS'13.
  11. Lauder, M., Anjorin, A., Varr, G., and Sch, A. (2012). Efficient model synchronization with precedence triple graph grammars.
  12. Mussbacher, G., Amyot, D., Breu, R., Bruel, J.-m., Cheng, B. H. C., Collet, P., Combemale, B., France, R. B., Heldal, R., Hill, J., Kienzle, J., and Sch öttle, M. (2014). The Relevance of Model-Driven Engineering Thirty Years from Now. ACM/IEEE 17th MODELS, pages 183-200.
  13. Nagowah, L., Goolfee, Z., and Bergue, C. (2013). RTET - A round trip engineering tool. In ICoICT 2013, pages 381-387.
  14. OMG (2008). Meta Object Facility (MOF) 2.0 Query / View / Transformation Specification.
  15. Qompass (2015). https://wiki.eclipse.org/Papyrus Qompass. [Online; accessed 01-Sept-2015].
  16. Radermacher, A., Cuccuru, A., Gerard, S., and Terrier, F. (2009). Generating execution infrastructures for component-oriented specifications with a model driven toolchain: A case study for marte's gcm and real-time annotations. SIGPLAN Not., 45(2):127-136.
  17. Tigris (2015). Tigris. http://argouml.tigris.org/. [Online; accessed 01-Sept-2015].
  18. Tonella, P. (2005). Reverse engineering of object oriented code. Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005.
  19. Ujhelyi, Z., Bergmann, G., Heged üs, A., Horváth, A., Izsó, B., Ráth, I., Szatmári, Z., and Varr ó, D. (2015). EMFIncQuery: An integrated development environment for live model queries. Science of Computer Programming, 98(2015):80-99.
  20. Xin, W. and Xiaojie, Y. (2007). Towards an AST-based approach to reverse engineering. In Canadian Conference on Electrical and Computer Engineering, pages 422-425.
Download


Paper Citation


in Harvard Style

Pham V., Radermacher A., Gérard S. and Noyrit F. (2016). Change Rule Execution Scheduling in Incremental Roundtrip Engineering Chain: From Model-to-Code and Back . In Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD, ISBN 978-989-758-168-7, pages 225-232. DOI: 10.5220/0005687702250232


in Bibtex Style

@conference{modelsward16,
author={Van Cam Pham and Ansgar Radermacher and Sébastien Gérard and Florian Noyrit},
title={Change Rule Execution Scheduling in Incremental Roundtrip Engineering Chain: From Model-to-Code and Back},
booktitle={Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,},
year={2016},
pages={225-232},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005687702250232},
isbn={978-989-758-168-7},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,
TI - Change Rule Execution Scheduling in Incremental Roundtrip Engineering Chain: From Model-to-Code and Back
SN - 978-989-758-168-7
AU - Pham V.
AU - Radermacher A.
AU - Gérard S.
AU - Noyrit F.
PY - 2016
SP - 225
EP - 232
DO - 10.5220/0005687702250232