Software Evolution through Dynamic Adaptation of Its OO Design

  • Walter Cazzola
  • Ahmed Ghoneim
  • Gunter Saake
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2975)


In this paper we present a proposal for safely evolving a software system against run-time changes. This proposal is based on a reflective architecture which provides objects with the ability of dynamically changing their behavior by using their design information. The meta-level system of the proposed architecture supervises the evolution of the software system to be adapted that runs as the base-level system of the reflective architecture. The meta-level system is composed of cooperating components; these components carry out the evolution against sudden and unexpected environmental changes on a reification of the design information (e.g., object models, scenarios and statecharts) of the system to be adapted. The evolution takes place in two steps: first a meta-object, called evolutionary meta-object, plans a possible evolution against the detected event then another meta-object, called consistency checker meta-object validates the feasibility of the proposed plan before really evolving the system. Meta-objects use the system design information to govern the evolution of the base-level system. Moreover, we show our architecture at work on a case study.


Software Evolution Reflection Consistency Validation Dynamic Reconfiguration UML XMI 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bailey, J., Poulovassilis, A., Wood, P.T.: An event-condition-action language for XML. In: Proceedings of the 11th International World Wide Web Conference, WWW 2002, Honolulu, Hawaii, USA, May 2002, pp. 486–495. ACM Press, New York (2002)CrossRefGoogle Scholar
  2. 2.
    Boger, M., Sturm, T., Schildhauer, E.: Poseidon for UML Users Guide. Gentleware AG, Vogt-Kölln-Str. 30, D-22527 Hamburg, Germany (2000)Google Scholar
  3. 3.
    Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language Guide, 3rd edn., February 1999. Object Technology Series. Addison-Wesley, Reading (1999)Google Scholar
  4. 4.
    Cazzola, W.: Evaluation of Object-Oriented Reflective Models. In: Demeyer, S., Bosch, J. (eds.) ECOOP 1998 Workshops. LNCS, vol. 1543, pp. 386–387. Springer, Heidelberg (1998) ISBN 3-540-65460-7CrossRefGoogle Scholar
  5. 5.
    Cazzola, W., Coplien, J.O., Ghoneim, A., Saake, G.: Framework Patterns for the Evolution of Nonstoppable Software Systems. In: Hruby, P., Søresen, K.E. (eds.) Proceedings of the 1st Nordic Conference on Pattern Languages of Programs (VikingPLoP 2002), Højstrupgård, Helsingør, Denmark, September 20-22, pp. 35–54 (2002), Microsoft Business SolutionsGoogle Scholar
  6. 6.
    Cazzola, W., Ghoneim, A., Saake, G.: Reflective Analysis and Design for Adapting Object Run-time Behavior. In: Bellahsène, Z., Patel, D., Rolland, C. (eds.) OOIS 2002. LNCS, vol. 2425, pp. 242–254. Springer, Heidelberg (2002) ISBN: 3-540-44087-9CrossRefGoogle Scholar
  7. 7.
    Cazzola, W., Savigni, A., Sosio, A., Tisato, F.: Rule-Based Strategic Reflection: Observing and Modifying Behaviour at the Architectural Level. In: Proceedings of 14th IEEE International Conference on Automated Software Engineering (ASE 1999), Cocoa Beach, Florida, USA, October 12-15, pp. 263–266 (1999)Google Scholar
  8. 8.
    Conrad, S., Türker, C.: Prototyping Object Specifications Using Active Database Systems. In: Harmancı, A.E., Gelenbe, E., Örencik, B. (eds.) Proceedings of the 10th International Symposium on Computer and Information Sciences (ISCIS X), Kuşadası, Turkey, October 1995, vol. I, pp. 217–224 (1995)Google Scholar
  9. 9.
    Dowling, J., Cahill, V.: Building a Dynamically Reconfigurable Minimum CORBA Platform with Components, Connectors and Language-Level Support. In: Proceedings of the IFIP/ACM Middleware 2000 Workshop on Reflective Middleware, New York, NY, USA, April 2000, Springer, New York (2000)Google Scholar
  10. 10.
    Dowling, J., Cahill, V.: The K-Component Architecture Meta-Model for Self- Adaptive Software. In: Yonezawa, A., Matsuoka, S. (eds.) Reflection 2001. LNCS, vol. 2192, pp. 81–88. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Fowler, M., Scott, K.: UML Distilled: Applying the Standard Object Modeling Language. Addison-Wesley, Reading (1997)Google Scholar
  12. 12.
    Grose, T.J., Doney, G.C., Brodsky, S.A.: Mastering XMI: Java Programming with XMI, XML, and UML, April 2002. John Wiley & Sons, Inc., Chichester (2002)Google Scholar
  13. 13.
    Hürsch, W., Lopes, C.V.: Separation of Concerns. Technical Report NUCCS- 95-03, Northeastern University, Boston (February 1995)Google Scholar
  14. 14.
    Kramer, J., Magee, J.: Analysing Dynamic Change in Distributed Software Architectures. IEEE Proceedings Software 145(5), 146–154 (1998)CrossRefGoogle Scholar
  15. 15.
    Maes, P.: Concepts and Experiments in Computational Reflection. In: Meyrowitz, N.K. (ed.) Proceedings of the 2nd Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 1987), Orlando, Florida, USA, October 1987. Sigplan Notices, vol. 22, pp. 147–156. ACM, New York (1987)CrossRefGoogle Scholar
  16. 16.
    OMG. OMG-XML Metadata Interchange (XMI) Specification, v1.2 (January 2002), OMG Modeling and Metadata Specifications available at
  17. 17.
    Riehle, D., Fraleigh, S., Bucka-Lassen, D., Omorogbe, N.: The Architecture of a UML Virtual Machine. In: Northrop, L., Vlissides, J. (eds.) Proceedings of the 2001 Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 2001), Tampa Bay, Florida, USA, October 2001, pp. 327–341. ACM Press, New York (2001)Google Scholar
  18. 18.
    Savigni, A., Cunsolo, F., Micucci, D., Tisato, F.: ESCORT: Towards Integration in Intersection Control. In: Proceedings of Rome Jubilee 2000 Conference (Workshop on the International Foundation for Production Research (IFPR) on Management of Industrial Logistic Systems – 8th Meeting of the Euro Working Group Transportation - EWGT), Roma, Italy (September 2000)Google Scholar
  19. 19.
    Simhi, S., Gafni, V., Yehudai, A.: Combining Reflection and Finite State Diagrams for Design Enforcement, vol. 2(4), pp. 269–281 (1997)Google Scholar
  20. 20.
    Stroud, R.J.: Transparency and Reflection in Distributed Systems. ACM Operating System Review 22, 99–103 (1992)Google Scholar
  21. 21.
    Stroud, R.J., Wu, Z.: Using Metaobject Protocols to Satisfy Non-Functional Requirements. In: Zimmerman, C. (ed.) Advances in Object-Oriented Metalevel Architectures and Reflection, ch. 3, pp. 31–52. CRC Press, Inc., Boca Raton (1996)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Walter Cazzola
    • 1
  • Ahmed Ghoneim
    • 2
  • Gunter Saake
    • 2
  1. 1.Department of Informatics and CommunicationUniversità degli Studi di MilanoItaly
  2. 2.Institute für Technische und Betriebliche InformationssystemeOtto-von-Guericke-Universität MagdeburgGermany

Personalised recommendations