Premium
CSL4P : A Contract Specification Language for Platforms
Author(s) -
Pinto Alessandro,
Sangiovanni Vincentelli Alberto L.
Publication year - 2017
Publication title -
systems engineering
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.474
H-Index - 50
eISSN - 1520-6858
pISSN - 1098-1241
DOI - 10.1002/sys.21386
Subject(s) - computer science , programming language , compiler , design by contract , syntax , formalism (music) , semantics (computer science) , set (abstract data type) , specification language , software engineering , artificial intelligence , software development , software , software construction , art , musical , visual arts
The contract‐based design formalism supports compositional design and verification, and generalizes many other languages where components are defined in terms of their assumptions and guarantees. Most languages and tools for contract‐based design provide constructs to define, instantiate, and connect contracts, but fall short in capturing families of potential architectures in a flexible way. This article presents a Contract‐Based Specification Language for Platforms ( CSL4P ). A platform comprises a set of contract types and a set of constraints called rules. Contract types can be instantiated and connected to form platform instances. While the meaning of composition is predefined in most languages, composition rules are used in CSL4P to provide a finer control on the semantics of interconnections. In addition, the separation of contract types from rules allows users of CSL4P to define different platforms out of the same set of components. This article describes syntax and semantics of the language, a development environment, which includes a compiler and a verification back‐end, and an application example.