Modeling Composition in Dynamic Programming Environments with Model Transformations

  • Uwe Zdun
  • Mark Strembeck
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4089)


Although dynamic programming environments are in widespread use, only basic runtime composition mechanisms are covered by today’s modeling languages. Thus, it is common in real-world development projects that dynamic compositions are not modeled formally and are consequently hard to use, for example together with the model-driven paradigm where formal models are essential to generate source code. In this paper, we propose an approach based on model transformations between the valid structural and behavioral runtime states that a system can have. We use UML 2.0 class and activity diagrams for specifying the structural and behavioral model states and provide a UML 2.0 meta-model extension for describing the valid model transformations between corresponding model states.


Modeling Language Model Transformation Class Diagram Activity Diagram Software Product Line 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, R., Douence, R., Garlan, D.: Specifying and analyzing dynamic software architectures. In: Astesiano, E. (ed.) ETAPS 1998 and FASE 1998. LNCS, vol. 1382, p. 21. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  2. 2.
    Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)CrossRefGoogle Scholar
  3. 3.
    Bezivin, J.: From object composition to model transformation with the mda. In: Proceedings of the Technology of Object-Oriented Languages and Systems (TOOLS USA), Santa Barbara, CA, USA. IEEE Press, Los Alamitos (2001)Google Scholar
  4. 4.
    Bockisch, C., Haupt, M., Mezini, M., Ostermann, K.: Virtual Machine Support for Dynamic Join Points. In: AOSD 2004 Proceedings. ACM Press, New York (2004)Google Scholar
  5. 5.
    Bradbury, J.S., Cordy, J.R., Dingel, J., Wermelinger, M.: A survey of self-management in dynamic software architecture specifications. In: WOSS 2004: Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems, pp. 28–33. ACM Press, New York (2004)CrossRefGoogle Scholar
  6. 6.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  7. 7.
    Greenfield, J., Short, K.: Software Factories: Assembling Applications with Patterns, Frameworks, Models & Tools. J. Wiley and Sons Ltd, Chichester (2004)Google Scholar
  8. 8.
    Hirschfeld, R.: AspectS – Aspect-Oriented Programming with Squeak. In: Aksit, M., Mezini, M., Unland, R. (eds.) NODe 2002. LNCS, vol. 2591, pp. 216–232. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Kay, A.: The Reactive Engine. PhD thesis, University of Utah (1969)Google Scholar
  10. 10.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  11. 11.
    Krueger, C.: Software product lines – binding times (2005),
  12. 12.
    Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Trans. Softw. Eng. 21(9), 717–734 (1995)CrossRefGoogle Scholar
  13. 13.
    Medvidovic, N.: Adls and dynamic architecture changes. In: Joint proceedings of the second international software architecture workshop (ISAW-2) and international workshop on multiple perspectives in software development (Viewpoints 1996) on SIGSOFT 1996 workshops, pp. 24–27. ACM Press, New York (1996)CrossRefGoogle Scholar
  14. 14.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)CrossRefGoogle Scholar
  15. 15.
    Moon, D.: Object-oriented programming with flavors. In: Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 1986), Portland. SIGPLAN Notices, vol. 21, pp. 1–8 (1986)Google Scholar
  16. 16.
    Neumann, G., Zdun, U.: Enhancing object-based system composition through per-object mixins. In: Proceedings of Asia-Pacific Software Engineering Conference (APSEC), Takamatsu, Japan (December 1999)Google Scholar
  17. 17.
    Neumann, G., Zdun, U.: XOTcl, an object-oriented scripting language. In: Proceedings of Tcl2k: The 7th USENIX Tcl/Tk Conference, Austin, Texas, USA (February 2000)Google Scholar
  18. 18.
    OMG. MOF 2.0 Query / Views / Transformations RFP. Technical Report ad/2002-04-10, Object Management Group (April 2002)Google Scholar
  19. 19.
    OMG.: MDA Guide Version 1.0.1. Technical report, Object Management Group (2003)Google Scholar
  20. 20.
    Popovici, A., Gross, T., Alonso, G.: Just In Time Aspects: Efficient Dynamic Weaving for Java. In: Proc. of the 2nd International Conference on Aspect-Oriented Software Development (AOSD 2003), Boston, USA, pp. 100–109. ACM Press, New York (2003)CrossRefGoogle Scholar
  21. 21.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)Google Scholar
  22. 22.
    Succi, G., Wong, R., Liu, E., Smith, M.: Supporting dynamic composition of components. In: ICSE 2000: Proceedings of the 22nd international conference on Software engineering, p. 787. ACM Press, New York (2000)CrossRefGoogle Scholar
  23. 23.
    The Object Management Group. Unified Modeling Language: Superstructure. Version 2.0, formal/05-07-04, Object Management Group (August 2005),
  24. 24.
    Vojtisek, D., Jzquel, J.-M.: MTL and Umlaut NG - Engine and framework for model transformation. ERCIM News 58, 58 (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Uwe Zdun
    • 1
  • Mark Strembeck
    • 1
  1. 1.Institute of Information Systems, New Media LabVienna University of Economics and BAAustria

Personalised recommendations