8 research outputs found
Context-Free Session Type Inference
Some interesting communication protocols can be precisely described only by context-free session types, an extension of conventional session types with a general form of sequential composition. The complex metatheory of context-free session types, however, hinders the definition of corresponding checking and inference algorithms. In this work we address and solve these problems introducing a new type system for context-free session types of which we provide two OCaml embeddings
Incremental Composition of Software Components
In component-based systems, two interacting components are compatible if all sequences of services requested by one components can be provided by the other component. In the case of several components interacting with a single provider, as is typically the case in client–server computing, the requests from different components can be interleaved and therefore verifying component compatibility must check all possible interleavings of requests from all interacting components. Incremental composition of interacting components eliminates this need for exhaustive combinatorial checking of the interleavings by imposing some restrictions on the interleavings. The paper introduces simple conditions which must be satisfied by the interacting components for their composition to be incremental and illustrates the concepts using simple examples of interactions
System with Context-free Session Types
We study increasingly expressive type systems, from -- an extension
of the polymorphic lambda calculus with equirecursive types -- to
-- the higher-order polymorphic lambda calculus with
equirecursive types and context-free session types. Type equivalence is given
by a standard bisimulation defined over a novel labelled transition system for
types. Our system subsumes the contractive fragment of as
studied in the literature. Decidability results for type equivalence of the
various type languages are obtained from the translation of types into objects
of an appropriate computational model: finite-state automata, simple grammars
and deterministic pushdown automata. We show that type equivalence is decidable
for a significant fragment of the type language. We further propose a
message-passing, concurrent functional language equipped with the expressive
type language and show that it enjoys preservation and absence of runtime
errors for typable processes.Comment: 38 pages, 13 figure
A Service-Based Component Model: Formalism, Analysis and Mechanization
Component-Based Software Engineering (CBSE) is one of the approaches to master the development of large scale software. In this setting, the verification concern is still a challenge. The objective of our work is to provide the designer of components-based systems with the methods to assist his/her use of the components. In particular, the current work adresses the composability of components and their services. A component model is presented, based on services. An associated simple but expressive formalism is introduced; it describes the services as extended LTS and their structuring as components. The composition of components is mainly based on service composition and encapsulation. The composability of component is defined from the composability of services. To ensure the correctness of component composition, we check that an assembly is possible via the checking of the composabiblity of the linked services, and their behavioral compatibility. In order to mechanize our approach, the services and the components are translated into the MEC and LOTOS formalism. Finally the MEC and LOTOS CADP toolbox is used to perform experiments
Polymorphic Context-free Session Types
Context-free session types provide a typing discipline for recursive
structured communication protocols on bidirectional channels. They overcome the
restriction of regular session type systems to tail recursive protocols. This
extension enables us to implement serialisation and deserialisation of tree
structures in a fully type-safe manner.
We present the theory underlying the language FreeST 2, which features
context-free session types in an extension of System F with linear types and a
kind system to distinguish message types and channel types. The system presents
some metatheoretical challenges, which we address, contractivity in the
presence of polymorphism, a non-trivial equational theory on types, and
decidability of type equivalence. We also establish standard results on type
preservation, progress, and a characterisation of erroneous processes
A model of components with non-regular protocols
www.emn.fr/sudholt Abstract. Behavioral specifications that are integrated into component interfaces are an important means for the correct construction of component-based systems. Currently, such specifications are typically limited to finite-state protocols because more expressive notions of protocol do not support reasonable basic composition properties, such as compatibility and substitutability. In this paper, we present first results of the integration into component interfaces of a notion of non-regular protocols based on “non-regular process types ” introduced by Puntigam [17]. More concretely, we present three contributions: (i) a motivation of the usefulness of non-regular protocols in the context of peer-to-peer applications, (ii) a language for non-regular protocols and an outline of a suitable formal definition, (iii) a discussion of basic composition properties and an analysis of how to adequately integrate protocol-modifying operators in the model.
A model of components with non-regular protocols
International audienceBehavioral specifications which are integrated into component interfaces are an important means for the correct construction of component-based systems. Currently, such specifications are typically limited to finite-state protocols because more expressive notions of protocol do not support reasonable basic composition properties, such as compatibility and substitutability. In this paper, we present first results of the integration into component interfaces of a notion of non-regular protocols based on {``}non-regular process types{''} introduced by Puntigam. More concretely, we present three contributions: (i) a motivation of the usefulness of non-regular protocols in the context of peer-to-peer applications, (ii) a language for non-regular protocols and an outline of a suitable formal definition, (iii) a discussion of basic composition properties and an analysis of how to adequately integrate protocol-modifying operators in the model