Contracts in Programming and in Enterprise Systems – Københavns Universitet

Contracts in Programming and in Enterprise Systems

Phd-forsvar ved Tom Hvidtved

Abstract

In the first part of this talk, we present an extension of the programming-by-contract (PBC) paradigm to a concurrent and distributed environment. Classical PBC is characterized by absolute conformance of code to its specification, assigning blame in case of failures, and a hierarchical, cooperative decomposition model -- none of which extend naturally to a distributed environment with multiple administrative peers. We therefore propose a more nuanced contract model based on quantifiable performance of implementations; assuming responsibility for success, and a fundamentally adversarial model of system integration, where each component provider is optimizing its behavior locally, with respect to potentially conflicting demands. This model gives rise to a game-theoretic formulation of contract-governed process interactions that supports compositional reasoning about contract conformance.

In the second part of this talk we summarize the findings of a survey on both theoretical and practical approaches to contract formalization. By contract formalization we mean representation of (business) contracts in computer systems, to encompass automatic validation, execution, and analysis of contracts (collectively referred to as contract lifecycle management). We conclude with a perspective towards future work.

Supervisors: Andrzej Filinski and Fritz Henglein.

Examiner: Kim Guldstrand Larsen, Aalborg University.