Formal Specification of Robotic Architectures for Experimental Robotics

  • Arunkumar RamaswamyEmail author
  • Bruno Monsuez
  • Adriana Tapus
Part of the Cognitive Systems Monographs book series (COSMOS, volume 36)


Robotic systems are becoming more safety critical systems as they are deployed in unstructured human-centered environments. These software intensive systems are composed of distributed, heterogeneous software components interacting in a highly dynamic, uncertain environment. However, no systematic software development process is followed in robotics research. This is a real barrier for system level performance analysis and reasoning, which are in turn required for scalable bench-marking methods and reusing existing software. This chapter provides an end-to-end overview on how robotic software systems can be formally specified from requirement modeling, through solution space exploration, and architecture modeling, and finally to generate executable code. The process is based on SafeRobots framework—a model-driven toolchain for designing software for robotics. Several domain-specific modeling languages that are developed as a part of this integrated approach are also discussed.


Robotics Software architecture Model-driven software engineering Formal specification 



This research is funded by VeDeCoM Institute, a French automotive cluster on mobility research.


  1. 1.
    Scotchmer, S.: Standing on the shoulders of giants: cumulative research and the patent law. J. Econ. Perspect. 29–41 (1991)Google Scholar
  2. 2.
    Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Formal Methods for Software Architectures, pp. 1–24. Springer (2003)Google Scholar
  3. 3.
    Agre, P.E., Chapman, D.: What are plans for? Robot. Auton. Syst. 6(1), 17–34 (1990)Google Scholar
  4. 4.
    Brooks, R.A.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)Google Scholar
  5. 5.
    Gat, E., et al.: On three-layer architectures. Artif. Intell. Mob. Robot. Case Stud. Success. Robot. Syst. 195 (1998)Google Scholar
  6. 6.
    Anderson, J.R., Matessa, M., Lebiere, C.: Act-r: a theory of higher level cognition and its relation to visual attention. Hum.-Comput. Interact. 12(4), 439–462 (1997)Google Scholar
  7. 7.
    Langley, P., Choi, D.: A unified cognitive architecture for physical agents. In: Proceedings of the National Conference on Artificial Intelligence, vol. 21, no. 2, p. 1469. Menlo Park, CA; Cambridge, MA; London; AAAI Press; MIT Press, 1999 (2006)Google Scholar
  8. 8.
    Chong, H.Q., Tan, A.H., Ng, G.W.: Integrated cognitive architectures: a survey. Artif. Intell. Rev. 28(2), 103–130 (2007) [Online].
  9. 9.
    Jacobson, I., Booch, G., Rumbaugh, J.E.: The Unified Software Development Process-The Complete Guide to the Unified Process from the Original Designers. Addison-Wesley (1999)Google Scholar
  10. 10.
    Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: the Systems Modeling Language. Elsevier (2011)Google Scholar
  11. 11.
    Faugere, M., Bourbeau, T., De Simone, R. and Gerard, S.: Marte: Also an uml profile for modeling aadl applications. In: 12th IEEE International Conference on Engineering Complex Computer Systems, pp. 359–364. IEEE, 2007Google Scholar
  12. 12.
    Alami, R., Chatila, R., Fleury, S., Ghallab, M., Ingrand, F.: An architecture for autonomy. Int. J. Robot. Res. 17(4), 315–337 (1998)Google Scholar
  13. 13.
    Oltramari, A., Lebiere, C.: Extending cognitive architectures with semantic resources. In: Artificial General Intelligence, pp. 222–231Google Scholar
  14. 14.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Saferobots: a model-driven approach for designing robotic software architectures. In: International Conference on Collaboration Technologies and Systems (CTS). IEEE (2014, forthcoming)Google Scholar
  15. 15.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Pearson Education (2002)Google Scholar
  16. 16.
    Brugali, D., Scandurra, P.: Component-based robotic engineering (part i) [tutorial]. Robot. Autom. Mag. IEEE 16(4), 84–96 (2009)Google Scholar
  17. 17.
    France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: 2007 Future of Software Engineering. IEEE Computer Society, pp. 37–54 (2007)Google Scholar
  18. 18.
    Torngren, M., Chen, D., Crnkovic, I.: Component-based vs. model-based development: a comparison in the context of vehicular embedded systems. In: 31st EUROMICRO Conference on Software Engineering and Advanced Applications, 2005, pp. 432–440. IEEE (2005)Google Scholar
  19. 19.
    MARTE.: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, version 1.1 ed., Object Management Group, June 2011Google Scholar
  20. 20.
    Chung, L., do Prado Leite, J.C.S.: On non-functional requirements in software engineering. In: Conceptual Modeling: Foundations and Applications, pp. 363–379. Springer (2009)Google Scholar
  21. 21.
    Tapus, A., Mataric, M.J., Scassellati, B.: Socially assistive robotics. IEEE Robot. Autom. Mag. 14(1), 35 (2007)Google Scholar
  22. 22.
    Ingl´es-Romero, J.F., Lotz, A., Chicote, C.V., Schlegel, C.: Dealing with RunTime variability in service robotics: towards a DSL for non-functional properties. arXiv:1303.4296 (2013)
  23. 23.
    Steinfeld, A., Fong, T., Kaber, D., Lewis, M., Scholtz, J., Schultz, A., Goodrich, M.: Common metrics for human-robot interaction. In: Proceedings of the 1st ACM SIGCHI/SIGART Conference on Human-Robot Interaction, pp. 33–40. ACM (2006)Google Scholar
  24. 24.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Modeling non-functional properties for human-machine systems. In: 2014 AAAI Spring Symposium Series, Formal Verification and Modeling in Human-Machine Systems, Palo Alto, USA, March 2014Google Scholar
  25. 25.
    Amyot, D., Ghanavati, S., Horkoff, J., Mussbacher, G., Peyton, L., Yu, E.: Evaluating goal models within the goal-oriented requirement language. Int. J. Intell. Syst. 25(8), 841–877 (2010)Google Scholar
  26. 26.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Formal models for cognitive systems. In: 16th International Conference on Advanced Robotics (ICAR), November 2013, Montevideo, Uruguay, pp. 1–8. IEEE (2013)Google Scholar
  27. 27.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Architecture modeling and analysis language for designing robotic architectures. In: International Conference on Control, Automation, Robotics and Vision (ICARCV), Singapore, December 2014Google Scholar
  28. 28.
    Quigley, M., Conley, K., Gerkey, B., Faust, J., Foote, T., Leibs, J., Wheeler, R., Ng, A.Y.: Ros: an open-source robot operating system. ICRA Workshop on Open Source Software 3(3.2), 5 (2009)Google Scholar
  29. 29.
    Koenig, N., Howard, A.: Design and use paradigms for gazebo, an open-source multi-robot simulator. In: Proceedings. 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems, 2004 (IROS 2004), vol. 3, pp. 2149–2154. IEEE (2004)Google Scholar
  30. 30.
    Van Lamsweerde et al., A.: Requirements Engineering: From System Goals to UML Models to Software Specifications (2009)Google Scholar
  31. 31.
    Giese, H., Bencomo, N., Pasquale, L., Ramirez, A.J., Inverardi, P., Wätzoldt, S., Clarke, S.: Living with uncertainty in the age of runtime models. In Models@ run. time, pp. 47–100. Springer (2014)Google Scholar
  32. 32.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Solution space modeling for robotic systems. J. Softw. Eng. Robot. (JOSER) (In Press, 2014)Google Scholar
  33. 33.
    Bencomo, N., France, R., Cheng, B.H.C., Amann, U.: Models@run.time, Foundations, Applications, and Roadmaps. Springer (2014)Google Scholar
  34. 34.
    Mohamed, N., Al-Jaroodi, J., Jawhar, I.: Middleware for robotics: a survey. In: 2008 IEEE Conference on Robotics, Automation and Mechatronics, pp. 736–742. IEEE (2008)Google Scholar
  35. 35.
    Biggs, G., MacDonald, B.: A survey of robot programming systems. In: Proceedings of the Australasian Conference on Robotics and Automation, pp. 1–3 (2003)Google Scholar
  36. 36.
    Elkady, A., Sobh, T.: Robotics middleware: a comprehensive literature survey and attribute-based bibliography. J. Robot. 2012 (2012)Google Scholar
  37. 37.
    Wisspeintner, T., Van Der Zant, T., Iocchi, L., Schiffer, S.: Robocup@ home: scientific competition and benchmarking for domestic service robots. Interact. Stud. 10(3), 392–426 (2009)Google Scholar
  38. 38.
    Madhavan, R., Lakaemper, R., Kalmár-Nagy, T.: Benchmarking and standardization of intelligent robotic systems. In: ICAR 2009. International Conference on Advanced Robotics, pp. 1–7. IEEE (2009)Google Scholar
  39. 39.
    Shakhimardanov, A., Prassler, E.: Comparative evaluation of robotic software integration systems: a case study. In: IROS 2007. IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3031–3037. IEEE (2007)Google Scholar
  40. 40.
    Gherardi, L., Brugali, D.: Modeling and reusing robotic software architectures: the HyperFlex toolchain. In: IEEE International Conference on Robotics and Automation (ICRA 2014), Hong Kong, China, May 31–June 5 2014. IEEE (2014)Google Scholar
  41. 41.
    Schlegel, C., Worz, R.: The software framework smartsoft for implementing sensorimotor systems. In: Proceedings of 1999 IEEE/RSJ International Conference on Intelligent Robots and Systems, 1999. IROS’99, vol. 3, pp. 1610–1616. IEEE (1999)Google Scholar
  42. 42.
    Bischoff, R., Guhl, T., Prassler, E., Nowak, W., Kraetzschmar, G., Bruyninckx, H., Soetens, P., Haegele, M., Pott, A., Breedveld, P., Broenink, J.: Brics-best practice in robotics. In: 2010 41st International Symposium on and 2010 6th German Conference on Robotics (ROBOTIK) on Robotics (ISR). VDE, pp. 1–8 (2010)Google Scholar
  43. 43.
    Vanthienen, D., Klotzbuecher, M., Bruyninckx, H.: The 5c-based architectural composition pattern: lessons learned from re-developing the ITASC framework for constraint-based robot programming. JOSER J. Softw. Eng. Robot. 5(1), 17–35 (2014)Google Scholar
  44. 44.
    Dhouib, S., Kchir, S., Stinckwich, S., Ziadi, T., Ziane, M.: Robotml, a domain- specific language to design, simulate and deploy robotic applications. In: Simulation, Modeling, and Programming for Autonomous Robot, pp. 149–160. Springer (2012)Google Scholar
  45. 45.
    Alonso, D., Vicente-Chicote, C., Ortiz, F., Pastor, J., Alvarez, B.: V3cmm: A 3-view component meta-model for model-driven robotic software development. J. Softw. Eng. Robot. 1(1), 3–17 (2010)Google Scholar
  46. 46.
    Lu¨tkebohle, I., Philippsen, R., Pradeep, V., Marder-Eppstein, E., Wachsmuth, S.: Generic middleware support for coordinating robot software components: the task-state-pattern. J. Softw. Eng. Robot. 2(1), 20–39 (2011)Google Scholar
  47. 47.
    Klotzbu¨cher, M., Bruyninckx, H.: Coordinating robotic tasks and systems with rfsm statecharts. JOSER: J. Softw. Eng. Robot. 3(1), 28–56 (2012)Google Scholar
  48. 48.
    Eker, J., Janneck, J.W., Lee, E.A., Liu, J., Liu, X., Ludvig, J., Neuendorffer, S., Sachs, S., Xiong, Y.: Taming heterogeneity-the ptolemy approach. Proc. IEEE 91(1), 127–144 (2003)Google Scholar
  49. 49.
    Bhave, A., Krogh, B., Garlan, D., Schmerl, B.: Multi-domain modeling of cyber- physical systems using architectural views. AVICPS 2010, 43 (2010)Google Scholar
  50. 50.
    Jones, R.M., Crossman, J.A., Lebiere, C., Best, B.J.: An abstract language for cognitive modeling. Ann. Arbor 1001, 48105 (2006)Google Scholar
  51. 51.
    Heinath, M., Dzaack, J., Wiesner, A., Urbas, L.: Simplifying the development and the analysis of cognitive models. Proc. EuroCogSci07 (2007)Google Scholar
  52. 52.
    Garlan, D., Monroe, R., Wile, D.: ACME: an architecture description interchange language. In: CASCON First Decade High Impact Papers. IBM Corp., pp. 159–173 (1997)Google Scholar
  53. 53.
    Clements, P.C.: A survey of architecture description languages. In: Proceedings of the 8th International Workshop on Software Specification and Design. IEEE Computer Society, p. 16 (1996)Google Scholar
  54. 54.
    Ramaswamy, A., Monsuez, B., Tapus, A.: Model-driven software development approaches in robotics research. In: Proceedings of the International Conference on Software Engineering (ICSE), Hyderabad, India. ACM (2014)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Arunkumar Ramaswamy
    • 1
    • 2
    Email author
  • Bruno Monsuez
    • 1
  • Adriana Tapus
    • 1
  1. 1.Department of Computer and System EngineeringENSTA-ParisTechPalaiseauFrance
  2. 2.VeDeCom InstituteVersaillesFrance

Personalised recommendations