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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
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)