In: Formal Methods for Open Object-Based Distributed Systems, pages 67-82. 1999.
Abstract: In the object-oriented languages, inheritance is a fundamental relation among classes, that originally indicated the is-a relation; however, it has been often used for code reuse. The integration between object-orientation and concurrency gives the possibility of using theoretical tools, such as the notions of action and state observation equivalences and preorders, developed within concurrency theories (Petri nets, CCS). This paper proposes a semantic characterization of two forms of inheritance in concurrent context; in particular, it proposes a preorder based on action observation to give the semantics of inheritance used as is-a relation (type inheritance), and a preorder based on state observation for the semantics of inheritance as code reuse (implementation inheritance).
Keywords: Petri nets, concurrency theory, inheritance, object orientation, observation equivalences.