Advertisement

On the algebraic specification of classes and inheritance in object-oriented programming

  • F. Parisi-Presicce
  • A. Pierantonio
Part of the Texts and Monographs in Symbolic Computation book series (TEXTSMONOGR)

Abstract

Recently, a number of formalisms has been proposed for the specification, analysis, and better understanding of the object-oriented methodology which encompasses different stages of the software design process such as analysis, design, and programming. The success of such a paradigm is achieved in the practical side of design of software systems since it allows for a better maintenance and enhances factors like reusability, extensibility, and compatibility of software artefacts. On the other hand, such a popularity conferred magical qualities to the word object-oriented. In fact, it seems that a system (but also a commercial product) in order to be considered good, needs to be called object-oriented. This can be viewed as a side-effect of a more general phenomenon, the confusion which was originally ruling the area. In fact, the terminology is quite ambiguous and very often the same term refers to intrinsically distinguished concepts. Furthermore, a lack of foundations did not help in keeping techniques which are different, e.g., software reuse and functional specialization, separated.

Keywords

Class Specification Abstract Data Type Parameter Part Signature Morphism Algebraic Specification 
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. Alencar, A. J., Goguen, J. A. (1991): Ooze: An object-oriented z environment. In: America, P. (ed.): ECOOP’ 91 European Conference on Object-Oriented Programming. Springer, Berlin Heidelberg New York Tokyo, pp. 180–199 (Lecture notes in computer science, vol. 512).CrossRefGoogle Scholar
  2. America, P. H. M. (1990): Designing an object-oriented programming language with behavioral subtyping. In: de Bakker, J. W., de Roever, W. P., Rozenberg, G. (eds.): Foundations of object-oriented languages. Springer, Berlin Heidelberg New York Tokyo, pp. 60–90 (Lecture notes in computer science, vol. 489).Google Scholar
  3. Blum, E., Ehrig, H., Parisi-Presicce, F. (1987): Algebraic specifications of modules and their basic interconnections. J. Comput. Syst. Sci. 34: 293–339.MathSciNetMATHCrossRefGoogle Scholar
  4. Ehrig, H., Mahr, B. (1990): Fundamentals of algebraic specification 2: module specifications and constraints. Springer, Berlin Heidelberg New York Tokyo (EATCS monographs in theoretical computer science, vol. 21).MATHCrossRefGoogle Scholar
  5. Ehrig, H., Mahr, B. (1985): Fundamentals of algebraic specification 1: equations and initial semantics. Springer, Berlin Heidelberg New York Tokyo (EATCS monographs in theoretical computer science, vol. 6).MATHCrossRefGoogle Scholar
  6. Ehrig, H., Baldamus, M., Orejas, F. (1991): New concepts of amalgamation and extension for a general theory of specifications. In: Bidoit, M., Choppy, C. (eds.): Recent trends in data type specification. Springer, Berlin Heidelberg New York Tokyo, pp. 199–221 (Lecture notes in computer science, vol. 655).CrossRefGoogle Scholar
  7. Goguen, J. A., Burstall, R. (1983): Introducing institutions. In: Clarke, E., Kozen, D. (eds.): Logics of programming. Springer, Berlin Heidelberg New York Tokyo, pp. 221–256 (Lecture notes in computer science, vol. 164).Google Scholar
  8. Lehrmann Madsen, O., Magnusson, B., Moller-Pedersen, B. (1990): Strong typing of object oriented languages revised. In: Meyrowitz, N. (ed.): Proceedings Joint Conferences OOPSLA and ECOOP, Ottawa, Oct. 21–25, 1990. Association for Computing Machinery, New York, pp. 140–149.Google Scholar
  9. Meyer, B. (1986): Genericity versus inheritance. In: Meyrowitz, N. (ed.): Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’ 86, Portland, Oregon, Sept. 29-Oct. 2, 1986. Association for Computing Machinery, New York, pp. 391–405.CrossRefGoogle Scholar
  10. Parisi-Presicce, F., Pierantonio, A. (1991): An algebraic view of inheritance and subtyping in object oriented programming. In: van Lamsweerde, A., Fugetta, A. (eds.): ESEC’ 91. Springer, Berlin Heidelberg New York Tokyo, pp. 364–379 (Lecture notes in computer science, vol. 550).CrossRefGoogle Scholar
  11. Schaffer, C., Cooper, T., Bullis, B., Killian, M., Wilpolt, C. (1986): An introduction to trellis/owl. In: Meyrowitz, N. (ed.): Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’ 86, Portland, Oregon, Sept. 29-Oct. 2, 1986. Association for Computing Machinery, New York, pp. 9–16.CrossRefGoogle Scholar
  12. Snyder, A. (1986): Encapsulation and inheritance in object-oriented programming languages. In: Meyrowitz, N. (ed.): Proceedings ACM Conference on Object-Oriented Programming Systems, Languages and Applications, OOPSLA’ 86, Portland, Oregon, Sept. 29-Oct. 2, 1986. Association for Computing Machinery, New York, pp. 38–45.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Wien 1997

Authors and Affiliations

  • F. Parisi-Presicce
  • A. Pierantonio

There are no affiliations available

Personalised recommendations