Skip to main content
Log in

Lifting transformational models of product lines: a case study

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Model driven engineering (MDE) of software product lines (SPLs) merges two increasing important paradigms that synthesize programs by transformation. MDE creates programs by transforming models, and SPLs elaborate programs by applying transformations called features. In this paper, we present the design and implementation of a transformational model of a product line of scalar vector graphics and JavaScript applications. We explain how we simplified our implementation by lifting selected features and their compositions from our original product line (whose implementations were complex) to features and their compositions of another product line (whose specifications were simple). We used operators to map higher-level features and their compositions to their lower-level counterparts. Doing so exposed commuting relationships among feature compositions in both product lines that helped validate our model and implementation.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Ancona, D., Lagorio, G., Zucca, E.: True separate compilation of Java classes. In: Principles and Practice of Declarative Programming (PPDP’02), pp. 189–200. Pittsburgh (2002)

  2. Anastaspoulos, M., Forster, T., Muthig, D.: Optimizing model driven development by deriving code generation patterns from product line architectures. In: Hirschfeld, R., Kowalczyk, R., Polze, A., Weske, M. (eds.) Net ObjectDays, pp. 425–438. Erfurt (2005)

  3. Anfurrutia, F.I., Diaz, O., Trujillo, S.: On refining XML artifacts. In: International Conference on Web Engineering, pp. 473–478. Como (2007)

  4. Avila-Garcia, O., Garcia, A.E., Rebull, E.V.S.: Using software product lines to manage model families in model-driven engineering. In: ACM Symposium on Applied Computing, pp. 1006–1011. Seoul (2007)

  5. Batory, D., Lofaso, B., Smaragdakis, Y.: JTS: tools for implementing domain-specific languages. In: International Conference on Software Reuse, pp. 143–153. Victoria (1998)

  6. Batory, D.: Feature models, grammars, and propositional formulas. In: Software Product Line Conference (SPLC), pp. 7–20. Rennes (2005)

  7. Batory, D., Robertson, E., Chen, G., Wang, T.: Design wizards and visual programming environments for genvoca generators. IEEE Trans. Softw. Eng. doi:10.1109/32.846301 (2000)

  8. Batory D., O’Malley S.: The design and implementation of hierarchical software systems with Reusable Components. ACM Trans. Softw. Eng. Methodol. 1(4), 355–398 (1992)

    Article  Google Scholar 

  9. Batory, D., Sarvela, J.N.: The AHEAD Tool Suite (ATS). Website: Department of Computer Sciences, The University of Texas at Austin. http://www.cs.utexas.edu/users/schwartz/index.html (2003–2009). Accessed 24 July 2009

  10. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step wise refinement. IEEE Trans. Softw. Eng. doi:10.1109/TSE.2004.23 (2004)

  11. Baxter, I.: Design maintenance systems, Commun. of the ACM. doi:10.1145/129852.129859 (1992)

  12. Bezivin, J.: Model driven engineering: an emerging technical space. Generative and transformational techniques in software engineering. LNCS volume 4143/2006, pp. 36–44

  13. Booch, G., Brown, A., Iyengar, S., Rumbaugh, J., Selic, B.: An MDA Manifesto. MDA J. 2–9 (2004)

  14. Colyer, A., Rashid, A., Blair, G.: On the separation of concerns in program families. Technical report COMP-001-2004, Computing Department, Lancaster University. http://www.comp.lancs.ac.uk/computing/aose/papers/COMP-001-2004.pdf (2004). Accessed 27 July 2009

  15. Cuadrado, J., Molina, J.: Approaches for model transformation reuse: factorization and composition. In: International Conference on Theory and Practice of Model Transformations, pp. 168–182. Zurich (2008)

  16. Czarnecki K., Eisenecker U.: Generative Programming Methods, Tools, and Applications. Addison-Wesley, Boston (2000)

    Google Scholar 

  17. Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: International Conference on Generative Programming and Component Engineering (GPCE), pp. 422–437. Tallinn (2005)

  18. Czarnecki K., Helsen S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  19. Deelstra, S., Sinnema, M., van Gurp, J., Bosch, J.: Model driven architecture as approach to manage variability in software product families. In: Model Driven Architecture Foundations and Applications (MDAFA) Workshop (2003)

  20. Drossopoulou, S., Eisenbach, S., Wragg, D.: A fragment calculus towards a model of separate compilation, linking and binary compatibility. In: Symposium on Logic in Computer Science (1999)

  21. Earley J.: An efficient context-free parsing algorithm. Commun. ACM 13(2), 92–104 (1970)

    Article  Google Scholar 

  22. Ehrig, H., Ehrig, K., Ermel, C., Hermann, F., Taentzer, G.: Information preserving bidirectional model transformations. In: Fundamental Approaches to Software Engineering (FASE), pp. 72–86 (2007)

  23. Gonzlez-Baixauli, B., Laguna, M.A., Crespo, Y.: Product lines, features, and MDD. In: European Workshop on Model Transformations (EWMT) (2005)

  24. Gray, J., et al.: Model driven program transformation of a large avionics framework. In: International Conference on Generative Programming and Component Engineering (GPCE), pp. 361–378 (2004)

  25. Gronmo, R., Sorensen, F., Moller-Pedersen, B., Krogdahl, S.: Semantics-based weaving of UML sequence diagrams. In: International Conference on Model Transformations (ICMT), pp. 122–136 (2008)

  26. Hemel, Z., Kats, L., Visser, E.: Code generation by model transformation: a case study in transformation modularity. In: International Conference on Model Transformations (ICMT), pp. 183–198 (2008)

  27. JavaCC. https://javacc.dev.java.net. Accessed 23 July 2009

  28. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Model Transformations in Practice Workshop at Model Driven Engineering, Languages and Systems (MODELS) (2005)

  29. Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. TR. CMU/SEI-90TR-21 (1990)

  30. Kleppe A., Warmer J., Bast W.: MDA Explained: The Model Driven Architecture: Practice and Promise. Addison-Wesley, Boston (2003)

    Google Scholar 

  31. Kolbly, D.: Extensible language implementation. Ph.D. Department of Computer Sciences, University of Texas at Austin (2002)

  32. Kurtev, I., van den Berg, K.: Building adaptable and reusable XML applications with model transformations. In: International World Wide Web (WWW) Conference (2005)

  33. Khurshid, S., Uzuncaova, E., Garcia, D., Batory, D.: Testing software product lines using incremental test generation. In: International Symposium on Software Reliability Engineering (ISSRE) (2008), pp. 249–258

  34. Lagorio, G.: Type systems for Java separate compilation and selective recompilation. PhD thesis, University of Genova (2004)

  35. Lopez-Herrejon, R., Batory, D.: Using hyper/J to implement product lines: a case study. Department of Computer Sciences, University of Texas at Austin (2002)

  36. Lopez-Herrejon, R., Batory, D., Lengauer, C.: A disciplined approach to aspect composition. In: Partial Evaluation and Program Manipulation (PEPM), pp. 68–77 (2006)

  37. Memon, A.M., Pollack, M.E., Soffa, M.L.: Using a goal-driven approach to generate test Cases for GUIs. In: International Conference on Software Engineering (ICSE), pp. 257–266 (1999)

  38. Mens, T., Czarnecki, K., van Gorp, P.: A taxonomy of model transformations. In: International Workshop on Graph and Model Transformations (GraMoT). doi:10.1016/j.entcs.2005.10.021 (2005)

  39. Neuman, A.: US Population 2000: Ethnic structure and age distribution. http://www.carto.net/papers/svg/samples. Accessed April 2006

  40. Ossher H., Tarr P.: Multi-Dimensional Separation of Concerns and the Hyperspace Approach: Software Architecture and Component Technology. Kluwer, Boston (2002)

    Google Scholar 

  41. Rath, I., Bergmann, G., Okros, A., Varro, D.: Live model transformations driven by incremental pattern matching. In: International Conference on Model Transformation (ICMT), doi:10.1007/978-3-540-69927-9_8 (2008)

  42. Rivera, J., Vallecillo, A.: Representing and operating with model differences. In: International Conference Objects, Models, Components, Patters (TOOLS EUROPE). doi:10.1007/978-3-540-69824-1_9 (2008)

  43. Sabetzadeh, M., Easterbrook, S.M.: Analysis of inconsistency in graph-based viewpoints: a category-theoretic approach. In: Automated Software Engineering (ASE), p. 12 (2003)

  44. Schmidt, D., Nechypurenko, A., Wuchner, E.: MDD for software product lines: fact or fiction? Workshop 8 at MODELS (2005)

  45. Selinger, P., et al.: Access path selection in a relational database system. In: ACM Special Interest Group On Management of Data (SIGMOD), pp. 23–34 (1979)

  46. Smaragdakis, Y., Batory, D.: Scoping constructs for program generators. In: Generative and Component-Based Software Engineering (GPCE) (1999)

  47. Thaker, S., Batory, D., Kitchin, D., Cook, W.: Safe composition of product lines. In: Generative Programming and Component Engineering (GPCE), pp. 95–104 (2007)

  48. Tomita M.: Efficient Parsing for Natural Language: A Fast Algorithm for Practical Systems. Kluwer, Boston (1985)

    Google Scholar 

  49. Trujillo, S., Azanza, W., Diaz, O.: Generative metaprogramming. In: Generative Programming and Component Engineering (GPCE), pp. 105–114 (2007)

  50. Trujillo, S., Batory, D., Diaz, O.: Feature oriented model driven development: a case study for portlets. In: International Conference on Software Engineering (ICSE), pp. 44–53 (2007)

  51. Trujullo, S.: Feature oriented model driven product lines. PhD thesis, The University of the Basque Country (2007)

  52. Wagelaar, D.: Composition techniques for rule-based model transformation languages. In: International Conference on Model Transformations (ICMT). doi:10.1007/978-3-540-69927-9_11 (2008)

  53. Wirth N.: Program development by stepwise refinement. Commun. ACM 14(4), 221–227 (1971)

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Don Batory.

Additional information

Communicated by Dr. Jeff Gray.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Freeman, G., Batory, D., Lavender, G. et al. Lifting transformational models of product lines: a case study. Softw Syst Model 9, 359–373 (2010). https://doi.org/10.1007/s10270-009-0131-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-009-0131-6

Keywords

Navigation