skip to main content
research-article

Contract-Based Requirement Modularization via Synthesis of Correct Decompositions

Published:26 February 2016Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle Scholar
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. Leslie Lamport. 1990. Win and sin: Predicate transformers for concurrency. ACM Transactions on Programming Languages and Systems 12, 3, 396--428. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. Shang-Wei Lin and Pao-Ann Hsiung. 2011. Counterexample-guided assume-guarantee synthesis through learning. IEEE Transactions on Computers 60, 5, 734--750. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Barbara Liskov and Jeannette M. Wing. 1994. A behavioral notion of subtyping. ACM Transactions on Programming Languages and Systems 16, 6, 1811--1841. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle ScholarCross RefCross Ref
  24. Bertrand Meyer. 1992. Applying “design by contract.” Computer 25, 10, 40--51. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  26. 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 ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Contract-Based Requirement Modularization via Synthesis of Correct Decompositions

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!