Published in Volume XXXI, Issue 1, 2021, pages 111-144, doi: 10.7561/SACS.2021.1.111
Authors: M.Trezzy, I. Ober, I. Ober, R. Oliveira
Abstract
The Robot Operating System (ROS) is one of the most used software framework to develop robot applications. Although it is possible to reuse packages and code from other ROS projects, ROS applications remain low level and reasoning at a higher level of abstraction is not possible. Using Model-Driven Engineering (MDE) in the context of ROS applications would allow to increase the accessibility of ROS, leverage the reusability of packages and supply validation of the software earlier in the design, using formal methods. For instance, formal verification methods would improve the overall dependability of robotic systems. Our view is that we should increase the abstraction of the systems through models using MDE methodology in order to enable the use of formal methods on ROS applications. In this paper we do a first step toward this and propose a comparative study of existing modeling alternatives aiming to help roboticists to smoothly adopt MDE. This study compares the use of modeling in ROS systems in three different ways: by means of direct UML modeling, a ROS UML prole and a ROS Domain-Specific Language. That allows us to pick the solution that better fits our needs.
Full Text (PDF)References
[1] M. Bernardino, E. de M. Rodrigues, A. F. Zorzo: Performance Testing Modeling: An Empirical Evaluation of DSL and UML-based Approaches. In S. Ossowski (Ed.) Proceedings of the 31st Annual ACM Symposium on Applied Computing (SAC 2016), 1660-1665, 2016. doi:10.1145/2851613.2851832
[2] D. Brugali. Model-Driven Software Engineering in Robotics: Models Are Designed to Use the Relevant Things, Thereby Reducing the Complexity and Cost in the Field of Robotics. Robotics Automation Magazine, IEEE 22, 155-166, 2015. doi:10.1109/MRA.2015.2452201
[3] D. Brugali, L. Gherardi. HyperFlex: A Model Driven Toolchain for Designing and Configuring Software Control Systems for Autonomous Robots. In A. Koubaa (Ed.) Robot Operating System (ROS). Studies in Computational Intelligence 625, 509-534, Springer, 2016. doi:10.1007/978-3-319-26054-9_20
[4] R. Carvalho, A. Cunha, N. Macedo, A. Santos. Verification of Systemwide Safety Properties of ROS Applications. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2020), 7249-7254, 2020. doi:10.1109/IROS45743.2020.9341085
[5] E. de Araujo Silva, E. Valentin, J. R. H. Carvalho, R. da Silva Barreto. A Survey of Model Driven Engineering in Robotics. Journal of Computer Languages 62, 101021, 2021. doi:10.1016/j.cola.2020.101021
[6] S. Dhouib, S. Kchir, S. Stinckwich, T. Ziadi, M. Ziane. RobotML, a Domain-Specific Language to Design, Simulate and Deploy Robotic Applications. In I. Noda, N. Ando, D. Brugali, J. J. Kuner (Eds.) Third International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR 2012), Lecture Notes In Computer Science 7628, 149-160, 2012. doi:10.1007/978-3-642-34327-8\_16
[7] R. Drath, A. Luder, J. Peschke, L. Hundt. AutomationML – The Glue for Seamless Automation Engineering. 13th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA 2008), 616-623, 2008. doi:10.1109/ETFA.2008.4638461
[8] S. Gerard, C. Dumoulin, P. Tessier, B. Selic. 19 Papyrus: A UML2 Tool for Domain-Specific Language Modeling. In H. Giese, G. Karsai, E. Lee, B. Rumpe, B. Schatz (Eds.) Model-Based Engineering of Embedded Real-Time Systems (MBEERTS 2007), Lecture Notes in Computer Science 6100, 361-368, 2010. doi:10.1007/978-3-642-16277-0_19
[9] L. Gherardi, D. Brugali. Modeling and Reusing Robotic Software Architectures: The HyperFlex Toolchain. IEEE International Conference on Robotics and Automation (ICRA 2014), 6414-6420, 2014. doi:10.1109/ICRA.2014.6907806
[10] R. Halder, J. Proenca, N. Macedo, A. Santos. Formal Verification of ROS-Based Robotic Applications Using Timed-Automata. 5th IEEE/ACM International FME Workshop on Formal Methods in Software Engineering (FormaliSE@ICSE 2017), 44-50, 2017. doi:10.1109/FormaliSE.2017.9
[11] N. Hammoudeh Garcia, L. Deval, M. Ludtke, A. Santos, B. Kahl, M. Bordignon. Bootstrapping MDE Development from ROS Manual Code – Part 2: Model Generation. In M. Kessentini, T. Yue, A. Pretschner, S. Voss, L. Burgueno (Eds.) 22nd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems (MODELS 2019), 95-105, 2019. doi:10.1109/MODELS.2019.00-11
[12] N. Hammoudeh Garcia, M. Ludtke, S. Kortik, B. Kahl, M. Bordignon. Bootstrapping MDE Development from ROS Manual Code – Part 1: Metamodeling. 3rd IEEE International Conference on Robotic Computing (IRC 2019), 329-336, 2019. doi:10.1109/IRC.2019.00060
[13] Y. Hua, S. Zander, M. Bordignon, B. Hein. From AutomationML to ROS: A Model-driven Approach for Software Engineering of Industrial Robotics Using Ontological Reasoning. 21st IEEE International Conference on Emerging Technologies and Factory Automation (ETFA 2016), 1-8, 2016. doi:10.1109/ETFA.2016.7733579
[14] P. Kortum, C. Z. Acemyan. The Relationship Between User Mousebased Performance and Subjective Usability Assessments. Proceedings of the Human Factors and Ergonomics Society Annual Meeting 50(1), 1174-1178, 2016. doi:10.1177/1541931213601275
[15] T. Kosar, M. Mernik, M., J. C. Carver. Program Comprehension of Domain-specific and General-purpose Languages: Comparison Using a Family of Experiments. Empirical Software Engineering 17(3), 276-304, 2012. doi:10.1007/s10664-011-9172-x
[16] N. Macedo, J. Brunel, D. Chemouil, A. Cunha, D. Kuperberg. Lightweight specification and Analysis of Dynamic Systems with Rich Configurations. In T. Zimmermann, J. Cleland-Huang, Z. Su (Eds.) 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering (FSE 2016), 373-383, 2016. doi:10.1145/2950290.2950318
[17] I. Malavolta, H. Muccini. A Study on MDE Approaches for Engineering Wireless Sensor Networks. 40th EUROMICRO Conference on Software Engineering and Advanced Applications (EUROMICRO-SEAA 2014), 149-157, 2014. doi:10.1109/SEAA.2014.61
[18] P. Mohagheghi, V. Dehlen. Existing Model Metrics and Relations to Model Quality. ICSE Workshop on Software Quality (WoSQ@ICSE 2009), 39-45,2009. doi:10.1109/WOSQ.2009.5071555
[19] T. Neto, R. Arrais, A. Sousa, A. Santos, G. Veiga. Applying Software Static Analysis to ROS: The Case Study of the FASTEN European Project. In M. F. Silva, J. Lus Lima, L. P. Reis, A. Sanfeliu, D. Tardioli (Eds.) Fourth Iberian Robotics Conference – Advances in Robotics (ROBOT 2019), Advances in Intelligent Systems and Computing 1092, 632-644, 2019. doi:10.1007/978-3-030-35990-4\_51
[20] OMG. Unied Modeling Language, 2021. https://www.omg.org/technology/readingroom/UML.htm/
[21] M. Quigley, K. Conley, B. P. Gerkey, J. Faust, T. Foote, J. Leibs, R. C. Wheeler, A. Y. Ng. ROS: An Open-source Robot Operating System. ICRA Workshop on Open Source Software, 2009.
[22] A. Santos, A. Cunha, N. Macedo. Static-time Extraction and Analysis of the ROS Computation Graph. 3rd IEEE International Conference on Robotic Computing (IRC 2019), 62-69, 2019. doi:10.1109/IRC.2019.00018
[23] A. Santos, A. Cunha, N. Macedo, C. Lourenco. A Framework for Quality Assessment of ROS Repositories. IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2016), 4491-4496, 2016. doi:10.1109/IROS.2016.7759661
[24] B. Selic, C. Bock, S. Cook, P. Rivett, T. Rutt, E. Seidewitz, D. Tolbert. OMG Unified Modeling Language (Version 2.5), 03 2015. OMG:formal/2015-03-01
[25] K. Suri, A. Cuccuru, J. Cadavid, S. Gerard, W. Gaaloul, S. Tata. Modelbased development of Modular Complex Systems for Accomplishing System Integration for Industry 4.0. In L. F. Pires, S. Hammoudi, B. Selic (Eds.) 5th International Conference on Model-Driven Engineering and Software Development (MODELSWARD 2017), 487-495, 2017. doi:10.5220/00062105048704951
[26] M. Webster, C. Dixon, M. Fisher, M. Salem, J. Saunders, K. L. Koay, K. Dautenhahn, J. Saez-Pons. Toward Reliable Autonomous Robotic Assistants Through Formal Verication: A Case Study. IEEE Transactions on Human-Machine Systems 46(2), 186-196, 2016, doi:10.1109/THMS.2015.2425139
[27] M. Wenger, W. Eisenmenger, G. Neugschwandtner, B. Schneider, A. Zoitl. A Model Based Engineering Tool for ROS Component Compositioning, Configuration and Generation of Deployment Information. 21st IEEE International Conference on Emerging Technologies and Factory Automation (ETFA 2016), 1-8, 2016. doi:10.1109/ETFA.2016.7733559
Bibtex
@article{sacscuza:trezzy21amrsaca, title={Applying MDE to ROS Systems: A Comparative Analysis}, author={M.Trezzy, I. Ober, I. Ober, R. Oliveira}, journal={Scientific Annals of Computer Science}, volume={31}, number={1}, organization={Alexandru Ioan Cuza University, Ia\c si, Rom\^ania}, year={2021}, pages={111–144}, publisher={Alexandru Ioan Cuza University Press, Ia\c si}, doi={10.7561/SACS.2021.1.111} }