Component-Based Software Engineering

The Need to Link Methods and Their Theories
  • He Jifeng
  • Xiaoshan Li
  • Zhiming Liu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3722)


We discuss some of the difficulties and significant issues that we need to consider when developing a formal method for component-based software engineering. We argue that to deal with the challenges, there is a need in research to link existing theories and methods of programming for effective support to component-based software engineering. We then present our initiative on a unified multi-view approach to modelling, design and analysis of component systems, emphasising the integration of models for different views.


Components Interfaces Contracts Protocols Functionality Consistency Composition Refinement Simulation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, R.: A Formal Approach to Software Architecture. PhD thesis, Carnegie Mellon, School of Computer Science (1997)Google Scholar
  2. 2.
    Allen, R.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)CrossRefGoogle Scholar
  3. 3.
    Arbab, F.: Reo: A channeled based coordination model for components composition. Mathematical Structures in Computer Science 14(3), 329–366 (2004)zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1999)Google Scholar
  5. 5.
    Beneken, G., Hammerschall, U., et al.: Componentware - sate of the art 2003. In: Background Paper for Understanding Components Workshop of the CUE Initiative (2003)Google Scholar
  6. 6.
    Broy, M.: Multi-view modeling of software systems. In: Liu, Z., He, J. (eds.) Mathematical Frameworks for Component Software: Models for Analysis and Synthesis. World Scientific, Singapore (to appear)Google Scholar
  7. 7.
    Broy, M., Stølen, K.: Specification and Development of Interactive Systems: FOCUS on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)zbMATHGoogle Scholar
  8. 8.
    Chaudron, M.R.V., de Jong, E.: Components are from Mars. In: Rolim, J.D.P. (ed.) IPDPS-WS 2000. LNCS, vol. 1800, pp. 727–733. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, INC., Englewood Cliffs (1976)zbMATHGoogle Scholar
  10. 10.
    D’Souza, D., Wills, A.C.: Objects, Components and Framework with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)Google Scholar
  11. 11.
    Ehrig, H., Damm, W., Desel, J., Große-Rhode, M., Reif, W., Schnieder, E., Westkämper, E. (eds.): INT 2004. LNCS, vol. 3147. Springer, Heidelberg (2004)Google Scholar
  12. 12.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Leavens, G.T., Sitaraman, M. (eds.) Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)Google Scholar
  13. 13.
    Gössler, G., Sifakis, J.: Composition for component-based modeling. Science of Computer Programming 55(1-3) (2005)Google Scholar
  14. 14.
    He, J., Liu, Z., Li, X.: rCOS: A refinement calculus for object systems. Technical Report UNU-IIST Report No 322, UNU-IIST, P.O. Box 3058, Macau (March 2005)Google Scholar
  15. 15.
    He, J., Liu, Z., Li, X.: A theory of contracts. Technical Report UNU-IIST Report No 327, UNU-IIST, P.O. Box 3058, Macau (July 2005)Google Scholar
  16. 16.
    He, J., Liu, Z., Li, X., Qin, S.: A relational model of object oriented programs. In: Chin, W.-N. (ed.) APLAS 2004. LNCS, vol. 3302, pp. 415–436. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  17. 17.
    Henzinger, T., Manna, Z., Pnueli, A.: Temporal proof methodologies for real-time systems. In: Proceedings of the 8th ACM Annual Symposium on Principles of Programming Languages, U.S.A., pp. 269–276. ACM Press, New York (1991)Google Scholar
  18. 18.
    Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice-Hall International, Englewood Cliffs (1998)Google Scholar
  19. 19.
    Hoare, T.: The verifying compiler: A grand challenge for computer research. Journal of the ACM 50(1), 63–69 (2003)CrossRefGoogle Scholar
  20. 20.
    Holmegaard, J.P., Knudsen, J., Makowski, P., Ravn, A.P.: Formalization in component based development. In: Liu, Z., He, J. (eds.) Mathematical Frameworks for Component Software: Models for Analysis and Synthesis. World Scientific, Singapore (to appear)Google Scholar
  21. 21.
    Hybertson, D.: A uniform component modeling space. Informatica 25, 475–482 (2001)zbMATHGoogle Scholar
  22. 22.
    Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Pearson Education, Inc., London (2002)Google Scholar
  23. 23.
    Liu, Z., He, J., Li, X.: Contract-oriented development of component software. In: Proc. 3rd IFIP International Conference on Theoretical Computer ScienceGoogle Scholar
  24. 24.
    Liu, Z., He, J., Li, X.: rCOS: Refinement of component and object systems. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 183–221. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  25. 25.
    Liu, Z., Joseph, M.: Specification and verification of fault-tolerance, timing and scheduling. ACM Transactions on Languages and Systems 21(1), 46–89 (1999)CrossRefGoogle Scholar
  26. 26.
    Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)CrossRefGoogle Scholar
  27. 27.
    Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying distributed software architectures. In: Botella, P., Schäfer, W. (eds.) ESEC 1995. LNCS, vol. 989, pp. 137–153. Springer, Heidelberg (1995)Google Scholar
  28. 28.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1991)zbMATHGoogle Scholar
  29. 29.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1), 70–93 (2000)CrossRefGoogle Scholar
  30. 30.
    Pnueli, A.: Looking ahead. In: Workshop on The Verification Grand Challenge, February 21–23. SRI International, Menlo Park (2005)Google Scholar
  31. 31.
    Pooley, R., Steven, P.: Using UML: Software Engineering with Objects and Component. Addison-Wesley, Reading (1999)Google Scholar
  32. 32.
    Rentsch, T.: Object-oriented programming. SIGPLAN Notices 17(2), 51 (1982)CrossRefGoogle Scholar
  33. 33.
    Roshandel, R., Schmerl, B., Medvidovic, N., Garlan, D., Zhang, D.: Understanding tradeoffs among different architectural modeling approaches. In: Proceedings of the Fourth Working IEEE/IFIP Conference on Software Architecture, WICSA 2004 (2004)Google Scholar
  34. 34.
    Schneider, J.-G., Nierstrasz, O.: Components, scripts and glue. In: Barroca, L., Hall, J., Hall, P. (eds.) Software Architectures - Advances and Applications, pp. 13–25. Springer, Heidelberg (1999)Google Scholar
  35. 35.
    Selic, B., Gullekson, G., Ward, P.T.: Real-Time object-oriented modeling. Wiley, Chichester (1994)zbMATHGoogle Scholar
  36. 36.
    Shaw, M., Garlan, D.: Software Architectures: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)zbMATHGoogle Scholar
  37. 37.
    Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)Google Scholar
  38. 38.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1997)Google Scholar
  39. 39.
    Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead Jr., E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A component- and message-based architectural style for gui software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)CrossRefGoogle Scholar
  40. 40.
    van de Hoek, A., Rakic, M., Roshandel, R., Medvidovic, N.: Taming architecture evolution. In: Proceedings of the 6th European Software Engineering Conference (ESEC) and the 9th ACM SIGSOFT Symposium on the Foundations of Software Engineering, FSE-9 (2001)Google Scholar
  41. 41.
    Wirsing, M., Broy, M.: Algebraic state machines. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 89–118. Springer, Heidelberg (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • He Jifeng
    • 1
  • Xiaoshan Li
    • 2
  • Zhiming Liu
    • 1
  1. 1.International Institute for Software TechnologyUnited Nations UniversityMacao SARChina
  2. 2.Faculty of Science and TechnologyUniversity of MacauMacao SARChina

Personalised recommendations