Abstract
In this paper the design process documentation template defined in the context of the IEEE FIPA DPDF Working Group (FIPA Design Process Documentation Template, http://www.pa.icar.cnr.it/cossentino/fipa-dpdf-wg/docs.htm, accessed June 2012) is exploited to describe the ELDAMeth agent-oriented methodology. ELDAMeth, which is based on the ELDA agent model and related frameworks and tools, fully supports the development of distributed agent systems and has been applied both stand-alone and in conjunction with other agent-oriented methodologies to different application domains: e-Commerce, information retrieval, conference management systems, content delivery networks, and wireless sensor networks.
Access provided by Autonomous University of Puebla. Download chapter PDF
Similar content being viewed by others
Keywords
- Distributed Agent Systems (DAS)
- Agent-oriented Methodologies
- Platform-independent Code
- Compute Performance Indices
- High-level Design Models
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
1 Introduction
ELDAMeth [7] is an agent-oriented methodology specifically designed for the simulation-based prototyping of distributed agent systems (DAS). It is centered on the ELDA (Event-driven Lightweight Distilled StateCharts Agent) model [9, 12] and on an iterative development process covering DAS Modeling, simulation, and implementation for a target agent platform (currently JADE [2]) and exploits specifically defined frameworks and CASE tools. In particular, the ELDA model is based on three main concepts which are important for enabling dynamic and distributed computation [15, 16]: (1) lightweight agent architecture and agent behaviors driven by events that trigger reactive and proactive computation; (2) agent interaction and cooperation based on multiple coordination spaces that are exploited by the agents at run-time; (3) coarse-grained strong mobility through which agents can migrate across agent locations by transparently retaining their execution state [6].
Moreover, ELDAMeth can be used either stand-alone, according to the ELDAMeth process reported in Fig. 1, or in conjunction/integration with other agent-oriented methodologies which support the analysis and (high-level) design phases.
In particular, ELDAMeth has been integrated with Gaia [11], PASSI [4], and MCP [9] by using a process-driven method engineering approach [3]. Moreover, ELDAMeth (or previously defined models and frameworks that are now in ELDAMeth) was applied in different application domains: e-Commerce [4, 11], distributed information retrieval [7–9, 12, 14], content distribution networks [10], distributed data mining [5], and wireless sensor networks [1].
Useful references for ELDAMeth:
-
Fortino, G., Russo, W.: ELDAMeth: a methodology for simulation-based prototyping of DAS. Inform. Softw. Technol. 54, 608–624 (2012)
-
Fortino, G., Garro, A., Mascillaro, S., Russo, W.: Using event-driven light-weight DSC-based agents for MAS modeling. Int. J. Agent Orient. Softw. Eng. 4(2) (2010)
-
Fortino, G., Rango, F., Russo, W.: Engineering multi-agent systems through statecharts-based JADE agents and tools. Trans. Comput. Collect. Intell. LNCS 7270 VII, 61–81 (2012)
-
Fortino, G., Russo, W., Zimeo, E.: A statecharts-based software development process for mobile agents. Inform. Softw. Technol. 46(13), 907–921 (2004)
Useful references for ELDAMeth integrations and extensions:
-
Cossentino, M., Fortino, G., Garro, A., Mascillaro, S., Russo, W.: PASSIM: a simulation-based process for the development of multi-agent systems. Int. J. Agent Orient. Softw. Eng. 2(2), 132–170 (2008)
-
Fortino, G., Garro, A., Mascillaro, S., Russo, W.: A multi-coordination based process for the design of mobile agent interactions. In: Proceedings of IEEE Symposium on Intelligent Agents (2009)
-
Fortino, G., Garro, A., Russo, W.: An integrated approach for the development and validation of multi agent systems. Comput. Syst. Sci. Eng. 20(4), 94–107 (2005)
1.1 The ELDAMeth Process Lifecycle
ELDAMeth is based on the three phases of the iterative process model shown in Fig. 2:
-
The Modeling phase produces a specification of a Multi-Agent System (ELDA MAS) fully compliant with the ELDA MAS Meta-model [9] (see Sect. 1.2). Moreover, the platform-independent code of the ELDA MAS is generated in this phase.
-
The Simulation phase produces MAS execution traces and computes performance indices that are evaluated with respect to the functional and non-functional requirements of the MAS under-development. On the basis of such evaluation, if requirements are satisfied, the Implementation phase is carried out; otherwise, the Modeling phase is iterated.
-
The Implementation phase produces the ELDA-based MAS code targeting a specific platform. Currently the JADE platform is exploited [13].
1.2 The ELDA MAS Meta-Model
The MAS Meta-model [9] adopted by ELDAMeth is represented in Fig. 3. The definitions of the MAS Meta-model Elements (MMMElements) are reported in Table 1.
2 Phases of the ELDAMeth Process
2.1 The Modeling Phase
The goal of the Modeling phase is to provide a detailed design of the MAS under-development in terms of a set of interconnected DSCs [14] representing agent behaviors and/or roles. Figure 4 presents the flow of activities of the Modeling phase. In particular, the two main activities are ELDA Modeling and ELDA Coding. Figure 5 shows the Modeling described in terms of activities, roles, and work products. The Modeling involves a process role and five work products. The Modeling is fully supported by ELDATool, a CASE tool specifically developed to automate modeling, validation and implementation of ELDA-based MAS.
2.1.1 Process Roles
One role is involved in the Modeling: the Modeler.
2.1.1.1 Modeler
The Modeler produces a detailed design of the MAS under-development and generates a platform-independent code through the following activities:
-
ELDA Modeling: this activity allows the design of the MAS under-development, specifying agent behaviors and/or roles.
-
ELDA Coding: the objective of this activity is to generate a platform-independent code for the MAS under-development through ELDATool.
2.1.2 Activity Details
The ELDA Coding activity is an atomic activity that has no tasks and is usually carried out by the Modeler with support of the ELDATool that is able to automatically translate the models produced in the ELDA Modeling activity into platform-independent code according to the ELDA Framework [9]. Conversely, the ELDA Modeling activity has seven tasks described in the following.
2.1.2.1 ELDA Modeling Activity
The ELDA Modeling activity is a fundamental activity carried out by the Modeler that produces the behavioral and structural ELDA MAS design based on defined functional and non-functional requirements and on a high-level design model, both deriving from an external system analysis phase not included in ELDAMeth. This activity is composed of seven tasks as shown in Fig. 6; their description is reported in Table 2.
Tasks can be carried out in parallel and iteratively. The mandatory inputs to the ELDA Modeling are the Functional and Non-Functional Requirements document and the High-Level Design Model. The outputs are the (mandatory) Behavioral ELDA MAS Design Model and the (optional) Structural ELDA MAS Design Model. The former is a set of DSCs, representing agent behaviors and/or roles, whereas the latter is a class diagram representing the interaction relationships among agents and/or roles.
2.1.3 Work Products
Figure 7 reports the relationships among the work products of this step (Modeling phase) and the ELDA MMMElements (see Sect. 1.2).
2.1.3.1 Work Product Kinds
Table 3 describes the work products of the Modeling.
In the following the Structural ELDA MAS Design Model, the Behavioral ELDA MAS Design Model, and the Platform-independent ELDA MAS Code (specifically the Reviewer role code) produced for the CMS case study will be described.
2.1.3.1.1 Structural ELDA MAS Design Model
In Fig. 8 the Structural ELDA MAS Design Model of the CMS case study is portrayed. In particular, five roles are identified: Author, Chair, and PCMember, where a PCMember could be either a Reviewer, or a Vice-Chair, or both. Moreover, CMS is an agent representing the CMS system.
2.1.3.1.2 Behavioral ELDA MAS Design Model
The Behavioral ELDA MAS Design Model of the CMS case study is composed of the DSCs of the five defined roles (Author, Chair, PCMember, Reviewer, and Vice-Chair) and the CMS agent. In the following they are detailed in terms of DSC diagram and event, action and guard tables. The PCMember specification is based on the specifications of Reviewer and Vice-Chair, so a further specification for the PCMember was not defined.
2.1.3.1.3 Author
See Fig. 9 and Tables 4, 5 and 6.
2.1.3.1.4 Reviewer
See Fig. 10 and Tables 7, 8 and 9.
2.1.3.1.5 Vice-Chair
See Fig. 11 and Tables 10, 11 and 12.
2.1.3.1.6 Chair
See Fig. 12 and Tables 13, 14 and 15.
2.1.3.1.7 CMS
See Fig. 13 and Tables 16 and 17.
2.1.3.1.8 Platform-Independent ELDA MAS Code
In Fig. 14 part of the code (variables, actions, guards, and events) of the active behavior of the Reviewer role (see earlier section “Reviewer”) produced in the ELDA Coding activity is reported.
2.2 The Simulation Phase
The goal of the Simulation phase is to support the functional validation and performance evaluation of the MAS model produced in the Modeling phase (see Sect. 2.1). Specifically, the ELDASim simulation framework is exploited to fully support such phase. The Simulation process is composed of three main activities: Performance Indices Definition, Simulation Implementation, and Simulation Execution, as shown in Fig. 15. Simulation specifically involves a process role and five work products, as described in Fig. 16.
2.2.1 Process Roles
One role is involved in the Simulation: the Simulation Designer.
2.2.1.1 Simulation Designer
The Simulation Designer is responsible for the functional validation and performance evaluation of the MAS under-development through the following activities:
-
Performance Indices Definition: this activity allows the definition of the performance indices which will be evaluated during the simulation.
-
Simulation Implementation: it produces a simulator program that allows executing the simulation.
-
Simulation Execution: in this activity the simulation is executed and the simulation results are obtained.
2.2.2 Activity Details
Performance Indices Definition and Simulation Implementation are atomic activities that have no tasks, whereas Simulation Execution activity has two tasks as described here.
2.2.2.1 Simulation Execution Activity
The Simulation Execution activity comprises the two tasks described in Table 18. The flow of tasks in the Simulation Execution activity is reported in Fig. 17.
2.2.3 Work Products
Figure 18 reports the relationships among the work products of this step and the ELDA MMMElements (see Sect. 1.2).
2.2.3.1 Work Product Kinds
Table 19 describes the work products of the Simulation.
2.2.3.1.1 Simulator Program
In Fig. 19 the Simulator Program template produced for the CMS case study is described.
The methods of the CMS class are:
-
void resetSimulationParams(): resets the simulation parameters
-
void loadParams(XMLTree configuration): loads and initializes the simulation parameters
-
void setupAS(): performs the setup of the agent servers of the distributed simulated agent platform
-
void createSimPerformanceParamsTabs(): creates database tables for storing the results obtained from the simulations
-
void setupAndStartCustomSimulation(): starts the simulation up
-
void setupAgent(): allows the setup of the agents involvedin the simulation
-
void setAgentCodeDimension(): sets the code dimension of the agents
-
void startAgent(): starts the agents up
-
void traceSimPerformanceParams(): traces the simulation performance parameter values obtained from the simulation
-
void clearAS(): clears the agent servers up
-
void resetSimPerformanceParams(): resets the tracing of the simulation results.
2.3 The Implementation Phase
The goal of the Implementation phase is to translate the MAS design model into code for a target platform. In particular, the translation is semi-automatic, supported by the ELDATool, and targeting the JADE platform. The Implementation process is composed of two main activities (Platform-specific ELDA Implementation and Testing), as shown in Fig. 20. In particular, Implementation involves two process roles and five work products (see Fig. 21).
2.3.1 Process Roles
Two roles are involved in the Implementation: Developer and Tester.
2.3.1.1 Developer
The Developer is responsible for:
-
Platform-specific ELDA Implementation—this activity translates the MAS design model into code generated according to a real target platform (e.g., JADE) through ELDATool.
2.3.1.2 Tester
The Tester is responsible for:
-
Testing—this activity executes some tests on the MAS under-development considering the performance indices evaluated during the simulation and produces a document containing the test results.
2.3.2 Activity Details
Platform-specific ELDA implementation and testing activities are atomic and do not have any tasks.
2.3.3 Work Products
The work products produced in this phase are the platform-specific ELDA MAS Code, which is the code of the MAS under-development for the JADE platform, and Testing Results, which is a set of real execution traces and table/plots of computed performance indices.
2.3.3.1 Work Product Kinds
Table 20 describes the work products of the Implementation:
2.3.3.1.1 Platform-Specific ELDA MAS Code
In Fig. 22 part of the JADE-based code (variables, actions, guards, and events) of the Reviewer role of the Platform-specific ELDA MAS Code produced for the CMS case study will be described.
3 Work Products Dependencies
The diagram in Fig. 23 depicts the dependencies among the different work products.
References
Aiello, F., Fortino, G., Gravina, R., Guerrieri, A.: A Java-based agent platform for programming wireless sensor networks. Comput. J. 54(3), 439–454 (2011)
Bellifemine, F., Poggi, A., Rimassa, G.: Developing multi-agent systems with a FIPA-compliant agent framework. Softw. Pract. Exper. 31(2), 103–128 (2001)
Brinkkemper, S., Lyytinen, K., Welke, R.: Method engineering: principles of method construction and tool support. In: Proceedings of the IFIP TC8 WG8.1/8.2 Working Conference on Method Engineering (1996)
Cossentino, M., Fortino, G., Garro, A., Mascillaro, S., Russo, W.: PASSIM: a simulation-based process for the development of multi-agent systems. Int. J. Agent Orient. Softw. Eng. 2(2), 132–170 (2008)
Di Fatta, G., Fortino, G.: A customizable multi-agent system for distributed data mining. In: Proceedings of the 22nd Annual ACM Symposium on Applied Computing (2007)
Fortino, G., Rango, F.: An application-level technique based on recursive hierarchical state machines for agent execution state capture. Sci. Comput. Program. 78(6), 725–746 (2013)
Fortino, G., Russo, W.: ELDAMeth: a methodology for simulation-based prototyping of distributed agent systems. Inform. Softw. Technol. 54(6), 608–624 (2012)
Fortino, G., Garro, A., Mascillaro, S., Russo, W.: A multi-coordination based process for the design of mobile agent interactions. In: Proceedings of IEEE Symposium on Intelligent Agents (2009)
Fortino, G., Garro, A., Mascillaro, S., Russo, W.: Using event-driven lightweight DSC-based agents for MAS modeling. Int. J. Agent Orient. Softw. Eng. 4(2) (2010)
Fortino, G., Garro, A., Mascillaro, S., Russo, W., Vaccaro, M. Distributed architectures for surrogate clustering in CDNs: a simulation-based analysis. In: Proceedings of the 4th International Workshop on the Use of P2P, GRID and Agents for the Development of Content Networks (2009)
Fortino, G., Garro, A., Russo, W.: An integrated approach for the development and validation of multi agent systems. Comput. Syst. Sci. Eng. 20(4), 94–107 (2005)
Fortino, G., Frattolillo, F., Russo, W., Zimeo, E.: Mobile active objects for highly dynamic distributed computing. In: Proceedings of IEEE International Parallel and Distributed Processing Symposium (IPDPS) (2002)
Fortino, G., Rango, F., Russo, W.: Engineering multi-agent systems through statecharts-based JADE agents and tools. In: Nguyen, N.T. (ed.) Transactions on Computational Collective Intelligence VII. Lecture Notes in Computer Science, vol. 7270, pp. 61–81. Springer, Heidelberg (2012)
Fortino, G., Russo, W., Zimeo, E.: A statecharts-based software development process for mobile agents. Inform. Softw. Technol. 46(13), 907–921 (2004)
Luck, M., McBurney, P., Preist, C.: A manifesto for agent technology: towards next generation computing. Auton. Agents Multi-Agent Syst. 9(3), 203–252 (2004)
Omicini, A., Zambonelli, F.: Challenges and research directions in agent-oriented software engineering. Auton. Agents Multi-Agent Syst. 9(3), 253–283 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Fortino, G., Rango, F., Russo, W. (2014). ELDAMeth Design Process. In: Cossentino, M., Hilaire, V., Molesini, A., Seidita, V. (eds) Handbook on Agent-Oriented Design Processes. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39975-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-39975-6_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-39974-9
Online ISBN: 978-3-642-39975-6
eBook Packages: Computer ScienceComputer Science (R0)