Skip to main content
Log in

Formal verification of component-based designs

  • Published:
Design Automation for Embedded Systems Aims and scope Submit manuscript

Abstract

Embedded systems are becoming increasingly common in our everyday lives. As technology progresses, these systems become more and more complex, and designers handle this increasing complexity by reusing existing components (Intellectual Property blocks). At the same time, the systems must fulfill strict requirements on reliability and correctness.

This paper proposes a formal verification methodology which smoothly integrates with component-based system-level design using a divide and conquer approach. The methodology assumes that the system consists of several reusable components, each of them already formally verified by their designers. The components are considered correct given that the environment satisfies certain properties imposed by the component. The methodology verifies the correctness of the glue logic inserted between the components and the interaction of the components through the glue logic. Each such glue logic is verified one at a time using model checking techniques.

Experimental results have shown the efficiency of the proposed methodology and demonstrated that it is feasible to apply such a verification methodology on real-life examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Abadi, M. and L. Lamport. Composing Specifications. Transactions on Programming Languages and Systems, 15(1):73–132, 1993.

    Article  Google Scholar 

  2. Abadi, M. and L. Lamport. Conjoining Specification. Transactions on Programming Languages and Systems, 17(3):507–534, 1995.

    Article  Google Scholar 

  3. Ackland, B., A. Anesko, and D. Brinthaupt, et al. A Single-Chip, 1.6-Billion, 16-b MAC/s Multiprocessor DSP. Journal of Solid-State Circuits, 35(3), 2000.

  4. Alur, R., C. Courcoubetis, and D.L. Dill. Model Checking for Real-Time Systems. In Proceedings of Symposium on Logic in Computer Science, Philadelphia, USA, 1990, pp. 414–425.

  5. Alur, R. and D.L. Dill. A Theory of Timed Automata. Theoretical Computer Science, 126:183–235, 1994.

    Article  MATH  MathSciNet  Google Scholar 

  6. Asteroth, A. C. Baier, and U. Aß mann. Model Checking with Formula-Dependent Abstract Models. In Lecture Notes in Computer Science, 2102:155–165, 2001.

  7. Ball, T., and S.K. Rajamani. SLIC: A Specification Language for Interface Checking (of C). Technical report, Microsoft Research, 2002.

  8. Barringer, H., D. Giannakopoulou, and C.S. Pasareanu. Proof Rules for Automated Compositional Verification Through Learning. In Proceedings of Specification and Verification of Component-Based Systems, Helsinki, Finland, 2003, pp. 14–21.

  9. Caldwell, A.E., H-J. Choi, and A.B. Kahng. Effective Iterative Techniques for Fingerprinting Design IP. In Proceedings of Design Automation Conference, New Orleans, USA, 1999, pp. 843–848.

  10. Cheung, S.C. and J. Kramer. Context Constraints for Compositional Reachability Analysis. Transactions on Software Engineering and Methodology, 5(4):334–377, 1996.

    Article  Google Scholar 

  11. Clarke, E.M., E.A. Emerson, and A.P. Sistla. Automatic Verification of Finite-State Concurrent Systems Using Temporal logic specifications. Transactions on Programming Languages and Systems, 8(2):244–263, 1986.

    Article  MATH  Google Scholar 

  12. Clarke, E.M., O. Grumberg, and D.A. Peled. Model Checking. The MIT Press, Cambridge, USA, 1999.

    Google Scholar 

  13. Clarke, E.M., O. Grumberg, S. Jha, et al. Counterexample-Guided Abstraction Refinement. In Proceedings of International Conference on Computer Aided Verification, Chicago, USA, 2000, pp. 154–169.

  14. Cortés, L.A., P. Eles, and Z. Peng. Verification of Embedded Systems Using a Petri Net Based Representation. In Proceedings of International Symposisum on System Synthesis, Madrid, Spain, 2000, pp. 149–155.

  15. Coudert, O. and J.C. Madre. A Unified Framework for the Formal Verification of Sequential Circuits. In Proceedings of International Conference on Computer Aided Design, Santa Clara, USA, 1990, pp. 126–129.

  16. de Alfaro, L., and T.A. Henzinger. Interface Automata. In Proceedings of the Annual ACM Symposium on Foundations of Software Engineering, Vienna, Austria, 2001, pp. 109–120.

  17. Gajski, D., A C.-H. Wu, V. Chaiyakul, et al. Essential Issues for IP Reuse. In Proceedings of Asia and South Pacific Design Automation Conference, Yokohama, Japan, 2000, pp. 37–42.

  18. Grumberg, O. and D.E. Long. Model Checking and Modular Verification. Transactions on Programming Languages and Systems, 16(3):843–871, 1994.

    Article  Google Scholar 

  19. Haase, J. Design Methodology for IP Providers. In Proceedings of Design and Test in Europe, Munich, Germany, 1999, pp. 728–732.

  20. Hong, I. and M. Potkonjak. Behavioral Synthesis Techniques for Intellectual Property Protection. In Proceedings of Design Automation Conference, New Orleans, USA, 1999, pp. 849–854.

  21. Karlsson, D., P. Eles, and Z. Peng. Formal Verification in a Component Reuse Methodology. In Proceedings of International Symposium on System Synthesis, Kyoto, Japan, 2002, pp. 156–161.

  22. Karlsson, D. Towards Formal Verification in a Component-Based Reuse Methodology. Licentiate Thesis No 1058, Linköping Studies in Science and Technology, http://www.ep.liu.se/lic/science_technology/10/58/, Linköping, Sweden, 2003.

  23. Karlsson, D., P. Eles, and Z. Peng. A Formal Verification Methodology for IP-based Designs. In Proceedings of EUROMICRO Symposium on Digital System Design, Rennes, France, 2004, pp. 372–379.

  24. Keating, M. and P. Bricaud. Reuse Methodology Manual for System-on-a-Chip Designs. Kluwer Academic Publishers, Boston, USA, 1998.

    Google Scholar 

  25. Pnueli, A. In Transition for Global to Modular Temporal Reasoning About Programs. In Logics and Models of Concurrent Systems, vol. 13, Springer-Verlag, 1984.

  26. Roop, P.S. and A. Sowmya. Forced Simulation: A Technique for Automating Component Reuse in Embedded Systems. Transactions on Design Automation of Electronic Systems, 6(4):602–628, 2001.

    Article  Google Scholar 

  27. Roop, P.S., A. Sowmya, and S. Ramesh. k-Time Forced Simulation: A Formal Verification Technique for IP Reuse. In Proceedings of International Conference on Computer Design, San Jose, USA, 2002, pp. 50–55.

  28. Rowson, J.A. and A. Sangiovanni-Vincentelli. Interface-Based Design. In Proceedings of Design Automation Conference, Anaheim, USA, 1997, pp. 178–183.

  29. Roychoudhury, A., T. Mitra, and S.R. Karri. Using Formal Techniques to Debug the AMBA System-on-Chip Bus Protocol. In Proceedings of Design and Test in Europe, Munich, Germany, 2003, pp. 828–833.

  30. Rushby, J. Theorem Proving for Verification. Lecture Notes in Computer Science, 2067:39–57, 2001.

    Article  Google Scholar 

  31. Savage, W., J. Chilton, and R. Camposano. IP Reuse in the System on a Chip Era. In Proceedings of International Symposium on System Synthesis, Madrid, Spain, 2000, pp. 2–7.

  32. Schneider, F.B. Enforceable Security Policies. Transactions on Information and System Security, 3(1):3–50, 2000.

    Google Scholar 

  33. Seepold, R., N.M. Madrid, A. Vörg, et al. A Qualification Platform for Design Reuse. In Proceedings of International Symposium on Quality Electronic Design, San Jose, USA, 2002, pp. 75–80.

  34. Spitznagel, B., and D. Garlan. A Compositional Formalization of Connector Wrappers. In Proceedings of International Conference on Software Engineering, Portland, USA, 2003, pp. 374–384.

  35. Vahid, F. and L. Tauro. An Object-Oriented Communication Library for Hardware-Software CoDesign. In Proceedings of Workshop on HW/SW Codesign, Braunschweig, Germany, 1997, pp. 81–86.

  36. Xie, F. and J.C. Browne. Verified Systems by Composition from Verified Components. In Symposium on Foundations of Software Engineering, Helsinki, Finland, 2003, pp. 277–286.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Karlsson.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Karlsson, D., Eles, P. & Peng, Z. Formal verification of component-based designs. Des Autom Embed Syst 11, 49–90 (2007). https://doi.org/10.1007/s10617-006-9723-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10617-006-9723-3

Keywords

Navigation