Formal Methods in Systems Integration: Deployment of Formal Techniques in INSPEX
Abstract
Inspired by the abilities of contemporary autonomous vehicles to navigate with a high degree of effectiveness, the INSPEX Project aims to create a minaturised smart obstacle detection system, which could find use in a wide variety of leading edge smart applications. The primary use case focused on in the project is producing an advanced prototype for a device which can be attached to a visually impaired or blind (VIB) person’s white cane, and which, through the integration of a variety of minaturised sensors, and of the processing of their data via sophisticated algorithms, can offer the VIB user greater precision of information about their environment. The increasing complexity of such systems creates increasing challenges to assure their correct operation, inviting the introduction of formal techniques to aid in maximising system dependability. However, the major challenge to building such systems resides at the hardware end of the development. This impedes the routine application of top-down formal methods approaches. Some ingenuity must be brought to bear, in order that normally mutually hostile formal and mainstream approaches can contribute positively towards system dependability, rather than conflicting unproductively. This aspect is illustrated using two strands of the INSPEX Project.
Notes
Acknowledgement
Open image in new window
This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No. 730953. The work was also supported in part by the Swiss Secretariat for Education, Research and Innovation (SERI) under Grant 16.0136 730953. We thank them for their support.
References
- 1.Alloy. http://alloy.mit.edu/
- 2.Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press (1996)Google Scholar
- 3.Abrial, J.R.: Formal Methods in Industry: Achievements. Problems Future. In: Proceedings of ACM/IEEE ICSE 2006, pp. 761–768 (2006)Google Scholar
- 4.Abrial, J.R.: Modeling in Event-B: System and Software Engineering. CUP (2010)Google Scholar
- 5.Andronick, J., Jeffery, R., Klein, G., Kolanski, R., Staples, M., Zhang, H., Zhu, L.: Large-scale formal verification in practice: a process perspective. In: Proceedings of ACM/IEEE ICSE 2012, pp. 374–393 (2012)Google Scholar
- 6.Astrée Tool. http://www.astree.ens.fr/
- 7.Baeten, J.: Process Algebra. Cambridge Tracts in Theoretical Computer Science. Cambridge University Press (1990)Google Scholar
- 8.Banach, R. (ed.): Special Issue on the State of the Art in Formal Methods. Journal of Universal Computer Science, vol. 13(5) (2007)Google Scholar
- 9.BLAST Tool. https://forge.ispras.ru/projects/blast/
- 10.Bluetooth Guide. http://ww1.microchip.com/downloads/en/DeviceDoc/50002466B.pdf
- 11.Bowen, J., Hinchey, M.: Seven more myths of formal methods. IEEE Software 12, 34–41 (1995)CrossRefGoogle Scholar
- 12.Clarke, E., Wing, J.: Formal methods: state of the art and future directions. ACM Comput. Surv. 28, 626–643 (1996)CrossRefGoogle Scholar
- 13.Dia, R., Mottin, J., Rakotavao, T., Puschini, D., Lesecq, S.: Evaluation of occupancy grid resolution through a novel approach for inverse sensor modeling. In: Proceedings of IFAC World Congress, FAC-PapersOnLine, vol. 50, pp. 13,841–13,847 (2017)CrossRefGoogle Scholar
- 14.Divakaran, S., D’Souza, D., Kushwah, A., Sampath, P., Sridhar, N., Woodcock, J.: Refinement-based verification of the FreeRTOS scheduler in VCC. In: Butler, M., Conchon, S., Zaïdi, F. (eds.) Proceedings of ICFEM 2015. LNCS, vol. 9407, pp. 170–186. Springer (2015)Google Scholar
- 15.Fausten, M.: Evolution or revolution: architecture of AD cars. In: Proceedings of IEEE ESWEEK (2015)Google Scholar
- 16.FDR Tool. https://www.cs.ox.ac.uk/projects/fdr/
- 17.Fitzgerald, J., Gorm Larsen, P.: Modelling Systems: Practical Tools and Techniques for Software Development. Cambridge University Press (1998)Google Scholar
- 18.FreeRTOS. https://www.freertos.org/
- 19.Hall, A.: Seven myths of formal methods. IEEE Software 7, 11–19 (1990)CrossRefGoogle Scholar
- 20.Hoare, C.: Communicating Sequential Processes. Prentice-Hall (1985)Google Scholar
- 21.ISO/IEC 13568: Information Technology – Z Formal Specification Notation – Syntax, Type System and Semantics: International Standard (2002). http://www.iso.org/iso/en/ittf/PubliclyAvailableStandards/c021573_ISO_IEC_13568_2002(E).zip
- 22.Jones, C.: Systematic Software Development Using VDM, 2nd edn. Prentice-Hall (1990)Google Scholar
- 23.Jones, C., O’Hearne, P., Woodcock, J.: Verified software: a grand challenge. IEEE Comput. 39(4), 93–95 (2006)CrossRefGoogle Scholar
- 24.Lamport, L.: Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers. Addison-Wesley (2002)Google Scholar
- 25.Mandruchi, R., Kurniavan, S.: Mobility-Related Accidents Experienced by People with Visual Impairment. Insight: Research and Practice in Visual Impairment and Blindness (2011)Google Scholar
- 26.Milner, R.: Communication and Concurrency. Prentice-Hall (1989)Google Scholar
- 27.NuSMV Tool. http://nusmv.fbk.eu/
- 28.Qu, Z.: Cooperative Control of Dynamical Systems: Applications to Autonomous Vehicles. Springer (2009)Google Scholar
- 29.
- 30.de Roever, W.P., Engelhardt, K.: Data Refinement: Model-Oriented Proof Methods and their Comparison. Cambridge University Press (1998)Google Scholar
- 31.Rosburg, T.: Tactile ground surface indicators in public places. In: Grunwald, M. (ed.) Human Haptic Perception: Basics and Applications. Springer, Birkhauser (2008)Google Scholar
- 32.Spivey, J.: The Z Notation: A Reference Manual, 2nd edn. Prentice-Hall International (1992)Google Scholar
- 33.Stepney, S.: New Horizons in Formal Methods. The Computer Bulletin, pp. 24–26 (2001)CrossRefGoogle Scholar
- 34.Stepney, S., Cooper, D.: Formal Methods for Industrial Products. In: Proceedings of 1st Conference of B and Z Users. LNCS, vol. 1878, pp. 374–393. Springer (2000)Google Scholar
- 35.Thrun, S., Burgard, W., Fox, D.: Probabilistic Robotics. MIT Press (2005)Google Scholar
- 36.UPPAAL Tool. http://www.uppaal.org/
- 37.Wikipedia: List of tools for static code analysis. https://en.wikipedia.org/wiki/List_of_tools_ for_static_code_analysis
- 38.Woodcock, J.: First steps in the the verified software grand challenge. IEEE Computer 39(10), 57–64 (2006)CrossRefGoogle Scholar
- 39.Woodcock, J., Banach, R.: The verification grand challenge. JUCS 13, 661–668 (2007)Google Scholar