Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3417990.3421262acmconferencesArticle/Chapter ViewAbstractPublication PagesmodelsConference Proceedingsconference-collections
research-article

Automatically learning formal models: an industrial case from autonomous driving development

Published: 26 October 2020 Publication History

Abstract

The correctness of autonomous driving software is of utmost importance as incorrect behaviour may have catastrophic consequences. Though formal model-based engineering techniques can help guarantee correctness, challenges exist in widespread industrial adoption. One among them is the model construction problem. Manual construction of formal models is expensive, error-prone, and intractable for large systems. Automating model construction would be a great enabler for the use of formal methods to guarantee software correctness and thereby for safe deployment of autonomous vehicles. Such automated techniques can be beneficial in software design, re-engineering, and reverse engineering. In this industrial case study, we apply active learning techniques to obtain formal models from an existing autonomous driving software (in development) implemented in MATLAB. We demonstrate the feasibility of active automata learning algorithms for automotive industrial use. Furthermore, we discuss the practical challenges in applying automata learning and possible directions for integrating automata learning into automotive software development workflow.

References

[1]
FD Aarts. 2014. Tomte: bridging the gap between active learning and real-world systems. Ph.D. Dissertation. [Sl: sn].
[2]
Fides Aarts, Joeri De Ruiter, and Erik Poll. 2013. Formal models of bank cards for free. In 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops. IEEE, Luxembourg, 461--468.
[3]
Fides Aarts, Julien Schmaltz, and Frits Vaandrager. 2010. Inference and Abstraction of the Biometric Passport. In Leveraging Applications of Formal Methods, Verification, and Validation, Tiziana Margaria and Bernhard Steffen (Eds.). Springer, Berlin, Heidelberg, 673--686.
[4]
Harald Altinger, Franz Wotawa, and Markus Schurius. 2014. Testing Methods Used in the Automotive Industry: Results from a Survey. In Proceedings of the 2014 Workshop on Joining AcadeMiA and Industry Contributions to Test Automation and Model-Based Testing (San Jose, CA, USA) (JAMAICA 2014). Association for Computing Machinery, New York, NY, USA, 1--6.
[5]
Dana Angluin. 1987. Learning regular sets from queries and counterexamples. Information and Computation 75, 2 (1987), 87 -- 106.
[6]
Dejanira Araiza-Illan, Kerstin Eder, and Arthur Richards. 2014. Formal verification of control systems' properties with theorem proving. In 2014 UKACC International Conference on Control (CONTROL). IEEE, Loughborough, UK, 244--249.
[7]
Christel Baier and Joost-Pieter Katoen. 2008. Principles of model checking. MIT press, Cambridge, Massachusetts.
[8]
Manfred Broy. 2006. Challenges in Automotive Software Engineering. In Proceedings of the 28th International Conference on Software Engineering (Shanghai, China) (ICSE '06). Association for Computing Machinery, New York, NY, USA, 33--42.
[9]
Manfred Broy, Ingolf H Kruger, Alexander Pretschner, and Christian Salzmann. 2007. Engineering automotive software. Proc. IEEE 95, 2 (2007), 356--373.
[10]
Christos G Cassandras and Stephane Lafortune. 2009. Introduction to discrete event systems. Springer Science & Business Media, New York, NY.
[11]
Sofia Cassel, Falk Howar, Bengt Jonsson, and Bernhard Steffen. 2016. Active learning for extended finite state machines. Formal Aspects of Computing 28, 2 (2016), 233--263.
[12]
Asma Charfi Smaoui, Fenglong Liu, and Chokri Mraidha. 2018. A Model Based System Engineering Methodology for an Autonomous Driving System Design. In 25th ITS World Congress. HAL, Copenhagen, Denmark. https://hal.archives-ouvertes.fr/hal-01924108
[13]
T. Chow. 1978. Testing Software Design Modeled by Finite-State Machines. IEEE Trans. on Software Engineering 4, 03 (1978), 178--187.
[14]
Kugler Maag Cie. 2015. Agile in Automotive-State of Practice 2015. Study, Kornwestheim (2015), 58.
[15]
James C Corbett, Matthew B Dwyer, John Hatcliff, Shawn Laubach, Corina S Pasareanu, Hongjun Zheng, et al. 2000. Bandera: Extracting finite-state models from Java source code. In Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium. IEEE, Limerick, Ireland, 439--448.
[16]
Colin de la Higuera. 2010. Grammatical Inference: Learning Automata and Grammars. Cambridge University Press, New York, NY, USA.
[17]
Huixing Fang, Jian Guo, Huibiao Zhu, and Jianqi Shi. 2012. Formal verification and simulation: Co-verification for subway control systems. In 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering. IEEE, Beijing, China, 145--152.
[18]
Ashfaq Farooqui and Martin Fabian. 2019. Synthesis of Supervisors for Unknown Plant Models Using Active Learning. In 2019 IEEE 15th International Conference on Automation Science and Engineering (CASE). IEEE, Vancouver, BC, Canada, 502--508.
[19]
Ashfaq Farooqui, Fredik Hagebring, and Martin Fabian. 2020. Active Learning of Modular Plant Models. To appear.
[20]
Jon Friedman. 2006. MATLAB/Simulink for automotive systems design. In Proceedings of the Design Automation & Test in Europe Conference, Vol. 1. IEEE, Munich, Germany, 1--2.
[21]
Jérémie Guiochet, Mathilde Machin, and Hélène Waeselynck. 2017. Safety-critical advanced robots: A survey. Robotics and Autonomous Systems 94 (2017), 43--52.
[22]
Gerard J Holzmann. 2001. From code to models. In Proceedings Second International Conference on Application of Concurrency to System Design. IEEE, Newcastle upon Tyne, UK, 3--10.
[23]
Gerard J Holzmann and Margaret H Smith. 1999. A practical method for verifying event-driven software. In Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No. 99CB37002). IEEE, Los Angeles, CA, USA, 597--607.
[24]
Falk Howar and Bernhard Steffen. 2018. Active automata learning in practice. In Machine Learning for Dynamic Software Analysis: Potentials and Limits. Springer International Publishing, Cham, 123--148.
[25]
The MathWorks Inc. 2020. Java Engine API Summary. Retrieved May 20, 2020 from https://mathworks.com/help/matlab/matlab_external/java-api-summary.html
[26]
The MathWorks Inc. 2020. MATLAB. Retrieved May 24, 2020 from https://mathworks.com/products/matlab.html
[27]
The MathWorks Inc. 2020. MATLAB Products. Retrieved July 21, 2020 from https://mathworks.com/discovery/formal-verification.html
[28]
Malte Isberner, Falk Howar, and Bernhard Steffen. 2015. The open-source Learn-Lib. In International Conference on Computer Aided Verification. Springer International Publishing, Cham, 487--495.
[29]
Bengt Jonsson. 2011. Learning of Automata Models Extended with Data. Springer Berlin Heidelberg, Berlin, Heidelberg, 327--349.
[30]
Nidhi Kalra and Susan M Paddock. 2016. Driving to safety: How many miles of driving would it take to demonstrate autonomous vehicle reliability? Transportation Research Part A: Policy and Practice 94 (2016), 182--193.
[31]
Fujiwara Bochmann Khendek, S Fujiwara, GV Bochmann, F Khendek, M Amalou, and A Ghedamsi. 1991. Test selection based on finite state models. IEEE Transactions on software engineering 17, 591-603 (1991), 10--1109.
[32]
Philip Koopman and Michael Wagner. 2017. Autonomous vehicle safety: An interdisciplinary challenge. IEEE Intelligent Transportation Systems Magazine 9, 1 (2017), 90--96.
[33]
Karel Kubíček, Martin Čech, and Jan Škach. 2019. Continuous enhancement in model-based software development and recent trends. In 2019 24th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). IEEE, Zaragoza, Spain, 71--78.
[34]
Sebastian Kunze, Wojciech Mostowski, Mohammad Reza Mousavi, and Mahsa Varshosaz. 2016. Generation of failure models through automata learning. In 2016 Workshop on Automotive Systems/Software Architectures (WASA). IEEE, Venice, Italy, 22--25.
[35]
Florian Leitner-Fischer and Stefan Leue. 2008. Simulink Design Verifier vs. SPIN: a comparative case study.
[36]
Grischa Liebel, Nadja Marko, Matthias Tichy, Andrea Leitner, and Jörgen Hansson. 2018. Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Software & Systems Modeling 17, 1 (2018), 91--113.
[37]
Todd Litman. 2020. Autonomous vehicle implementation predictions. Victoria Transport Policy Institute, Victoria, Canada.
[38]
Xiaodong Liu, Hongji Yang, and Hussein Zedan. 1997. Formal methods for the re-engineering of computing systems: a comparison. In Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97). IEEE, Washington, D.C., 409--414.
[39]
Matt Luckcuck, Marie Farrell, Louise A Dennis, Clare Dixon, and Michael Fisher. 2019. Formal specification and verification of autonomous robotic systems: A survey. ACM Computing Surveys (CSUR) 52, 5 (2019), 1--41.
[40]
Robi Malik, Knut Akesson, Hugo Flordal, and Martin Fabian. 2017. Supremica-An Efficient Tool for Large-Scale Discrete Event Systems. IFAC-PapersOnLine 50, 1 (2017), 5794-- 5799. 20th IFAC World Congress.
[41]
Atif Mashkoor, Felix Kossak, and Alexander Egyed. 2018. Evaluating the suitability of state-based formal methods for industrial deployment. Software: Practice and Experience 48, 12 (2018), 2350--2379.
[42]
Maik Merten. 2013. Active automata learning for real life applications. Ph.D. Dissertation. TU Dortmund University.
[43]
Maik Merten, Malte Isberner, Falk Howar, Bernhard Steffen, and Tiziana Margaria. 2012. Automated learning setups in automata learning. In International Symposium On Leveraging Applications of Formal Methods, Verification and Validation. Springer Berlin Heidelberg, Berlin, Heidelberg, 591--607.
[44]
Felipe R. Monteiro, Mikhail Y. R. Gadelha, and Lucas C. Cordeiro. 2019. Boost the Impact of Continuous Formal Verification in Industry. CoRR abs/1904.06152 (2019). arXiv:1904.06152 http://arxiv.org/abs/1904.06152
[45]
Martin Odersky, Lex Spoon, and Bill Venners. 2008. Programming in Scala. Artima Inc, California.
[46]
Manish Patil and Sujith Annamaneni. 2015. Model Based System Engineering (MBSE) For Accelerating Software Development Cycle. Technical Report. L&T Technology Services White Paper.
[47]
Jochen Quante. 2011. Reengineering automotive software at Bosch. Softwaretechnik-Trends 31, 2 (2011).
[48]
Peter JG Ramadge and W Murray Wonham. 1989. The control of discrete event systems. Proc. IEEE 77, 1 (1989), 81--98.
[49]
ANDREAS Rausch, Oliver Brox, Axel Grewe, Marcel Ibe, STEFANIE Jauns-Seyfried, CHRISTOPH Knieke, MARCO Körner, STEFFEN Küpper, Malte Mauritz, H Peters, et al. 2014. Managed and Continuous Evolution of Dependable Automotive Software Systems. In Proceedings of the 10th Symposium on Automotive Powertrain Control Systems. Cramer, Braunschweig, 15--51. http://www.digibib.tu-bs.de/?docid=00060152
[50]
Robert Reicherdt and Sabine Glesner. 2014. Formal verification of discrete-time MATLAB/Simulink models using Boogie. In International Conference on Software Engineering and Formal Methods. Springer International Publishing, Cham, 190--204.
[51]
Vincent Schulte-Coerne, Andreas Thums, and Jochen Quante. 2009. Challenges in reengineering automotive software. In 2009 13th European Conference on Software Maintenance and Reengineering. IEEE, Kaiserslautern, Germany, 315--316.
[52]
Max Schurenberg. 2012. Scalability analysis of the simulink design verifier on an avionic system.
[53]
Yuvaraj Selvaraj, Wolfgang Ahrendt, and Martin Fabian. 2019. Verification of Decision Making Software in an Autonomous Vehicle: An Industrial Case Study. In Formal Methods for Industrial Critical Systems. Springer International Publishing, Cham, 143--159.
[54]
Muzammil Shahbaz, K. C. Shashidhar, and Robert Eschbach. 2011. Iterative Refinement of Specification for Component Based Embedded Systems. In Proceedings of the 2011 International Symposium on Software Testing and Analysis (Toronto, Ontario, Canada) (ISSTA '11). Association for Computing Machinery, New York, NY, USA, 276--286.
[55]
Wouter Smeenk, Joshua Moerman, Frits Vaandrager, and David N. Jansen. 2015. Applying Automata Learning to Embedded Control Software. In Formal Methods and Software Engineering, Michael Butler, Sylvain Conchon, and Fatiha Zaïdi (Eds.). Springer International Publishing, Cham, 67--83.
[56]
Bernhard Steffen, Falk Howar, and Maik Merten. 2011. Introduction to active automata learning from a practical perspective. In International School on Formal Methods for the Design of Computer, Communication and Software Systems. Springer, Berlin, Heidelberg, 256--296.
[57]
Peter Struss and Chris Price. 2003. Model-based systems in the automotive industry. AI magazine 24, 4 (2003), 17--17.
[58]
Andreas Thums and Jochen Quante. 2012. Reengineering embedded automotive software. In 2012 28th IEEE International Conference on Software Maintenance (ICSM). IEEE, Trento, Italy, 493--502.
[59]
H. Zhang, L. Feng, and Z. Li. 2018. A Learning-Based Synthesis Approach to the Supremal Nonblocking Supervisor of Discrete-Event Systems. IEEE Trans. on Automatic Control 63, 10 (Oct 2018), 3345--3360.
[60]
Anton Zita, Sahar Mohajerani, and Martin Fabian. 2017. Application of formal verification to the lane change module of an autonomous vehicle. In 2017 13th IEEE Conference on Automation Science and Engineering (CASE). IEEE, Xi'an, China, 932--937.

Cited By

View all
  • (2022)Automatically Learning Formal Models from Autonomous Driving SoftwareElectronics10.3390/electronics1104064311:4(643)Online publication date: 18-Feb-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
MODELS '20: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings
October 2020
713 pages
ISBN:9781450381352
DOI:10.1145/3417990
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 26 October 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. active learning
  2. automata learning
  3. autonomous driving
  4. formal methods
  5. model-based engineering

Qualifiers

  • Research-article

Funding Sources

Conference

MODELS '20
Sponsor:

Acceptance Rates

Overall Acceptance Rate 144 of 506 submissions, 28%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)12
  • Downloads (Last 6 weeks)2
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Automatically Learning Formal Models from Autonomous Driving SoftwareElectronics10.3390/electronics1104064311:4(643)Online publication date: 18-Feb-2022

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media