Abstract
In distributed development of modern systems, contracts play a vital role in ensuring interoperability of components and adherence to specifications. It is therefore often desirable to verify the satisfaction of an overall property represented as a contract, given the satisfaction of smaller properties also represented as contracts. When the verification result is negative, designers must face the issue of refining the subproperties and components. This is an instance of the classical synthesis problems: “can we construct a model that satisfies some given specification?” In this work, we propose two strategies enabling designers to synthesize or refine a set of contracts so that their composition satisfies a given contract. We develop a generic algebraic method and show how it can be applied in different contract models to support top-down component-based development of distributed systems.
- Sebastian Bauer, Alexandre David, Rolf Hennicker, Kim Guldstrand Larsen, Axel Legay, Ulrik Nyman, and Andrzej Wasowski. 2012. Moving from specifications to contracts in component-based design. In Fundamental Approaches to Software Engineering. Lecture Notes in Computer Science, Vol. 7212. Springer, 43--58. Google Scholar
Digital Library
- Albert Benveniste, Benot Caillaud, Alberto Ferrari, Leonardo Mangeruca, Roberto Passerone, and Christos Sofronis. 2008. Multiple viewpoint contract-based specification and design. In Formal Methods for Components and Objects. Lecture Notes in Computer Science, Vol. 5382. Springer, 200--225. Google Scholar
Digital Library
- Luca Benvenuti, Davide Bresolin, Pieter Collins, Alberto Ferrari, Luca Geretti, and Tiziano Villa. 2012. Ariadne: Dominance checking of nonlinear hybrid automata using reachability analysis. In Reachability Problems. Lecture Notes in Computer Science, Vol. 7550. Springer, 79--91. Google Scholar
Digital Library
- L. Benvenuti, A Ferrari, L. Mangeruca, E. Mazzi, R. Passerone, and C. Sofronis. 2008. A contract-based formalism for the specification of heterogeneous systems. In Proceedings of the Forum on Specification, Verification, and Design Languages (FDL’08). 142--147.Google Scholar
- Matteo Bordin and Tullio Vardanega. 2007. Correctness by construction for high-integrity real-time systems: A metamodel-driven approach. In Reliable Software Technologies—Ada Europe 2007. Lecture Notes in Computer Science, Vol. 4498. Springer, 114--127. Google Scholar
Digital Library
- Krishnendu Chatterjee and Thomas A. Henzinger. 2007. Assume-guarantee synthesis. In Tools and Algorithms for the Construction and Analysis of Systems. Lecture Notes in Computer Science, Vol. 4424. Springer, 261--275. Google Scholar
Digital Library
- A. Cimatti and S. Tonetta. 2012. A property-based proof system for contract-based design. In Proceedings of the 2012 38th EUROMICRO Conference on Software Engineering and Advanced Applications (SEAA’12). 21--28. Google Scholar
Digital Library
- W. Damm, H. Hungar, B. Josko, T. Peikenkamp, and I. Stierand. 2011. Using contract-based component specifications for virtual integration testing and architecture design. In Proceedings of the Design, Automation, and Test in Europe Conference and Exhibition (DATE’11). 1--6.Google Scholar
- Abhijit Davare, Douglas Densmore, Liangpeng Guo, Roberto Passerone, Alberto L. Sangiovanni-Vincentelli, Alena Simalatsar, and Qi Zhu. 2013. metroII: A design environment for cyber-physical systems. ACM Transactions on Embedded Computing Systems 12, 1s, 49:1--49:31. Google Scholar
Digital Library
- Alexandre David, Kim G. Larsen, Axel Legay, Ulrik Nyman, and Andrzej Wasowski. 2009. Methodologies for specification of real-time systems using timed I/O automata. In Formal Methods for Components and Objects. Lecture Notes in Computer Science, Vol. 6286. Springer, 290--310. DOI:http://dx.doi.org/10.1007/978-3-642-17071-3 Google Scholar
Digital Library
- Alexandre David, Kim G. Larsen, Axel Legay, Ulrik Nyman, and Andrzej Wasowski. 2010. Timed I/O automata: A complete specification theory for real-time systems. In Proceedings of the 13th ACM International Conference on Hybrid Systems: Computation and Control (HSCC’10). 10. Google Scholar
Digital Library
- Luca de Alfaro and Thomas A. Henzinger. 2001. Interface automata. In Proceedings of the 8th European Software Engineering Conference Held Jointly with the 9th ACM SIGSOFT International Symposium on Foundations of Software Engineering (ESEC/FSE-9). ACM, New York, NY, 109--120. Google Scholar
Digital Library
- William P. de Roever. 1985. The quest for compositionality. In Proceedings of the IFIP Working Conference on the Role of Abstract Models in Computer Science.Google Scholar
- Edsger W. Dijkstra. 1975. Guarded commands, non-determinacy and a calculus for the derivation of programs. In Proceedings of the International Conference on Reliable Software. ACM, New York, NY, 2--2.13. Google Scholar
Digital Library
- Susanne Graf, Roberto Passerone, and Sophie Quinton. 2014. Contract-based reasoning for component systems with rich interactions. In Embedded Systems Development: From Functional Models to Implementations. Vol. 20. Springer, New York, NY, 139--154.Google Scholar
- A. Iannopollo, P. Nuzzo, S. Tripakis, and A. Sangiovanni-Vincentelli. 2014. Library-based scalable refinement checking for contract-based design. In Proceedings of the Design, Automation, and Test in Europe Conference and Exhibition (DATE’14). 1--6. Google Scholar
Digital Library
- Patricia López Martínez and Tullio Vardanega. 2012. Handling synchronization requirements under separation of concerns in model-driven component-based development. In Reliable Software Technologies—Ada Europe 2012. Lecture Notes in Computer Science, Vol. 7308. Springer, 89--104. Google Scholar
Digital Library
- Leslie Lamport. 1990. Win and sin: Predicate transformers for concurrency. ACM Transactions on Programming Languages and Systems 12, 3, 396--428. Google Scholar
Digital Library
- Thi Thieu Hoa Le and Roberto Passerone. 2014. Refinement-based synthesis of correct contract model decompositions. In Proceedings of the 12th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE’14). 134--143.Google Scholar
- Thi Thieu Hoa Le, Roberto Passerone, Uli Fahrenberg, and Axel Legay. 2016. A tag contract framework for modeling heterogeneous systems. Science of Computer Programming 115--116, 225--246. Google Scholar
Digital Library
- Shang-Wei Lin and Pao-Ann Hsiung. 2011. Counterexample-guided assume-guarantee synthesis through learning. IEEE Transactions on Computers 60, 5, 734--750. Google Scholar
Digital Library
- Barbara Liskov and Jeannette M. Wing. 1994. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 6, 1811--1841. Google Scholar
Digital Library
- Diego Marmsoler, Alexander Malkis, and Jonas Eckhardt. 2015. A model of layered architectures. In Proceedings of the 12th International Workshop on Formal Engineering Approaches to Software Components and Architectures (FESCA’15). 47--61.Google Scholar
Cross Ref
- Bertrand Meyer. 1992. Applying “design by contract.” Computer 25, 10, 40--51. Google Scholar
Digital Library
- Jean-Baptiste Raclet, Eric Badouel, Albert Benveniste, Benoît Caillaud, Axel Legay, and Roberto Passerone. 2011. A modal interface theory for component-based design. Fundamenta Informaticae 108, 1--2, 119--149. Google Scholar
Digital Library
- Alberto Sangiovanni-Vincentelli, Werner Damm, and Roberto Passerone. 2012. Taming Dr. Frankenstein: Contract-based design for cyber-physical systems. European Journal of Control 18, 3, 217--238.Google Scholar
Cross Ref
Index Terms
Contract-Based Requirement Modularization via Synthesis of Correct Decompositions
Recommendations
Refinement-based synthesis of correct contract model decompositions
MEMOCODE '14: Proceedings of the Twelfth ACM/IEEE Conference on Formal Methods and Models for CodesignIn distributed development of modern systems, contracts play a vital role in ensuring interoperability of components and adherence to specifications. It is therefore often desirable to verify the satisfaction of an overall property represented as a ...
A tag contract framework for modeling heterogeneous systems
Development of distributed systems can be supported effectively by a contract-based methodology as contracts can ensure interoperability of components and adherence to specifications. Such development can become very complex since distributed systems ...
Functional synthesis via input–output separation
AbstractBoolean functional synthesis is the process of constructing a Boolean function from a Boolean specification that relates input and output variables. Despite recent developments in synthesis algorithms, Boolean functional synthesis remains a ...






Comments