Advertisement

Concurrent Object-Oriented Programs: From Specification to Code

  • Emil Sekerinski
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2852)

Abstract

In this paper we put forward a concurrent object-oriented programming language in which concurrency is tightly integrated with objects. Concurrency is expressed by extending classes with actions and allowing methods to be guarded. Concurrency in an object may be hidden to the outside, thus allowing concurrency to be introduced in subclasses of a class hierarchy. A disciplined form of intra-object concurrency is supported. The language is formally defined by translation to action systems. Inheritance and subtyping is also considered. A theory of class refinement is presented, allowing concurrent programs to be developed from sequential specifications. Our goal is to have direct rules for verification and refinement on one hand and a practical implementation on the other hand. We briefly sketch our implementation. While the implementation relies on threads, the management of threads is hidden to the programmer.

Keywords

Method Call Active Object Concurrent Program Class Hierarchy High Order Logic 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    America, P.: Issues in the design of a parallel object-oriented language. Formal Aspects of Computing 1(4), 366–411 (1989)CrossRefGoogle Scholar
  2. 2.
    America, P., de Boer, F.: Reasoning about dynamically evolving process structures. Formal Aspects of Computing 6(3), 269–316 (1994)zbMATHCrossRefGoogle Scholar
  3. 3.
    Back, R.: Refinement calculus, part II: Parallel and reactive programs. In: de Bakker, J.W., de Roever, W.-P., Rozenberg, G. (eds.) REX 1989. LNCS, vol. 430, pp. 67–93. Springer, Heidelberg (1990)Google Scholar
  4. 4.
    Back, R., Büchi, M., Sekerinski, E.: Action-based concurrency and synchronization for objects. In: Rus, T., Bertrán, M. (eds.) AMAST-ARTS 1997, ARTS 1997, and AMAST-WS 1997. LNCS, vol. 1231, pp. 248–262. Springer, Heidelberg (1997)Google Scholar
  5. 5.
    Back, R., Sere, K.: Action systems with synchronous communication. In: Olderog, E.-R. (ed.) IFIP Working Conference on Programming Concepts, Methods, Calculi, San Miniato, Italy, pp. 107–126. North-Holland, Amsterdam (1994)Google Scholar
  6. 6.
    Back, R., von Wright, J.: Trace refinement of action systems. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  7. 7.
    Back, R., von Wright, J.: Refinement Calculus – A Systematic Introduction. Springer, Heidelberg (1998)zbMATHGoogle Scholar
  8. 8.
    Bonsangue, M.M., Kok, J.N., Sere, K.: An approach to object-orientation in action systems. In: Jeuring, J. (ed.) MPC 1998. LNCS, vol. 1422, p. 68. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  9. 9.
    Bonsangue, M.M., Kok, J.N., Sere, K.: Developing object-based distributed systems. In: Ciancarini, P., Fantechi, A., Gorrieri, R. (eds.) 3rd IFIP International Conference on Formal Methods for Open Object-based Distributed Systems (FMOODS 1999), pp. 19–34. Kluwer, Dordrecht (1999)Google Scholar
  10. 10.
    Briot, J.-P., Guerraoui, R., Lohr, K.-P.: Concurrency and distribution in object-oriented programming. ACM Computing Surveys 30(3), 291–329 (1998)CrossRefGoogle Scholar
  11. 11.
    Büchi, M., Sekerinski, E.: A foundation for refining concurrent objects. Fundamenta Informaticae 44(1), 25–61 (2000)zbMATHMathSciNetGoogle Scholar
  12. 12.
    Cardelli, L.: A semantics of multiple inheritance. In: Plotkin, G., MacQueen, D.B., Kahn, G. (eds.) Semantics of Data Types 1984. LNCS, vol. 173, pp. 51–67. Springer, Heidelberg (1984)Google Scholar
  13. 13.
    Cook, W., Palsberg, J.: A denotational semantics of inheritence and its correctness. In: ACM Conference Object Oriented Programming Systems, Languages and Applications. ACM SIGPLAN Notices, vol. 14(10), pp. 433–443 (1989)Google Scholar
  14. 14.
    Hodges, S.J., Jones, C.B.: Non-interference properties of a concurrent object-based language: Proofs based on an operational semantics. In: Freitag, B., Jones, C.B., Lengauer, C., Schek, H.-J. (eds.) Object Orientation with Parallelism and Persistence, pp. 1–22. Kluwer Academic Publishers, Dordrecht (1996)Google Scholar
  15. 15.
    Jackson, D.: Alloy: A lightweight object modelling notation. ACM Transactions on Software Engineering and Methodology 11(2), 256–290 (2002)CrossRefGoogle Scholar
  16. 16.
    Jones, C.B.: Accomodating interference in the formal design of concurrent object-based programs. Formal Methods in System Design 8(2), 105–122 (1996)CrossRefGoogle Scholar
  17. 17.
    Lou, K.: A Compiler for an Action-Based Object-Oriented Programming Language. Master’s thesis, McMaster University (2003)Google Scholar
  18. 18.
    Mikhajlov, L., Sekerinski, E.: A study of the fragile base class problem. In: Jul, E. (ed.) ECOOP 1998. LNCS, vol. 1445, pp. 355–382. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  19. 19.
    Mikhajlov, L., Sekerinski, E., Laibinis, L.: Developing components in presence of re-entrance. In: Woodcock, J.C.P., Davies, J., Wing, J.M. (eds.) FM 1999. LNCS, vol. 1709, p. 1301. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  20. 20.
    Misra, J.: A simple, object-based view of multiprogramming. Formal Methods in System Design 20(1), 23–45 (2002)zbMATHCrossRefGoogle Scholar
  21. 21.
    Rumbaugh, J., Blaha, M., Premerlani, W., Eddi, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice-Hall, Englewood Cliffs (1991)Google Scholar
  22. 22.
    Sekerinski, E.: A type-theoretic basis for an object-oriented refinement calculus. In: Goldsack, S.J., Kent, S.J.H. (eds.) Formal Methods and Object Technology, pp. 317–335. Springer, Heidelberg (1996)Google Scholar
  23. 23.
    Sere, K., Waldén, M.: Data refinement of remote procedures. Formal Aspects of Computing 12(4), 278–297 (2000)zbMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Emil Sekerinski
    • 1
  1. 1.Department of Computing and SoftwareMcMaster UniversityHamiltonCanada

Personalised recommendations