Skip to main content

Specifying Source Code and Signal-based Behaviour of Cyber-Physical System Components

  • Conference paper
  • First Online:
Formal Aspects of Component Software (FACS 2022)

Abstract

Specifying properties over the behaviour of components of Cyber-Physical Systems usually focuses on the behaviour of signals, i.e., the behaviour of the physical part of the system, leaving the behaviour of the cyber components implicit. There have been some attempts to provide specification languages that enable more explicit reference to the behaviour of cyber components, but it remains awkward to directly express the behaviour of both cyber and physical components in the same specification, using one formalism. In this paper, we introduce a new specification language, Source Code and Signal Logic (SCSL), that 1) provides syntax specific to both signals and events originating in source code; and 2) does not require source code events to be abstracted into signals. We introduce SCSL by giving its syntax and semantics, along with examples. We then provide a comparison between SCSL and existing specification languages, using an example property, to show the benefit of using SCSL to capture certain types of properties.

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 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.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

Notes

  1. 1.

    These predicates can be computed via static analyses of source code.

References

  1. Copter::crash_check function - ArduPilot. https://github.com/ArduPilot/ardupilot/blob/a40e0208135c73b9f2204d5ddc4a5f281000f3f1/ArduCopter/crash_check.cpp#L100, accessed: 2022-04-13

  2. Copter::fence_check function - ArduPilot. https://github.com/ArduPilot/ardupilot/blob/36f3fb316acf71844be80e0337fdc66515b4cf50/ArduCopter/fence.cpp#L9. Accessed 13 Apr 2022

  3. The ArduPilot autopilot. https://ardupilot.org. Accessed 13 Apr 2022

  4. The ArduPilot GitHub repository. https://github.com/ArduPilot/ardupilot. Accessed 13 Apr 2022

  5. Abbas, H., Fainekos, G., Sankaranarayanan, S., Ivancic, F., Gupta, A.: Probabilistic temporal logic falsification of cyber-physical systems. ACM Trans. Embed. Comput. Syst. 12(2s), 95:1–95:30 (2013). https://doi.org/10.1145/2465787.2465797

  6. Alur, R., et al.: The Algorithmic analysis of hybrid systems. Theor. Comput. Sci. 138(1), 3–34 (1995). https://doi.org/10.1016/0304-3975(94)00202-T

  7. Alur, R., Dill, D.L.: A theory of timed automata. Theor. Comput. Sci. 126(2), 183–235 (1994). https://doi.org/10.1016/0304-3975(94)90010-8

  8. Bartocci, E., Falcone, Y., Francalanza, A., Reger, G.: Introduction to runtime verification. In: Bartocci, E., Falcone, Y. (eds.) Lectures on Runtime Verification. LNCS, vol. 10457, pp. 1–33. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-75632-5_1

    Chapter  Google Scholar 

  9. Bauer, A., Leucker, M., Schallhart, C.: Comparing LTL semantics for runtime verification. J. Logic Comput. 20(3), 651–674 (2010). https://doi.org/10.1093/logcom/exn075

  10. Bauer, A., Leucker, M., Schallhart, C.: Runtime verification for LTL and TLTL. ACM Trans. Softw. Eng. Methodol. 20(4), 1-64 (2011). https://doi.org/10.1145/2000799.2000800

  11. Boufaied, C., Menghi, C., Bianculli, D., Briand, L., Parache, Y.I.: Trace-checking signal-based temporal properties: a model-driven approach. In: Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering, pp. 1004–1015. ASE 2020, Association for Computing Machinery, New York, NY, USA (2020). https://doi.org/10.1145/3324884.3416631

  12. Bozzano, M., Bruintjes, H., Cimatti, A., Katoen, J.-P., Noll, T., Tonetta, S.: COMPASS 3.0. In: Vojnar, T., Zhang, L. (eds.) TACAS 2019. LNCS, vol. 11427, pp. 379–385. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-17462-0_25

    Chapter  Google Scholar 

  13. Bresolin, D.: HyLTL: a temporal logic for model checking hybrid systems. Electron. Proc. Theor. Comput. Sci. 124, 73–84 (2013). https://doi.org/10.4204/eptcs.124.8

  14. Brim, L., Dluhos, P., Safránek, D., Vejpustek, T.: STL*: extending signal temporal logic with signal-value freezing operator. Inf. Comput. 236, 52–67 (2014). https://doi.org/10.1016/j.ic.2014.01.012

  15. Dawes, J.H.: Towards Automated Performance Analysis of Programs by Runtime Verification (2021). https://cds.cern.ch/record/2766727

  16. Dawes, J.H., Bianculli, D.: Specifying properties over inter-procedural, source code level behaviour of programs. In: Feng, L., Fisman, D. (eds.) RV 2021. LNCS, vol. 12974, pp. 23–41. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-88494-9_2

    Chapter  Google Scholar 

  17. Dawes, J.H., Bianculli, D.: Specifying Properties over Inter-procedural, Source Code Level Behaviour of Programs (2022). http://hdl.handle.net/10993/52185, extended version

  18. Dawes, J.H., Reger, G.: Specification of temporal properties of functions for runtime verification. In: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing, pp. 2206–2214. SAC 2019, Association for Computing Machinery, New York, NY, USA (2019). https://doi.org/10.1145/3297280.3297497

  19. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Engineering. p. 411–420. ICSE ’99, Association for Computing Machinery, New York, NY, USA (1999). https://doi.org/10.1145/302405.302672

  20. Fainekos, G., Hoxha, B., Sankaranarayanan, S.: Robustness of specifications and its applications to falsification, parameter mining, and runtime monitoring with S-TaLiRo. In: Finkbeiner, B., Mariani, L. (eds.) RV 2019. LNCS, vol. 11757, pp. 27–47. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32079-9_3

    Chapter  Google Scholar 

  21. Ferrère, T., Maler, O., Ničković, D.: Mixed-time signal temporal logic. In: André, É., Stoelinga, M. (eds.) FORMATS 2019. LNCS, vol. 11750, pp. 59–75. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29662-9_4

    Chapter  Google Scholar 

  22. Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: Java-MaC: a run-time assurance approach for java programs. Formal Meth. Syst. Des. 24, 129–155 (2004). https://doi.org/10.1023/B:FORM.0000017719.43755.7c

  23. Koymans, R.: Specifying real-time properties with metric temporal logic. Real-Time Syst. 2(4), 255–299 (1990). https://doi.org/10.1007/BF01995674

  24. Maler, O., Nickovic, D.: Monitoring temporal properties of continuous signals. In: Lakhnech, Y., Yovine, S. (eds.) FORMATS/FTRTFT -2004. LNCS, vol. 3253, pp. 152–166. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30206-3_12

    Chapter  Google Scholar 

  25. Menghi, C., Viganò, E., Bianculli, D., Briand, L.: Trace-checking CPS properties: bridging the cyber-physical gap. In: Proceedings of the 43rd International Conference on Software Engineering (ICSE’21), 23–29 May 2021, Virtual Event, Spain, pp. 847–859. IEEE, Los Alamitos, CA, USA (2021)

    Google Scholar 

  26. Pnueli, A.: The temporal logic of programs. In: 2013 IEEE 54th Annual Symposium on Foundations of Computer Science, pp. 46–57. IEEE Computer Society, Los Alamitos, CA, USA (oct 1977). https://doi.org/10.1109/SFCS.1977.32, https://doi.ieeecomputersociety.org/10.1109/SFCS.1977.32

Download references

Acknowledgments

The research described has been carried out as part of the COSMOS Project, which has received funding from the European Union’s Horizon 2020 Research and Innovation Programme under grant agreement No. 957254.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Joshua Heneage Dawes .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Dawes, J.H., Bianculli, D. (2022). Specifying Source Code and Signal-based Behaviour of Cyber-Physical System Components. In: Tapia Tarifa, S.L., Proença, J. (eds) Formal Aspects of Component Software. FACS 2022. Lecture Notes in Computer Science, vol 13712. Springer, Cham. https://doi.org/10.1007/978-3-031-20872-0_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-20872-0_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-20871-3

  • Online ISBN: 978-3-031-20872-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics