Abstract
In this paper we address the problem of specification and design of concurrent systems. More accurately, we present the definition of a new specification language that is formal, wide-spectrum, model-based, concurrent, polymorphic and strongly implicitly typed. The language is built upon a concurrent, funtional and imperative programming language: Concurrent ML. Specification aspects are supported thanks to the addition of some specification constructs and also by allowing axioms to ML structures and signatures. The resulting specification language is thus highly expressive though it embodies a restricted number of concepts. We present here the motivations underlying the definition of such a language as well as the design choices. Furthermore, we introduce the specification and development methology and illustrate it on various examples. We will see that many specification styles are allowed: algebraic, applicative, state-based, concurrent applicative and concurrent imperative. We show that the language rests on secure theoretical foundations exemplified by formal syntactic and semantic definitions. The latter consists in a static semantics together with a dynamic semantics. The static semantics reconstructs not only principal types but also minimal side and communication effects. This is done thanks to an extension of the type and effect discipline. The language is also endowed with a dynamic denotational semantics. The underlying model is based on an extension of the acceptance trees model to handle value-passing, communication, assignment, sequencing, return of results and higher order objects.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.