Advertisement

A Design and Analysis Methodology for Component-Based Real-Time Architectures of Autonomous Systems

  • Nicolas GobillotEmail author
  • Charles Lesire
  • David Doose
Article
  • 27 Downloads

Abstract

The integration of autonomous robots in real applications is a challenge. It needs that the behaviour of these robots is proved to be safe. In this paper, we focus on the real-time software embedded on the robot, and that supports the execution of safe and autonomous behaviours. We propose a methodology that goes from the design of component-based software architectures using a Domain Specific Language, to the analysis of the real-time constraints that arise when considering the safety of software applications. This methodology is supported by a code generation toolchain that ensures that the code eventually executed on the robot is consistent with the analysis performed. This methodology is applied on a ground robot exploring an area. Categories (2), (3)

Keywords

Robotics software Real-time analysis Modelling language 

Mathematics Subject Classification (2010)

93C85 68Q42 68M20 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Notes

References

  1. 1.
    Freitas, G., Hamner, B., Bergerman, M., Singh, S.: A practical obstacle detection system for autonomous orchard vehicles. In: International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal (2012)Google Scholar
  2. 2.
    Haddadin, S., Haddadin, S., Khoury, A., Rokahr, T., Parusel, S., Burgkart, R., Bicchi, A., Albu-Schaffer, A.: A truly safely moving robot has to know what injury it may cause. In: International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal (2012)Google Scholar
  3. 3.
    Lens, T., Von Stryk, O.: Investigation of safety in human-robot-interaction for a series elastic, tendon-driven robot arm. In: International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal (2012)Google Scholar
  4. 4.
    Rybski, P., Anderson-Sprecher, P., Huber, D., Niessl, C., Simmons, R.: Sensor fusion for human safety in industrial workcells. In: International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal (2012)Google Scholar
  5. 5.
    Tamura, Y., Dai Le, P., Hitomi, K., Chandrasiri, N., Bando, T., Yamashita, A., Asama, H.: Development of pedestrian behavior model taking account of intention. In: International Conference on Intelligent Robots and Systems (IROS), Vilamoura-Algarve, Portugal (2012)Google Scholar
  6. 6.
    Elbaum, S., Detweiler, C.: Reducing failure rates of robotic systems though inferred invariants monitoring. In: International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan (2013)Google Scholar
  7. 7.
    Nakamura, A., Nagata, K., Harada, K., Yamanobe, N., Tsuji, T., Foissotte, T., Kawai, Y.: Error recovery using task stratification and error classification for manipulation robots in various fields. In: International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan (2013)Google Scholar
  8. 8.
    Decastro, J., Kress-Gazit, H.: Guaranteeing reactive high-level behaviors for robots with complex dynamics. In: International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan (2013)Google Scholar
  9. 9.
    Pathak, S., Pulina, L., Metta, G., Tacchella, A.: Ensuring safety of policies learned by reinforcement reaching objects in the presence of obstacles with the iCub. In: International Conference on Intelligent Robots and Systems (IROS), Tokyo, Japan (2013)Google Scholar
  10. 10.
    Cervin, A., Lincoln, B., Eker, J., Årzén, K.-E., Buttazzo, G.: The Jitter Margin and its application in the design of real-time control systems. In: International Conference on Real-Time and Embedded Computing Systems and Applications (RTCSA), Göteborg, Sweden (2004)Google Scholar
  11. 11.
    Henriksson, D., Cervin, A., Åkesson, J., Årzén, K.-E.: On dynamic real-time scheduling of model predictive controllers. In: International Conference on Decision and Control (CDC), Las Vegas, NV, USA (2002)Google Scholar
  12. 12.
    Klein, M.H., Ralya, T., Pollak, B., Obenza, R., Harbour, M.G.: A practitioner’s handbook for real-time analysis. Kluwer Academic Publishers, Dordrecht (1993)CrossRefGoogle Scholar
  13. 13.
    Liu, L., James, C., Layland, W.: Scheduling algorithms for multiprogramming in a hard-real-time environment scheduling algorithms for multiprogramming. J. Assoc. Comput. Mach. 20(1), 46–61 (1973)MathSciNetCrossRefGoogle Scholar
  14. 14.
    Spuri, M.: Analysis of deadline scheduled real-time systems technical report (1996)Google Scholar
  15. 15.
    Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)MathSciNetCrossRefGoogle Scholar
  16. 16.
    Chen, M.-I., Lin, K.-J.: Dynamic priority ceilings: a concurrency control protocol for real-time systems. Real-Time Syst. 2(4), 325–346 (1990)CrossRefGoogle Scholar
  17. 17.
    Baker, T.P.: Stack-based scheduling of realtime processes. Real-Time Syst. 3(1), 67–99 (1991)CrossRefGoogle Scholar
  18. 18.
    Chetto, H., Silly, M., Bouchentouf, T.: Dynamic scheduling of real-time tasks under precedence constraints. Real-Time Syst. 2(3), 181–194 (1990)CrossRefGoogle Scholar
  19. 19.
    collab=Erann Gat: On three-layer architectures. In: Artificial Intelligence and Mobile Robots (1998)Google Scholar
  20. 20.
    Albus, J.S.: 4D/RCS: a reference model architecture for intelligent unmanned ground vehicles. AeroSense 2002 (2002)Google Scholar
  21. 21.
    McGann, C., Py, F., Rajan, K., Thomas, H., Henthorn, R., McEwen, R.: A Deliberative Architecture for AUV Control. In: International Conference on Robotics and Automation (ICRA), Pasadena, California, USA (2008)Google Scholar
  22. 22.
    Muscettola, N., Dorais, G., Fry, C., Levinson, R., Plaunt, C.: IDEA planning at the core of autonomous reactive agents. In: International NASA Workshop on Planning and Scheduling for Space (IWPSS), Houston, TX, USA (2002)Google Scholar
  23. 23.
    Volpe, Richard, Nesnas, Issa, Estlin, Tara, Mutz, D, Petras, Richard, Das, Hari: The CLARAty Architecture for Robotic Autonomy. In: IEEE Aerospace Conference, Big Sky, MT, USA (2001)Google Scholar
  24. 24.
    Brugali, D., Scandurra, P.: Component-based robotic engineering (Part I). IEEE Robot. Autom. Mag. 16 (4), 84–96 (2009)CrossRefGoogle Scholar
  25. 25.
    Brugali, D., Shakhimardanov, A.: Component-based robotic engineering (Part II). IEEE Robot. Autom. Mag. 17(1), 100–112 (2010)CrossRefGoogle Scholar
  26. 26.
    Jung, M.Y., Balicki, M., Taylor, R.H., Kazanzides, P.: Lessons learned from the development of component-based medical robot systems. J. Softw. Eng. Robotics 5(2), 25–41 (2013)Google Scholar
  27. 27.
    Ando, N., Kurihara, S., Biggs, G., Sakamoto, T., Nakamoto, H., Kotoku, T.: Software deployment infrastructure for component based rt-systems. J. Rob. Mechatronics 23(3), 350–359 (2011)CrossRefGoogle Scholar
  28. 28.
    Manso, L., Bachiller, P., Bustos, P., Nunez, P., Cintas, R., Calderita, L.: RoboComp: a tool-based robotics framework. In: International Conference on Simulation, Modelling and Programming for Autonomous Robots (SIMPAR), Darmstadt, Germany (2010)Google Scholar
  29. 29.
    Martínez, J., Romero-Garcés, A., Manso, L., Bustos, P.: Improving a robotics framework with real-time and high-performance features. In: International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), Darmstadt, Germany (2010)Google Scholar
  30. 30.
    Soetens, P., Bruyninckx, H.: Realtime hybrid task-based control for robots and machine tools. In: International Conference on Robotics and Automation (ICRA), Barcelona, Spain (2005)Google Scholar
  31. 31.
    Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Berger, E., Wheeler, R., Mg, A.: ROS: an open-source robot operating system. In: ICRA Workshop on Open Source Software, Kobe, Japan (2009)Google Scholar
  32. 32.
    Basu, A., Gallien, M., Lesire, C., Nguyen, T.-h., Bensalem, S., Ingrand, F., Sifakis, J.: Incremental component-based construction and verification of a robotic system. In: Eureopean Conference on Artificial Intelligence (ECAI), Patras, Greece (2008)Google Scholar
  33. 33.
    Navet, N., Loïc, F.: CPAL high-level abstractions for safe embedded systems. In: Proceedings of the International Workshop on Domain-specific Modeling, DSM 2016, pp. 35–41, New York, NY, USA. ACM (2016)Google Scholar
  34. 34.
    Rock, the robot construction kit. http://www.rock-robotics.org/stable/
  35. 35.
    Bruyninckx, H., Klotzbücher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., Brugali, D.: The BRICS component model: a model-based development para-digm for complex robotics software systems. In: ACM Symposium on Applied Computing (SAC), Coimbra, Portugal (2013)Google Scholar
  36. 36.
    Mallet, A., Pasteur, C., Herrb, M.: GenoM3: building middleware-independent robotic components. In: International Conference on Robotics and Automation (ICRA), Anchorage, AK, USA (2010)Google Scholar
  37. 37.
    Foughali, M., Berthomieu, B., Dal Zilio, S., Ingrand, F., Mallet, A.: Model checking real-time properties on the functional layer of autonomous robots. In: International Conference on Formal Engineering Methods (ICFEM), Tokyo, Japan (2016)Google Scholar
  38. 38.
    Schlegel, C., Steck, A., Brugali, D., Knoll, A.: Design abstraction and processes in robotics: from code-driven to model-driven engineering. In: International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), Darmstadt, Germany (2010)Google Scholar
  39. 39.
    Steck, A., Schlegel, C.: Towards quality of service and resource aware robotic systems through model-driven software development. In: International Workshop on Domain-Specific Languages and Models for Robotic Systems (DSLRob), Taipei, Taiwan (2010)Google Scholar
  40. 40.
    Singhoff, F., Legrand, J., Nana, L., Marcé, L.: Cheddar: a flexible real time scheduling framework. ACM SIGAda Ada Lett. 24(4), 1–8 (2004)CrossRefGoogle Scholar
  41. 41.
    Gobillot, N., Lesire, C., Doose, D.: A modeling framework for software architecture specification and validation. In: International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), Bergamo, Italy (2014)Google Scholar
  42. 42.
    Gobillot, N., Doose, D., Lesire, C., Santinelli, L.: Periodic state-machine aware real-time analysis. In: Emerging Technologies and Factory Automation (ETFA), Luxembourg, Luxembourg (2015)Google Scholar
  43. 43.
    Gobillot, N., Guet, F., Doose, D., Grand, C., Lesire, C., Santinelli, L.: Measurement-based real-time analysis of robotic software architectures. In: International Conference on Intelligent Robots and Systems (IROS), Daejeon, South Korea (2016)Google Scholar
  44. 44.
    Watanabe, Y., Manecy, A., Amiez, A., Lesire, C., Grand, C.: Non-cooperative ground vehicle tracking and interception by multi-RPA collaboration. In: International Council of the Aeronautical Sciences (ICAS), Daejeon, South Korea (2016)Google Scholar
  45. 45.
    Feiler, P., Gluch, D.: Model-based engineering with AADL: an introduction to the SAE architecture analysis & design language. Addison-Wesley Professional, Boston (2012)Google Scholar
  46. 46.
    Varró, D.: A formal semantics of UML statecharts by model transition systems. In: International Conference on Graph Transformation (ICGT), Barcelona, Spain (2002)Google Scholar
  47. 47.
    Selic, B., Gérard, S.: Modeling and analysis of real-time and embedded systems with UML and MARTE: developing Cyber-Physical systems. Elsevier, Amsterdam (2013)Google Scholar
  48. 48.
    Biggs, G., Fujiwara, K., Anada, K.: Modelling and analysis of a redundant mobile robot architecture using AADL. In: International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), Bergamo, Italy (2014)Google Scholar
  49. 49.
    Bardaro, G., Semprebon, A., Matteucci, M.: AADL For robotics: a general approach for system architecture modeling and code generation. J. Softw. Eng. Robotics (JOSER) 8(1), 32–44 (2017)Google Scholar
  50. 50.
    Hart, P., Nilsson, N., Raphael, B.: A formal basis for the heuristic determination of minimum cost paths. IEEE Trans. Syst. Sci. Cybern. 4(2), 100–107 (1968)CrossRefGoogle Scholar
  51. 51.
    Szyperski, C., Gruntz, D., Stephan, M.: Component software: beyond object-oriented programming. Addison-Wesley, Reading (2002)Google Scholar
  52. 52.
    Schlegel, C.: Communication patterns as key towards component-based robotics. J. Adv. Robotic Syst. 3(1), 49–54 (2006)Google Scholar
  53. 53.
    Klotzbücher, M., Bruyninckx, H.: Coordinating robotic tasks and systems with rFSM statecharts. J. Softw. Eng. Robotics (JOSER) 1(1), 28–56 (2012)Google Scholar
  54. 54.
    Gobillot, N., Lesire, C., Doose, D.: A component-based navigation-guidance-control design pattern for mobile robots. In: ICRA Workshop on Software Development and Integration for Robotics (SDIR), Karlsruhe, Germany (2013)Google Scholar
  55. 55.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  56. 56.
    Wilhelm, R., Mitra, T., Mueller, F., Puaut, I., Puschner, P., Staschulat, J., Stenström, P., Engblom, J., Ermedahl, A., Holsti, N., Thesing, S., Whalley, D., Bernat, G., Ferdinand, C., Heckmann, R.: The worst-case execution-time problem-overview of methods and survey of tools. ACM Trans. Embedded Comput. Syst. 7(3), 36:1–36:53 (2008)CrossRefGoogle Scholar
  57. 57.
    Ferdinand, C.: Worst case execution time prediction by static program analysis. In: International Parallel and Distributed Processing Symposium (IPDPS), Santa Fe, NM, USA (2004)Google Scholar
  58. 58.
    Hansen, Jeffery, Hissam, Scott, Moreno, Gabriel: Statistical-Based WCET Estimation and Validation. Dublin, IrelandGoogle Scholar
  59. 59.
    Cucu-Grosjean, L., Santinelli, L., Houston, M., Lo, C., Vardanega, T., Kosmidis, L., Abella, J., Mezzetti, E., Quiñones, E., Cazorla, F.: Measurement-based probabilistic timing analysis for multi-path programs. In: Euromicro Conference on Real-Time Systems (ECRTS), Pisa, Italy (2012)Google Scholar
  60. 60.
    Mok, A., Chen, D.: A multiframe model for real-time tasks. IEEE Trans. Softw. Eng. 23(10), 635–645 (1997)CrossRefGoogle Scholar
  61. 61.
    Moyo, N.T., Nicollet, E., Lafaye, F., Moy, C.: On schedulability analysis of non-cyclic generalized multiframe tasks. In: Euromicro Conference on Real-Time Systems (ECRTS), Brussels, Belgium (2010)Google Scholar
  62. 62.
    Stigge, M., Ekberg, P., Guan, N., Yi, W.: The digraph real-time task model. In: Real-Time and Embedded Technology and Applications Symposium (RTAS), Chicago, IL, USA (2011)Google Scholar
  63. 63.
    Zeng, H., Di Natale, M.: Schedulability analysis of periodic tasks implementing synchronous finite state machines. In: 2012 24th Euromicro Conference on Real-Time Systems (2012)Google Scholar
  64. 64.
    Baruah, S., Rosier, L.E., Howell, R.R.: Algorithms and complexity concerning the preemptive scheduling of periodic, real-time tasks on one processor. Real-Time Syst. 2, 301–324 (1990)CrossRefGoogle Scholar
  65. 65.
    Desnoyers, M., Dagenais, M.: The LTTng tracer: a low impact performance and behavior monitoring for GNU/Linux. In: Linux Symposium, Ottawa, Canada (2006)Google Scholar
  66. 66.
    Doose, D., Grand, C., Lesire, C.: MAUVE runtime: a component-based middleware to reconfigure software architectures in real-time. J. Softw. Eng. Robotics (JOSER) 8(1), 128–140 (2017)Google Scholar

Copyright information

© Springer Nature B.V. 2018

Authors and Affiliations

  1. 1.IfremerLa Seyne-sur-MerFrance
  2. 2.ONERAToulouseFrance

Personalised recommendations