Towards Realizability Checking of Contracts Using Theories

  • Andrew GacekEmail author
  • Andreas Katis
  • Michael W. Whalen
  • John Backes
  • Darren Cofer
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9058)


Virtual integration techniques focus on building architectural models of systems that can be analyzed early in the design cycle to try to lower cost, reduce risk, and improve quality of complex embedded systems. Given appropriate architectural descriptions and compositional reasoning rules, these techniques can be used to prove important safety properties about the architecture prior to system construction. Such proofs build from “leaf-level” assume/guarantee component contracts through architectural layers towards top-level safety properties. The proofs are built upon the premise that each leaf-level component contract is realizable; i.e., it is possible to construct a component such that for any input allowed by the contract assumptions, there is some output value that the component can produce that satisfies the contract guarantees. Without engineering support it is all too easy to write leaf-level components that can’t be realized. Realizability checking for propositional contracts has been well-studied for many years, both for component synthesis and checking correctness of temporal logic requirements. However, checking realizability for contracts involving infinite theories is still an open problem. In this paper, we describe a new approach for checking realizability of contracts involving theories and demonstrate its usefulness on several examples.


Model Check Realizability Check Valid Input Realizability Algorithm Architecture Description Language 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    SAE-AS5506: Architecture Analysis and Design Language. SAE (2004)Google Scholar
  2. 2.
    Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: Systems Modeling Language. Morgan Kaufmann Publishers Inc., San Francisco (2008)Google Scholar
  3. 3.
    Consortium, A.: Automotive Open System Architecture (AUTOSAR) Revision 4.2.1. AUTOSAR (2014)Google Scholar
  4. 4.
    Varona-Gomez, R., Villar, E.: Aadl simulation and performance analysis in systemc. In: 2009 14th IEEE International Conference on Engineering of Complex Computer Systems, pp. 323–328 (2009)Google Scholar
  5. 5.
    Bozzano, M., Cimatti, A., Katoen, J.P., Nguyen, V.Y., Noll, T., Roveri, M.: Safety, dependability and performance analysis of extended aadl models. Comput. J. 54, 754–775 (2011)CrossRefGoogle Scholar
  6. 6.
    Apvrille, L., Roudier, Y.: SysML-Sec: A model-driven environment for developing secure embedded systems. In: SAR-SSI 2013, 8ème Conférence sur la Sécurité des Architectures Réseaux et des Systèmes d’Information, Mont-de-Marsan, France, 16–18 Septembre 2013Google Scholar
  7. 7.
    Bozzano, M., Cimatti, A., Katoen, J.P., Katsaros, P., Mokos, K., Nguyen, V.Y., Noll, T., Postma, B., Roveri, M.: Spacecraft early design validation using formal methods. Reliability Engineering and System Safety 132 (2014)Google Scholar
  8. 8.
    Whalen, M.W., Gacek, A., Cofer, D., Murugesan, A., Heimdahl, M.P., Rayadurgam, S.: Your what is my how: Iteration and hierarchy in system design. IEEE Software 30, 54–60 (2013)CrossRefGoogle Scholar
  9. 9.
    Rushby, J.: New challenges in certification for aircraft software. In: Proceedings of the Ninth ACM Int’l Conf. on Embedded Software, pp. 211–218. ACM (2011)Google Scholar
  10. 10.
    Miller, S.P., Tribble, A.C., Whalen, M.W., Heimdahl, M.P.E.: Proving the shalls: Early validation of requirements through formal methods. Int. J. Softw. Tools Technol. Transf. 8, 303–319 (2006)CrossRefGoogle Scholar
  11. 11.
    Hammond, J., Rawlings, R., Hall, A.: Will it work? [requirements engineering]. In: Proceedings of Fifth IEEE Int’l Symposium on Requirements Engineering, 2001, pp. 102–109 (2001)Google Scholar
  12. 12.
    Cofer, D.D., Gacek, A., Miller, S.P., Whalen, M.W., LaValley, B., Sha, L.: Compositional verification of architectural models. In: Goodloe, A.E., Person, S. (eds.) Proceedings of the 4th NASA Formal Methods Symposium (NFM 2012). LNCS, vol. 7226, pp. 126–140. Springer-Verlag, Heidelberg (2012)CrossRefGoogle Scholar
  13. 13.
    Pnueli, A., Rosner, R.: On the Synthesis of a Reactive Module. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1989), pp. 179–190 (1989)Google Scholar
  14. 14.
    Bohy, A., Bruyére, V., Filiot, E., Jin, N., Raskin, J.F.: Acacia+, a tool for LTL Synthesis. In: Madhusudan, P., Seshia, S.A. (eds.) Computer Aided Verification (CAV 2012). LNCS, vol. 7358, pp. 652–657. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 15.
    Hamza, J., Jobstmann, B., Kuncak, V.: Synthesis for regular specifications over unbounded domains. In: Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design, pp. 101–109 (2010)Google Scholar
  16. 16.
    Chatterjee, K., Henzinger, T.A.: Assume-guarantee synthesis. In: Grumberg, O., Huth, M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems (TACAS 2007). LNCS, vol. 4424, pp. 261–275. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Murugesan, A., Whalen, M.W., Rayadurgam, S., Heimdahl, M.P.: Compositional verification of a medical device system. In: ACM Int’l Conf. on High Integrity Language Technology (HILT) 2013. ACM (2013)Google Scholar
  18. 18.
    Katis, A., Gacek, A., Whalen, M.W.: Machine-checked proofs for realizability checking algorithms (2015) (submitted).
  19. 19.
    Gacek, A.: JKind - a Java implementation of the KIND model checker (2014).
  20. 20.
    Hagen, G.: Verifying safety properties of Lustre programs: an SMT-based approach. PhD thesis, University of Iowa (2008)Google Scholar
  21. 21.
    De Moura, L., Bjørner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  22. 22.
    Murugesan, A., Sokolsky, O., Rayadurgam, S., Whalen, M., Heimdahl, M., Lee, I.: Linking abstract analysis to concrete design: A hierarchical approach to verify medical CPS safety. In: Proceedings of ICCPS 2014 (2014)Google Scholar
  23. 23.
    Gunter, C.A., Gunter, E.L., Jackson, M., Zave, P.: A Reference model for Requirements and Specifications. IEEE Software 17, 37–43 (2000)Google Scholar
  24. 24.
    Klein, U., Pnueli, A.: Revisiting synthesis of GR(1) specifications. In: Barner, S., Harris, I., Kroening, D., Raz, O. (eds.) Hardware and Software: Verification and Testing (HVC 2010). LNCS, vol. 6504, pp. 161–181. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  25. 25.
    Tini, S., Maggiolo-Schettini, A.: Compositional Synthesis of Generalized Mealy Machines. Fundamenta Informaticae 60, 367–382 (2003)MathSciNetGoogle Scholar
  26. 26.
    Beneš, N., Černá, I.: Factorization for component-interaction automata. In: Bieliková, M., Friedrich, G., Gottlob, G., Katzenbeisser, S., Turán, G. (eds.) Theory and Practice of Computer Science. LNCS, vol. 7147, pp. 554–565. Springer, Heidelberg (2012)Google Scholar
  27. 27.
    Aziz, A., Balarin, F., Braton, R., Sangiovanni-Vincentelli, A.: Sequential synthesis using SIS. In: Proceedings of the 1995 IEEE/ACM International Conference on Computer-Aided Design (ICCAD 1995), pp. 612–617 (1995)Google Scholar
  28. 28.
    Cimatti, A., Micheli, A., Roveri, M.: Solving temporal problems using SMT: Weak controllability. In: AAAI, pp. 448–454 (2012)Google Scholar
  29. 29.
    Cimatti, A., Micheli, A., Roveri, M.: Solving temporal problems using SMT: Strong controllability. In: Milano, M. (ed.) Principles and Practice of Constraint Programming (CP). LNCS, vol. 7514, pp. 248–264. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  30. 30.
    Cimatti, A., Micheli, A., Roveri, M.: Solving strong controllability of temporal problems with uncertainty using SMT. Constraints (2014)Google Scholar
  31. 31.
    Beyene, T., Chaudhuri, S., Popeea, C., Rybalchenko, A.: A constraint-based approach to solving games on infinite graphs. In: Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. POPL 2014, pp. 221–233. ACM, New York, NY, USA (2014)Google Scholar
  32. 32.
    Beyene, T.A., Popeea, C., Rybalchenko, A.: Solving existentially quantified Horn clauses. In: Sharygina, N., Veith, H. (eds.) Computer Aided Verification (CAV). LNCS, vol. 8044, pp. 869–882. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  33. 33.
    Bradley, A.: SAT-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) Verification, Model Checking, and Abstract Interpretation (VMCAI). LNCS, vol. 6538, pp. 70–87. Springer, Heidelberg (2011)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Andrew Gacek
    • 1
    Email author
  • Andreas Katis
    • 2
  • Michael W. Whalen
    • 2
  • John Backes
    • 1
  • Darren Cofer
    • 1
  1. 1.Rockwell Collins Advanced Technology CenterCedar RapidsUSA
  2. 2.Department of Computer Science and EngineeringUniversity of MinnesotaMinneapolisUSA

Personalised recommendations