INGENIAS
Original author(s) | Jorge J.J. Gomez-Sanz, Rubén Fuentes, Juan Pavón |
---|---|
Developer(s) | Jorge J.J. Gomez-Sanz, Rubén Fuentes, Juan Pavón |
Initial release | 2002 |
Stable release | 1.5-SNAPSHOT.143
/ November 9, 2012 |
Written in | Java |
Platform | Java platform |
Available in | Multi-language |
Type | Software agents Model-driven engineering |
License | GPLv3 |
Website | ingenias |
INGENIAS (Engineering for Software Agents) is an open-source software framework for the analysis, design and implementation of multi-agent systems (MAS).[1]
Technical approach
It adopts since its inception a model-driven engineering (MDE) approach.[2] Model-driven engineering (MDE) organizes developments around the specification of systems through models that are automatically transformed to generate other artefacts, e.g., code, tests, or documentation.[3] INGENIAS follows these principles specifying the MAS meta-models that define its modeling language and allow generating automatically its development tools distributed as the INGENIAS Development Kit (IDK).[4] The INGENME framework, developed as part of the INGENIAS research line, supports this automated development from meta-models of model editors, modules for checking and validation, and generators for code, tests, and documentation.[5]
Details
The INGENIAS approach based on MDE supports research in different areas characterized by the use of modeling languages and requiring flexibility to adapt these to new requirements. In particular, it has been very successful in the areas of Software Agents and Agent-based simulation.[6]
The agent paradigm uses the concept of agent as the basis to develop complex software systems. The field is fairly fragmented with different approaches on how to apply agents and perspectives on the agent concept itself. In this context, INGENIAS emerged as an integrative approach able to support the simultaneous use of different works.[2] This use is based in the facilities to develop new version of its modeling language. The addition, modification, or deletion of concepts just requires modifying its meta-models and then regenerating the development tools using INGENME.[5] This allows researchers focusing on the theoretical tasks of deciding what are the relevant concepts, relationships and attributes of their work, as the infrastructure generates the support tools for their application.
This flexibility has facilitated that INGENIAS addressed new extensions over the years. Two of them are of particular relevance. INGENIAS development process has been one of the few processes of agent-oriented methodologies in having their development process formally specified with SPEM, a language of the Object Management Group (OMG). Currently, there is one development process based on the Unified Process and another based on Scrum.[7] It also incorporated research on requirements elicitation from an organizational perspective. This work adopts the Activity Theory framework from Social Sciences to develop a modeling language for requirements with a holistic perspective of organizations and their systems, as well as several semi-automated processes for the elicitation and validation of these requirements.[8]
The continuous revision of the INGENIAS modeling language and the tools for its application have made of it one of the most popular methodologies in the literature and actually applied by researchers and engineers. It has been repeatedly included in relevant surveys and comparisons in the field (according to Google Scholar, Elsevier's Scopus and Thomson ISI's Web of Knowledge), e.g., Brian Henderson-Sellers and Paolo Giorgini (2005) or Beydoun et al. (2009).[9][10] Its open-source tools organized in the IDK are also very successful in the agent community, as assessed by their number of downloads.[11] INGENIAS gained the best demo award in the AAMAS 2008 celebrated in Estoril (Portugal).
See also
References
- ^ Pavón, Juan; Gómez-Sanz, Jorge (2003). "Agent oriented software engineering with INGENIAS". Multi-Agent Systems and Applications III. Lecture Notes in Computer Science. 2691. Springer Berlin Heidelberg: 394–403. doi:10.1007/3-540-45023-8_38. ISSN 0302-9743.
- ^ a b Gómez-Sanz, Jorge J. (2002). Metodología de Desarrollo de Sistemas Multiagente (Ph.D.) (in Spanish). Universidad Complutense de Madrid.
- ^ France, Robert; Bernhard Rumpe (2007). "Model-driven Development of Complex Software: A Research Roadmap". Proceedings of the 2007 Future of Software Engineering (FOSE '07): 37–54.
- ^ Pavón, Juan; Jorge J. Gómez-Sanz; Rubén Fuentes-Fernández (2005). "The INGENIAS Methodology and Tools". In Brian Henderson-Sellers, Paolo Giorgini (ed.). Agent-Oriented Methodologies. Idea Group Publishing. pp. 236–276. ISBN 1-59140-586-6.
- ^ a b Gómez-Sanz, Jorge J. "INGENME". Retrieved 16 November 2012.
- ^ Fuentes-Fernández, Rubén; Samer Hassan; Juan Pavón; José M. Galán; Adolfo López-Paredes (2012). "Metamodels for role-driven agent-based modelling". Computational and Mathematical Organization Theory. 18 (1). Springer: 91–112. doi:10.1007/s10588-012-9110-5. ISSN 1572-9346.
- ^ García-Magariño, Iván; Alma Gómez-Rodríguez; Jorge J. Gómez-Sanz; Juan C. González-Moreno (2009). "INGENIAS-SCRUM Development Process for Multi-Agent Development". Advances in Soft Computing. International Symposium on Distributed Computing and Artificial Intelligence 2008 (DCAI'08). 50. Springer: 108–117. doi:10.1007/978-3-540-85863-8_14.
- ^ Fuentes-Fernández, Rubén (2004). Teoría de la Actividad para el desarrollo de sistemas multiagente (Ph.D.) (in Spanish). Universidad Complutense de Madrid.
- ^ Brian Henderson-Sellers, Paolo Giorgini, ed. (2005). Agent-Oriented Methodologies. IGI Global. ISBN 1-59140-586-6.
- ^ Beydoun, G.; Low, G.; Henderson-Sellers, B.; Mouratidis, H.; Gómez-Sanz, J.J.; Pavón, J.; Gonzalez Perez, C. (2009). "FAML: a Generic Metamodel for MAS development". IEEE Transactions on Software Engineering. 35 (6): 841–863. doi:10.1109/tse.2009.34.
- ^ "Welcome to INGENIAS". GRASIA. Retrieved 17 November 2012.