Evolution of Collective Object Behavior in Presence of Simultaneous Client-Specific Views

  • Bo Nørregaard Jørgensen
  • Eddy Truyen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2817)


When different clients, each with their own individual customization requirements, use the same system simultaneously, the system must dynamically adapt its behavior on a per client basis. Each non-trivial adaptation of the system’s behavior will very likely crosscut the implementation of multiple objects. In this paper we present an extension to the Java programming language that supports the dynamic evolution of collective object behavior in the presence of simultaneous client-specific views. In accordance with the separation of concerns and locality principles, client-specific customization of collective object behavior is organized as layers of mixin-like wrappers. Each layer of wrappers incrementally adds behavior and state to a group of core objects without modifying their respective implementations. Hence, collective object behavior can evolve in an additive and non-invasive way. The extension that we propose provides language constructs for defining, encapsulating and selecting behavioral refinements, and runtime support for transparently integrating them on demand.


Object Reference Language Extension Java Programming Language Extension Package Public Void 
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.
    Bosch J.: Superimposition: A Component Adaptation Technique. Information and Software Technology (1999) Google Scholar
  2. 2.
    Büchi, M., Weck, W.: Generic Wrappers. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 201. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  3. 3.
    Brant, J., Foote, B., Johnson, R.E., Roberts, D.: Wrappers to the Rescue. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, p. 396. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  4. 4.
    Gosling, J., Joy, B., Steele, G.: The Java TM Language Specification. Addison Wesley, Reading (1996)zbMATHGoogle Scholar
  5. 5.
    America, P.: Designing an object-oriented programming language with behavioral subtyping. In: de Bakker, J.W., Rozenberg, G., de Roever, W.-P. (eds.) REX 1990. LNCS, vol. 489, pp. 60–90. Springer, Heidelberg (1991)CrossRefGoogle Scholar
  6. 6.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J., Irwan, J.: Aspect-Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  7. 7.
    Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N Degrees of Separation: Multi- Dimensional Separation of Concerns. In: Proceedings of ICSE 1999 (1999)Google Scholar
  8. 8.
    Smaragdakis, Y., Batory, D.: Implementing Layered Designs with Mixin Layers. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, p. 550. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  9. 9.
    Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting Object- Interactions Using Composition-Filters. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds.) Object-Based Distributed Processing, pp. 152–184. Springer, Heidelberg (1993)Google Scholar
  10. 10.
    Seiter, L., Palsberg, J., Lieberherr, K.: Evolution of Object Behavior using Context Relations. IEEE Transactions on Software Engineering 24(1), 79–92 (1998)CrossRefGoogle Scholar
  11. 11.
    Mezini, M.: Dynamic Object Evolution without Name Collisions. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 190–219. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Mezini, M., Lieberherr, K.: Adaptive Plug and Play Components for Evolutionary Software Development. In: Proceedings of OOPSLA 1998. Sigplan Notices, vol. 33(10), pp. 97–116. ACM Press, New York (1998)Google Scholar
  13. 13.
    Ostermann, K.: Dynamically Composable Collaborations with Delegation Layers. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 89. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns, Elements of Reusable Object-Oriented Software, pp. 175–184. Addison-Wesley, Reading (1995)Google Scholar
  15. 15.
    Gamma, E.: Extension Object. In: Martin, R., Riehle, D., Bruschmann, F. (eds.) Pattern Languages of Program Design, vol. 3, pp. 79–88. Addison-Wesley, Reading (1998)Google Scholar
  16. 16.
    Bäumer, D., Riehle, D., Siberski, W., Wulf, M.: Role Object. In: Harisson, N. (ed.) Pattern Languages of Program Design, vol. 4, pp. 15–32. Addison-Wesley, Reading (2000)Google Scholar
  17. 17.
    Schmidt, D.C., Harrison, T.H., Pryce, N.: Thread-Specific Storage – An Object Behavioral Pattern for Accessing per-Thread State Efficiently. In: The C++ Report, SIGS, vol. 9(10) (November/December 1997)Google Scholar
  18. 18.
    Chiba, S.: Load-time Structural Reflection in Java. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, p. 313. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  19. 19.
    Tatsubori, M., Chiba, S., Killijian, V., Itano, K.: OpenJava: A Class-Based Macro System for Java. In: Cazzola, W., Stroud, R.J., Tisato, F. (eds.) Reflection and Software Engineering. LNCS, vol. 1826, pp. 117–133. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  20. 20.
    Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Jørgensen, B.N.: Dynamic and Selective Combination of Extensions in Component-Based Applications. In: Proceedings of ICSE, pp. 233–242 (2001)Google Scholar
  21. 21.
    Truyen, E., Vanhaute, B., Joosen, W., Verbaeten, P., Joergensen, B.N.: A Dynamic Customization Model for Distributed Component-Based Applications. In: Proceedings of DDMA 2001, pp. 147–152 (2001)Google Scholar
  22. 22.
    Truyen, E., Jørgensen, B.N., Joosen, W.: Customization of Component-based Object Request Brokers through Dynamic Reconfiguration. In: Proceedings of TOOLS EUROPE, pp. 181–194. IEEE, Los Alamitos (2000)Google Scholar
  23. 23.
    Jørgensen, B.N., Truyen, E., Matthijs, F., Joosen, W.: Customization of Object Request Brokers by Application Specific Policies. In: Coulson, G., Sventek, J. (eds.) Middleware 2000. LNCS, vol. 1795, pp. 144–164. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Bo Nørregaard Jørgensen
    • 1
  • Eddy Truyen
    • 2
  1. 1.The Maersk Mc-Kinney Moller Institute for Production TechnologyUniversity of Southern DenmarkOdense MDenmark
  2. 2.Computer Science DepartmentKatholieke Universiteit LeuvenLeuvenBelgium

Personalised recommendations