Bisimulation for component-based development


  • Elsa Clara Estévez Departamento de Cs. e la Computación, Universidad Nacional del Sur, Bahía Blanca, Argentina
  • Pablo Rubén Fillottrani Departamento de Cs. e la Computación, Universidad Nacional del Sur, Bahía Blanca, Argentina


component-based development, bisimulation


Guaranteeing that assembled components will behave as required is one of the main aspects in working with Component-Based Development. In this paper we present a formal approach for tackling this problem by applying the concept of bisimulation, originally presented in the study of concurrency theory. Bisimulation allows us to abstract details that are irrelevant from the behavioral point of view, such as data representations and implementation structures, providing a powerful formalism for proving software correctness properties. Thus, our approach facilitates to demonstrate the behavioral equivalence between the integrated system and the required specification. We introduce these concepts with the help of an example described in RAISE.


Download data is not yet available.


[1] Astesiano, E. and Kreowski, H.-J. (1999). Algebraic Foundations of System Specification. Springer.
[2] Brown, A. W. (2000). Large-Scale Component-Based Development. Prentice Hall International.
[3] Carlo Ghezzi, Mehdi Jazayeri, D. M. (1991). Fundamentals of Software Engineering. Prentice-Hall International.
[4] Davis, A. M. (1993). Software Requirements, Objects, Functions & States. Prentice Hall International.
[5] Goguen, J. (1999). Hidden algebra for software engineering. Combinatorics, Computation and Logic, 21:35–59.
[6] Group, T. R. M. (1992). The RAISE Specification Language. Pr. Hall.
[7] Group, T. R. M. (1995). The RAISE Development Method. Prentice Hall.
[8] Hennessy, M. and Milner, R. (1985). Algebraic laws for nondeterminism and concurrency. Journal of the ACM, 32(1):137–161.
[9] Jacobs, B. (1999). Coalgebras in specification and verification for object oriented languages. Newsletter of the Dutch Association for Theoretical Computer Science, 3.
[10] Jacobs, B. and Rutten, J. (1997). A tutorial on (co)algebras and (co)induction. EATCS Bulletin, 62:222–259.
[11] Joyal, A., Nielsen, M., and Winskel, G. (1996). Bisimulation for Open Maps. Information and Computation, 127:164–185.
[12] Marco, T. D. (1979). Structured Analysis and System Specification. Yourdon Inc.
[13] Meyer (1989). Art´ıculo que est´a en la computer de componentes. Journal of ACM, 36(4):887–911.
[14] Milner, R. (1980). A Calculus of Communicating Systems. LNCS, 92.
[15] Nielsen, M. and Clausen, C. (1994). Bisimulation, Games and Logic. In CONCUR94, volume 836 of LNCS, pages 385–400. Springer-Verlag.
[16] Park, D. (81). Concurrency and automata on infinite sequences. LNCS, 104.
[17] Rutten, J. (1995). A calculus of transition systems (towards universal coalgebra). In Modal Logic and Process Algebra. A Bisimulation Perspective, pages 231–256. CSLI, Center for the Study of Lanaguage and Information.
[18] Szyperski, C. (1997). Component Software Beyond Object-Oriented Programming. Addison Wesley.
[19] Yourdon, E. (1989). Modern Structured Analysis. Yourdon Inc.
[20] Zaremski, A. and Wing, J. (1997). Specification matching of software components. ACM Transactions on Software Engineering and Methodology, 6(4).




How to Cite

Estévez, E. C., & Fillottrani, P. R. (2002). Bisimulation for component-based development. Journal of Computer Science and Technology, 1(06), 14 p. Retrieved from



Original Articles

Most read articles by the same author(s)