Abstract
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.
Partly supported as a research task of E-Macao Project funded by the Macao Government.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Allen, R.: A Formal Approach to Software Architecture. PhD thesis, Carnegie Mellon, School of Computer Science (1997)
Allen, R.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Arbab, F.: Reo: A channeled based coordination model for components composition. Mathematical Structures in Computer Science 14(3), 329–366 (2004)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. Addison-Wesley, Reading (1999)
Beneken, G., Hammerschall, U., et al.: Componentware - sate of the art 2003. In: Background Paper for Understanding Components Workshop of the CUE Initiative (2003)
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)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: FOCUS on Streams, Interfaces, and Refinement. Springer, Heidelberg (2001)
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)
Dijkstra, E.W.: A Discipline of Programming. Prentice Hall, INC., Englewood Cliffs (1976)
D’Souza, D., Wills, A.C.: Objects, Components and Framework with UML: The Catalysis Approach. Addison-Wesley, Reading (1998)
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)
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)
Gössler, G., Sifakis, J.: Composition for component-based modeling. Science of Computer Programming 55(1-3) (2005)
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)
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)
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)
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)
Hoare, C.A.R., He, J.: Unifying theories of programming. Prentice-Hall International, Englewood Cliffs (1998)
Hoare, T.: The verifying compiler: A grand challenge for computer research. Journal of the ACM 50(1), 63–69 (2003)
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)
Hybertson, D.: A uniform component modeling space. Informatica 25, 475–482 (2001)
Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Pearson Education, Inc., London (2002)
Liu, Z., He, J., Li, X.: Contract-oriented development of component software. In: Proc. 3rd IFIP International Conference on Theoretical Computer Science
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)
Liu, Z., Joseph, M.: Specification and verification of fault-tolerance, timing and scheduling. ACM Transactions on Languages and Systems 21(1), 46–89 (1999)
Luckham, D.C., Vera, J.: An event-based architecture definition language. IEEE Transactions on Software Engineering 21(9), 717–734 (1995)
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)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1991)
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)
Pnueli, A.: Looking ahead. In: Workshop on The Verification Grand Challenge, February 21–23. SRI International, Menlo Park (2005)
Pooley, R., Steven, P.: Using UML: Software Engineering with Objects and Component. Addison-Wesley, Reading (1999)
Rentsch, T.: Object-oriented programming. SIGPLAN Notices 17(2), 51 (1982)
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)
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)
Selic, B., Gullekson, G., Ward, P.T.: Real-Time object-oriented modeling. Wiley, Chichester (1994)
Shaw, M., Garlan, D.: Software Architectures: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs (1996)
Sommerville, I.: Software Engineering, 6th edn. Addison-Wesley, Reading (2001)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Addison-Wesley, Reading (1997)
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)
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)
Wirsing, M., Broy, M.: Algebraic state machines. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 89–118. Springer, Heidelberg (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Jifeng, H., Li, X., Liu, Z. (2005). Component-Based Software Engineering. In: Van Hung, D., Wirsing, M. (eds) Theoretical Aspects of Computing – ICTAC 2005. ICTAC 2005. Lecture Notes in Computer Science, vol 3722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11560647_5
Download citation
DOI: https://doi.org/10.1007/11560647_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29107-7
Online ISBN: 978-3-540-32072-2
eBook Packages: Computer ScienceComputer Science (R0)