Modular specification of encapsulated object-oriented components

  • Authors:
  • Arnd Poetzsch-Heffter;Jan Schäfer

  • Affiliations:
  • Technische Universität Kaiserslautern, Germany;Technische Universität Kaiserslautern, Germany

  • Venue:
  • FMCO'05 Proceedings of the 4th international conference on Formal Methods for Components and Objects
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

A well-defined boundary of components allows to encapsulate internal state and to distinguish between internal calls that remain inside the component and external calls that have target objects outside the component. From a static point of view, such boundaries define the programmer's interface to the component. In particular, they define the methods that can be called on the component. From a dynamic point of view, the boundaries separate the component state and those parts of the program state outside the component. In this tutorial paper, we investigate encapsulated components that are realized based on object-oriented concepts. We define a semantics that captures a flexible notion of hierarchical encapsulation with confined references. The semantics generalizes the encapsulation concepts of ownership types. It is used as a foundation for modular behavioral component specifications. In particular, it allows to provide a simple semantics for invariants and an alternative solution for the frame problem. We demonstrate this new specification methodology by typical programming patterns.