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.


Action System Parallel Composition Component Module Proof Obligation Abstract Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


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)zbMATHCrossRefGoogle 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)zbMATHGoogle Scholar
  11. 11.
    Hoare, C.A.R.: Communicating Sequential Processes. Series in Computer Science. Prentice-Hall Int, Englewood Cliffs (1985)zbMATHGoogle Scholar
  12. 12.
    Lipton, R.J.: Reduction: A method of proving properties of parallel programs. Communications of the ACM 18(12), 717–721 (1975)zbMATHCrossRefMathSciNetGoogle 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)zbMATHCrossRefGoogle 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