Components, objects, and contracts

  • Authors:
  • Olaf Owe;Gerardo Schneider;Martin Steffen

  • Affiliations:
  • University of Oslo, Norway;University of Oslo, Norway;University of Oslo, Norway

  • Venue:
  • Proceedings of the 2007 conference on Specification and verification of component-based systems: 6th Joint Meeting of the European Conference on Software Engineering and the ACM SIGSOFT Symposium on the Foundations of Software Engineering
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Being a composite part of a larger system, a crucial feature of a component is its interface, as it describes the component's interaction with the rest of the system in an abstract manner. It is now commonly accepted that simple syntactic interfaces are not expressive enough for components, and the trend is towards behavioral interfaces. We propose to go a step further and enhance components with deontic contracts, i.e., agreements between two or more components on what they are obliged, permitted, and forbidden to do when interacting. This way, contracts are modeled after legal contracts from conventional business or judicial arenas. Indeed, our work aims at a framework for e-contracts, i.e., "electronic" versions of legal documents describing the parties' respective duties. We take the object-oriented, concurrent programming language Creol as starting point and extend it with a notion of components. We then discuss a framework where components are accompanied by contracts and we sketch some ideas on how analysis of compatibility and compositionality could be done in such a setting.