Advertisement

Evaluating Multi-variant Model-To-Text Transformations Realized by Generic Aspects

  • Sandra GreinerEmail author
  • Bernhard Westfechtel
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 991)

Abstract

The discipline model-driven product line engineering (MDPLE) aims at increasing the level of productivity when realizing a family of related products. Relying on model-driven software engineering (MDSE) seeks to support this effect by using models raising the level of abstraction. In MDSE model transformations are the key technology to transform in between different (model) representations. By now, model transformations are mature and successfully applied in many use cases. In annotative approaches to MDPLE model elements are typically augmented with variability annotations controlling in which products the elements are visible. For delivering products, source code is generated from the configured models in model-to-text (M2T) transformations. Applying a state-of-the-art model transformation on an annotated model, however, does not regard the annotations since such single-variant model transformations (SVMTs) are unaware of annotations and not able to transfer them to the output. In the present work we evaluate our solution which reuses the already existing SVMT support and propagates annotations orthogonally. In particular, a generic aspect, supporting any kind of input metamodel, augments the outcome of SVMTs with annotations. Comparing the transformation with the state-of-the-art approach of manually adding the annotations to the target model reveals not only \(100\%\) accuracy regarding the similarity of the derived products. It also states a significant reduction of the user effort compared to the laborious task of manually annotating the target source code. In this way our approach helps to really increase the productivity in MDPLE.

References

  1. 1.
    Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model superimposition in software product lines. In: Proceedings of the 2nd ICMT, pp. 4–19, July 2009CrossRefGoogle Scholar
  2. 2.
    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). http://doi.acm.org/10.1145/1858996.1859032
  3. 3.
    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 - Volume 1: MODELSWARD, pp. 326–335. INSTICC, SciTePress (2018)Google Scholar
  4. 4.
    Buchmann, T., Schwägerl, F.: FAMILE: tool support for evolving model-driven product lines. In: Joint Proceedings of the Co-located Events at 8th ECMFA, pp. 59–62. CEUR WS, Lyngby, Denmark, July 2012Google Scholar
  5. 5.
    Efftinge, S., et al.: Xpand documentation. Technical report, 2004–2010 (2004)Google Scholar
  6. 6.
    Famelis, M., et al.: Migrating automotive product lines: a case study. In: Kolovos, D., Wimmer, M. (eds.) ICMT 2015. LNCS, vol. 9152, pp. 82–97. Springer, Cham (2015).  https://doi.org/10.1007/978-3-319-21155-8_7CrossRefGoogle Scholar
  7. 7.
    Greiner, S., Schwägerl, F., Westfechtel, B.: Realizing multi-variant model transformations on top of reused ATL specifications. In: Pires, L.F., Hammoudi, S., Selic, B. (eds.) Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2017), pp. 362–373. SCITEPRESS Science and Technology Publications, Portugal, Porto, Portugal, February 2017Google Scholar
  8. 8.
    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 - Volume 1: MODELSWARD, pp. 36–47. INSTICC, SciTePress (2018)Google Scholar
  9. 9.
    Ji, W., Berger, T., Antkiewicz, M., Czarnecki, K.: Maintaining feature traceability with embedded annotations. In: Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, pp. 61–70. ACM, New York (2015). http://doi.acm.org/10.1145/2791060.2791107
  10. 10.
    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 1990Google Scholar
  11. 11.
    Kästner, C., Trujillo, S., Apel, S.: Visualizing Software Product Line Variabilities in Source Code. Ph.D. thesis, San Francisco, CA, USA, September 2008Google Scholar
  12. 12.
    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_2CrossRefGoogle Scholar
  13. 13.
    Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, Germany (2005)CrossRefGoogle Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    Sijtema, M.: Introducing variability rules in ATL for managing variability in MDE-based product lines. In: Proceedings of the MtATL 2010, pp. 39–49 (2010)Google Scholar
  16. 16.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston (2009)Google Scholar
  17. 17.
    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_19CrossRefGoogle Scholar
  18. 18.
    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_6CrossRefGoogle Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Völter, M., Groher, I.: Handling variability in model transformations and generators. In: 7th OOPSLA Workshop on Domain-Specific Modeling (2007)Google Scholar
  21. 21.
    Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology, Engineering, Management. Wiley, UK (2006)Google Scholar
  22. 22.
    Wagelaar, D., Iovino, L., Di Ruscio, D., Pierantonio, A.: Translational semantics of a co-evolution specific language with the EMF transformation virtual machine. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 192–207. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-30476-7_13CrossRefGoogle Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Applied Computer Science IUniversity of BayreuthBayreuthGermany

Personalised recommendations