Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Scotchmer, S.: Standing on the shoulders of giants: cumulative research and the patent law. J. Econ. Perspect. 29–41 (1991)
Garlan, D.: Formal modeling and analysis of software architecture: components, connectors, and events. In: Formal Methods for Software Architectures, pp. 1–24. Springer (2003)
Agre, P.E., Chapman, D.: What are plans for? Robot. Auton. Syst. 6(1), 17–34 (1990)
Brooks, R.A.: A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 2(1), 14–23 (1986)
Gat, E., et al.: On three-layer architectures. Artif. Intell. Mob. Robot. Case Stud. Success. Robot. Syst. 195 (1998)
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)
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)
Chong, H.Q., Tan, A.H., Ng, G.W.: Integrated cognitive architectures: a survey. Artif. Intell. Rev. 28(2), 103–130 (2007) [Online]. http://dx.doi.org/10.1007/s10462-009-9094-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)
Friedenthal, S., Moore, A., Steiner, R.: A Practical Guide to SysML: the Systems Modeling Language. Elsevier (2011)
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, 2007
Alami, R., Chatila, R., Fleury, S., Ghallab, M., Ingrand, F.: An architecture for autonomy. Int. J. Robot. Res. 17(4), 315–337 (1998)
Oltramari, A., Lebiere, C.: Extending cognitive architectures with semantic resources. In: Artificial General Intelligence, pp. 222–231
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)
Szyperski, C.: Component Software: Beyond Object-Oriented Programming. Pearson Education (2002)
Brugali, D., Scandurra, P.: Component-based robotic engineering (part i) [tutorial]. Robot. Autom. Mag. IEEE 16(4), 84–96 (2009)
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)
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)
MARTE.: UML Profile for MARTE: Modeling and Analysis of Real-Time Embedded Systems, version 1.1 ed., Object Management Group, June 2011
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)
Tapus, A., Mataric, M.J., Scassellati, B.: Socially assistive robotics. IEEE Robot. Autom. Mag. 14(1), 35 (2007)
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)
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)
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 2014
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)
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)
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 2014
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)
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)
Van Lamsweerde et al., A.: Requirements Engineering: From System Goals to UML Models to Software Specifications (2009)
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)
Ramaswamy, A., Monsuez, B., Tapus, A.: Solution space modeling for robotic systems. J. Softw. Eng. Robot. (JOSER) (In Press, 2014)
Bencomo, N., France, R., Cheng, B.H.C., Amann, U.: Models@run.time, Foundations, Applications, and Roadmaps. Springer (2014)
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)
Biggs, G., MacDonald, B.: A survey of robot programming systems. In: Proceedings of the Australasian Conference on Robotics and Automation, pp. 1–3 (2003)
Elkady, A., Sobh, T.: Robotics middleware: a comprehensive literature survey and attribute-based bibliography. J. Robot. 2012 (2012)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Klotzbu¨cher, M., Bruyninckx, H.: Coordinating robotic tasks and systems with rfsm statecharts. JOSER: J. Softw. Eng. Robot. 3(1), 28–56 (2012)
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)
Bhave, A., Krogh, B., Garlan, D., Schmerl, B.: Multi-domain modeling of cyber- physical systems using architectural views. AVICPS 2010, 43 (2010)
Jones, R.M., Crossman, J.A., Lebiere, C., Best, B.J.: An abstract language for cognitive modeling. Ann. Arbor 1001, 48105 (2006)
Heinath, M., Dzaack, J., Wiesner, A., Urbas, L.: Simplifying the development and the analysis of cognitive models. Proc. EuroCogSci07 (2007)
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)
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)
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)
Acknowledgements
This research is funded by VeDeCoM Institute, a French automotive cluster on mobility research.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Ramaswamy, A., Monsuez, B., Tapus, A. (2020). Formal Specification of Robotic Architectures for Experimental Robotics. In: Bonsignorio, F., Messina, E., del Pobil, A., Hallam, J. (eds) Metrics of Sensory Motor Coordination and Integration in Robots and Animals. Cognitive Systems Monographs, vol 36. Springer, Cham. https://doi.org/10.1007/978-3-030-14126-4_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-14126-4_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-14124-0
Online ISBN: 978-3-030-14126-4
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)