A UNITY-Based Framework Towards Component Based Systems

  • I. S. W. B. Prasetya
  • T. E. J. Vos
  • A. Azurat
  • S. D. Swierstra
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3544)

Abstract

Compositionality provides the foundation of software modularity, re-usability and separate verification of software components. One of the known difficulties, when separately verifying components, is producing compositional proofs for progress properties of distributed systems. This paper offers a UNITY-based framework to model distributed applications which are built with a component based approach. The framework enables components to be abstractly specified in terms of contracts. Temporal properties are expressed and proven in the UNITY style. Compositional reasoning about components’ properties, including progress, is supported. The semantical model is simple and intuitive.

Keywords

component based applications compositionality verification 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Lamport, L.: Composing specifications. ACM Transactions on Programming Languages and Systems 15(1), 73–132 (1993)CrossRefGoogle Scholar
  2. 2.
    Abadi, M., Lamport, L.: Conjoining specifications. ACM Transactions on Programming Languages and Systems 17(3), 507–534 (1995)CrossRefGoogle Scholar
  3. 3.
    Back, R.J.R., Von Wright, J.: Refinement calculus, part I: Sequential non-deterministic programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1989. LNCS, vol. 430, pp. 42–66. Springer, Heidelberg (1990)Google Scholar
  4. 4.
    Broy, M.: Multi-view modelling of software sytems. In: H.D. Van and Z. Liu, editors, Proceedings of the Workshop on Formal Aspects of Component Software (FACS), Also as UNU/IIST Report no. 284 (2003), available on-line at http://www.iist.unu.edu/newrh/III/1/page.html
  5. 5.
    Chandy, K., Charpentier, M.: An experiment in program composition and proof. Formal Methods in System Design 20(1), 7–21 (2002)MATHCrossRefGoogle Scholar
  6. 6.
    Chandy, K.M., Misra, J.: Parallel Program Design – A Foundation. Addison-Wesley Publishing Company, Inc., Reading (1988)MATHGoogle Scholar
  7. 7.
    Chandy, K.M., Sanders, B.A.: Reasoning about program composition. Technical Report 96-035, University of Florida (1996)Google Scholar
  8. 8.
    Chandy, K.M., Sanders, B.A.: Reasoning about program composition. Draft, Presently available via (2000), http://www.cise.ufl.edu/~sanders/pubs
  9. 9.
    Charpentier, M., Chandy, K.: Theorems about composition. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 167–186. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Collette, P.: Composition of assumption-commitment specifications in a UNITY style. Science of Computer Programming 23, 107–125 (1994)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Collette, P., Knapp, E.: Logical foundations for compositional verification and development of concurrent programs in UNITY. In: Alagar, V.S., Nivat, M. (eds.) AMAST 1995. LNCS, vol. 936, pp. 353–367. Springer, Heidelberg (1995)Google Scholar
  12. 12.
    Jifeng, H., Zhiming, L., Xiaoshan, L.: A contract-oriented approach to CBP. In: H.D. Van and Z. Liu, editors, Proceedings of the Workshop on Formal Aspects of Component Software (FACS), Also as UNU/IIST Report no. 284 (2003), available on-line at http://www.iist.unu.edu/newrh/III/1/page.html
  13. 13.
    Kim, S.-K., Carrington, D.: A formal mapping between UML models and object-Z specifications. In: P. Bowen, J., Dunne, S., Galloway, A., King, S. (eds.) B 2000, ZUM 2000, and ZB 2000. LNCS, vol. 1878, p. 2. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  14. 14.
    Misra, J.: A Discipline of Multiprogramming. Springer, Heidelberg (2001)MATHCrossRefGoogle Scholar
  15. 15.
    Prasetya, I.S.W.B.: Mechanically Supported Design of Self-stabilizing Algorithms. PhD thesis, Inst. of Information and Comp. Science, Utrecht Univ. (1995), Download http://www.cs.uu.nl/library/docs/theses.html
  16. 16.
    Prasetya, I.S.W.B.: Error in the UNITY substitution rule for subscripted operators. Formal Aspects of Computing 6, 466–470 (1994)MATHCrossRefGoogle Scholar
  17. 17.
    Prasetya, I.S.W.B., Vos, T.E.J., Azurat, A., Swierstra, S.D.: A unity-based framework towards component based systems. Technical Report UU-CS-2003-043, Inst. of Information and Comp. Science, Utrecht Univ. (2003), Download www.cs.uu.nl/staff/wishnu.html
  18. 18.
    Sanders, B.A.: Eliminating the substitution axiom from UNITY logic. Formal Aspects of Computing 3(2), 189–205 (1991)CrossRefGoogle Scholar
  19. 19.
    Shankar, N.: Lazy compositional verification. In: de Roever, W.-P., Langmaack, H., Pnueli, A. (eds.) COMPOS 1997. LNCS, vol. 1536, pp. 541–564. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Szyperski, C.: Component Software, Beyond Object-Oriented Programming. Addison-Wesley, Reading (1998)Google Scholar
  21. 21.
    Udink, R.T.: Program Refinement in UNITY-like Environments. PhD thesis, Inst. of Information and Computer Sci., Utrecht University (1995), Downloadable from http://www.cs.uu.nl
  22. 22.
    Vos, T.E.J.: UNITY in Diversity: A Stratified Approach to the Verification of Distributed Algorithms. PhD thesis, Inst. of Information and Computer Sci., Utrecht University (2000), Download http://www.cs.uu.nl
  23. 23.
    Vos, T.E.J., Swierstra, S.D., Prasetya, I.S.W.B.: Yet another program refinement relation. In: International Workshop on Refinement of Critical Systems: Methods, Tools and Experience (2002)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • I. S. W. B. Prasetya
    • 1
  • T. E. J. Vos
    • 2
  • A. Azurat
    • 1
  • S. D. Swierstra
    • 1
  1. 1.Informatica InstituutUniversiteit Utrecht 
  2. 2.Instituto Tecnológico de InformáticaUniversidad Politécnica de Valencia 

Personalised recommendations