An algebraic theory of class specification

  • Authors:
  • Francesco Parisi-Presicce;Alfonso Pierantonio

  • Affiliations:
  • Università degli Studi de L'Aquila;Università degli Studi de L'Aquila

  • Venue:
  • ACM Transactions on Software Engineering and Methodology (TOSEM)
  • Year:
  • 1994

Quantified Score

Hi-index 0.00

Visualization

Abstract

The notion of class (or object pattern) as defined in most object-oriented languages is formalized using known techniques from algebraic specifications. Inheritance can be viewed as a relation betweeen classes, which suggests how classes can be arranged in hierarchies. The hierarchies contain two kinds of information: on the one hand, they indicate how programs are structured and how code is shared among classes; on the other hand, they give information about compatible assignment rules, which are based on subtyping. In order to distinguish between code sharing, which is related to implementational aspects, and functional specialization, which is connected to the external behavior of objects, we introduce an algebraic specification-based formalism, by which one can specify the behavior of a class and state when a class inherits another one. It is shown that reusing inheritance can be reduced to specialization inheritance with respect to a virtual class. The class model and the two distinct aspects of inheritance allow the definition of clean interconnection mechanisms between classes leading to new classes which inherit from old classes their correctness and their semantics.