From high-level modeling toward efficient and trustworthy circuits

  • Fadi A. Zaraket
  • Mohamad Jaber
  • Mohamad Noureddine
  • Yliès Falcone
Regular Paper

Abstract

Behavior–interaction–priority (BIP) is a layered embedded system design and verification framework that provides separation of functionality, synchronization, and priority concerns to simplify system design and to establish correctness by construction. BIP framework comes with a runtime engine and a suite of verification tools that use D-Finder and NuSMV as model-checkers. In this paper, we provide a method and a supporting tool that take a BIP system and a set of invariants and compute a reduced sequential circuit with a system-specific scheduler and a designated output that is \(\mathtt {true}\) when the invariants hold. Our method uses ABC, a sequential circuit synthesis and verification framework, to (1) generate an efficient circuit implementation of the system that can be readily translated into FPGA or ASIC implementations and to (2) verify the system and debug it in case a counterexample is found. Moreover, we generate a concurrent C implementation of the circuit that can be directly used for runtime verification. We evaluated our method with two benchmark systems, and our results show that, compared to existing techniques, our method is faster and scales to larger sizes.

Keywords

Component-based design Correct-by-construction FPGA Verification 

References

  1. 1.
    Abdellatif, T., Combaz, J., Sifakis, J.: Rigorous implementation of real-time systems—from theory to application. Math. Struct. Comput. Sci. 23(4), 882–914 (2013)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Amla, N., Du, X., Kuehlmann, A., Kurshan, R.P., McMillan, K.L.: An analysis of sat-based model checking techniques in an industrial environment. In: Borrione, D., Paul, W. (eds.) Correct Hardware Design and Verification Methods, pp. 254–268. Springer, Berlin, Heidelberg (2005)CrossRefGoogle Scholar
  3. 3.
    Aziz, A., Shiple, T., Singhal, V., Brayton, R., Sangiovanni-Vincentelli, A.: Formula dependent equivalence for compositional CTL model checking. J. Form. Methods Syst. Des. 21(2), 193–224 (2002)CrossRefMATHGoogle Scholar
  4. 4.
  5. 5.
    Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., Sangiovanni-Vincentelli, A.L.: Metropolis: an integrated electronic system design environment. IEEE Comput. 36(4), 45–52 (2003)CrossRefGoogle Scholar
  6. 6.
    Barnat, J., Brim, L., Havel, V.: LTL model checking of parallel programs with under-approximated TSO memory model. In: International Conference on Application of Concurrency to System Design (ACSD), pp. 51–59 (2013)Google Scholar
  7. 7.
    Barnat, J., Brim, L., Safránek, D.: High-performance analysis of biological systems dynamics with the DiVinE model checker. Brief. Bioinform. 11(3), 301–312 (2010)CrossRefGoogle Scholar
  8. 8.
    Basu, A., Bensalem, S., Bozga, M., Combaz, J., Jaber, M., Nguyen, T.-H., Sifakis, J.: Rigorous component-based system design using the BIP framework. IEEE Softw. 28(3), 41–48 (2011)CrossRefGoogle Scholar
  9. 9.
    Basu, A., Bidinger, P., Bozga, M., Sifakis, J.: Distributed semantics and implementation for systems with interaction and priority. In: Formal Techniques for Networked and Distributed Systems—FORTE 2008, 28th IFIP WG 6.1 International Conference, Tokyo, Japan, June 10–13, 2008, Proceedings, pp. 116–133 (2008)Google Scholar
  10. 10.
    Baumgartner, J., Kuehlmann, A., Abraham, J.: Property checking via structural analysis. In: Brinksma, E., Larsen, K.G. (eds.) Computer-Aided Verification. Springer, Berlin, Heidelberg (2002)Google Scholar
  11. 11.
    Bensalem, S., Bozga, M., Legay, A., Nguyen, T.-H., Sifakis, J., Yan, R.: Component-based verification using incremental design and invariants. Softw. Syst. Model. 15, 427–451 (2014)CrossRefGoogle Scholar
  12. 12.
    Bensalem, S., Bozga, M., Nguyen, T.-H., Sifakis, J.: D-Finder: a tool for compositional deadlock detection and verification. In: Bouajjani, A., Maler, O. (eds.) Computer Aided Verification Volume 5643 of Lecture Notes in Computer Science, pp. 614–619. Springer, Berlin (2009)Google Scholar
  13. 13.
    Berezin, S., Campos, S., Clarke, E.M.: Compositional Reasoning in Model Checking. Springer, Berlin (1998)CrossRefGoogle Scholar
  14. 14.
    Biere, A.: Handbook of Satisfiability, vol. 185. IOS Press, Amsterdam (2009)MATHGoogle Scholar
  15. 15.
    Bjesse, P., Boralv, A.: DAG-aware circuit compression for formal verification. In: International Conference on Computer-Aided Design (2004)Google Scholar
  16. 16.
    Bjesse, P., Boralv, A.: Dag-aware circuit compression for formal verification. In: Proceedings of the 2004 IEEE/ACM International Conference on Computer-Aided Design, pp. 42–49. IEEE Computer Society (2004)Google Scholar
  17. 17.
    Bjesse, P., Claessen, K.: SAT-based verification without state space traversal. In: Hunt, W.A. Jr., Johnson, S.D. (eds.) Formal Methods in Computer-Aided Design. Springer, Berlin, Heidelberg (2000)Google Scholar
  18. 18.
    Bonakdarpour, B., Bozga, M., Jaber, M., Quilbeuf, J., Sifakis, J.: A framework for automated distributed implementation of component-based models. Distrib. Comput. 25(5), 383–409 (2012)CrossRefMATHGoogle Scholar
  19. 19.
    Bradley, A.R.: Sat-based model checking without unrolling. In: Jhala, R., Schmidt, D. (eds.) Verification, Model Checking, and Abstract Interpretation, pp. 70–87. Springer, Berlin, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Bradley, A.R., Manna, Z.: Checking safety by inductive generalization of counterexamples to induction. In: Formal Methods in Computer Aided Design, 2007: FMCAD’07, pp. 173–180. IEEE (2007)Google Scholar
  21. 21.
    Brayton, R., Mishchenko, A.: ABC: an academic industrial-strength verification tool. In: Touili, T., Cook, B., Jackson, P. (eds.) Computer Aided Verification, pp. 24–40. Springer, Berlin, Heidelberg (2010)CrossRefGoogle Scholar
  22. 22.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: \(10^{20}\) states and beyond. Inf. Comput. 98(2), 142–170 (1992)MathSciNetCrossRefMATHGoogle Scholar
  23. 23.
    Burnim, J., Sen, K.: Heuristics for scalable dynamic test generation. In: 23rd IEEE/ACM International Conference on Automated Software Engineering (ASE 2008), 15–19 September 2008, L’Aquila, Italy, pp. 443–446. IEEE (2008)Google Scholar
  24. 24.
    Bybell, T.: Gtkwave electronic waveform viewer (2010). http://gtkwave.sourceforge.net
  25. 25.
    Chaudron, M.R.V., Eskenazi, E.M., Fioukov, A.V., Hammer, D.K.: A framework for formal component-based software architecting. In: OOPSLA, pp. 73–80 (2001)Google Scholar
  26. 26.
    Cimatti, A., Clarke, E., Giunchiglia, F., Roveri, M.: NUSMV: a new symbolic model checker. Int. J. Softw. Tools Technol. Transf. 2(4), 410–425 (2000)CrossRefMATHGoogle Scholar
  27. 27.
    Clarke, E.M., Grumberg, O., Peled, D.: Model Checking. MIT Press, Cambridge (1999)Google Scholar
  28. 28.
    Davare, A., Densmore, D., Guo, L., Passerone, R., Sangiovanni-Vincentelli, A.L., Simalatsar, A., Zhu, Q.: metroII: a design environment for cyber-physical systems. ACM Trans. Embed. Comput. Syst. 12(1s), 49 (2013)CrossRefGoogle Scholar
  29. 29.
    Dutertre, B., De Moura, L.: A fast linear-arithmetic solver for dpll (t). In: Ball, T., Jones, R.B. (eds.) Computer Aided Verification, pp. 81–94. Springer, Berlin, Heidelberg (2006)CrossRefGoogle Scholar
  30. 30.
    Een, N., Mishchenko, A., Brayton, R.: Efficient implementation of property directed reachability. In: Formal Methods in Computer-Aided Design (FMCAD), 2011, pp. 125–134. IEEE (2011)Google Scholar
  31. 31.
    Eén, N., Sörensson, N.: Temporal induction by incremental sat solving. Electron. Notes Theor. Comput. Sci. 89(4), 543–560 (2003)CrossRefMATHGoogle Scholar
  32. 32.
    Falcone, Y., Havelund, K., Reger, G.: A tutorial on runtime verification. In: Broy, M., Peled, D.A., Kalus, G. (eds.) Engineering Dependable Software Systems, Volume 34 of NATO Science for Peace and Security Series, D: Information and Communication Security, pp. 141–175. IOS Press, Amsterdam (2013)Google Scholar
  33. 33.
    Falcone, Y., Jaber, M., Nguyen, T.-H., Bozga, M., Bensalem, S.: Runtime verification of component-based systems in the BIP framework with formally-proved sound and complete instrumentation. Softw. Syst. Model. 14(1), 173–199 (2015)CrossRefGoogle Scholar
  34. 34.
    Gafni, E., Lamport, L.: Disk paxos. Distrib. Comput. 16(1), 1–20 (2003)CrossRefMATHGoogle Scholar
  35. 35.
    Guerraoui, R., Kuncak, V., Losa, G.: Speculative linearizability. ACM Sigplan Not. 47(6), 55–66 (2012)CrossRefGoogle Scholar
  36. 36.
    Henzinger, T.A., Sifakis, J.: The embedded systems design challenge. In: Misra, J., Nipkow, T., Sekerinski, E. (eds.) FM 2006: Formal Methods, pp. 1–15. Springer, Berlin, Heidelberg (2006)Google Scholar
  37. 37.
    Ho, P.-H., Shiple, T., Harer, K., Kukula, J., Damiano, R., Bertacco, V., Taylor, J., Long, J.: Smart simulation using collaborative formal and simulation engines. In: International Conference on Computer-Aided Design (2000)Google Scholar
  38. 38.
    Holzmann, G.: The model checker SPIN. IEEE Trans. Softw. Eng. 23, 279–295 (1997)CrossRefGoogle Scholar
  39. 39.
    Hurst, A.P., Mishchenko, A., Brayton, R.K.: Fast minimum-register retiming via binary maximum-flow. In: Formal Methods in Computer Aided Design, 2007. FMCAD’07, pp. 181–187. IEEE (2007)Google Scholar
  40. 40.
    Jaber, M.: Centralized and Distributed Implementations of Correct-by-construction Component-based Systems by using Source-to-source Transformations in BIP. (Implémentations Centralisée et Répartie de Systèmes Corrects par construction à base des Composants par Transformations Source-à-source dans BIP). PhD thesis, Joseph Fourier University, Grenoble, France (2010)Google Scholar
  41. 41.
    Kuehlmann, A., Baumgartner, J.: Transformation-based verification using generalized retiming. In: Berry, G., Comon, H., Finkel, A. (eds.) Computer-Aided Verification. Springer, Berlin, Heidelberg (2001)Google Scholar
  42. 42.
    Kuehlmann, A., Ganai, M., Paruthi, V.: Circuit-based Boolean reasoning. In: Design Automation Conference, pp. 232–237 (2001)Google Scholar
  43. 43.
    Mony, H., et al.: Scalable automated verification via expert-system guided transformations. In: Hu, A.J., Martin, A.K. (eds.) Formal Methods in Computer-Aided Design. Springer, Berlin, Heidelberg (2004)Google Scholar
  44. 44.
    McMillan, K.L.: Interpolation and sat-based model checking. In: Hunt, W.A. Jr., Somenzi, F. (eds.) CAV, Volume 2725 of Lecture Notes in Computer Science, pp. 1–13. Springer, Berlin (2003)Google Scholar
  45. 45.
    Mishchenko, A., Case, M., Brayton, R., Jang, S.: Scalable and scalably-verifiable sequential synthesis. In: IEEE/ACM International Conference on Computer-Aided Design, 2008. ICCAD 2008, pp. 234–241. IEEE (2008)Google Scholar
  46. 46.
    Mishchenko, A., Chatterjee, S., Brayton, R.: Dag-aware AIG rewriting a fresh look at combinational logic synthesis. In: Proceedings of the 43rd Annual Design Automation Conference, pp. 532–535. ACM (2006)Google Scholar
  47. 47.
    Mony, H., Baumgartner, J., Paruthi, V., Kanzelman, R.: Exploiting suspected redundancy without proving it. In: Design Automation Conference. ACM Press (2005)Google Scholar
  48. 48.
    Mony, H., Baumgartner, J., Paruthi, V., Kanzelman, R.: Exploiting suspected redundancy without proving it. In: Proceedings of the 42nd Annual Design Automation Conference, pp. 463–466. ACM (2005)Google Scholar
  49. 49.
    Moon, I.-H., Hachtel, G.D., Somenzi, F.: Border-block triangular form and conjunction schedule in image computation. In: Hunt, W.A. Jr., Johnson, S.D. (eds.) Formal Methods in Computer-Aided Design. Springer, Berlin, Heidelberg (2000)Google Scholar
  50. 50.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient SAT solver. In: ACM Design Automation Conference (2001)Google Scholar
  51. 51.
    Nguyen, T.-H.: Constructive Verification for Component-Based Systems. University of Grenoble, Grenoble (2010)Google Scholar
  52. 52.
    Niaki, S.H.A., Sander, I.: An automated parallel simulation flow for heterogeneous embedded systems. In: Design, Automation and Test in Europe (DATE), pp. 27–30 (2013)Google Scholar
  53. 53.
    Noureddine, M., Jaber, M., Bliudze, S., Zaraket, F.A.: Reduction and abstraction techniques for BIP. In: Lanese, I., Madelaine, E. (eds.) Formal Aspects of Component Software (FACS). Springer, Cham (2014)Google Scholar
  54. 54.
    Panda, P.R.: Systemc: a modeling platform supporting multiple design abstractions. In: Proceedings of the 14th International Symposium on Systems Synthesis. ISSS ’01, pp. 75–80. ACM, New York, NY, USA (2001)Google Scholar
  55. 55.
    Potop-Butucaru, D., Edwards, S.A., Berry, G.: Compiling Esterel. Springer, Berlin (2007)Google Scholar
  56. 56.
    Qiang, W., Bliudze, S.: Verification of component-based systems via predicate abstraction and simultaneous set reduction. In: Trustworthy Global Computing—10th International Symposium, TGC 2015, Madrid, Spain, August 31–September 1, 2015 Revised Selected Papers, pp. 147–162 (2015)Google Scholar
  57. 57.
    Sander, I., Jantsch, A.: System modeling and transformational design refinement in forsyde. IEEE Trans. CAD (TCAD) Integr. Circuits Syst. 23(1), 17–32 (2004)CrossRefGoogle Scholar
  58. 58.
    Sentovich, E., Singh, K.J., Moon, C.W., Savoj, H., Brayton, R.K., Sangiovanni-Vincentelli, A.L.: Sequential circuit design using synthesis and optimization. In: ICCD, pp. 328–333. IEEE Computer Society (1992)Google Scholar
  59. 59.
    Sipser, M.: Introduction to the Theory of Computation, vol. 27. Thomson Course Technology, Boston (2006)MATHGoogle Scholar
  60. 60.
    Wang, D.: SAT Based Abstraction Refinement for Hardware Verification. PhD thesis, Carnegie Mellon University (2003)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Fadi A. Zaraket
    • 1
  • Mohamad Jaber
    • 1
  • Mohamad Noureddine
    • 2
  • Yliès Falcone
    • 3
  1. 1.American University of BeirutBeirutLebanon
  2. 2.Performability Engineering Research GroupUniversity of Illinois at Urbana-ChampaignUrbanaUSA
  3. 3.Laboratoire d’Informatique de GrenobleUniv. Grenoble-Alpes, InriaGrenobleFrance

Personalised recommendations