Model-driven engineering techniques for the development of multi-agent systems (original) (raw)

Agent-oriented software engineering

Lecture notes in computer science, 1999

Considering the great number of agent-oriented methodologies that can be found in literature, and the fact that each one defines its own concepts and system structure, one of the main challenges in Agent-Oriented Software Engineering research is how to make these methodologies interoperable. By defining in a non ambiguous way concepts used in a specific domain, meta-modelling may represent a step towards such an interoperability. Consequently the main objective of the AOSE TFG (Technical Forum Group) is to establish a strategy for identifying a common meta-model that could be widely adopted by the AOSE community. This paper sums up the approach used by this TFG which consists in (i) studying and comparing the meta-models related to some existing methodologies (ADELFE, Gaia, INGENIAS, PASSI, RICA and Tropos) in order to find commonalities and (ii) giving a clear and basic definition for the core concepts used in multi-agent systems for relating and positioning them in a unified MAS metamodel. The first proposal, set up by the working group, for this unified meta-model then concludes this paper.

Meta-models for building multi-agent systems

Proceedings of the 2002 ACM symposium on Applied computing - SAC '02, 2002

This paper reports the experience of using meta-models for improving analysis and design activities in multi-agent system engineering. Four recta-models describing different views of the MAS such as organization view, agent, goals/tasks, and interactions are presented. Meta-models are described in UML MOF which makc them compatible with current software engineering formalisms. Engineers may iustantiate the metamodels to produce the entities that may appear in concrete MAS. These recta-models have been derived from several experimentations in MAS, which are briefly described in the paper. Engineering experience in using the recta-models for building M_AS applications is also re~orted in the conclusions.

Model-Driven Architecture for Agent-Based Systems

Lecture Notes in Computer Science, 2004

The Model Driven Architecture (MDA) approach uses a platformindependent model to define system functionality, or requirements, using some specification language. The requirements are then translated to a platform-specific model for implementation. An agent architecture based on the human cognitive model of planning, the Cognitive Agent Architecture (Cougaar) is selected for the implementation platform. The resulting Cougaar MDA prescribes certain kinds of models to be used, how those models may be prepared and the relationships of the different kinds of models. Using the existing Cougaar architecture, the level of application composition is elevated from individual components to dcmain level model specifications in order to generate software artifacts. The software artifacts generation is based on a metarnodel. Each compcnent maps to a UML structured component which is then converted into multiple artifacts: Cougaar/Java code, documentation, and test cases.

Agent-Oriented Software Engineering Technical Forum Group Report of the TFG Activity 26, November 2005

2005

The Agent-Oriented Software Engineering Technical Forum Group (AOSE TFG) has been established with the purpose of creating a path towards integration and interoperability of existing methodological approaches for the development of Multi-Agent Systems (MAS). This involves the definition of a common framework for MAS specification, which includes the identification of a minimum set of concepts and methods that can be agreed in the different approaches.

P.: Using ASEME Methodology for Model-Driven Agent Systems Development

2011

Abstract. This paper shows how an AOSE methodology, the Agent Systems Engineering Methodology (ASEME), uses state of the art tech-nologies from the Model-Driven Engineering (MDE) domain. We present the Agent Modeling Language (AMOLA) metamodels and the model transformation tools that we developed and discuss our choices. More-over, the way that non-functional requirements are used throughout the software development lifecycle is discussed and presented with two real-world case studies. Finally, we compare ASEME with a set of existing AOSE methodologies. 1

Model-driven development of multiagent systems: a survey and evaluation

To work in a higher abstraction level is of critical importance for the development of Multi-agent Systems (MAS) since it is almost impossible to observe code level details of such systems due to their internal complexity, distributedness and openness. As one of the promising software development approaches, Model Driven Development (MDD) aims to change the focus of software development from code to models. This paradigm shift introduced by the MDD may also provide the desired abstraction level during the development of MASs. For this reason, MDD of autonomous agents and MASs has been recognized and become one of the research topics in Agent-oriented Software Engineering (AOSE) area. Contributions are mainly based on the Model Driven Architecture (MDA) which is the most famous and in-use realization of MDD. Within this direction, AOSE researchers define MAS metamodels in various abstraction levels and apply model transformations between the instances of these metamodels in order to provide rapid and efficient implementation of the MASs in various platforms. Reorganization of the existing MAS development methodologies to support model driven agent development is another emerging research track. In this paper, we give a state of the art survey on above mentioned model driven MAS development research activities and evaluate the introduced approaches according to five quality criteria we define on model driven MAS engineering: (1) definition of a platform independent MAS metamodel, (2) model-to-model transformability, (3) model-to-code transformability, (4) support for multiple MAS platforms and finally (5) tool support for software modeling and code generation. Our evaluation has shown that the researchers contributed to the area by providing MDD processes in which design of the MASs are realized at a very high abstraction level and the software for these MASs are developed as a result of the application of a series of model transformations. However most of the approaches are incapable of supporting multiple MAS environments due to the restricted specifications of their metamodels and model transformations. Also efficiency and practicability of the proposed methodologies are under debate since the amount and quality of the executable MAS components, gained automatically, appear to be not sufficient.

Using ASEME Methodology for Model-Driven Agent Systems Development

Agent Oriented Software Engineering XI, AOSE 2010, Post-Proceedings, Lecture Notes in Computer Science (LNCS), Springer, Berlin, Heidelberg, 2011

