Advertisement

(Objects + concurrency) & reusability — A proposal to circumvent the inheritance anomaly

  • Ulrike Lechner
  • Christian Lengauer
  • Friederike Nickl
  • Martin Wirsing
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1098)

Abstract

We enrich the object-oriented + concurrent specification language Maude with language constructs for reuse and gain a high degree of code reusability. We consider three reuse constructs: (1) Maude's inheritance relation, (2) an algebra of messages and (3) the construct of a subconfiguration. By employing these constructs for different kinds of reuse, we show for all examples of the seminal paper on the inheritance anomaly [11] how to circumvent the inheritance anomaly. Our running example is the bounded buffer.

Keywords

Concurrent rewriting inheritance anomaly Maude parallelism reusability 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    G. Agha, S. FrØlund, W.Y. Kim, R. Panwar, A. Patterson, and D. Sturman. Abstraction and modularity mechanisms for concurrent computing. In G. Agha, P. Wegner, and A. Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming, pages 3–21. MIT Press, 1993.Google Scholar
  2. 2.
    M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting object interactions using composition filters. In R. Guerraoui, I. Nierstrasz, and M. Riveill, editors, Object-based Distributed Programming, Lecture Notes in Computer Science 791, pages 152–183. Springer-Verlag, 1993.Google Scholar
  3. 3.
    E. Astesiano, G.F. Mascari, G. Reggio, and M. Wirsing. On the parameterized algebraic specification of concurrent systems. In H. Ehrig, C. Floyd, M. Nivat, and M. Thatcher, editors, Mathematical Foundations of Software Development, Lecture Notes in Computer Science 185, pages 342–358. Springer-Verlag, 1985.Google Scholar
  4. 4.
    E. Astesiano and M. Wirsing. Bisimulation in algebraic specifications. In H. Ait-Kaci and M. Nivat, editors, Resolution of Equations in Algebraic Structures, Algebraic Techniques, Vol. 1, pages 1–32. Academic Press, London, 1989.Google Scholar
  5. 5.
    S. FrØlund. Inheritance of synchronisation constraints in concurrent object-oriented programming languages. In O. Lehrmann Madsen, editor, European Conf. on Object-Oriented Programming (ECOOP'92), Lecture Notes in Computer Science 615, pages 185–196. Springer-Verlag, 1992.Google Scholar
  6. 6.
    J.A. Goguen, C. Kirchner, H. Kirchner, A. Megrélis, J. Meseguer, and T. Winkler. An introduction to OBJ3. In J.-P. Jouannaud and S. Kaplan, editors, Proc. First Int. Workshop on Conditional Term Rewriting Systems, Lecture Notes in Computer Science 308, pages 258–263. Springer-Verlag, 1988.Google Scholar
  7. 7.
    T. Hartmann, G. Saake, R. Jungclaus, P. Hartel, and J. Kusch. Revised version of the modelling language TROLL (Version 2.0). Technical Report Informatik-Bericht 94-03, TU Braunschweig, 1994.Google Scholar
  8. 8.
    A.E. Haxthausen and F. Nickl. Pushouts of order-sorted algebraic specifications. In AMAST'96, Lecture Notes in Computer Science. Springer-Verlag, 1996. To appear.Google Scholar
  9. 9.
    U. Lechner and C. Lengauer. Modal-Μ-Maude — properties and specification of concurrent objects. In B. Freitag, C. B. Jones, C. Lengauer, and H.-J. Schek, editors, Object Orientation with Parallelism and Persistence. Kluwer, 1996. To appear.Google Scholar
  10. 10.
    U. Lechner, C. Lengauer, and M. Wirsing. An Object-Oriented Airport: Specification and Refinement in Maude. In E. Astesiano, G. Reggio, and A. Tarlecki, editors, 10th Workshop on Specification of Abstract Data Types Joint with the 5th COMPASS Workshop, Selected papers, Lecture Notes in Computer Science 906, pages 351–367. Springer-Verlag, 1995.Google Scholar
  11. 11.
    S. Matsuoka and A. Yonezawa. Analysis of inheritance anomaly in concurrent object-oriented languages. In G. Agha, P. Wegner, and A. Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming, pages 107–150. MIT Press, 1993.Google Scholar
  12. 12.
    J. Meseguer. A logical theory of concurrenty objects and its realization in the Maude language. In G. Agha, P. Wegner, and A. Yonezawa, editors, Research Directions in Concurrent Object-Oriented Programming, pages 314–390. MIT Press, 1993.Google Scholar
  13. 13.
    J. Meseguer. Solving the inheritance anomaly in concurrent object-oriented programming. In O. Nierstrasz, editor, ECOOP '93 — Object-Oriented Programming, Lecture Notes in Computer Science 707, pages 220–246. Springer-Verlag, 1993.Google Scholar
  14. 14.
    J. Meseguer and T. Winkler. Parallel programming in Maude. In J.-P. Banâtre and D. Le Métayer, editors, Research Directions in High-Level Parallel Programming Languages, Lecture Notes in Computer Science 574, pages 253–293. Springer-Verlag, 1992.Google Scholar
  15. 15.
    O. Nierstrasz and M. Papathomas. Towards a type theory for active objects. ACM OOPS Messenger, 2(2):89–93, April 1991. (Proceedings OOPSLA/ECOOP 90 Workshop on Object-Based Concurrent Systems).Google Scholar
  16. 16.
    M. Wirsing, F. Nickl, and U. Lechner. Concurrent Object-Oriented Design Specification in Spectrum. In P.-Y. Schobbens, editor, MeDiCis '94: Methodology for the Development of Computer System Specifications, Working Notes of a Workshop held in the Chateau de Namur 1994, pages 163–179, 1994. Full version: Concurrent Object-Oriented Design Specification in SPECTRUM, Technical Report 9418, Institut für Informatik, Ludwig-Maximilians-Universität München, December 1994.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Ulrike Lechner
    • 1
  • Christian Lengauer
    • 1
  • Friederike Nickl
    • 2
  • Martin Wirsing
    • 3
  1. 1.Fakultät für Mathematik und InformatikUniversität PassauPassauGermany
  2. 2.Sd&m GmbH & Co. KGMünchenGermany
  3. 3.Institut für InformatikLudwig-Maximilians-UniversitätMünchenGermany

Personalised recommendations