Abstract
When the two disciplines, software product line engineering (SPLE) and model-driven software engineering (MDSE), come together multi-variant model transformations (MVMTs) are almost indispensable tool support.
Variability annotations are boolean expressions used in annotative SPL engineering (SPLE) for expressing in which products model elements are visible. Developing the SPL in a model-driven way requires various model representations, e.g., Java models for generating the source code. Although model transformations are the key essence of MDSE and can be used to generate these representations from already existing (model) artifacts, they suffer from not being able to handle the variability annotations automatically. Thus, the developer is forced to annotate target models manually contradicting the goal of both disciplines, MDSE and SPLE, to increase productivity. Recently, approaches have been proposed to solve the problem using, e.g., traces, to propagate annotations without changing the transformation itself. In this paper we utilize a generic framework allowing to evaluate whether the target model of arbitrary (reuse-based) MVMTs was annotated correctly. In particular, for two different product lines we illuminate the transformation of UML class diagrams to Java models from which we finally can generate source code. On the one hand, we examine the quality of different post-processing annotation propagation strategies, on the other hand, the scalability of the framework itself.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Anjorin, A., Buchmann, T., Westfechtel, B.: The families to persons case. In: Proceedings of the 10th Transformation Tool Contest (TTC 2017), Co-located with the 2017 Software Technologies: Applications and Foundations (STAF 2017), Marburg, Germany, 21 July 2017, pp. 27–34 (2017). http://ceur-ws.org/Vol-2026/paper2.pdf
Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model superimposition in software product lines. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 4–19. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-02408-5_2
Brun, C., Pierantonio, A.: Model differences in the eclipse modelling framework. UPGRADE IX(2), 29–34 (2008)
Bruneliere, H., Cabot, J., Jouault, F., Madiot, F.: MoDisco: a generic and extensible framework for model driven reverse engineering. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, ASE 2010, pp. 173–174. ACM, New York (2010). https://doi.org/10.1145/1858996.1859032
Buchmann, T.: BXtend - a framework for (Bidirectional) incremental model transformations. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, 22–24 January 2018, pp. 336–345 (2018). https://doi.org/10.5220/0006563503360345
Buchmann, T., Greiner, S.: Bidirectional model transformations using a handcrafted triple graph transformation system. In: Software Technologies, 11th International Joint Conference, ICSOFT 2016, Lisbon, Portugal, 24–26 July 2016, Revised Selected Papers, pp. 201–220 (2016). https://doi.org/10.1007/978-3-319-62569-0_10
Buchmann, T., Greiner, S.: Managing variability in models and derived artefacts in model-driven software product lines. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, 22–24 January 2018, pp. 326–335 (2018). https://doi.org/10.5220/0006563403260335
Buchmann, T., Schwägerl, F.: Ensuring well-formedness of configured domain models in model-driven product lines based on negative variability. In: 4th International Workshop on Feature-Oriented Software Development, FOSD 2012, Dresden, Germany, 24–25 September 2012, pp. 37–44 (2012). https://doi.org/10.1145/2377816.2377822
Buchmann, T., Schwägerl, F.: FAMILE: tool support for evolving model-driven product lines. In: Joint Proceedings of Co-located Events at 8th ECMFA, CEUR WS, Lyngby, Denmark, pp. 59–62, July 2012. http://btn1x4.inf.uni-bayreuth.de/publications/ECMFA-Buchmann2012.pdf
Czarnecki, K., Antkiewicz, M., Kim, C.H.P., Lau, S., Pietroszek, K.: Model-driven software product lines. In: Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2005, San Diego, CA, USA, 16–20 October 2005, pp. 126–127 (2005). https://doi.org/10.1145/1094855.1094896
Famelis, M., et al.: Migrating automotive product lines: a case study. In: Theory and Practice of Model Transformations - 8th International Conference, ICMT 2015, Held as Part of STAF 2015, Proceedings, L’Aquila, Italy, 20–21 July 2015, pp. 82–97 (2015). https://doi.org/10.1007/978-3-319-21155-8_7
Greiner, S., Westfechtel, B.: On determining variability annotations in partially annotated models. In: Proceedings of the 13th International Workshop on Variability Modelling of Software-Intensive Systems, VAMOS 2019, Leuven, Belgium, 6–8 February 2019. https://doi.org/10.1145/3302333.3302341
Greiner, S., Westfechtel, B.: Generating multi-variant java source code using generic aspects. In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2018, Funchal, Madeira - Portugal, 22–24 January 2018, pp. 36–47 (2018). https://doi.org/10.5220/0006536700360047
Greiner, S., Westfechtel, B.: Improving trace-based propagation of feature annotations in model transformations. In: Proceedings of MODELS 2018 Workshops: ModComp, MRT, OCL, FlexMDE, EXE, COMMitMDE, MDETools, GEMOC, MORSE, MDE4IoT, MDEbug, MoDeVVa, ME, MULTI, HuFaMo, AMMoRe, PAINS Co-located with ACM/IEEE 21st International Conference on Model Driven Engineering Languages and Systems (MODELS 2018), Copenhagen, Denmark, 14 October 2018, pp. 584–593 (2018). http://ceur-ws.org/Vol-2245/me_paper_2.pdf
Greiner, S., Westfechtel, B.: Generic framework for evaluating commutativity of multi-variant model transformations. In: Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2019, Prague, Czech Republic, 20–22 February 2019, pp. 155–166 (2019). https://doi.org/10.5220/0007585701550166
Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: Mapping features to models. In: Companion Proceedings of 30th ICSE, pp. 943–944. ACM, Leipzi, May 2008. https://doi.org/10.1145/1370175.1370199
ikv++ technologies: medini QVT. ikv++ technologies (2018). http://projects.ikv.de/qvt
Johansen, M.F., Haugen, Ø., Fleurey, F.: An algorithm for generating t-wise covering arrays from large feature models. In: 16th International Software Product Line Conference, SPLC 2012, Salvador, Brazil , 2–7 September 2012, vol. 1, pp. 46–55 (2012). https://doi.org/10.1145/2362536.2362547
Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008). https://doi.org/10.1016/j.scico.2007.08.002
Kaltenecker, C., Grebhahn, A., Siegmund, N., Guo, J., Apel, S.: Distance-based sampling of software configuration spaces. In: Proceedings of the 41st International Conference on Software Engineering, pp. 1084–1094. ICSE 2019. IEEE Press, Piscataway (2019). https://doi.org/10.1109/ICSE.2019.00112
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute, November 1990
Kiczales, G.: Aspect-oriented programming. In: Proceedings of the 27th International Conference on Software Engineering, ICSE 2005, St. Louis, MO, USA, p. 730. ACM, New York (2005). ISBN: 1-58113-963-2. https://doi.org/10.1145/1062455.1062640
Klatt, B.: Xpand: a closer look at the model2text transformation language. Language 10(16), 2008 (2007)
de Lara, J., Guerra, E., Chechik, M., Salay, R.: Model transformation product lines. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, 14–19 October 2018, pp. 67–77 (2018). https://doi.org/10.1145/3239372.3239377
Leblebici, E., Anjorin, A., Schürr, A.: Developing emoflon with emoflon. In: Theory and Practice of Model Transformations - 7th International Conference, ICMT 2014, Held as Part of STAF 2014, . Proceedings, York, UK, 21–22 July 2014, pp. 138–145 (2014). https://doi.org/10.1007/978-3-319-08789-4_10
Lopez-Herrejon, R.E., Batory, D.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44800-4_2
Marijan, D., Gotlieb, A., Sen, S., Hervieu, A.: Practical pairwise testing for software product lines. In: 17th International Software Product Line Conference, SPLC 2013, Tokyo, Japan, 26–30 August 2013, pp. 227–235 (2013). https://doi.org/10.1145/2491627.2491646
Object Management Group, Needham, MA: Unified Modeling Language (UML), formal/17-12-05 edn. March 2017
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations Principles and Techniques. Springer, Berlin (2005). https://link.springer.com/book/10.1007%2F3-540-28901-1
Salay, R., Famelis, M., Rubin, J., Sandro, A.D., Chechik, M.: Lifting model transformations to product lines. In: 36th International Conference on Software Engineering, ICSE 2014, Hyderabad, India, 31 May–07 June 2014, pp. 117–128 (2014). https://doi.org/10.1145/2568225.2568267
Schürr, A.: Specification of graph translators with triple graph grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-59071-4_45
Schwägerl, F., Buchmann, T., Westfechtel, B.: Multi-variant model transformations - a problem statement. In: ENASE 2016 - Proceedings of the 11th International Conference on Evaluation of Novel Approaches to Software Engineering, Rome, Italy 27–28, April 2016, pp. 203–209 (2016). https://doi.org/10.5220/0005878702030209
Sijtema, M.: Introducing variability rules in atl for managing variability in mde-based product lines. In: Proceedings of MtATL, vol. 10, pp. 39–49 (2010)
Stahl, T., Völter, M., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development - Technology, Engineering, Management. Pitman, London (2006). http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470025700.html
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)
Strüber, D., Rubin, J., Arendt, T., Chechik, M., Taentzer, G., Plöger, J.: Variability-based model transformation: formal foundation and application. Formal Aspects Comput. 30(1), 133–162 (2018). https://doi.org/10.1007/s00165-017-0441-3
Strüber, D., Peldzsus, S., Jürjens, J.: Taming multi-variability of software product line transformations. In: Russo, A., Schürr, A. (eds.) FASE 2018. LNCS, vol. 10802, pp. 337–355. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-89363-1_19
Strüber, D., Schulz, S.: A tool environment for managing families of model transformation rules. In: Echahed, R., Minas, M. (eds.) ICGT 2016. LNCS, vol. 9761, pp. 89–101. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-40530-8_6
Taentzer, G., Salay, R., Strüber, D., Chechik, M.: Transformations of software product lines: A generalizing framework based on category theory. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2017, Austin, TX, USA, 17–22 September 2017, pp. 101–111 (2017). https://doi.org/10.1109/MODELS.2017.22
Taentzer, G., Salay, R., Strüber, D., Chechik, M.: Transformation of software product lines. In: Tichy, M., Bodden, E., Kuhrmann, M., Wagner, S., Steghöfer, J.P. (eds.) Software Engineering und Software Management 2018, pp. 51–52. Gesellschaft für Informatik, Bonn (2018)
Wagelaar, D., Iovino, L., Ruscio, D.D., Pierantonio, A.: Translational semantics of a co-evolution specific language with the EMF transformation virtual machine. In: Theory and Practice of Model Transformations - 5th International Conference, ICMT 2012, Proceedings, Prague, Czech Republic, 28–29 May 2012, pp. 192–207 (2012). https://doi.org/10.1007/978-3-642-30476-7_13
Westfechtel, B., Greiner, S.: From single- to multi-variant model transformations: trace-based propagation of variability annotations. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, 14–19 October 2018, pp. 46–56 (2018). https://doi.org/10.1145/3239372.3239414
Willink, E.D.: The micromapping model of computation; the foundation for optimized execution of eclipse qvtc/qvtr/umlx. In: Theory and Practice of Model Transformation - 10th International Conference, ICMT 2017, Held as Part of STAF 2017, Proceedings, Marburg, Germany, 17–18 July 2017, pp. 51–65 (2017). https://doi.org/10.1007/978-3-319-61473-1_4
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Greiner, S., Westfechtel, B. (2020). Evaluating the Multi-variant Model Transformation of UML Class Diagrams to Java Models. In: Hammoudi, S., Pires, L., Selić, B. (eds) Model-Driven Engineering and Software Development. MODELSWARD 2019. Communications in Computer and Information Science, vol 1161. Springer, Cham. https://doi.org/10.1007/978-3-030-37873-8_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-37873-8_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-37872-1
Online ISBN: 978-3-030-37873-8
eBook Packages: Computer ScienceComputer Science (R0)