Sharpie(ID:7040/sha013)


Concurrent extensions to C Sharp

Rehof, Microsoft Research

Places
People:
Related languages
C# => Sharpie   Extension of

References:
  • Rehof, Jakob "Sharpie: A Language for Asynchronous Programming" Copenhagen Programming Language Seminar (COPLAS) March 2003 view details Abstract: Sharpie is a concurrent language extension to C#, based on the .NET
    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.
  • Sriram Rajamani, James Larus and Jakob Rehof "Contracts and Futures for Asynchronous Programming" view details Abstract: I will present recent work on a language extension to C#, called Sharpie for writing asynchronous programs. Sharpie adds 3 new constructs: futures, joins and contracts. Futures and joins are used to write asynchronous function calls, and contracts are used to write specifications for services. Conformance of a Sharpie program with its contracts is done using a combination of type checking and model checking.

          in SEI Software Verification Workshop: Program Software Engineering Institute, Pittsburgh, PA, 15213 view details