Enforcing behavior with contracts

Contracts have been introduced earlier as a way of modeling a collection of agents that work within the limits set by the contract. We have analyzed the question of when an agent or a coalition of agents can reach a stated goal, despite potentially hostile behavior by the other agents. In this paper, we extend the model so that we can also study whether a coalition of agents can enforce a certain temporal behavior when executing a contract. We show how to reduce this question to the question of whether a given goal can be achieved. We introduce a generalization of the action system notation that allows both angelic and demonic scheduling of actions. This allows us to model concurrent systems and interactive systems in the same framework, and show that one can be seen as the dual of the other. We analyze enforcement of temporal behavior in the case of action systems, and show that these provide for simpler proof obligations than what we get in the general case. Finally, we give three illustrative examples of how to model and analyze interactive and concurrent systems with this approach.

[1]  Ralph-Johan Back,et al.  Refinement Calculus: A Systematic Introduction , 1998 .

[2]  E. Allen Emerson,et al.  Automated Temporal Reasoning about Reactive Systems , 1996, Banff Higher Order Workshop.

[3]  Ralph-Johan Back,et al.  Duality in specification languages: a lattice-theoretical approach , 1990, Acta Informatica.

[4]  Wim H. Hesselink Programs, Recursion and Unbounded Choice , 1992 .

[5]  Johan J. Lukkien Operational Semantics and Generalized Weakest Preconditions , 1994, Sci. Comput. Program..

[6]  Yiannis N. Moshovakis A model of concurrency with fair merge and full recursion , 1991 .

[7]  Ralph-Johan Back,et al.  Games and Winning Strategies , 1995, Inf. Process. Lett..

[8]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[9]  Ralph Back Verification and Refinement of Action Contracts , 2000 .

[10]  Wolfgang Thomas,et al.  On the Synthesis of Strategies in Infinite Games , 1995, STACS.

[11]  Ralph-Johan Back,et al.  Contracts, Games, and Refinement , 2000, Inf. Comput..

[12]  Martín Abadi,et al.  Realizable and Unrealizable Specifications of Reactive Systems , 1989, ICALP.

[13]  Joseph M. Morris Temporal predicate transformers and fair termination , 2004, Acta Informatica.

[14]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

[15]  Zohar Manna,et al.  Completing the Temporal Picture , 1991, Theor. Comput. Sci..

[16]  Ralph-Johan Back,et al.  Correctness preserving program refinements: Proof theory and applications , 1980 .

[17]  Edgar Knapp,et al.  A Predicate Transformer for Progress , 1990, Inf. Process. Lett..

[18]  Carroll Morgan Data Refinement by Miracles , 1988, Inf. Process. Lett..

[19]  Thomas A. Henzinger,et al.  Alternating-time temporal logic , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[20]  Ralph Back,et al.  Contracts as Mathematical Entities in Programming Logic , 2000 .

[21]  Ralph-Johan Back,et al.  Reasoning About Interactive Systems , 1999, World Congress on Formal Methods.