Correct-by-Construction Design of Contextual Robotic Missions Using Contracts (2306.08144v3)
Abstract: Effectively specifying and implementing robotic missions poses a set of challenges to software engineering for robotic systems. These challenges stem from the need to formalize and execute a robot's high-level tasks while considering various application scenarios and conditions, also known as contexts, in real-world operational environments. Writing correct mission specifications that explicitly account for multiple contexts can be tedious and error-prone. Furthermore, as the number of contexts, and consequently the complexity of the specification, increases, generating a correct-by-construction implementation (e.g., by using synthesis methods) can become intractable. A viable approach to address these issues is to decompose the mission specification into smaller, manageable sub-missions, with each sub-mission tailored to a specific context. Nevertheless, this compositional approach introduces its own set of challenges in ensuring the overall mission's correctness. In this paper, we propose a novel compositional framework for specifying and implementing contextual robotic missions using assume-guarantee contracts. The mission specification is structured in a hierarchical and modular fashion, allowing for each sub-mission to be synthesized as an independent robot controller. We address the problem of dynamically switching between sub-mission controllers while ensuring correctness under predefined conditions.
- C. Menghi, C. Tsigkanos, P. Pelliccione, C. Ghezzi, and T. Berger, “Specification Patterns for Robotic Missions,” IEEE Transactions on Software Engineering, pp. 1–1, 2019.
- C. Menghi, S. Garcia, P. Pelliccione, and J. Tumova, “Multi-robot LTL Planning Under Uncertainty,” in Formal Methods, K. Havelund, J. Peleska, B. Roscoe, and E. de Vink, Eds. Cham: Springer International Publishing, 2018, pp. 399–417.
- A. Ulusoy, S. L. Smith, X. C. Ding, C. Belta, and D. Rus, “Optimal multi-robot path planning with Temporal Logic constraints,” in 2011 IEEE/RSJ International Conference on Intelligent Robots and Systems, IROS 2011. IEEE, 2011.
- G. E. Fainekos, A. Girard, H. Kress-Gazit, and G. J. Pappas, “Temporal logic motion planning for dynamic robots,” Automatica, vol. 45, no. 2, pp. 343–352, 2009.
- M. Guo, K. H. Johansson, and D. V. Dimarogonas, “Revising motion planning under linear temporal logic specifications in partially known workspaces,” in International Conference on Robotics and Automation (ICRA). IEEE, 2013.
- E. M. Wolff, U. Topcu, and R. M. Murray, “Automaton-Guided Controller Synthesis for Nonlinear Systems with Temporal Logic,” in International Conference on Intelligent Robots and Systems (IROS). IEEE, 2013.
- H. Kress-Gazit, “Robot challenges: Toward development of verication and synthesis techniques [errata],” IEEE Robotics & Automation Magazine, vol. 18, no. 4, pp. 108–109, 2011.
- M. Guo and D. V. Dimarogonas, “Multi-agent plan reconfiguration under local LTL specifications,” The International Journal of Robotics Research, 2015.
- S. Maoz and J. O. Ringert, “Synthesizing a Lego Forklift Controller in GR(1): A Case Study,” in Proceedings Fourth Workshop on Synthesis (SYNT), 2015.
- S. Maoz and Y. Sa’ar, “AspectLTL: an aspect language for LTL specifications,” in International conference on Aspect-oriented software development. ACM, 2011.
- S. Maoz and J. O. Ringert, “GR(1) synthesis for LTL specification patterns,” in Foundations of Software Engineering (FSE). ACM, 2015.
- ——, “On well-separation of GR(1) specifications,” in Foundations of Software Engineering (FSE). ACM, 2016.
- J. Bohren and S. Cousins, “The smach high-level executive [ros news],” IEEE Robotics & Automation Magazine, vol. 17, no. 4, pp. 18–20, 2010.
- U. Thomas, G. Hirzinger, B. Rumpe, C. Schulze, and A. Wortmann, “A new skill based robot programming language using uml/p statecharts,” in 2013 IEEE International Conference on Robotics and Automation. IEEE, 2013, pp. 461–466.
- M. Klotzbücher and H. Bruyninckx, “Coordinating robotic tasks and systems with rfsm statecharts,” 2012.
- F.-Y. Wang, K. J. Kyriakopoulos, A. Tsolkas, and G. N. Saridis, “A petri-net coordination model for an intelligent mobile robot,” IEEE Transactions on Systems, Man, and Cybernetics, vol. 21, no. 4, pp. 777–789, 1991.
- V. A. Ziparo, L. Iocchi, D. Nardi, P. F. Palamara, and H. Costelha, “Petri net plans: a formal model for representation and execution of multi-robot plans,” in Proceedings of the 7th international joint conference on Autonomous agents and multiagent systems-Volume 1. International Foundation for Autonomous Agents and Multiagent Systems, 2008, pp. 79–86.
- S. Götz, M. Leuthäuser, J. Reimann, J. Schroeter, C. Wende, C. Wilke, and U. Aßmann, “A role-based language for collaborative robot applications,” in Leveraging Applications of Formal Methods, Verification, and Validation, ser. Communications in Computer and Information Science. Springer Berlin Heidelberg, 2012.
- M. Campusano and J. Fabry, “Live robot programming: The language, its implementation, and robot api independence,” Science of Computer Programming, vol. 133, pp. 1–19, 2017.
- B. Schwartz, L. Nägele, A. Angerer, and B. A. MacDonald, “Towards a graphical language for quadrotor missions,” CoRR, 2014.
- D. Di Ruscio, I. Malavolta, P. Pelliccione, and M. Tivoli, “Automatic generation of detailed flight plans from high-level mission descriptions,” in International Conference on Model Driven Engineering Languages and Systems, ser. MODELS. ACM, 2016.
- D. Bozhinoski, D. D. Ruscio, I. Malavolta, P. Pelliccione, and M. Tivoli, “FLYAQ: enabling non-expert users to specify and generate missions of autonomous multicopters,” in Automated Software Engineering (ASE). IEEE, 2015.
- F. Ciccozzi, D. D. Ruscio, I. Malavolta, and P. Pelliccione, “Adopting mde for specifying and executing civilian missions of mobile multi-robot systems,” Journal of IEEE Access, 2016.
- P. Doherty, F. Heintz, and D. Landén, “A distributed task specification language for mixed-initiative delegation,” in Principles and Practice of Multi-Agent Systems, N. Desai, A. Liu, and M. Winikoff, Eds. Springer Berlin Heidelberg, 2012.
- C. Menghi, C. Tsigkanos, M. Askarpour, P. Pelliccione, G. Vázquez, R. Calinescu, and S. García, “Mission specification patterns for mobile robots: Providing support for quantitative properties,” IEEE Transactions on Software Engineering, vol. 49, no. 4, pp. 2741–2760, 2023.
- P. Mallozzi, P. Nuzzo, P. Pelliccione, and G. Schneider, “Crome: Contract-based robotic mission specification,” in 2020 18th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE). IEEE, 2020.
- A. Benveniste, B. Caillaud, D. Nickovic, R. Passerone et al., “Contracts for system design,” Foundations and Trends in Electronic Design Automation, vol. 12, no. 2-3, pp. 124–400, 2018.
- P. Nuzzo, A. Sangiovanni-Vincentelli, D. Bresolin, L. Geretti, and T. Villa, “A platform-based design methodology with contracts and related tools for the design of cyber-physical systems,” Proc. IEEE, vol. 103, no. 11, Nov. 2015.
- A. Pnueli, “The temporal logic of programs,” in 18th Annual Symposium on Foundations of Computer Science (sfcs 1977). ieee, 1977, pp. 46–57.
- R. Passerone, Í. Íncer Romeo, and A. L. Sangiovanni-Vincentelli, “Coherent extension, composition, and merging operators in contract models for system design,” ACM Transactions on Embedded Computing Systems (TECS), vol. 18, no. 5s, pp. 1–23, 2019.
- M. Autili, L. Grunske, M. Lumpe, P. Pelliccione, and A. Tang, “Aligning qualitative, real-time, and probabilistic property specification patterns using a structured english grammar,” IEEE Transactions on Software Engineering, vol. 41, no. 7, pp. 620–638, July 2015.
- G. Behrmann, A. David, K. G. Larsen, J. Håkansson, P. Pettersson, W. Yi, and M. Hendriks, “Uppaal 4.0,” 2006.
- R. Cavada, A. Cimatti, M. Dorigatti, A. Griggio, A. Mariotti, A. Micheli, S. Mover, M. Roveri, and S. Tonetta, “The nuXmv symbolic model checker,” in CAV, 2014, pp. 334–342.
- P. J. Meyer, S. Sickert, and M. Luttenberger, “Strix: Explicit reactive synthesis strikes back!” in Computer Aided Verification - 30th International Conference, CAV 2018, Held as Part of the Federated Logic Conference, FloC 2018, Oxford, UK, July 14-17, 2018, Proceedings, Part I, ser. Lecture Notes in Computer Science, H. Chockler and G. Weissenbacher, Eds., vol. 10981. Springer, 2018, pp. 578–586. [Online]. Available: https://doi.org/10.1007/978-3-319-96145-3_31
- S. Dragule, S. García Gonzalo, T. Berger, and P. Pelliccione, “Languages for specifying missions of robotic applications,” Chapter of the Book Software Engineering for Robotics edited by Ana Cavalcanti, Brijesh Dongol, Rob Hierons, Jon Timmis, and Jim Woodcock, 2021.
- C. Menghi, C. Tsigkanos, T. Berger, and P. Pelliccione, “PsALM: Specification of dependable robotic missions,” Proceedings - 2019 IEEE/ACM 41st International Conference on Software Engineering: Companion, ICSE-Companion 2019, pp. 99–102, 2019.
- “Temporal Specification Patterns,” https://matthewbdwyer.github.io/psp/.
- A. K. Dey, “Understanding and using context,” Personal and ubiquitous computing, vol. 5, no. 1, pp. 4–7, 2001.
- D. D. Bloisi, D. Nardi, F. Riccio, and F. Trapani, “Context in Robotics and Information Fusion,” pp. 675–699, 2016.
- K. He, A. M. Wells, L. E. Kavraki, and M. Y. Vardi, “Efficient symbolic reactive synthesis for finite-horizon tasks,” in 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 8993–8999.
- S. Moarref and H. Kress-Gazit, “Reactive synthesis for robotic swarms,” in Formal Modeling and Analysis of Timed Systems, D. N. Jansen and P. Prabhakar, Eds. Cham: Springer International Publishing, 2018, pp. 71–87.
- S. Maoz and J. O. Ringert, “On the software engineering challenges of applying reactive synthesis to robotics,” in Proceedings of the 1st International Workshop on Robotics Software Engineering, ser. RoSE ’18. New York, NY, USA: Association for Computing Machinery, 2018, p. 17–22. [Online]. Available: https://doi.org/10.1145/3196558.3196561
- L. Nahabedian, V. Braberman, N. D’Ippolito, S. Honiden, J. Kramer, K. Tei, and S. Uchitel, “Dynamic update of discrete event controllers,” IEEE Transactions on Software Engineering, vol. 46, no. 11, pp. 1220–1240, 2020.
- N. D’Ippolito, V. Braberman, J. Kramer, J. Magee, D. Sykes, and S. Uchitel, “Hope for the best, prepare for the worst: Multi-tier control for adaptive systems,” in Proceedings of the 36th International Conference on Software Engineering, ser. ICSE 2014. New York, NY, USA: Association for Computing Machinery, 2014, p. 688–699. [Online]. Available: https://doi.org/10.1145/2568225.2568264