Action-based concurrency and synchronization for objects

  • Ralph Back
  • Martin Büchi
  • Emil Sekerinski
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1231)


We extend the Action-Oberon language for executing action systems with type-bound actions. Type-bound actions combine the concepts of type-bound procedures (methods) and actions, bringing object orientation to action systems. Type-bound actions are created at runtime along with the objects of their bound types. They permit the encapsulation of data and code in objects. Allowing an action to have more than one participant gives us a mechanism for expressing n-ary communication between objects. By showing how type-bound actions can logically be reduced to plain actions, we give our extension a firm foundation in the Refinement Calculus.


Action System Active Object Garbage Collection Predicate Transformer Memory Leak 
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.
    Gul Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. MIT Press, 1986.Google Scholar
  2. 2.
    Pierre America. Issues in the design of a parallel object-oriented language. Formal Aspects of Computing, 1(4):366–411, 1989.CrossRefzbMATHGoogle Scholar
  3. 3.
    R. Back. Refinement calculus, part II: Parallel and reactive programs. In Stepwise Refinement of Distributed Systems: Models, Formalisms, Correctness. Proceedings. LNCS 430, Springer Verlag, 1990.Google Scholar
  4. 4.
    R. Back. Refinement of parallel and reactive programs. In M. Broy, editor, Program Design Calculi, NATO ASI Series, pages 73–92. Springer-Verlag, 1993.Google Scholar
  5. 5.
    R. Back and M. Butler. Exploring summation and product operators in the refinement calculus. Technical Report on Computer Science & Mathematics, Ser. A. No 152, Åbo Akademi, 1994.Google Scholar
  6. 6.
    R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems 10:513–554, 1988.CrossRefzbMATHGoogle Scholar
  7. 7.
    R. Back and K. Sere. Action systems with synchronous communication. In IFIP TC 2 Working Conference on Programming Concepts, Methods and Calculi (PROCOMET '94), pages 107–126. Elsevier, 1994.Google Scholar
  8. 8.
    R. Back and K. Sere. From action systems to modular systems. In Proceeding of Formal Methods Europe '94. LNCS 873, Springer Verlag, 1994.Google Scholar
  9. 9.
    R. Back and J. von Wright. Trace refinement of action systems. In CONCUR 94, pages 367–384. LNCS 836, Springer Verlag, 1994.Google Scholar
  10. 10.
    Craig Chambers and Gary T. Leavens. Type checking and modules for multi-methods. Technical Report #95-19, Iowa State University, August 1995.Google Scholar
  11. 11.
    K. M. Chandy and J. Misra. Parallel Program Design—A Foundation. Addison Wesley, 1988.Google Scholar
  12. 12.
    K.M. Chandy. A discipline of multiprogramming. Available from the PSP group's ftp site, June 1996.Google Scholar
  13. 13.
    N. Francez and I. Forman. Interacting Processes: A Multiparty Approach to Coordinated Distributed Programming. ACM Press, 1996.Google Scholar
  14. 14.
    Eric J. Hedman. Action-Oberon. Master's thesis, Åbo Akademi University, 1995.Google Scholar
  15. 15.
    Carl Hewitt. Viewing control structures as patterns of passing messages. Artificial Intelligence, 8(3), 1977.Google Scholar
  16. 16.
    H.-M. Järvinen and R. Kurki-Suonio. DisCo specification language: Marriage of action and objects. In Proceedings of 11th International Conference on Distributed Computing Systems, pages 142–151, Arlington, Texas, 1991. IEEE Computer Society Press.Google Scholar
  17. 17.
    R.E. Johnson and B. Foote. Designing reusable classes. Journal of Object-Oriented Programming, June 1:2 1988.Google Scholar
  18. 18.
    Cliff B. Jones. A π-calculus semantics for an object-based design notation. In Proceedings of CONCUR 93, pages 158–172. LNCS 715, Springer Verlag, 1993.Google Scholar
  19. 19.
    C.E. Martin. Preordered Categories and Predicate Transformers. PhD thesis. Programming Research Group, Oxford University, 1991.Google Scholar
  20. 20.
    D.A. Naumann. Two-Categories and Program Structure: Data Types, Refinement Calculi, and Predicate Transformers. PhD thesis, University of Texas at Austin, 1992.Google Scholar
  21. 21.
    Oberon microsystems, Inc. Oberon/F., 1995.Google Scholar
  22. 22.
    P. Mössenböck and N. Wirth. The programming language Oberon-2. Structured Programming 12:179–195, 1991.Google Scholar
  23. 23.
    Clemens A. Szyperski. Import is not inheritance — Why we need both: Modules and classes. In Proceedings of ECOOP 92, pages 19–32. LNCS 615, Springer Verlag, 1992.Google Scholar
  24. 24.
    Clemens A. Szyperski. Independently extensible systems — software engineering potential and challenges. In Proceedings of the 19th Austalasian Computer Science Conference, Melbourne, 1996.Google Scholar
  25. 25.
    D.J. Walker. Objects in the π-calculus. Information and Computation, 116(2):253–271, 1995.MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Ralph Back
    • 1
  • Martin Büchi
    • 1
  • Emil Sekerinski
    • 1
  1. 1.Department of Computer ScienceÅbo Akademi UniversityTurkuFinland

Personalised recommendations