Guideliness for Identifying Obstacles When Composing Distributed Systems from Components

  • Mehmet Akşit
  • Lodewijk Bergmans
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 648)


Component-oriented programming enables software engineers to implement complex applications from a set of pre-defined components. Although this technique has several advantages, experiences show that effective composition of components remains a difficult task. This is especially true if the software system is physically distributed. This chapter provides a set of guidelines to identify the obstacles that software engineers may experience while designing distributed systems using the current component technology. To this aim, the computer science domain is divided into several sub-domains, and each sub-domain is described using its important aspects. Further, each aspect is analyzed with respect to the current component technology. This analysis helps software engineers to identify the possible obstacles for each aspect of a sub-domain. The chapter concludes with references to the relevant research activities that are presented in this book.


Distributed systems aspects of computer science sub-domains obstacles in component composition research in component composition 


  1. 1.
    M. Akşit, R. Mostert and B. Haverkort. Compiler Generation Based on Grammar Inheritance. Memoranda Informatica 90-07, University of Twente, February 1990.Google Scholar
  2. 2.
    M. Akşit and L. Bergmans. Obstacles in Object-Oriented Software Development. In Proceedings OOPSLA’92, ACM SIGPPLAN Notices, Vol. 27, No. 10, pp. 341–358, October 1992.Google Scholar
  3. 3.
    M. Akşit, B. Tekinerdoğan, F. Marcelloni and L. Bergmans. Deriving Object-Oriented Frameworks from Domain Knowledge. In Building Application Frameworks: Object-Oriented Foundations of Framework Design, M. Fayad, D. Schmidt, R. Johnson (Eds.), John Wiley & Sons Inc., pp. 169–198, 1999.Google Scholar
  4. 4.
    L. Bergmans and M. Akşit. Composing Synchronisation and Real-Time Constraints. In Journal of Parallel and Distributed Computing, Vol. 36, No. 1, pp. 32–52, 1996.Google Scholar
  5. 5.
    A. Burggraaf, Solving Modelling Problems of CORBA Using Composition Filters. MSc. thesis, Dept. of Computer Science, University of Twente, August 1997.Google Scholar
  6. 6.
    P. Cointe (Ed.). Meta-Architectures and Reflection. Springer Verlag LNCS 1616, St Malo, May 1999.Google Scholar
  7. 7.
    S. de Bruijn. Composable Objects with Multiple Views and Layering. MSc. thesis, Dept. of Computer Science, University of Twente, March 1998.Google Scholar
  8. 8.
    J. B. Dennis and E. C. van Hoorn. Programming Semantics for Multiprogrammed Computations. In Communications of the ACM, Vol. 9, No. 3, pp. 143–155, March 1966.Google Scholar
  9. 9.
    R. S. Fabry. Capability-Based Addressing. In Communication of the ACM, Vol. 17, No. 7, pp. 403–412, July 1974.Google Scholar
  10. 10.
    E. Gamma, R. Helm, R. Johnson and J. Vlissides. Design Patterns: Elements of Reusable Software. Addison Wesley, 1995.Google Scholar
  11. 11.
    H. Lieberman. Using Prototypical Objects to Implement Shared Behavior in Object Oriented Systems. In Proceedings of OOPSLA’86, ACM SIGPLAN Notices, Vol. 21, No. 11, pp. 214–223, November 1996.Google Scholar
  12. 12.
    P. Maes. Concepts and Experiments in Computational Reflection. In Proceedings OOPSLA’87, ACM SIGPLAN Notices, Vol. 22, No. 12, pp. 147–155, December 1987.Google Scholar
  13. 13.
    S. Matsuoka and A. Yonezawa. Inheritance Anomaly in Object-Oriented Concurrent Programming Languages, In Research Directions in Concurrent Object-Oriented Programming, G. Agha, P. Wegner and A. Yonezawa (Eds.), MIT Press, Cambridge, MA, pp. 107–150, October 1993.Google Scholar
  14. 14.
    S. Mullender and A. Tanenbaum. Protection and Resource Control in Distributed Operating Systems. In Computer Networks, No. 8, pp. 421–432, 1984.Google Scholar
  15. 15.
    M. Sinderen (Ed.) Application of Middleware for Services in Telematics (AMIDST) Project, CTIT,, 1999.
  16. 16.
    B. C. Smith. Reflection and Semantics in a Procedural Language. MIT-LCS-TR-272, Mass. Inst. of Tech. Cambridge, MA, January 1982.Google Scholar
  17. 17.
    C. Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley, 1998.Google Scholar
  18. 18.
    D. Ungar and R. B. Smith. Self: The Power of Simplicity, In Proceedings OOPSLA’87, ACM SIGPLAN Notices, Vol. 22, No. 12, pp. 227–242, December 1987.Google Scholar
  19. 19.
    Y. Yokote. The Apertos Reflective Operating System: The Concept and Its Implementation. In Proceedings of the OOPSLA’92, ACM SIGPLAN Notices, Vol. 27. No. 10, pp. 414–434, October 1992Google Scholar
  20. 20.
    A. Yonezawa (Ed.). Reflection and Meta Level Architecture. Proceedings of IMSA’92, Tokyo, November 1992.Google Scholar

Copyright information

© Springer Science+Business Media New York 2002

Authors and Affiliations

  • Mehmet Akşit
    • 1
  • Lodewijk Bergmans
    • 1
  1. 1.TRESE Group, Department of Computer ScienceUniversity of TwenteEnschedeThe Netherlands

Personalised recommendations