Abstract
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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)
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Trans. Softw. Eng. Methodol. 6(3), 213–249 (1997)
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)
Bockisch, C., Haupt, M., Mezini, M., Ostermann, K.: Virtual Machine Support for Dynamic Join Points. In: AOSD 2004 Proceedings. ACM Press, New York (2004)
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)
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)
Greenfield, J., Short, K.: Software Factories: Assembling Applications with Patterns, Frameworks, Models & Tools. J. Wiley and Sons Ltd, Chichester (2004)
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)
Kay, A.: The Reactive Engine. PhD thesis, University of Utah (1969)
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)
Krueger, C.: Software product lines – binding times (2005), http://www.softwareproductlines.com/introduction/binding.html
Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Trans. Softw. Eng. 21(9), 717–734 (1995)
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)
Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26(1), 70–93 (2000)
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)
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)
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)
OMG. MOF 2.0 Query / Views / Transformations RFP. Technical Report ad/2002-04-10, Object Management Group (April 2002)
OMG.: MDA Guide Version 1.0.1. Technical report, Object Management Group (2003)
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)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)
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)
The Object Management Group. Unified Modeling Language: Superstructure. Version 2.0, formal/05-07-04, Object Management Group (August 2005), http://www.omg.org/technology/documents/formal/uml.htm
Vojtisek, D., Jzquel, J.-M.: MTL and Umlaut NG - Engine and framework for model transformation. ERCIM News 58, 58 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zdun, U., Strembeck, M. (2006). Modeling Composition in Dynamic Programming Environments with Model Transformations. In: Löwe, W., Südholt, M. (eds) Software Composition. SC 2006. Lecture Notes in Computer Science, vol 4089. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11821946_12
Download citation
DOI: https://doi.org/10.1007/11821946_12
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-37657-6
Online ISBN: 978-3-540-37659-0
eBook Packages: Computer ScienceComputer Science (R0)