Abstract
This paper presents a proof-of-concept application of an approach to system development based on the integration of formal verification and co-simulation. A simple autonomous vehicle has the task of reaching an assigned straight path and then follow it, and it can be controlled by varying its turning speed. The correctness of the proposed control law has been formalized and verified by interactive theorem proving with the Prototype Verification System. Concurrently, the system has been co-simulated using the Prototype Verification System and the MathWorks Simulink tool: The vehicle kinematics have been simulated in Simulink, whereas the controller has been modeled in the logic language of the Prototype Verification System and simulated with the interpreter for the same language available in the theorem proving environment. With this approach, co-simulation and formal verification corroborate each other, thus strengthening developers’ confidence in their analysis.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Attarzadeh-Niaki, S.H., Sander, I.: Co-simulation of embedded systems in a heterogeneous MoC-based modeling framework. In: 2011 6th IEEE International Symposium on Industrial and Embedded Systems, pp. 238–247, June 2011. https://doi.org/10.1109/SIES.2011.5953667
Bernardeschi, C., Cassano, L., Domenici, A., Sterpone, L.: ASSESS: a simulator of soft errors in the configuration memory of SRAM-based FPGAs. IEEE Trans. Comput. Aided Des. Integr. Circ. Syst. 33(9), 1342–1355 (2014). https://doi.org/10.1109/TCAD.2014.2329419
Bernardeschi, C., Cassano, L., Cimino, M.G., Domenici, A.: GABES: a genetic algorithm based environment for SEU testing in SRAM-FPGAs. J. Syst. Archit. 59(10, Part D), 1243–1254 (2013). https://doi.org/10.1016/j.sysarc.2013.10.006
Bernardeschi, C., Domenici, A.: Verifying safety properties of a nonlinear control by interactive theorem proving with the Prototype Verification System. Inf. Process. Lett. 116(6), 409–415 (2016). https://doi.org/10.1016/j.ipl.2016.02.001
Bernardeschi, C., Domenici, A., Masci, P.: A PVS-simulink integrated environment for model-based analysis of cyber-physical systems. IEEE Trans. Softw. Eng. PP(99), 1 (2017). https://doi.org/10.1109/TSE.2017.2694423
Blochwitz, T., Otter, M., Arnold, M., Bausch, C., Clauß, C., Elmqvist, H., Junghanns, A., Mauß, J., Monteiro, M., Neidhold, T., Neumerkel, D., Olsson, H., Peetz, J.V., Wolf, S.: The functional mockup interface for tool independent exchange of simulation models. In: Proceedings of the 8th International Modelica Conference, pp. 105–114. Linköping University Electronic Press (2011). https://doi.org/10.3384/ecp11063105
Carreño, V., Muñoz, C.: Aircraft trajectory modeling and alerting algorithm verification. In: Aagaard, M., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 90–105. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44659-1_6
Di Vito, B.: Manip User’s Guide, Version 1.3. http://shemesh.larc.nasa.gov/people/bld/ftp/manip-guide-1.3.pdf. Accessed 18 Aug 2015
Dutertre, B.: Elements of mathematical analysis in PVS. In: Goos, G., Hartmanis, J., van Leeuwen, J., von Wright, J., Grundy, J., Harrison, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 141–156. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0105402
Fitzgerald, J.S., Larsen, P.G., Verhoef, M.: Vienna Development Method. Wiley, Hoboken (2007). https://doi.org/10.1002/9780470050118.ecse447
Fulton, N., Mitsch, S., Quesel, J.-D., Völp, M., Platzer, A.: KeYmaera X: an axiomatic tactical theorem prover for hybrid systems. In: Felty, A.P., Middeldorp, A. (eds.) CADE 2015. LNCS (LNAI), vol. 9195, pp. 527–538. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21401-6_36
Gomes, C., Thule, C., Broman, D., Larsen, P.G., Vangheluwe, H.: Co-simulation: state of the art. ACM Comput. Surv. (2017, to appear)
Gottliebsen, H.: Transcendental functions and continuity checking in PVS. In: Aagaard, M., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 197–214. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44659-1_13
Karnopp, D., Rosenberg, R.: Analysis and Simulation of Multiport Systems; The Bond Graph Approach to Physical System Dynamics. M.I.T. Press, Cambridge (1968)
Larsen, P.G., Fitzgerald, J., Woodcock, J., Fritzson, P., Brauer, J., Kleijn, C., Lecomte, T., Pfeil, M., Green, O., Basagiannis, S., Sadovykh, A.: Integrated tool chain for model-based design of Cyber-Physical Systems: the INTO-CPS project. In: 2016 2nd International Workshop on Modelling, Analysis, and Control of Complex CPS (CPS Data), pp. 1–6, April 2016. https://doi.org/10.1109/CPSData.2016.7496424
Larsen, P.G., Gamble, C., Pierce, K., Ribeiro, A., Lausdahl, K.: Support for co-modelling and co-simulation: the crescendo tool. In: Fitzgerald, J., Larsen, P.G., Verhoef, M. (eds.) Collaborative Design for Embedded Systems. Co-modelling and Co-simulation, pp. 97–114. Springer, Heidelberg (2014). https://doi.org/10.1007/978-3-642-54118-6_5
Lee, E.A., Sangiovanni-Vincentelli, A.: A framework for comparing models of computation. IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 17(12), 1217–1229 (1998). https://doi.org/10.1109/43.736561
Masci, P., Oladimeji, P., Zhang, Y., Jones, P., Curzon, P., Thimbleby, H.: PVSio-web 2.0: joining PVS to HCI. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 470–478. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_30
Muñoz, C.: Rapid prototyping in PVS. Technical Report, NIA 2003-03, NASA/CR-2003-212418, National Institute of Aerospace, Hampton, VA, USA (2003)
Muñoz, C., Narkawicz, A., Hagen, G., Upchurch, J., Dutle, A., Consiglio, M.: DAIDALUS: detect and avoid alerting logic for unmanned systems. In: Proceedings of the 34th Digital Avionics Systems Conference (DASC 2015) (2015)
Oladimeji, P., Masci, P., Curzon, P., Thimbleby, H.: PVSio-web: a tool for rapid prototyping device user interfaces in PVS. In: FMIS2013, 5th International Workshop on Formal Methods for Interactive Systems, London, UK, 24 June 2013. https://doi.org/10.14279/tuj.eceasst.69.963.944
Owre, S., Rajan, S., Rushby, J.M., Shankar, N., Srivas, M.: PVS: combining specification, proof checking, and model checking. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 411–414. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-61474-5_91
Owre, S., Rushby, J.M., Shankar, N., Srivas, M.K.: A tutorial on using PVS for hardware verification. In: Kumar, R., Kropf, T. (eds.) TPCD 1994. LNCS, vol. 901, pp. 258–279. Springer, Heidelberg (1995). https://doi.org/10.1007/3-540-59047-1_53
Platzer, A.: Logics of dynamical systems. In: Proceedings of the 2012 27th Annual IEEE/ACM Symposium on Logic in Computer Science, LICS 2012, pp. 13–24. IEEE Computer Society, Washington (2012). https://doi.org/10.1109/LICS.2012.13
Sanders, W.H., Meyer, J.F.: Stochastic activity networks: formal definitions and concepts*. In: Brinksma, E., Hermanns, H., Katoen, J.-P. (eds.) EEF School 2000. LNCS, vol. 2090, pp. 315–343. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44667-2_9
Smullyan, R.M.: First-Order Logic. Dover Publications, New York (1995)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Domenici, A., Fagiolini, A., Palmieri, M. (2018). Integrated Simulation and Formal Verification of a Simple Autonomous Vehicle. In: Cerone, A., Roveri, M. (eds) Software Engineering and Formal Methods. SEFM 2017. Lecture Notes in Computer Science(), vol 10729. Springer, Cham. https://doi.org/10.1007/978-3-319-74781-1_21
Download citation
DOI: https://doi.org/10.1007/978-3-319-74781-1_21
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-74780-4
Online ISBN: 978-3-319-74781-1
eBook Packages: Computer ScienceComputer Science (R0)