A Model-Based Approach for Common Representation and Description of Robotics Software Architectures
Abstract
:1. Introduction
- How can we capitalize know-how in terms of architectural design?
- How can we describe and encapsulate the functions of the robot in the form of software entities?
- With which paradigm should these software entities be represented in order to facilitate their use and reuse?
- Which formalism should be adopted to provide a standard representation of robotic software architectures? Which languages should be used to specify the conceptual model of these architectures? Generalist languages? Or languages that are specific to this field?
- At which level of abstraction should we reason to guarantee the independence of architectures described with respect to technologies, and thus facilitate their reuse and possibly reduce a system’s development cost?
- How can we build tools making it possible to quickly define these architectures and validate them at the design stage (upstream validation)?
2. Literature Review
2.1. Background
2.1.1. Overview of Robotic Software Architectures
- Centralized architecturesThe first work on robotic control architectures belongs to the centralized architectures’ category. Centralized architectures were inspired from artificial intelligence, that is, organized around decision making and a symbolic state of the world and the robot [19,20]. These architectures place planning at the system’s center and share the axiom according to which the central problem in robotics is cognition, that is to say, the manipulation of symbols to maintain and act on a model of the world. The world is the environment with which the robot interacts. Among centralized architectures, we can mention the planning system STRIPS [19] which assumes that the plan remains static and the world is unchanged during its execution, and Blackboard architecture, ref. [21] which gathers information on a world that is assumed non static and takes decisions based on the world state and goals that could evolve during mission execution. Other examples of centralized architectures can be found in [22].
- Hierarchical architecturesThe organizational model of hierarchical architectures, also called deliberative architectures, centers the design over the decisional system [19,20]. These architectures are organized in several hierarchical layers (also called Levels) [21,23,24]. A layer only communicates directly with the levels immediately above and below itself. It breaks down a task, recommended to it by the immediately higher level, into more simple tasks for the immediately lower layer. The highest level manages the overall objectives of the application, while the lowest controls the robot’s actuators [20]. These architectures typically have three layers: functional (contains the perception modules), executive (in charge of the supervision of robot’s tasks execution), and decisional (in charge of planning). In this category of architectures, we can mention the following examples: NASREM (NASA Standard Reference Model) [25], the LIFIA architecture [26], the architecture Smach of I3S (Computer Science, Signals, and Systems Sophia Antipolis) [27], and FLEXHRC+ architecture, designed to provide collaborative robots with more autonomy when helping operators in shop-floor tasks that have large variability [28].
- Behavioral or reactive architecturesIn a reactive architecture [29], several modules connect the sensor inputs to the actuators. Each module implements a behavior, i.e., a basic functionality of the robot associating each input vector (the set of sensor values) to an output vector applied to the actuators. These behaviors are called “reactive” because they immediately provide an output value from a value in their entry. Inspired by observing animals’ behavior, these architectures are built according to the idea that a more mature behavior can emerge from a combination of a set of simple, basic behaviors.Subsumption architecture was the first behavioral architecture [29]. It was proposed by Brooks in the middle of the 1980s. Based on Brooks’ subsumption architecture, Rosenblat [30] proposed a new behavioral architecture called DAMN (Distributed Architectures for Mobile Navigation). Martín recently proposed an evolution of a behavior-based architecture developed at the Universities of Leon and Rey Juan Carlos [31]. This architecture takes into account the need for modular decomposition as well as the need for frequent reconfigurations to adapt to different competitions such as RoboCup Soccer and European Robotics League. It has been experimented with different robots, such as the four legged Aibo robot, the bipedal robot Nao, and wheeled robots TIAGo and RB1.
- Hybrid architecturesHybrid architectures combine the reactive capacity of behavioral architectures and reasoning skills (decisional) of hierarchical architectures [19,20]. These architectures include a hierarchy of layers and reactive nested loops, allowing each layer to provide responses tailored to its dynamics. Among hybrid architectures, we can mention The CONTROLSHELL [32]; LAAS architecture [33], which proved effective in the fields of mobile robotics both on the HILARE platform and in the MARTHA experiment; the ORCCAD architecture (Open Robot Controller Computer Aided Design System) of INRIA [34,35] that integrated formal verification of missions at the early steps of its design; The IDEA architecture (Intelligent Distributed Execution architecture) [19]; CLARATy (Coupled Layer aRchitecture for Robotic Autonomy) [36,37]; the architecture of the ISTL (Higher Technical Institute of Lisbon) [38]; and the Autonomous Robot Architecture (AuRA) [39].
2.1.2. Model-Driven Engineering
Brief Presentation of MDE
- The meta-modeling, which aims at building a model called meta-model that makes it possible to define models description languages, i.e., modeling languages. The meta-modeling enables the definition of a modeling language for a domain, also called Domain Specific Modeling Language (DSML), through the definition of domain concepts, relationships between these concepts, and specific constraints required by the domain.
- The model transformation that aims to build processing engines, enabling movement from one model to another and the creation of operational models (for code generation, documentation, testing, verification, implementation, etc.) [41].
Domain Specific Modeling Languages (DSML)
OCL: A Language for Verification of UML Models
Overview of Eclipse Modeling Framework (EMF)
2.2. Related Work
3. The New Domain Specific Modeling Language Proposed
3.1. Design Approach
3.2. Domain Analysis: The Main Modeling Concepts
- Identify the notions handled in the categories and examples of architectures;
- To abstract and define the resulting concepts, their properties, and the relations between them;
- Analyze the real-time properties handled in the domain and their context of use;
- Organize these concepts in a hierarchy.
3.3. Abstract Syntax of RsaML: The Proposed Meta-Model
- When defining the meta-model, by defining the multiplicities of the relations between the concepts;
- By defining and integrating semantic constraints to the meta-model. This is the purpose of the next section.
3.4. RsaML Semantics: Definition of Constraints on the Meta-Model
3.4.1. Definition of Semantic Rules
- The number of declared layers must be equal to the number of layers actually in the system.
- Two communicating modules must exchange the same type of data on their communication interfaces.
- A module only communicates with modules that are either on the same layer as it, or on the layer directly above or directly below.
- For some architectures in the category of behavioral architectures, a module can inhibit (or delete) only the outputs (resp inputs) of the modules of the immediately lower layer.
- If the type of a module is real-time, its period and delay must be non-zero.
- A module is real-time if all its functions are real-time.
- A function is real time if all its actions are real-time.
- Runtimes of all the modules of a layer are bound by the maximum execution time of the layer.
3.4.2. Defining OCL Constraints to Check Semantic Rules
Listing 1. Some OCL constraints imposed on the domain’s meta-model. |
|
3.5. Real-Time Properties Support
Listing 2. OCL constraints for management of real-time properties. |
|
3.6. Implementation: Meta-Modeling in Eclipse
3.7. Definition of a Concrete Syntax: The Tree Editor of RsaML
- An explorer of already created models. These models have a language-specific extension (.rsaml);
- The space reserved for the construction of the models;
- A menu allowing, among other things, to validate the model being built.
4. Validation: Experimentations of RsaML
4.1. Experimentation 1: A Robotic System Having a Hybrid Architecture
4.1.1. Description of the System
- A decision layer containing two modules. A module called temporal executive, that manages the planning of the global mission of the robot, and another module that oversees the missions sent by human operators.
- A control layer containing three modules. A module that checks the requests sent to the modules of the functional layer, another that verifies the use of the resources of the robot, and a last one that manages the aspects related to robustness and dependability.
- A functional layer containing two modules that offer services via queries to start/stop/ parameterize them, and making it possible to manage physical and logical resources (sensors and others). These modules have functions containing the actions that are necessary for the control of these resources.
4.1.2. Description of the Architecture with RsaML
4.2. Experimentation 2: Test of Semantics and Verification of a Model
- The number of defined layers is different from the number of layers actually created;
- A port communicates with another port whose data type is different from its own;
- A module of layer n modifies the data of another module located at layer n-2;
- The execution time of a module is greater than the maximum execution time defined for the layer that contains it;
- A function is defined as real-time, but contains non-real-time actions.
- The problem items carry a small red cross;
- Extracts of couples (properties, values) of certain elements of the model are represented in rectangles connected to these elements by lines which we will call “links” in the following.
- Four (4) layers are declared for the architecture (link 1a), but only three layers (decisional, control, and functional) are actually created;
- The type of data that the e0_prodExec input port can receive is “alphanumeric” (link 2a), but it is connected to the output port (its Outputport property) s0_ressourceCheck, which sends it data of type “numeric” (link 2b);
- The proceduralExec module deletes the entry e0_m01 (link 3a) of module m01, which is at the functional layer (link 3b) at level n-2, whereas the decisional layer is at level n;
- The execution duration of the resourceChecker module is 2.5 (link 4b), while the maximum time of execution of the layer where it is located is 2.0 (link 4a);
- The function f0_m01 is real-time (link 5a), but it contains an action which is not real-time (action a0_f0_m01).
4.3. Experimentation 3: A Robotic System Whose Architecture Belongs to None of the Classical Categories of Architectures
- A task interpreter: it has a function to provide this service;
- A motion controller: it has a function containing six actions named Instructions. These actions are periodic, and each has a period of 20 ms and an execution time of 1 ms.
5. Discussion
- Ability to model any type of robotic software architecture;
- Ability to describe the behaviour of the components (possibility for the user to specify new component and not only to use predefined components);
- Ability to express non-functional properties;
- Ability to express Real-time properties;
- −
- with periodic tasks (PT);
- −
- with aperiodic tasks (AT);
- −
- with policy and scheduling parameters (PSP);
- Defines a DSML (language);
- Independent from the target platform.
6. Conclusions and Future Work
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Brugali, D.; Reggiani, M. Software stability in the robotics domain: Issues and challenges. In Proceedings of the IRI-2005 IEEE International Conference on Information Reuse and Integration, Las Vegas, NV, USA, 15–17 August 2005; pp. 585–591. [Google Scholar]
- Passama, R.; Andreu, D.; Crestani, D.; Godary-Dejean, K. Architectures de contrôle pour la robotique—Approches et tendances. Tech. L’Ingenieur 2014, 1, S7791. [Google Scholar] [CrossRef]
- Nana, L.; Monin, F.; Gire, S. Formal Proof of Properties of a Syntax-Oriented Editor of Robotic Missions Plans. Adv. Sci. Technol. Eng. Syst. J. 2021, 6, 1049–1057. [Google Scholar] [CrossRef]
- Molina, M.; Carrera, A.; Camporredondo, A.; Bavle, H.; Rodriguez-Ramos, A.; Campoy, P. Building the executive system of autonomous aerial robots using the Aerostack open-source framework. Int. J. Adv. Robot. Syst. 2020, 17, 1–20. [Google Scholar] [CrossRef]
- Bettini, L.; Bourr, K.; Pugliese, R.; Tiezzi, F. Writing Robotics Applications with X-Klaim. In Leveraging Applications of Formal Methods, Verification and Validation: Engineering Principles, ISoLA 2020; Margaria, T., Steffen, B., Eds.; Lecture Notes in Computer Science; Springer: Cham, Switzerland, 2020. [Google Scholar]
- Zhang, Y.-N.; An, M.-Q. A Compact and Reliable Software Architecture for Robotics Control. In Proceedings of the 2021 IEEE International Conference on Information Communication and Software Engineering (ICICSE), Chengdu, China, 19–21 March 2021; pp. 41–46. [Google Scholar] [CrossRef]
- Kolak, S.; Afzal, A.; Le Goues, C.; Hilton, M.; Timperley, C.S. It Takes a Village to Build a Robot: An Empirical Study of The ROS Ecosystem. In Proceedings of the 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME), Adelaide, SA, Australia, 27 September–3 October 2020; pp. 430–440. [Google Scholar] [CrossRef]
- Rendiniello, A. A Flexible Software Architecture for Robotic Industrial Applications. In Proceedings of the 25th IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), Vienna, Austria, 8–11 September 2020; pp. 1273–1276. [Google Scholar] [CrossRef]
- Efremov, M.A.; Kholod, I.I. Architecture of Swarm Robotics System Software Infrastructure. In Proceedings of the 9th Mediterranean Conference on Embedded Computing (MECO), Budva, Montenegro, 8–11 June 2020; pp. 1–4. [Google Scholar] [CrossRef]
- Malavolta, I.; Lewis, G.; Schmerl, B.; Lago, P.; Garlan, D. How do you Architect your Robots? State of the Practice and Guidelines for ROS-based Systems. In Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), Seoul, Korea, 23–29 May 2020; pp. 31–40. [Google Scholar]
- Demeter, R. Cognitive robotics software development aspects based on experiments of future software engineers. In Proceedings of the 11th IEEE International Conference on Cognitive Infocommunications (CogInfoCom), Mariehamn, Finland, 23–25 September 2020; pp. 459–464. [Google Scholar] [CrossRef]
- Tröbinger, M. Introducing GARMI—A Service Robotics Platform to Support the Elderly at Home: Design Philosophy, System Overview and First Results. IEEE Robot. Autom. Lett. 2021, 6, 5857–5864. [Google Scholar] [CrossRef]
- Trezzy, M.; Ober, I.; Oliveira, R. Leveraging domain specific modeling to increase accessibility of robot programming. In Proceedings of the IEEE International Workshop of Electronics, Control, Measurement, Signals and Their Application to Mechatronics (ECMSM), Liberec, Czech Republic, 21–22 June 2021; pp. 1–9. [Google Scholar] [CrossRef]
- Hong, H.; Kang, W.; Ha, S. Software Development Framework for Cooperating Robots with High-level Mission Specification. In Proceedings of the IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Las Vegas, NV, USA, 24 January 2021; pp. 11615–11622. [Google Scholar] [CrossRef]
- Salas, R.P. Reusable Learning Objects: An Agile Approach. In Proceedings of the IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden, 21–24 October 2020; pp. 1–6. [Google Scholar] [CrossRef]
- Muratore, L.; Laurenzi, A.; Mingo Hoffman, E.; Tsagarakis, N.G. The XBot Real-Time Software Framework for Robotics: From the Developer to the User Perspective. IEEE Robot. Autom. Mag. 2020, 27, 133–143. [Google Scholar] [CrossRef]
- Triantafyllou, P. A Methodology for Approaching the Integration of Complex Robotics Systems: Illustration Through a Bimanual Manipulation Case Study. IEEE Robot. Autom. Mag. 2021, 28, 88–100. [Google Scholar] [CrossRef]
- De Araujo Silva, E.; Valentin, E.; Carvalho, J.R.H.; Da Silva Barreto, R. A survey of Model Driven Engineering in robotics. J. Comput. Lang. 2021, 62, 101021. [Google Scholar] [CrossRef]
- El Jalaoui, A. Gestion Contextuelle de Tâches Pour le Contrôle D’un véhicule Sous-Marin Autonome. Ph.D. Thesis, Faculté des Sciences de Montpellier, Montpellier, France, 2007. [Google Scholar]
- Nana, L. Architectures logicielles pour la robotique. In Proceedings of the Journees Nationales de la Recherche en Robotique (JNRR’05), Guidel, France, 5–7 October 2005; pp. 239–248. [Google Scholar]
- Albus, J.; McCain, H.; Lumia, R. In Proceedings of the 20th International Symposium on Industrial Robots, Tokyo, Japan, 4–6 October 1989.
- Kotseruba, I.; Tsotsos, J.K. 40 years of cognitive architectures: Core cognitive abilities and practical applications. Artif. Intell. Rev. 2020, 53, 17–94. [Google Scholar] [CrossRef] [Green Version]
- AlbusGat, E.; Bonnasso, R.; Murphy, R. On three-layer architectures. Artif. Intell. Mob. Robot. 1998, 198, 210. [Google Scholar]
- Tate, A.; Drabble, B.; Kirby, R. O-Plan2: An Open Architecture for Command, Planning and Control; Artificial Intelligence Applications Institute, University of Edinburgh: Edinburgh, Scotland, 1992. [Google Scholar]
- Lumia, R.; Fiala, J.; Wavering, A. The NASREM robot control system and testbed. IEEE J. Robot. Autom. 1990, 5, 20–26. [Google Scholar]
- Hassoun, M.; Laugier, C. Reactive motion planning for an intelligent vehicle. In Proceedings of the Intelligent Vehicles92 Symposium, Detroit, MI, USA, 29 June–1 July 1992; pp. 259–264. [Google Scholar]
- Tigli, J.Y. Vers une Architecture de Controle Pour Robot Mobile Orientée Comportement, SMACH. Ph.D. Thesis, University of Nice Sophia Antipolis, Nice, France, 1996. [Google Scholar]
- Darvish, K.; Simetti, E.; Mastrogiovanni, F.; Casalino, G. A Hierarchical Architecture for Human–Robot Cooperation Processes. IEEE Trans. Robot. 2021, 37, 567–586. [Google Scholar] [CrossRef]
- Brooks, R. A robust layered control system for a mobile robot. IEEE J. Robot. Autom. 1986, 2, 14–23. [Google Scholar] [CrossRef] [Green Version]
- Rosenblatt, J. DAMN: A distributed architecture for mobile navigation. J. Exp. Theor. Artif. Intell. 1997, 9, 339–360. [Google Scholar] [CrossRef]
- Martín, F.; Rodríguez Lera, F.J.; Ginés, J.; Matellán, V. Evolution of a Cognitive Architecture for Social Robots: Integrating Behaviors and Symbolic Knowledge. Appl. Sci. 2020, 10, 6067. [Google Scholar] [CrossRef]
- Schneider, S.A.; Chen, V.W.; Pardo-Castellote, G.; Wang, H.H. ControlShell: A software architecture for complex electro-mechanical systems. Int. J. Robot. Res. Spec. Issue Integr. Archit. Robot Control Program. 1998, 17, 360–380. [Google Scholar]
- Alami, R.; Chatila, R.; Fleury, S.; Ghallab, M.; Ingrand, F. An Architecture for Autonomy. Int. J. Robot. Res. 1998, 17, 315–337. [Google Scholar] [CrossRef]
- Simon, D.; Kapellos, K.; Espiau, B. Control laws, tasks, procedures with ORCCAD; application to the control of an underwater arm. Int. J. Syst. Sci. 1998, 29, 1081–1098. [Google Scholar] [CrossRef]
- Simon, D.; Espiau, B.; Castillo, E.; Kapellos, K. Computer-aided design of a generic robot controller handling reactivity and real-time control issues. IEEE Trans. Control Syst. Technol. 1993, 1, 213–229. [Google Scholar] [CrossRef]
- Volpe, R.; Nesnas, I.; Estlin, T.; Mutz, D.; Petras, R.; Das, H. Claraty: Coupled Layer Architecture for Robotic Autonomy; Technical Report; Jet Propulsion Laboratory: Pasadena, CA, USA, 2000.
- Volpe, R.; Nesnas, I.; Estlin, T.; Mutz, D.; Petras, R.; Das, H. The claraty architecture for robotic autonomy. In Proceedings of the 2001 IEEE Aerospace Conference Proceedings (Cat. No.01TH8542), Big Sky, MT, USA, 10–17 March 2001. [Google Scholar]
- Oliveira, P.; Pascoal, A.; Silva, V.; Silvestre, C. Design, development, and testing at sea of the mission control system for the MARIUS autonomous underwater vehicle. In Proceedings of the OCEANS 96 MTS/IEEE Conference Proceedings. The Coastal Ocean—Prospects for the 21st Century, Fort Lauderdale, FL, USA, 23–26 September 1996; pp. 401–406. [Google Scholar]
- Arkin, R.C.; Balch, T. AuRA: Principles and practice in review. J. Exp. Theor. Artif. Intell. 1997, 9, 175–189. [Google Scholar] [CrossRef]
- Schmidt, D. Model-driven engineering. Comput.-IEEE Comput. Soc. 2006, 39, 25. [Google Scholar] [CrossRef]
- Combemale, B. Ingénierie Dirigée par les Modèles (IDM)—État de L’art. Research Report. 2008. Available online: https://hal.archives-ouvertes.fr/hal-00371565/ (accessed on 7 December 2020).
- Niemann, S. Executable Systems Design with UML 2.0. In OMG Whitepapers on UML; Object Management Group: Needham, MA, USA, 2004. [Google Scholar]
- Kleppe, A. Software Language Engineering: Creating Domain-Specific Languages Using Metamodels; Pearson Education: London, UK, 2008. [Google Scholar]
- Brambilla, M.; Cabot, J.; Wimmer, M. Model-driven software engineering in practice. Synth. Lect. Softw. Eng. 2012, 3, 1–182. [Google Scholar] [CrossRef] [Green Version]
- Bazex, P.; Bodeveix, J.; Le Camus, C.; Millan, T.; Percebois, C. Vérification de Modèles UML Fondée sur OCL. Research Report. 2003. Available online: https://d1wqtxts1xzle7.cloudfront.net/39471554/Vrification_de_modles_UML_fonde_sur_OCL20151027-2311-1rjb2p0-with-cover-page-v2.pdf?Expires=1647324644&Signature=KZaAYLjQfgwLsosyV1E2aziSn0TKj6JXpq~sVPlN1-AtKxhzo~35qFVPya4vw~QvVL2w2pg6b–XWdfO5LQYDFL2hhQJ2IKennxg0IJSiF1iT2mosELp~U~DzYQBFurWugdM73qCG78gJfZTpye6ywp5MaR2~1MY3zYAItSywXdwITpvJExrrxHLK8TycUpW-jm1IkCbvpLx2JYtER0f1I97Czy5MaUnhPs5CxYXaXLnaVFzHXfQi4T~jMO2~uuw4AYaMWt1EytPMoNial9I4ZNKQwNcl2zevrIensp5kaYbuYLa9fXW3Ve8q28nVR2qlcq3mkJj2xffpOvMybn35Q__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA (accessed on 7 December 2020).
- Object Management Group. Meta Object Facility (MOF) Core Specification; Object Management Group: Needham, MA, USA, 2015. [Google Scholar]
- Object Management Group. Object Constraint Language (OCL); Object Management Group: Needham, MA, USA, 2014. [Google Scholar]
- Object Management Group. MOF Model to Text Transformation Language; Object Management Group: Needham, MA, USA, 2008. [Google Scholar]
- Steinberg, D.; Budinsky, F.; Merks, E.; Paternostro, M. EMF: Eclipse Modeling Framework; Pearson Education: London, UK, 2008. [Google Scholar]
- Object Management Group. Unified Modeling Language (OMG UML). Superstructure, Version 2.3; Object Management Group: Needham, MA, USA, 2010. [Google Scholar]
- Kelly, S.; Tolvanen, J. Domain-Specific Modeling: Enabling Full Code Generation; John Wiley & Sons: Hoboken, NJ, USA, 2008. [Google Scholar]
- Passama, R. A Modeling Language for Communicating Architectural Solutions in the Domain of Robot Control. In Proceedings of the 2nd National Workshop on “Control Architectures of Robots: From Models to Execution on Distributed Control Architectures”, CAR 2007, Paris, France, 31 May–1 June 2007; pp. 109–121. [Google Scholar]
- Blanc, X.; Delatour, J.; Ziadi, T. Benefits of the MDE approach for the development of embedded and robotic systems. In Proceedings of the 2nd National Workshop on “Control Architectures of Robots: From Models to Execution on Distributed Control Architectures”, CAR 2007, Paris, France, 31 May–1 June 2007. [Google Scholar]
- Thomas, D.; Baron, C.; Tondu, B. Ingénierie Dirigée par les Modèles Appliquée à la Conception d’un Contrôleur de Robot de Service. Idm06 2007. [Google Scholar]
- Steck, A.; Schlegel, C. Towards quality of service and resource aware robotic systems through model-driven software development. arXiv 2010, arXiv:1009.4877. [Google Scholar]
- Trojanek, P. Model-driven engineering approach to design and implementation of robot control system. arXiv 2013, arXiv:1302.5085. [Google Scholar]
- Brugali, D.; Salvaneschi, P. Stable aspects in robot software development. Int. J. Adv. Robot. Syst. 2006, 3, 17–22. [Google Scholar] [CrossRef] [Green Version]
- Schlegel, C.; Haßler, T.; Lotz, A.; Steck, A. Robotic software systems: From code-driven to model-driven designs. In Proceedings of the 2009 International Conference on Advanced Robotics, Munich, Germany, 22–26 June 2009; pp. 1–8. [Google Scholar]
- Bersani, M.; Soldo, M.; Menghi, C.; Pelliccione, P.; Rossi, M. Pursue-from specification of robotic environments to synthesis of controllers. Form. Asp. Comput. 2020, 32, 187–227. [Google Scholar] [CrossRef] [Green Version]
- Menghi, C.; Tsigkanos, C.; Pelliccione, P.; Ghezzi, C.; Berger, T. Specification patterns for robotic missions. IEEE Trans. Softw. Eng. 2021, 47, 2208–2224. [Google Scholar] [CrossRef] [Green Version]
- Brugali, D.; Hochgeschwender, N. Software product line engineering for robotic perception systems. Int. J. Semant. Comput. 2018, 12, 89–107. [Google Scholar] [CrossRef]
- Kchir, S. Faciliter le Développement des Applications de Robotique. Ph.D. Thesis, University of Paris, Paris, France, 2014. [Google Scholar]
- Schlegel, C.; Steck, A.; Lotz, A. Model-driven software development in robotics: Communication patterns as key for a robotics component model. In Introduction to Modern Robotics; iConcept Press: Hong Kong, China, 2011; pp. 119–150. [Google Scholar]
- 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 Robots; Springer: Berlin/Heidelberg, Germany, 2012; pp. 149–160. [Google Scholar]
- Dennis, S.; Alex, L.; Matthias, L.; Christian, S. The Smartmdsd Toolchain: An Integrated Mdsd Workflow and Integrated Development Environment (ide) for Robotics Software. J. Softw. Eng. Robot. 2016, 7, 3–19. [Google Scholar]
- OMG®. CORBA: Common Object Request Broker Architecture; Object Management Group: Needham, MA, USA, 2018. [Google Scholar]
- Schmidt, D. The ADAPTIVE Communication Environment An Object-Oriented Network Programming Toolkit for Developing Communication Software. In Proceedings of the 12th Sun User Group Conferences, San Francisco, CA, USA, 14–17 June 1993. [Google Scholar]
- Proteus. Available online: http://www.anr-proteus.fr/ (accessed on 7 December 2020).
- Lotz, A.; Hamann, A.; Lutkebohle, I.; Stampfer, D.; Lutz, M.; Schlegel, C. Modeling Non-Functional Application Domain Constraints for Component-Based Robotics Software Systems. arXiv 2016, arXiv:1601.02379. [Google Scholar]
Concepts | Descriptions |
---|---|
Action | basic task of the robot |
Actuator | allows the robot to act on the environment |
Activity | task or sequence of tasks of the robot |
Database | database, knowledge base, etc. |
Function | set of functions implementing a module |
Goal | goal to be achieved by the robot; it can have sub-goals |
Inhibitor | allows to inhibit some outputs |
Knowledge | data handled and how they are used |
Layer | level in the hierarchy of the architecture |
Mission | established set of goals, tasks, and paths |
Module | any robotic software component |
Order | order sent to the robot to perform a task |
Plan | sequence of actions to perform a mission |
Ports | allows communication between modules; they can be input or output ports |
Sensor | allows the robot to detect its environment |
Supervisor | controls plans execution |
Suppressor | allows to remove or modify entries |
Attributes | Descriptions | Concepts |
---|---|---|
MaxExecTime | Maximum execution time | layer |
type | type of the element (simple or real-time) | activity, module, action, function |
period | period of execution | - - - - - |
delay | response time | - - - - - |
execDuration | execution duration | - - - - - |
startDate | start time | action |
timeUnit | time unit | - - - - - |
execType | sporadic, periodic or not | - - - - - |
synchroType | synchronous or not | function |
schedPolicy | scheduling Policy: FIFO, SJF, RR, RM, DM, EDF, LLF, etc. | function |
Element of the System | Concepts of RsaML |
---|---|
Decision Layer | Layer |
Procedural Exec | Module |
f0-01 | Function |
a0 | Action |
aRT | RTAction |
e0 | EntryPort |
s0 | OutPutPort |
Proposals | Robotic Software Architecture | Behaviour of the Components | Non-Functional Properties | Defines a DSML | Independent from Platform | Real-Time Properties | ||
---|---|---|---|---|---|---|---|---|
PT | AT | PSP | ||||||
RobotML | x | x | x | x | x | x | ||
GenoM3 | x | x | x | x | x | |||
SmartSoft | x | x | x | x | ||||
BRIDE | x | x | ||||||
RsaML | x | x | x | x | x | x | x | x |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Monthe, V.M.; Nana, L.; Kouamou, G.E. A Model-Based Approach for Common Representation and Description of Robotics Software Architectures. Appl. Sci. 2022, 12, 2982. https://doi.org/10.3390/app12062982
Monthe VM, Nana L, Kouamou GE. A Model-Based Approach for Common Representation and Description of Robotics Software Architectures. Applied Sciences. 2022; 12(6):2982. https://doi.org/10.3390/app12062982
Chicago/Turabian StyleMonthe, Valery Marcial, Laurent Nana, and Georges Edouard Kouamou. 2022. "A Model-Based Approach for Common Representation and Description of Robotics Software Architectures" Applied Sciences 12, no. 6: 2982. https://doi.org/10.3390/app12062982
APA StyleMonthe, V. M., Nana, L., & Kouamou, G. E. (2022). A Model-Based Approach for Common Representation and Description of Robotics Software Architectures. Applied Sciences, 12(6), 2982. https://doi.org/10.3390/app12062982