Design with Asynchronously Communicating Components

  • J. Plosila
  • K. Sere
  • M. Waldén
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2852)


Software oriented methods allow a higher level of abstraction than the often quite low-level hardware design methods used today. We propose a component-based method to organise a large system derivation within the B Method via its facilities as provided by the tools. The designer proceeds from an abstract high-level specification of the intended behaviour of the target system via correctness-preserving transformation steps towards an implementable architecture of library components which communicate asynchronously. At each step a pre-defined component is extracted and the correctness of the step is proved using the tool support of the B Method. We use Action Systems as our formal approach to system design.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Abrial, J.-R.: The B-Book. Cambridge University Press, Cambridge (1996)MATHCrossRefGoogle Scholar
  2. 2.
    de Alfaro, L., Henzinger, T.A.: Interface Theories for Component-based Design. In: Proc. of the 1st International Workshop on Embedded Software. Springer, Heidelberg (2001)Google Scholar
  3. 3.
    Back, R.J.R., Kurki-Suonio, R.: Decentralization of process nets with centralized control. In: Proc. of the 2nd ACM SIGACT–SIGOPS Symp. on Principles of Distributed Computing, pp. 131–142 (1983)Google Scholar
  4. 4.
    Back, R.J.R., Sere, K.: Stepwise refinement of action systems. Structured Programming 12, 17–30 (1991)Google Scholar
  5. 5.
    Back, R.J.R., Sere, K.: From action systems to modular systems. In: Naftalin, M., Bertrán, M., Denvir, T. (eds.) FME 1994. LNCS, vol. 873, pp. 1–25. Springer, Heidelberg (1994)Google Scholar
  6. 6.
    Bonsangue, M.M., Kok, J.N., Sere, K.: Developing object-based distributed system. In: Formal Methods for Open Object-based Distributed Systems (FMOODS 1999), Florence, Italy. Kluver Academic Publishers, Dordrecht (February 1999)Google Scholar
  7. 7.
    Butler, M.J.: csp2B: A practical approach to combining CSP and B. In: Wing, J.M., Woodcock, J.C.P., Davies, J. (eds.) FM 1999. LNCS, vol. 1708, pp. 490–508. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  8. 8.
    Butler, M.J., Waldén, M.: Distributed System Development in B. In: Habrias, H. (ed.) Proc. of the First Conference on the B Method, IRIN, Nantes, France, November 1996, pp. 155–168 (1996)Google Scholar
  9. 9.
    ClearSy. Event B Reference Manual v1. (2001)Google Scholar
  10. 10.
    Dijkstra, E.W.: A Discipline of Programming. Prentice–Hall International, Englewood Cliffs (1976)MATHGoogle Scholar
  11. 11.
    Hoare, C.A.R.: Communicating Sequential Processes. Series in Computer Science. Prentice-Hall Int, Englewood Cliffs (1985)MATHGoogle Scholar
  12. 12.
    Lipton, R.J.: Reduction: A method of proving properties of parallel programs. Communications of the ACM 18(12), 717–721 (1975)MATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Neilson, D.S., Sorensen, I.H.: The B-Technologies: A system for computer aided programming. Including the B-Toolkit User’s Manual, Release 3.2. B-Core (UK) Ltd., Oxford, U.K (1996)Google Scholar
  14. 14.
    Peeters, A.: Single-Rail Handshake Circuits. PhD Thesis, Eindhoven University of Technology, The Netherlands (1996)Google Scholar
  15. 15.
    Plosila, J.: Self-Timed Circuit Design – The Action Systems Approach. PhD thesis, University of Turku, Turku, Finland (1999)Google Scholar
  16. 16.
    Ruksenas, R.: Tool Support for Data Refinement. Ph.D. Thesis (forthcoming)Google Scholar
  17. 17.
    Seceleanu, T.: Systematic Design of Synchronous Digital Circuits. PhD thesis, Turku Centre for Computer Science (TUCS), Turku, Finland (2001)Google Scholar
  18. 18.
    Sekerinski, E., Sere, K. (eds.): Program Development by Refinement. FACIT. Springer, Heidelberg (1998)Google Scholar
  19. 19.
    Sere, K., Waldén, M.: Data Refinement of Remote Procedures. Formal Aspects of Computing 12(4), 278–297 (2000)MATHCrossRefGoogle Scholar
  20. 20.
    Méditerranée, S.: Atelier B, France (1996)Google Scholar
  21. 21.
    Waldén, M., Sere, K.: Reasoning about action systems using the B-Method. Formal Methods in System Design 13(1), 5–35 (1998)CrossRefGoogle Scholar
  22. 22.
    von Wright, J.: Program refinement by theorem prover. In: Proc. of Sixth BCS-FACS Refinement Workshop (January 1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • J. Plosila
    • 1
  • K. Sere
    • 2
  • M. Waldén
    • 2
    • 3
  1. 1.University of Turku Turku Centre for Computer Science (TUCS) 
  2. 2.Åbo Akademi University Turku Centre for Computer Science (TUCS)TurkuFinland
  3. 3.Financing via the Academy of Finland 

Personalised recommendations