A model-driven approach for programming multi-agent systems: A tool suite for modeling and generating ROS-based software for the agent
2022 (English)Independent thesis Advanced level (degree of Master (One Year)), 20 credits / 30 HE credits
Student thesis
Abstract [en]
Multi-agent systems (MAS) have gained a lot of attention among researchers during the last decade, they have also been widely used within a variety of industrial fields including robotics, automation, and automotive industries. A multi-agent architecture could be used for designing systems that perform complex tasks which cannot be handled in a monolithic way, such architecture ensures that different participating agents (hardware or software) are fully decoupled from each other which makes it easier to design, program, and deploy them separately, this also makes the complete system fully dynamic and capable of handling later structural changes like adding, removing or changing the behavior of any of the participating agents. As the agents are not aware of each other’s existence in the system, The gained advantages when using such a multi-agent architecture come with difficulties related to the interactions between the system agents, the agents need to register themselves in the system, share information about their skills, abilities and provided services with all other agents inthe system, only this way their services could be made use of by the other agents. These difficulties make configuring, programming, maintaining, and modifying multi-agent systems a hard and time-consuming task to be accomplished even when using advanced development frameworks which natively support the ability to configure multi-agent systems such as JAVA Agent DEvelopment Framework (JADE) and Robot Operating System (ROS).
In this master thesis, a MAS text-based modeling language is proposed. Moreover, a complete tool suite for modeling, and automatically programming ROS-based multi-agent systems is presented. The defined MAS modeling language and its corresponding tool suite aim to make the process of designing, programming, compiling, and installing the software of multi-agent systems easier and more budget and time efficient for companies and researchers. A standard and relatively complex example of a multi-agent system from the automotive industry was presented and modeled using the proposed MAS modeling language. Later, the implemented tool suite was used to generate code out of the model, compile it, install it and run it in a Linux environment, the generated code was analyzed using a static code analyzing tool and different code metric values were registered. The executed final binary format of the generated software was also analyzed during run-time using ROS graphical system monitoring tools. Future system maintenance and adaptations were simulated by manually modifying the initially created automotive system model and introducing system updates to it, the software was regenerated, and the static code and software run-time analysis were reperformed, results from both analysis reports were compared to the corresponding analysis reports which were created using the previous version of the system model. The results have shown that the proposed modeling language can be used for modeling large and complex multi-agent systems from a real-world example. The implemented toolsuite works as expected, it generates ROS-based software for multi-agent systems which is compilable, installable, and executable. During run-time, the software also behaves according to how the system was modeled. Finally, the registered statistical and code metrics measurements have proven that using such a modeling approach for automatically programming multi-agent systems reduces the development and maintenance efforts of these systems significantly
Place, publisher, year, edition, pages
2022. , p. 56
Keywords [en]
Multi-agent systems, ROS, modelling languages, distributed systems
National Category
Robotics and automation
Identifiers
URN: urn:nbn:se:hv:diva-19309Local ID: EXR600OAI: oai:DiVA.org:hv-19309DiVA, id: diva2:1705548
Subject / course
Robotics
Educational program
Master i robotik och automation
Supervisors
Examiners
2022-11-072022-10-242025-02-09Bibliographically approved