Sharpie(ID:7040/sha013)Concurrent extensions to C Sharp Rehof, Microsoft Research Places People: Related languages
References: framework, which supports asynchronous programming, e.g., web services programming. The main features of the Sharpie language extension are: an asynchronous call-construct, futures, join-patterns, and a notion of behavioral contracts. Asynchronous calls return future values, which are used in join-patterns to synchronize calls. Behavioral contracts are the most innovative aspect of Sharpie. Contracts allow programmers to specify stateful high-level protocols on class interfaces. Contracts can prescribe legal invocation sequences on the methods of a class as well as the externally observable behavior of methods upon call. The Sharpie compiler contains a tool which checks conformance between a client of a class and its contract as well as conformance of the implementation of a class with its contract, using a combination of type inference and model checking. The talk describes work in progress. We will focus on the notion of behavioral contracts and the techniques for verifying contract conformance, and we will illustrate with a simple case study from the web services domain. in SEI Software Verification Workshop: Program Software Engineering Institute, Pittsburgh, PA, 15213 view details |