Skip to main content

Towards Formal Co-validation of Hardware and Software Timing Models of CPSs

  • Conference paper
  • First Online:
Cyber Physical Systems. Model-Based Design (CyPhy 2019, WESE 2019)

Abstract

Timing analysis of safety-critical systems derives timing bounds of applications, or software (SW), executed on dedicated platforms, or hardware (HW). The ensemble HW–SW features, from a timing perspective, two different types of computation – a SW-specific, instruction-driven timing progression and a HW-specific, cycle-driven one. The two timings are unified under a concept of timing model, which is crucial to establish a sound and precise worst-case timing reasoning. In this paper, we propose an investigation on how to systematically derive and formally prove such timing models. Our approach is exemplified on a simple, accumulator-based processor called Lipsi.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Armstrong, A., et al.: ISA semantics for ARMv8-a, RISC-V, and CHERI-MIPS. PACMPL 3(POPL), 71:1–71:31 (2019)

    Article  Google Scholar 

  2. Asavoae, M.: K semantics for assembly languages: a case study. Electr. Notes Theor. Comput. Sci. 304, 111–125 (2014)

    Article  MathSciNet  Google Scholar 

  3. Asavoae, M., Hedia, B.B., Jan, M.: Formal executable models for automatic detection of timing anomalies. In: 18th International Workshop on Worst-Case Execution Time Analysis, WCET 2018, pp. 2:1–2:13 (2018)

    Google Scholar 

  4. Bachrach, J., et al.: Chisel: constructing hardware in a Scala embedded language. In: Proceedings of the 49th Annual Design Automation Conference, DAC 2012, pp. 1216–1225. ACM (2012)

    Google Scholar 

  5. Beatty, D.L., Bryant, R.E.: Formally verifying a microprocessor using a simulation methodology. In: Proceedings of the 31st Conference on Design Automation, pp. 596–602 (1994)

    Google Scholar 

  6. Béchennec, J., Cassez, F.: Computation of WCET using program slicing and real-time model-checking. CoRR abs/1105.1633 (2011). http://arxiv.org/abs/1105.1633

  7. Benveniste, A., Caspi, P., Edwards, S.A., Halbwachs, N., Guernic, P.L., de Simone, R.: The synchronous languages 12 years later. Proc. IEEE 91(1), 64–83 (2003)

    Article  Google Scholar 

  8. Bradlee, D.G., Henry, R.R., Eggers, S.J.: The Marion system for retargetable instruction scheduling. SIGPLAN Not. 26(6), 229–240 (1991)

    Article  Google Scholar 

  9. Dalsgaard, A.E., Olesen, M.C., Toft, M., Hansen, R.R., Larsen, K.G.: METAMOC: modular execution time analysis using model checking. In: Lisper, B. (ed.) 10th International Workshop on Worst-Case Execution Time Analysis (WCET 2010). OpenAccess Series in Informatics (OASIcs), vol. 15, pp. 113–123 (2010)

    Google Scholar 

  10. Dasgupta, S., Park, D., Kasampalis, T., Adve, V.S., Rosu, G.: A complete formal semantics of x86–64 user-level instruction set architecture. In: Proceedings of the 40th PLDI 2019, pp. 1133–1148 (2019)

    Google Scholar 

  11. Gordon, M.J.C.: The semantic challenge of Verilog HDL. In: Proceedings of the 10th Annual IEEE Symposium on Logic in Computer Science, San Diego, 26–29, pp. 136–145 (1995)

    Google Scholar 

  12. Große, D., Kühne, U., Drechsler, R.: HW/SW co-verification of embedded systems using bounded model checking. In: Proceedings of the 16th ACM Great Lakes Symposium on VLSI 2006, pp. 43–48 (2006)

    Google Scholar 

  13. Hahn, S., Reineke, J., Wilhelm, R.: Towards compositionality in execution time analysis: definition and challenges. SIGBED Rev. 12(1), 28–36 (2015)

    Article  Google Scholar 

  14. Hebbache, F., Jan, M., Brandner, F., Pautet, L.: Shedding the shackles of time-division multiplexing. In: 2018 IEEE Real-Time Systems Symposium, RTSS, 2018, pp. 456–468 (2018)

    Google Scholar 

  15. Herbegue, H., Filali, M., Cassé, H.: Formal architecture specification for time analysis. In: Maehle, E., Römer, K., Karl, W., Tovar, E. (eds.) ARCS 2014. LNCS, vol. 8350, pp. 98–110. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-04891-8_9

    Chapter  Google Scholar 

  16. Hoover, S.F.: Timing-abstract circuit design in transaction-level Verilog. In: 2017 IEEE International Conference on Computer Design (ICCD), pp. 525–532, November 2017

    Google Scholar 

  17. Huang, B., Zhang, H., Subramanyan, P., Vizel, Y., Gupta, A., Malik, S.: Instruction-level abstraction (ILA): a uniform specification for system-on-chip (SOC) verification. ACM Trans. Design Autom. Electr. Syst. 24(1), 10:1–10:24 (2019)

    Google Scholar 

  18. Kern, C., Greenstreet, M.: Formal verification in hardware design: a survey. ACM Trans. Des. Autom. Electron. Syst. 4 (2002). https://doi.org/10.1145/307988.307989

    Article  Google Scholar 

  19. Kurshan, R.P., Levin, V., Minea, M., Peled, D.A., Yenigün, H.: Combining software and hardware verification techniques. Formal Methods Syst. Des. 21(3), 251–280 (2002)

    Article  Google Scholar 

  20. Lamport, L.: Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley Longman Publishing Co., Inc., Boston (2002)

    Google Scholar 

  21. Leupers, R., Marwedel, P.: A BDD-based frontend for retargetable compilers. In: Proceedings the European Design and Test Conference, ED TC 1995, pp. 239–243, March 1995

    Google Scholar 

  22. Li, H., Puaut, I., Rohou, E.: Tracing flow information for tighter WCET estimation: application to vectorization. In: 21st IEEE International Conference on Embedded and Real-Time Computing Systems and Applications, RTCSA 2015, Hong Kong, China, 19–21 August 2015, pp. 217–226 (2015)

    Google Scholar 

  23. Li, J., Xie, F., Ball, T., Levin, V., McGarvey, C.: An automata-theoretic approach to hardware/software co-verification. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 248–262. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12029-9_18

    Chapter  Google Scholar 

  24. Li, X., Roychoudhury, A., Mitra, T., Mishra, P., Cheng, X.: A retargetable software timing analyzer using architecture description language. In: 2007 Asia and South Pacific Design Automation Conference, pp. 396–401, January 2007

    Google Scholar 

  25. Li, X., Roychoudhury, A., Mitra, T.: Modeling out-of-order processors for WCET analysis. Real-Time Syst. 34(3), 195–227 (2006)

    Article  Google Scholar 

  26. Liu, I., et al.: A PRET microarchitecture implementation with repeatable timing and competitive performance. In: 2012 IEEE 30th International Conference on Computer Design (ICCD), pp. 87–93. IEEE (2012)

    Google Scholar 

  27. Meredith, P.O., Katelman, M., Meseguer, J., Rosu, G.: A formal executable semantics of Verilog. In: 8th ACM/IEEE MEMOCODE 2010, Grenoble, France, pp. 179–188 (2010)

    Google Scholar 

  28. Mishra, P., Dutt, N. (eds.): Processor Description Languages, Application and Methodologies. Systems on Silicon, vol. 1. Morgan Kaufman, Burlington (2008)

    Google Scholar 

  29. Monniaux, D.: Verification of device drivers and intelligent controllers: a case study. In: Proceedings of the 7th ACM & IEEE International Conference on Embedded software, EMSOFT 2007, pp. 30–36 (2007)

    Google Scholar 

  30. Mukherjee, R., Purandare, M., Polig, R., Kroening, D.: Formal techniques for effective co-verification of hardware/software co-designs. In: Proceedings of the 54th Annual Design Automation Conference, DAC 2017, pp. 35:1–35:6 (2017)

    Google Scholar 

  31. Pees, S., Hoffmann, A., Zivojnovic, V., Meyr, H.: Lisa-machine description language for cycle-accurate models of programmable DSP architectures. In: Proceedings 1999 Design Automation Conference (Cat. No. 99CH36361), pp. 933–938, June 1999

    Google Scholar 

  32. Pister, M.: Timing model derivation: pipeline analyzer generation from hardware description languages. Ph.D. thesis, Saarland University (2012)

    Google Scholar 

  33. Rau, B.R., Kathail, V., Aditya, S.: Machine-description driven compilers for EPIC and VLIW processors. Des. Autom. Embed. Syst. 4(2), 71–118 (1999)

    Article  Google Scholar 

  34. Raymond, P., Maiza, C., Parent-Vigouroux, C., Carrier, F., Asavoae, M.: Timing analysis enhancement for synchronous program. Real-Time Syst. 51(2), 192–220 (2015)

    Article  Google Scholar 

  35. Reineke, J., et al.: A definition and classification of timing anomalies. In: 6th International Workshop on Worst-Case Execution Time (WCET) Analysis (2006)

    Google Scholar 

  36. Schlickling, M.: Timing model derivation: static analysis of hardware description languages. Ph.D. thesis, Saarland University (2013)

    Google Scholar 

  37. Schoeberl, M.: Lipsi: probably the smallest processor in the world. In: Berekovic, M., Buchty, R., Hamann, H., Koch, D., Pionteck, T. (eds.) ARCS 2018. LNCS, vol. 10793, pp. 18–30. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-77610-1_2

    Chapter  Google Scholar 

  38. Schoeberl, M., Puffitsch, W., Hepp, S., Huber, B., Prokesch, D.: Patmos: a time-predictable microprocessor. Real-Time Syst. 54(2), 389–423 (2018). https://doi.org/10.1007/s11241-018-9300-4

    Article  MATH  Google Scholar 

  39. Thiele, L., Wilhelm, R.: Design for timing predictability. Real-Time Syst. 28(2–3), 157–177 (2004)

    Article  Google Scholar 

  40. Wilhelm, R.: Formal analysis of processor timing models. In: Graf, S., Mounier, L. (eds.) SPIN 2004. LNCS, vol. 2989, pp. 1–4. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24732-6_1

    Chapter  Google Scholar 

  41. Wilhelm, R., et al.: The worst-case execution-time problem - overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst. 7(3), 36:1–36:53 (2008)

    Article  Google Scholar 

  42. Wilson, S.: Verilator 4.0 - open simulation goes multithreaded. In: The Open Source Digital Design Conference (ORConf), September 2018

    Google Scholar 

  43. Yu, Y., Manolios, P., Lamport, L.: Model checking TLA\(^{+}\) specifications. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 54–66. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48153-2_6

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Mathieu Jan .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Asavoae, M., Haur, I., Jan, M., Ben Hedia, B., Schoeberl, M. (2020). Towards Formal Co-validation of Hardware and Software Timing Models of CPSs. In: Chamberlain, R., Edin Grimheden, M., Taha, W. (eds) Cyber Physical Systems. Model-Based Design. CyPhy WESE 2019 2019. Lecture Notes in Computer Science(), vol 11971. Springer, Cham. https://doi.org/10.1007/978-3-030-41131-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-41131-2_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-41130-5

  • Online ISBN: 978-3-030-41131-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics