Results 1 
5 of
5
A theory of contracts for web services
 In POPL ’08, 35th ACM Symposium on Principles of Programming Languages
, 2008
"... Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interacti ..."
Abstract

Cited by 46 (4 self)
 Add to MetaCart
Contracts are behavioral descriptions of Web services. We devise a theory of contracts that formalizes the compatibility of a client to a service, and the safe replacement of a service with another service. The use of contracts statically ensures the successful completion of every possible interaction between compatible clients and services. The technical device that underlies the theory is the filter, which is an explicit coercion preventing some possible behaviors of services and, in doing so, make services compatible with different usage scenarios. We show that filters can be seen as proofs of a sound and complete subcontracting deduction system which simultaneously refines and extends Hennessy’s classical axiomatization of the must testing preorder. The relation is decidable and the decision algorithm is obtained via a cutelimination process that proves the coherence of subcontracting as a logical system. Despite the richness of the technical development, the resulting approach is based on simple ideas and basic intuitions. Remarkably, its application is mostly independent of the language used to program the services or the clients. We outline the practical aspects of our theory by studying two different concrete syntaxes for contracts and applying each of them to Web services languages. We also explore implementation issues of filters and discuss the perspectives of future research
A module calculus for Pure Type Systems
, 1996
"... Several proofassistants rely on the very formal basis of Pure Type Systems. However, some practical issues raised by the development of large proofs lead to add other features to actual implementations for handling namespace management, for developing reusable proof libraries and for separate verif ..."
Abstract

Cited by 24 (3 self)
 Add to MetaCart
Several proofassistants rely on the very formal basis of Pure Type Systems. However, some practical issues raised by the development of large proofs lead to add other features to actual implementations for handling namespace management, for developing reusable proof libraries and for separate verification of distincts parts of large proofs. Unfortunately, few theoretical basis are given for these features. In this paper we propose an extension of Pure Type Systems with a module calculus adapted from SMLlike module systems for programming languages. Our module calculus gives a theoretical framework addressing the need for these features. We show that our module extension is conservative, and that type inference in the module extension of a given PTS is decidable under some hypotheses over the considered PTS.
AntiSymmetry of HigherOrder Subtyping
 In Proceedings of the 8th Annual Conference on Computer Science Logic (CSL’99), J. Flum and M. RodríguezArtalejo, Eds. SpringerVerlag LNCS 1683
, 1999
"... . This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is antisymmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial orderreexive, transitive, and antisymmetric up to equality. While a subtyping relat ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
. This paper shows that the subtyping relation of a higherorder lambda calculus, F ! , is antisymmetric. It exhibits the rst such proof, establishing in the process that the subtyping relation is a partial orderreexive, transitive, and antisymmetric up to equality. While a subtyping relation is reexive and transitive by denition, antisymmetry is a derived property. The result, which may seem obvious to the nonexpert, is technically challenging, and had been an open problem for almost a decade. In this context, typed operational semantics for subtyping oers a powerful new technology to solve the problem: of particular importance is our extended rule for the wellformedness of types with head variables. The paper also gives a presentation of F ! without a relation for equality, apparently the rst such, and shows its equivalence with the traditional presentation. 1 Introduction Objectoriented programming languages such as Smalltalk, C++, Modula 3, and ...
Coercive Subtyping for the Calculus of Constructions (extended abstract)
"... We present a coercive subtyping system for the calculus of constructions. The proposed system λC co ≤ is obtained essentially by adding coercions and ηconversion to λC≤[10], which is a subtyping extension to the calculus of constructions without coercions. Following [17, 18], the coercive subtyping ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We present a coercive subtyping system for the calculus of constructions. The proposed system λC co ≤ is obtained essentially by adding coercions and ηconversion to λC≤[10], which is a subtyping extension to the calculus of constructions without coercions. Following [17, 18], the coercive subtyping c: A ≤ B is understood as a special case of typing in arrow type c: A → B such that the term c behaves like an identity function. We prove that, with respect to this semantic interpretation, the proposed coercive subtyping system is sound and complete, and that this completeness leads to transitivity elimination (transitivity rule is admissible). In and CCβη, this fact implies that λC co ≤ has confluence, subject reduction and strong normalization. We propose a formalization of coercion inference problem and present a sound and complete coercion inference algorithm. addition, we establish the equivalence between λC co