CSL4P: A Contract Specification Language for Platforms

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.

[1]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[2]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[3]  Robert W. Floyd,et al.  Assigning Meanings to Programs , 1993 .

[4]  Dr. Kevin Forsberg,et al.  System Engineering for Faster , Cheaper , Better , 1998 .

[5]  Holger Giese,et al.  Contract-based component system design , 2000, Proceedings of the 33rd Annual Hawaii International Conference on System Sciences.

[6]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[7]  Calogero G. Zarba,et al.  Combining Decision Procedures , 2002, 10th Anniversary Colloquium of UNU/IIST.

[8]  G. Tassey The economic impacts of inadequate infrastructure for software testing , 2002 .

[9]  Alberto L. Sangiovanni-Vincentelli,et al.  The Tides of EDA , 2003, IEEE Des. Test Comput..

[10]  Bernhard K. Aichernig,et al.  Formal Methods at the Crossroads. From Panacea to Foundational Support , 2003, Lecture Notes in Computer Science.

[11]  Calogero G. Zarba,et al.  Combining Decision Procedures for Sorted Theories , 2004, JELIA.

[12]  R. Passerone,et al.  System level design paradigms: Platform-based design and communication synthesis , 2004 .

[13]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[14]  Perry Alexander System Level Design with Rosetta , 2006 .

[15]  R. Rosenberg,et al.  System Dynamics: Modeling and Simulation of Mechatronic Systems , 2006 .

[16]  Peter H. Feiler Modeling of System Families , 2007 .

[17]  Alberto L. Sangiovanni-Vincentelli,et al.  Quo Vadis, SLD? Reasoning About the Trends and Challenges of System Level Design , 2007, Proceedings of the IEEE.

[18]  Roberto Passerone,et al.  Multiple Viewpoint Contract-Based Specification and Design , 2008, FMCO.

[19]  Martin Fränzle,et al.  Efficient Solving of Large Non-linear Arithmetic Constraint Systems with Complex Boolean Structure , 2007, J. Satisf. Boolean Model. Comput..

[20]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 3: Ptolemy II Domains) , 2008 .

[21]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 1: Introduction to Ptolemy II) , 2008 .

[22]  Alberto L. Sangiovanni-Vincentelli,et al.  CalCS: SMT solving for non-linear convex constraints , 2010, Formal Methods in Computer Aided Design.

[23]  Ethan K. Jackson,et al.  Components, platforms and possibilities: towards generic automation for MDA , 2010, EMSOFT '10.

[24]  Nedialko S. Nedialkov,et al.  Improving SAT Modulo ODE for Hybrid Systems Analysis by Combining Different Enclosure Methods , 2011, SEFM.

[25]  Alessandro Pinto,et al.  Stochastic Analysis and Design of Systems , 2011 .

[26]  Edward A. Lee,et al.  A Theory of Synchronous Relational Interfaces , 2011, TOPL.

[27]  Daniel Bouskela,et al.  Modelling of System Properties in a Modelica Framework , 2011 .

[28]  Xuening Sun,et al.  Methodology for the Design of Analog Integrated Interfaces Using Contracts , 2012, IEEE Sensors Journal.

[29]  Alberto L. Sangiovanni-Vincentelli,et al.  Taming Dr. Frankenstein: Contract-Based Design for Cyber-Physical Systems , 2012, Eur. J. Control.

[30]  A. Sangiovanni-Vincentelli,et al.  Frankenstein : Contract-Based Design for Cyber-Physical Systems ∗ g , 2013 .

[31]  Leonardo Mendonça de Moura,et al.  Solving non-linear arithmetic , 2012, ACCA.

[32]  Edmund M. Clarke,et al.  dReal: An SMT Solver for Nonlinear Theories over the Reals , 2013, CADE.

[33]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[34]  Peter Fritzson,et al.  Principles of Object-Oriented Modeling and Simulation with Modelica 3.3: A Cyber-Physical Approach , 2014 .

[35]  Alberto L. Sangiovanni-Vincentelli,et al.  Contracts for System Design , 2018, Found. Trends Electron. Des. Autom..