8 research outputs found

    Engineering a ROVER language in GEMOC STUDIO & MONTICORE: A comparison of language reuse support

    Get PDF
    Domain-specific languages (DSLs) improve engineering productivity through powerful abstractions and automation. To support the development of DSLs, the software language engineering (SLE) community has produced various solutions for the systematic engineering of DSLs that manifest in language workbenches. In this paper, we investigate the applicability of the language workbenches GEMOC STUDIO and MONTICORE to the MDETools’17 ROVER challenge. To this effect, we refine the challenge’s requirements and show how GEMOC STUDIO and MONTICORE can be leveraged to engineer a Rover-specific DSL by reusing existing DSLs and tooling of GEMOC STUDIO and MONTICORE. Through this, we reflect on the SLE state of the art, detail capabilities of the two workbenches focusing particularly on language reuse support, and sketch how modelers can approach ROVER programming with modern modeling tools

    Revisiting visitors for modular extension of executable DSMLs

    Get PDF
    Executable Domain-Specific Modeling Languages (xDSMLs) are typically defined by metamodels that specify their abstract syntax, and model interpreters or compilers that define their execution semantics. To face the proliferation of xDSMLs in many domains, it is important to provide language engineering facilities for opportunistic reuse, extension, and customization of existing xDSMLs to ease the definition of new ones. Current approaches to language reuse either require to anticipate reuse, make use of advanced features that are not widely available in programming languages, or are not directly applicable to metamodel-based xDSMLs. In this paper, we propose a new language implementation pattern, named Revisitor, that enables independent extensibility of the syntax and semantics of metamodel-based xDSMLs with incremental compilation and without anticipation. We seamlessly implement our approach alongside the compilation chain of the Eclipse Modeling Framework, thereby demonstrating that it is directly and broadly applicable in various modeling environments. We show how it can be employed to incrementally extend both the syntax and semantics of the fUML language without requiring anticipation or re-compilation of existing code, and with acceptable performance penalty compared to classical handmade visitors

    Confidentiality in the Process of (Model-Driven) Software Development

    Get PDF

    A Layered Reference Architecture for Metamodels to Tailor Quality Modeling and Analysis

    Get PDF

    Software reuse in industrial robotics: A systematic mapping

    Full text link
    [ES] Existe una tendencia a utilizar los enfoques de reutilización de software en el dominio de los sistemas robóticos industriales, con el fin de acelerar su desarrollo. Aunque algunos estudios muestran los beneficios de desarrollar usando diferentes enfoques de reutilización, estas prácticas no se han incorporado masivamente en la industria, principalmente, debido al desarrollo de software propietario por parte de los fabricantes y a la diversidad del hardware subyacente. Sin embargo, estos estudios han sido de gran valor para avanzar en su adopción. A través de un mapeo sistemático de la literatura, se muestra la adopción de los diferentes enfoques de reutilización, dentro de los cuales se analizan los más utilizados como la ingeniería dirigida por modelos MDE (Model-Driven Engineering), el desarrollo basado en componentes CBSE (Component-based Software Engineering) y la arquitectura basada en servicios (SOA). Por otro lado, se analizan los marcos de trabajo por ser las soluciones más utilizados y en términos de herramientas, se enfatiza en ROS (Robot Operating System) como una plataforma de referencia para el desarrollo rápido de aplicaciones. El principal reto identificado en esta área de estudio es definir estrategias combinadas y prácticas de los enfoques de reutilización MDE, CBSE y SOA, con el fin de aprovechar las diferentes ventajas de reutilización que cada uno ofrece.[EN] There is a tendency to use software reuse approaches in the domain of industrial robotic systems, to accelerate their development. Although some studies show the benefits of developing using different reuse approaches, these practices have not been massively incorporated in the industry, mainly due to the development of proprietary software by manufacturers and the diversity of the underlying hardware. However, these studies have been of great value in advancing their adoption. Through a systematic mapping of the literature, the adoption of different reuse approaches is shown, within which the most widely used are analyzed, such as Model-Driven Engineering (MDE), Component-based Software Engineering (CBSE) and Service-Oriented Architecture (SOA). On the other hand, the frameworks are analyzed because they are the most used solutions and in terms of tools, ROS (Robot Operating System) is emphasized as a reference platform for the rapid development of applications. The main challenge identified in this area of study is to define combined and practical strategies of the MDE, CBSE, and SOA reuse approaches, to take advantage of the different reuse advantages that each one offers. Solis, A.; Hurtado, J. (2020). Reutilización de software en la robótica industrial: un mapeo sistemático. Revista Iberoamericana de Automática e Informática industrial. 17(4):354-367. https://doi.org/10.4995/riai.2020.13335OJS354367174Adi, W., Sekiyama, K., 2015. A component-based framework for molecular robotic development as smart drug system, in: 2015 International Symposium on Micro-NanoMechatronics and Human Science (MHS). Presented at the 2015 International Symposium on Micro-NanoMechatronics and Human Science (MHS), IEEE, Nagoya, Japan, pp. 1-5. https://doi.org/10.1109/MHS.2015.7438319Ahmad, A., Babar, M.A., 2016. Software architectures for robotic systems: A systematic mapping study. Journal of Systems and Software 122, 16-39. https://doi.org/10.1016/j.jss.2016.08.039Arne, N., Nico, H., Dennis, W., Sebastian, W., 2016. A survey on domain- specific modeling and languages in robotics. Journal of Software Engineering for Robotics 7, 75-99.Backhaus, J., Reinhart, G., 2017. Digital description of products, processes and resources for task-oriented programming of assembly systems. J Intell Manuf 28, 1787-1800. https://doi.org/10.1007/s10845-015-1063-3Bandi, A., Williams, B.J., Allen, E.B., 2013. Empirical evidence of code decay: A systematic mapping study, in: 2013 20th Working Conference on Reverse Engineering (WCRE). Presented at the 2013 20th Working Conference on Reverse Engineering (WCRE), IEEE, Koblenz, Germany, pp. 341-350. https://doi.org/10.1109/WCRE.2013.6671309Beck, J.E., Reagin, J.M., Sweeny, T.E., Anderson, R.L., Garner, T.D., 2000. Applying a component-based software architecture to robotic workcell applications. IEEE Trans. Robot. Automat. 16, 207-217. https://doi.org/10.1109/70.850639Bhavsar, P., Patel, S.H., Sobh, T.M., 2019. Hybrid Robot-as-a-Service (RaaS) Platform (Using MQTT and CoAP). Presented at the 2019 International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData), IEEE, Atlanta, GA, USA, pp. 974-979. https://doi.org/10.1109/iThings/GreenCom/CPSCom/SmartData.2019.00 171Brugali, D., 2015. 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. IEEE Robot. Automat. Mag. 22, 155-166. https://doi.org/10.1109/MRA.2015.2452201Brugali, D. (Ed.), 2007. Software Engineering for Experimental Robotics, Springer Tracts in Advanced Robotics. Springer Berlin Heidelberg, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68951-5Brugali, D., Hochgeschwender, N., 2018. Software product line engineering for robotic perception systems. International Journal of Semantic Computing 12, 89-107. https://doi.org/10.1142/S1793351X18400056Brugali, D., Scandurra, P., 2009. Component-based robotic engineering (Part I) [Tutorial]. IEEE Robot. Automat. Mag. 16, 84-96. https://doi.org/10.1109/MRA.2009.934837Bruyninckx, H., Klotzbücher, M., Hochgeschwender, N., Kraetzschmar, G., Gherardi, L., Brugali, D., 2013. The BRICS component model: a model- based development paradigm for complex robotics software systems, in: Proceedings of the 28th Annual ACM Symposium on Applied Computing - SAC '13. Presented at the the 28th Annual ACM Symposium, ACM Press, Coimbra, Portugal, p. 1758. https://doi.org/10.1145/2480362.2480693Bubeck, A., Maidel, B., Lopez, F.G., 2014. Model Driven Engineering for the Implementation of User Roles in Industrial Service Robot Applications. Procedia Technology 15, 605-612. https://doi.org/10.1016/j.protcy.2014.09.021Chen, Y., Du, Z., García-Acosta, M., 2010. Robot as a Service in Cloud Computing, in: 2010 Fifth IEEE International Symposium on Service Oriented System Engineering. Presented at the 2010 Fifth International Symposium on Service Oriented System Engineering (SOSE), IEEE, Nanjing, China, pp. 151-158. https://doi.org/10.1109/SOSE.2010.44Ciccozzi, F., Di Ruscio, D., Malavolta, I., Pelliccione, P., Tumova, J., 2017. Engineering the software of robotic systems, in: 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). Presented at the 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), IEEE, Buenos Aires, pp. 507-508. https://doi.org/10.1109/ICSE-C.2017.167Degueule, T., Combemale, B., Blouin, A., Barais, O., Jézéquel, J.-M., 2017. Safe model polymorphism for flexible modeling. Computer Languages, Systems & Structures 49, 176-195. https://doi.org/10.1016/j.cl.2016.09.001Doukas, G., Thramboulidis, K., 2011. A Real-Time-Linux-Based Framework for Model-Driven Engineering in Control and Automation. IEEE Trans. Ind. Electron. 58, 914-924. https://doi.org/10.1109/TIE.2009.2029584Estefo, P., Simmonds, J., Robbes, R., Fabry, J., 2019. The Robot Operating System: Package reuse and community dynamics. Journal of Systems and Software 151, 226-242. https://doi.org/10.1016/j.jss.2019.02.024Estévez, E., García, A.S., García, J.G., Ortega, J.G., 2018. ART2ool: a model- driven framework to generate target code for robot handling tasks. Int J Adv Manuf Technol 97, 1195-1207. https://doi.org/10.1007/s00170-018- 1976-zEstévez, E., Sánchez García, A., Gámez García, J., Gómez Ortega, J., 2017. Aproximación Basada en UML para el Diseño y Codificación Automática de Plataformas Robóticas Manipuladoras. Revista Iberoamericana de Automática e Informática Industrial RIAI 14, 82-93. https://doi.org/10.1016/j.riai.2016.11.001Estévez, E., Sánchez-García, A., Gámez-García, J., Gómez-Ortega, J., Satorres-Martínez, S., 2016. A novel model-driven approach to support development cycle of robotic systems. Int J Adv Manuf Technol 82, 737- 751. https://doi.org/10.1007/s00170-015-7396-4Gherardi, L., Brugali, D., 2014. Modeling and reusing robotic software architectures: The HyperFlex toolchain, in: 2014 IEEE International Conference on Robotics and Automation (ICRA). Presented at the 2014 IEEE International Conference on Robotics and Automation (ICRA), IEEE, Hong Kong, China, pp. 6414-6420. https://doi.org/10.1109/ICRA.2014.6907806Gorecki, S., Ducq, Y., Ribault, J., Zacharewicz, G., Perry, N., 2019. Distributed Simulation For A Modeling And Simulation Tool: Papyrus, in: 2019 Spring Simulation Conference (SpringSim). Presented at the 2019 Spring Simulation Conference (SpringSim), IEEE, Tucson, AZ, USA, pp. 1-12. https://doi.org/10.23919/SpringSim.2019.8732868Guerin, K.R., Riedel, S.D., Bohren, J., Hager, G.D., 2014. Adjutant: A framework for flexible human-machine collaborative systems, in: 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems. Presented at the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2014), IEEE, Chicago, IL, USA, pp. 1392-1399. https://doi.org/10.1109/IROS.2014.6942739Haage, M., Piperagkas, G., Papadopoulos, C., Mariolis, I., Malec, J., Bekiroglu, Y., Hedelind, M., Tzovaras, D., 2017. Teaching Assembly by Demonstration Using Advanced Human Robot Interaction and a Knowledge Integration Framework. Procedia Manufacturing 11, 164-173. https://doi.org/10.1016/j.promfg.2017.07.221Hu, B., Wang, H., Zhang, P., Ding, B., Che, H., 2017. Cloudroid: A Cloud Framework for Transparent and QoS-Aware Robotic Computation Outsourcing, in: 2017 IEEE 10th International Conference on Cloud Computing (CLOUD). Presented at the 2017 IEEE 10th International Conference on Cloud Computing (CLOUD), IEEE, Honolulu, CA, USA, pp. 114-121. https://doi.org/10.1109/CLOUD.2017.23Jawawi, D., Deris, S., Mamat, R., 2007. Software Reuse for Mobile Robot Applications Through Analysis Patterns. The International Arab Journal of Information Technology 4, 9.Kitchenham, B., 2004. Procedures for Performing Systematic Reviews. Keele, UK, Keele Univ. 33, 1-26.Kitchenham, B., Pearl Brereton, O., Budgen, D., Turner, M., Bailey, J., Linkman, S., 2009. Systematic literature reviews in software engineering - A systematic literature review. Information and Software Technology 51, 7-15. https://doi.org/10.1016/j.infsof.2008.09.009Lotz, A., Hamann, A., Lange, R., Heinzemann, C., Staschulat, J., Kesel, V., Stampfer, D., Lutz, M., Schlegel, C., 2016. Combining robotics component-based model-driven development with a model-based performance analysis, in: 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR). Presented at the 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots (SIMPAR), IEEE, San Francisco, CA, USA, pp. 170-176. https://doi.org/10.1109/SIMPAR.2016.7862392Lunghi, G., Marin, R., Di Castro, M., Masi, A., Sanz, P.J., 2019. Multimodal Human-Robot Interface for Accessible Remote Robotic Interventions in Hazardous Environments. IEEE Access 7, 127290-127319. https://doi.org/10.1109/ACCESS.2019.2939493Maurtua, I., Fernández, I., Tellaeche, A., Kildal, J., Susperregi, L., Ibarguren, A., Sierra, B., 2017. Natural multimodal communication for human-robot collaboration. International Journal of Advanced Robotic Systems 14, 172988141771604. https://doi.org/10.1177/1729881417716043Möckel, R., Dahl, L., Christopher, S.M., 2020. Interdisciplinary Teaching with the Versatile Low-Cost Modular Robotic Platform EDMO, in: Moro, M., Alimisis, D., Iocchi, L. (Eds.), Educational Robotics in the Context of the Maker Movement. Springer International Publishing, Cham, pp. 135-146. https://doi.org/10.1007/978-3-030-18141-3_11Petersen, K., Feldt, R., Mujtaba, S., Mattsson, M., 2008. Systematic Mapping Studies in Software Engineering. Presented at the 12th International Conference on Evaluation and Assessment in Software Engineering (EASE). https://doi.org/10.14236/ewic/EASE2008.8Pons, C., Giandini, R., Arévalo, G., 2012. A systematic review of applying modern software engineering techniques to developing robotic systems. Ingeniería e Investigación 32, 58-63.Pons, C., Pérez, G., Giandini, R., Neil, C., de Vincenzi, M., 2017. Ingeniería de Software Dirigida por Modelos Aplicada a Sistemas Robóticos Usando los Estándares de la OMG. Presented at the XIX Workshop de Investigadores en Ciencias de la Computación, Buenos Aires, pp. 555-559.Rastogi, N., Dutta, P., Krishna, V., Gotewal, K.K., 2017. Implementation of an OROCOS based Real-Time Equipment Controller for Remote Maintenance of Tokamaks, in: Proceedings of the Advances in Robotics on - AIR '17. Presented at the the Advances in Robotics, ACM Press, New Delhi, India, pp. 1-6. https://doi.org/10.1145/3132446.3134900Ronchieri, E., Canaparo, M., 2019. Metrics for Software Reliability: a Systematic Mapping Study. JID 22, 5-25. https://doi.org/10.3233/jid- 2018-0008ROS.org | Powering the world's robots [WWW Document], 2020. . ROS.org | Powering the world's robots. URL http://www.ros.org/ (accessed 5.18.20). Rudorfer, M., Guhl, J., Hoffmann, P., Kruger, J., 2018. Holo Pick'n'Place. Presented at the IEEE International Conference on Emerging Technologies and Factory Automation, ETFA, pp. 1219-1222. https://doi.org/10.1109/ETFA.2018.8502527Salman, S.M., Struhar, V., Papadopoulos, A.V., Behnam, M., Nolte, T., 2019. Fogification of Industrial Robotic Systems: Research Challenges, in: Proceedings of the Workshop on Fog Computing and the IoT, IoT-Fog '19. Association for Computing Machinery, New York, NY, USA, pp. 41-45. https://doi.org/10.1145/3313150.3313225Smith, R., Smith, G., Wardani, A., 2005. Software reuse in robotics: Enabling portability in the face of diversity, in: IEEE Conference on Robotics, Automation and Mechatronics, 2004. Presented at the 2004 IEEE Conference on Robotics, Automation and Mechatronics, IEEE, Singapore, pp. 933-938. https://doi.org/10.1109/RAMECH.2004.1438043Souza, F.C., Santos, A., Andrade, S., Durelli, R., Durelli, V., Oliveira, R., 2018. Automating Search Strings for Secondary Studies, in: Latifi, S. (Ed.), Information Technology - New Generations, Advances in Intelligent Systems and Computing. Springer International Publishing, Cham, pp. 839-848. https://doi.org/10.1007/978-3-319-54978-1_104Stenmark, M., Haage, M., Topp, E.A., 2017. Simplified Programming of Re- usable Skills on a Safe Industrial Robot: Prototype and Evaluation, in: Proceedings of the 2017 ACM/IEEE International Conference on Human-Robot Interaction. Presented at the HRI '17: ACM/IEEE International Conference on Human-Robot Interaction, ACM, Vienna Austria, pp. 463-472. https://doi.org/10.1145/2909824.3020227Sun, Y., Gray, J., Bulheller, K., von Baillou, N., 2012. A Model-Driven Approach to Support Engineering Changes in Industrial Robotics Software, in: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (Eds.), Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science. Springer Berlin Heidelberg, Berlin, Heidelberg, pp. 368-382. https://doi.org/10.1007/978-3-642-33666-9_24Tibermacine, C., Sadou, S., Ton That, M.T., Dony, C., 2016. Software architecture constraint reuse-by-composition. Future Generation Computer Systems 61, 37-53. https://doi.org/10.1016/j.future.2016.02.006Trapani, S., Indri, M., 2017. Task modeling for task-oriented robot programming, in: 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA). Presented at the 2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), IEEE, Limassol, pp. 1-8. https://doi.org/10.1109/ETFA.2017.8247650Vrochidou, E., Manios, M., Papakostas, G.A., Aitsidis, C.N., Panagiotopoulos, F., 2018. Open-Source Robotics: Investigation on Existing Platforms and Their Application in Education, in: 26th International Conference on Software, Telecommunications and Computer Networks (SoftCOM). Presented at the 26th International Conference on Software, Telecommunications and Computer Networks (SoftCOM), IEEE, Split, pp. 1-6. https://doi.org/10.23919/SOFTCOM.2018.8555860Vyatkin, V., 2011. IEC 61499 as enabler of distributed and intelligent automation: State-of-the-art review. IEEE transactions on Industrial Informatics 7, 768-781. https://doi.org/10.1109/TII.2011.2166785Wan, J., Tang, S., Yan, H., Li, D., Wang, S., Vasilakos, A.V., 2016. Cloud Robotics: Current Status and Open Issues. IEEE Access 1-1. https://doi.org/10.1109/ACCESS.2016.2574979Wei, H., Duan, X., Li, S., Tong, G., Wang, T., 2009. A component-based design framework for robot software architecture, in: 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems. Presented at the 2009 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS 2009), IEEE, St. Louis, MO, USA, pp. 3429-3434. https://doi.org/10.1109/IROS.2009.5354161Wei, H., Shao, Zhenzhou, Huang, Z., Chen, R., Guan, Y., Tan, J., Shao, Zili, 2016. RT-ROS: A real-time ROS architecture on multi-core processors. Future Generation Computer Systems 56, 171-178. https://doi.org/10.1016/j.future.2015.05.008Wenger, M., Eisenmenger, W., Neugschwandtner, G., Schneider, B., Zoitl, A., 2016. A model-based engineering tool for ROS component compositioning, configuration and generation of deployment information, in: 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA). Presented at the 2016 IEEE 21st International Conference on Emerging Technologies and Factory Automation (ETFA), IEEE, Berlin, Germany, pp. 1-8. https://doi.org/10.1109/ETFA.2016.7733559Weyns, D., 2018. Engineering Self-Adaptive Software Systems - An Organized Tour, in: 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W). Presented at the 2018 IEEE 3rd International Workshops on Foundations and Applications of Self* Systems (FAS*W), IEEE, Trento, pp. 1-2. https://doi.org/10.1109/FAS-W.2018.00012Wigand, D.L., Nordmann, A., Goerlich, M., Wrede, S., 2017. Modularization of Domain-Specific Languages for Extensible Component-Based Robotic Systems, in: 2017 First IEEE International Conference on Robotic Computing (IRC). Presented at the 2017 First IEEE International Conference on Robotic Computing (IRC), IEEE, Taichung, Taiwan, pp. 164-171. https://doi.org/10.1109/IRC.2017.34Yassin, N.I.R., Omran, S., El Houby, E.M.F., Allam, H., 2018. Machine learning techniques for breast cancer computer aided diagnosis using different image modalities: A systematic review. Computer Methods and Programs in Biomedicine 156, 25-45. https://doi.org/10.1016/j.cmpb.2017.12.012Yoong, L.H., Bhatti, Z.E., Roop, P.S., 2012. Combining iec 61499 model- based design with component-based architecture for robotics, in: International Conference on Simulation, Modeling, and Programming for Autonomous Robots. Springer, pp. 349-360. https://doi.org/10.1007/978- 3-642-34327-8_32Zug, S., Schulze, M., Dietrich, A., Kaiser, J., 2010. Programming abstractions and middleware for building control systems as networks of smart sensors and actuators, in: 2010 IEEE 15th Conference on Emerging Technologies & Factory Automation (ETFA 2010). Presented at the Factory Automation (ETFA 2010), IEEE, Bilbao, pp. 1-8. https://doi.org/10.1109/ETFA.2010.564134

    Safe Model Polymorphism for Flexible Modeling

    Get PDF
    International audienceDomain-Specific Languages (DSLs) are increasingly used by domain experts to handle various concerns in systems and software development. To support this trend, the Model-Driven Engineering (MDE) community has developed advanced techniques for designing new DSLs. However, the widespread use of independently developed, and constantly evolving DSLs is hampered by the rigidity imposed to the language users by the DSLs and their tooling, e.g., for manipulating a model through various similar DSLs or successive versions of a given DSL. In this paper, we propose a disciplined approach that leverages type groups' polymorphism to provide an advanced type system for manipulating models, in a polymorphic way, through different DSL interfaces. A DSL interface, aka. model type, specifies a set of features, or services, available on the model it types, and subtyping relations among these model types define the safe substitutions. This type system complements the Melange language workbench and is seamlessly integrated into the Eclipse Modeling Framework (EMF), hence providing structural interoperability and compatibility of models between EMF-based tools. We illustrate the validity and practicability of our approach by bridging safe interoperability between different semantic and syntactic variation points of a finite-state machine (FSM) language, as well as between successive versions of the Unified Modeling Language (UML)
    corecore