Observable interface behaviour and inheritance
-
Published:2014-11-13
Issue:3
Volume:26
Page:561-605
-
ISSN:0960-1295
-
Container-title:Mathematical Structures in Computer Science
-
language:en
-
Short-container-title:Math. Struct. Comp. Sci.
Author:
ÁBRAHÁM ERIKA,TRAN THI MAI THUONG,STEFFEN MARTIN
Abstract
This paper formalizes the observable interface behaviour ofopensystems for a strongly-typed, concurrent object-oriented language with single-class inheritance. We formally characterize the observable behaviour in terms of interactions at the program-environment interface. The behaviour is given by transitions between contextual judgments, where the absent environment is represented abstractly as assumption context. A particular challenge is the fact that, when the system is considered as open, code from the environment can be inherited to the component and vice versa. This requires to incorporate an abstract version of the heap into the environment assumptions when characterizing the interface behaviour. We prove the soundness of the abstract interface description.
Publisher
Cambridge University Press (CUP)
Subject
Computer Science Applications,Mathematics (miscellaneous)
Reference36 articles.
1. A fully abstract trace-based semantics for reasoning about backward compatibility of class libraries;Welsch;Science of Computer Programming, (Selected papers from the Brazilian Symposium on Formal Methods (SBMF 2011)),2014
2. Compositional Reasoning about Shared Futures
3. Inheritance in Smalltalk-80: A denotational definition;Kamin;SIGPLAN Notices,1988