Automatic Conflict Detection on Contracts

  • Authors:
  • Stephen Fenech;Gordon J. Pace;Gerardo Schneider

  • Affiliations:
  • Dept. of Computer Science, University of Malta, Malta,;Dept. of Computer Science, University of Malta, Malta,;Dept. of Informatics, University of Oslo, Norway

  • Venue:
  • ICTAC '09 Proceedings of the 6th International Colloquium on Theoretical Aspects of Computing
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many software applications are based on collaborating, yet competing, agents or virtual organisations exchanging services. Contracts, expressing obligations, permissions and prohibitions of the different actors, can be used to protect the interests of the organisations engaged in such service exchange. However, the potentially dynamic composition of services with different contracts, and the combination of service contracts with local contracts can give rise to unexpected conflicts, exposing the need for automatic techniques for contract analysis. In this paper we look at automatic analysis techniques for contracts written in the contract language $\mathcal{CL}$. We present a trace semantics of $\mathcal{CL}$ suitable for conflict analysis, and a decision procedure for detecting conflicts (together with its proof of soundness, completeness and termination). We also discuss its implementation and look into the applications of the contract analysis approach we present. These techniques are applied to a small case study of an airline check-in desk.