Expressing opposition in the object model, first step towards negation

  • Authors:
  • Nicolas Anquetil;Jean Vaucher

  • Affiliations:
  • University Of Ottawa, Ottawa, ON, Canada;Université de Montréal

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1998

Quantified Score

Hi-index 0.01

Visualization

Abstract

Although seemingly simple and intuitive, the object model still contains ambiguous notions. For example, inheritance has been proved to convey two different meanings depending on whether it is behavior or implementation that is inherited. Another conceptually simple notion, multiple inheritance, has not yet been clearly formalized.In this paper, we start by looking at relationships between sibling classes (two immediate subclasses of a common parent). Siblings can be combined through multiple inheritance, or on the contrary, they can be mutually exclusive. We call the relation between incompatible siblings opposition, and show how it could help in formalizing object models.We then consider widening the explicit use of negation in object models. We argue that negative assertions could be used to validate the creation of new classes to ensure they are compatible with the intended uses of existing classes. Negation leads us to consider the implicit assumption behind object models, we propose to shift from the closed world assumption to the open world assumption.