This paper shows how an AOSE methodology, the Agent Systems Engineering Methodology (ASEME), uses state of the art technologies from the Model-Driven Engineering (MDE) domain. We present the Agent Modeling Language (AMOLA) metamodels and the model transformation tools that we developed and discuss our choices. Moreover, the way that non-functional requirements are used throughout the software development lifecycle is discussed and presented with two real-world case studies. Finally, we compare ASEME with a set of existing AOSE methodologies.

Towards a comprehensive agent-oriented software engineering methodology

2008

Recently, agent systems have proven to be a powerful new approach for designing and developing complex and distributed software systems. The agent area is one of the most dynamic and exciting areas in computer science today, because of the agents ability to impact the lives and work of all of us. Developing multi-agent systems for complex and distributed systems entails a robust methodology to assist developers to develop such systems in appropriate way. In the last ten years, many of agent oriented methodologies have been proposed. Although, these methodologies are based on strong basis they still suffer from a set of shortcomings and they still have the problems of traditional distributed systems as well as the difficulties that arise from flexibility requirements and sophisticated interactions. This thesis proposed a new agent oriented software engineering methodology called: Multi-Agent System Development (MASD) for development of multi-agent systems. The new methodology is provided by a set of guidelines, methods, models, and techniques that facilitate a systematic software development process. The thesis makes the following contributions: The main contribution of this thesis is to build a new methodology for the development of multi-agent systems. It is based upon the previous existing methodologies. It is aimed to develop a complete life-cycle methodology for designing and developing MASs. The new methodology is considered as an attempt to solve some of the problems that existing methodologies suffer from. The new methodology is established based on three fundamental aspects: concepts, models, and process. These three aspects are considered as a foundation for building a solid methodology. The concepts are all the necessary MAS concepts that should be available in order to build the models of the new methodology in a correct manner. The models include modeling techniques, modeling languages, a diagramming notation, and tools that can be used to analysis and design the agent system. The process is a set of steps or phases describe how the new methodology works in detail. The new methodology is built to bridge the gap between design models and existing agent implementation languages. It provides refined design models that can be directly implemented in an available programming language or use a dedicated agent-oriented programming language which provides constructs to implement the high-level design concepts such as Jadex, JADE, JACK, etc. The MASD methodology also uses an important concept called triggers and relies heavily on agent roles. The role concept is considered one of the most important aspects that represent agent behaviour. The trigger concept is also considered as an important aspect that represents agent reactivity. The new methodology captures the social agent aspects by utilizing well-known techniques such as use case maps, which enable developers to identify social aspects from the problem specification. MASD methodology is developed based on the essential software engineering issues such as preciseness, accessibility, expressiveness, domain applicability, modularity, refinement, model derivation, traceability, and clear definitions. The MASD methodology is provided by a plain and understandable development process through the methodology phases. It captures the holistic view of the system components, and commutative aspects, which should be recognized before designing the methodology models. This is achieved by using well-known techniques such as UCMs and UML UCDs. IV The resulting methodology was obtained by performing several steps. First, a review study "literature review" of different agent methodologies is carried out to capture their strengths and weaknesses. This review study started with the conceptual framework for MAS to discuss the common terms and concepts that are used in the thesis. The aim is to establish the characteristics of agent-oriented methodologies, and see how these characteristics are suited to develop multi-agent systems. Secondly, a requirement for a novel methodology is presented. These requirements are discussed in detail based on the three categories: concepts, models, and process. Thirdly, the new mature methodology is developed based on existing methodologies. The MASD methodology is composed of four phases: the system requirement phase, analysis phase, design phase and implementation phase. The new methodology covers the whole life cycle of agent system development, from requirement analysis, architecture design, and detailed design to implementation. Fourthly, the methodology is illustrated by a case study on an agent-based car rental system. Finally, a framework for evaluating agent-oriented methodologies is performed. Four methodologies including MASD are evaluated and compared by performing a feature analysis. This is carried out by evaluating the strengths and weaknesses of each participating methodology using a proposed evaluation framework called the Multi-agent System Analysis and Design Framework (MASADF). The evaluation framework addresses several major aspects of agent-oriented methodologies, such as: concepts, models and process. V ACKNOWLEDGEMENT First and foremost, I wish to express my deepest gratitude to my supervisor Prof. Rainer Unland (University of Duisburg-Essen, Germany) for his valuable advice and guidance of this work. He has helped me in shaping the research from day one, pushed me to get through the inevitable research setbacks, and encouraged me to achieve to the best of my ability. Without his support and encouragement, this dissertation would not have happened. Special thanks and gratitude to Dr Mohammed Elammari (University of Garyounis, Libya) for his genuine support, valuable advice and sincere comments which helped me a lot to finish this study. I also want to express my thanks and gratitude to Prof. Cherif Branki (University of West Scotland, UK) for reviewing the thesis and for his valuable comments and criticism during the preparation of the manuscript as well as for revising the English language of the manuscript. The Institute for Computer Science and Business Information Systems (ICB), at the University of Duisburg-Essen, Essen, provided support, including working equipments and research space. I am very grateful to the authority of the University of Duisburg-Essen. I would like to thank many people for their support, encouragement and guidance during my years as a graduate student at Duisburg-Essen University I also thank other persons such as Dr Faheem Bukhatwa (Griffith College