Chapter

A Template-Based Approach to Code Generation Within an Agent Paradigm

Authors:
To read the full-text of this research, you can request a copy directly from the authors.

Abstract

Today, the paradigm of multi-agent systems has earned a place in the field of software engineering thanks to its versatility to adapt to various domains. However, the construction of these systems is complex, which leads to additional costs in the implementation process. In recent years, however, several frameworks have emerged to simplify this task by providing functionalities that these systems need as a basis, or even tools to generate code related to this paradigm. These tools are based on a single framework, protocol and language, which sets many limits to the code generation capacity of these tools. Therefore, this paper proposes a tool for code generation of complete multi-agent systems, focused on the elimination of the restrictions of programming language, framework, communication protocol, etc. through the use of model-driven and template-driven development.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the authors.

ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
Good domain-modeling enables an appropriate separation of concerns that improves quality properties in the simulation models, such as modifiability and maintainability. In this paper, the interplay of abstraction and concreteness in advancing the theory and practice of Modelling and Simulation is improved using the Model-Driven Engineering levels for building simulation models devoted to routing processes. The definition of this type of processes is detailed as a domain-model conceived as an abstraction defined in a graph model. Such abstraction turns into a set of formal simulation models that are (later) translated into an executable implementation. The final simulation models are specified using Routed DEVS formalism. The methodological proposal is accomplished with the development of a Modelling and Simulation graphical software tool that uses the set of models (defined in terms of the Model-Driven Engineering approach) as the core of its operation. This graphical software tool is developed as a plug-in for Eclipse Integrated Development Environment with aims to take advantage of existent Modeling and Simulation software. Therefore, the usefulness of graphical modeling for supporting the development of the simulation models is empowered with a Model-Driven Engineering process. The main benefit obtained when the Model-Driven Engineering approach is used for modeling an abstraction of the final simulation model is a clear reduction of formalization and implementation times.
Article
Full-text available
Multi-agent systems and agent-oriented methodologies support analysis, characterization and development of complex software systems. These methodologies introduce different definitions for the essential components of multi-agent systems and cover different phases of the system development life cycle. Therefore, appropriate frameworks for evaluation and comparison of different methodologies would support developers to adopt the best methodology, or a combination of different methodologies, based on the project requirements. This review covers the system development phases and the main conceptual components in the context of multi-agent systems. Then, the evaluation frameworks proposed in the literature for comparison and evaluation of agent-oriented methodologies are reviewed. Evaluation frameworks proposed in the literature are categorized into three categories: methodology-based, phase-based and feature-based evaluation frameworks. The paper concludes with the agent-oriented methodologies’ usage challenges, their current limitations and potential future directions.
Article
Full-text available
We address the challenge of multi-agent system (MAS) design for organisations of agents acting in dynamic and uncertain environments where runtime flexibility is required to enable improvisation through sharing knowledge and adapting behaviour. We identify behavioural features that correspond to runtime improvisation by agents in a MAS organisation and from this analysis describe the OJAzzIC meta-model and an associated design method. We present results from simulation scenarios, varying both problem complexity and the level of organisational support provided in the design, to show that increasing design time guidance in the organisation specification can enable runtime flexibility afforded to agents and improve performance. Hence the results demonstrate the usefulness of the constructs captured in the OJAzzIC meta-model.
Article
Full-text available
The importance and usage of web applications grow every day. Today from small businesses to large-scale corporations, many institutions prefer web applications for both their internal and external services. Code size and complexity of these kinds of applications grow rapidly. This brings up the question of how to improve the development process of web applications. A solution can be to use code generators. This paper introduces a template-based code generator to improve the development process of web applications. The code generator was developed and integrated into a real-life web application. Today, the web application together with the code generator is actively used in industry. This proves that an effective integration of a template-based code generator into a real-life large-scale web application can be achieved. In addition, the effectiveness of automatic code generation to manual implementation was shown with experimentation. Throughout the experiments, bug-free code generation was observed. Also, 98.95% improvement in average development time, 93.97% improvement in average test run count, and 49.37% improvement in average code size was achieved.
Article
Full-text available
The low-code platform enables quick generation and delivery of business applications with minimum effort to write in a coding language and requires the least possible effort for the installation and configuration of environments, and training and implementation. With a rapidly growing number of companies, the use of low-code solutions can be a significant step forward in creating essential business applications. This paper describes the use of the Aurea BPM low-code platform for automating business processes in manufacturing.
Article
Full-text available
At present, the domotization of homes and public buildings is becoming increasingly popular. Domotization is most commonly applied to the field of energy management, since it gives the possibility of managing the consumption of the devices connected to the electric network, the way in which the users interact with these devices, as well as other external factors that influence consumption. In buildings, Heating, Ventilation and Air Conditioning (HVAC) systems have the highest consumption rates. The systems proposed so far have not succeeded in optimizing the energy consumption associated with a HVAC system because they do not monitor all the variables involved in electricity consumption. For this reason, this article presents an agent approach that benefits from the advantages provided by a Multi-Agent architecture (MAS) deployed in a Cloud environment with a wireless sensor network (WSN) in order to achieve energy savings. The agents of the MAS learn social behavior thanks to the collection of data and the use of an artificial neural network (ANN). The proposed system has been assessed in an office building achieving an average energy savings of 41% in the experimental group offices.
Chapter
Full-text available
INGENIAS provides a notation for modeling multi-agent systems (MAS) and a well-defined collection of activities to guide the development process of an MAS in the tasks of analysis, design, verification, and code generation, supported by an integrated set of tools-the INGENIAS Development Kit (IDK). These tools, as well as the INGENIAS notation, are based on five meta-models that define the different views and concepts from which a multi-agent system can be described. Using meta-models has the advantage of flexibility for evolving the methodology and adopting changes to the notation. In fact, one of the purposes in the conception of this methodology is to integrate progressive advances in agent technology, towards a standard for agent-based systems modeling that could facilitate the adoption of the agent approach by the software industry. The chapter presents a summary of the INGENIAS notation, development process, and support tools. The use of INGENIAS is demonstrated in an e-business case study. This case study includes concerns about the development process, modeling with agent concepts, and implementation with automated code generation facilities.
Conference Paper
Full-text available
In the past, research on agent-oriented software engineering had been widely lacking touch with the world of industrial software development. Recently, a cooperation has been established between the Foundation of Intelligent Physical Agents (FIPA) and the Object Management Group (OMG) aiming to increase acceptance of agent technology in industry by relating to de facto standards (object-oriented software development) and supporting the development environment throughout the full system lifecycle. As a first result of this cooperation, we proposed AGENT UML [1]
Conference Paper
Full-text available
The INGENIAS Development Kit, IDK from now on, is the development support tool for the INGENIAS methodology [2]. It is distributed as GPL software and developed in Java. The distribution can be downloaded from http://ingenias.sourceforge.net while updated versions are always available in the subversion repositores hosted within the INGENIAS sourceforge project.
Article
Full-text available
Agent-based computing is a promising approach for developing applications in complex do-mains. However, despite the great deal of research in the area, a number of challenges still need to be faced (i) to make agent-based computing a widely accepted paradigm in software engineering practice, and (ii) to turn agent-oriented software abstractions into practical tools for facing the complexity of modern application areas. In this paper, after a short introduction to the key concepts of agent-based computing (as they pertain to software engineering), we characterise the emerging key issues in multiagent systems (MASs) engineering. In particular, we show that such issues can be analysed in terms of three different ''scales of observation'', i.e., in analogy with the scales of observation of physical phenomena, in terms of micro, macro, and meso scales. Based on this characterisation, we discuss, for each scale of observation, what are the peculiar engineering issues arising, the key research challenges to be solved, and the most promising research directions to be explored in the future.
Article
Full-text available
This paper presents a generic meta-model of multi-agent systems based on organizational concepts such as groups, roles and structures. This model, called AALAADIN, defines a very simple description of coordination and negotiation schemes through multi-agent systems. Aalaadin is a meta-model of artificial organization by which one can build multi-agent systems with different forms of organizations such as market-like and hierarchical organizations. We show that this meta-model allows for agent heterogeneity in languages, applications and architectures. We also introduce the concept of organizational reflection which uses the same conceptual model to describe systemlevel tasks such as remote communication and migration of agents. Finally, we briefly describe a platform, called MADKIT, based on this model. It relies on a minimal agent kernel with platform-level services implemented as agents, groups and roles. 1 Introduction Whereas organization has been presented as a major issue of m...
Chapter
Ambient Intelligence systems are smart environments, which are reactive and proactive to people making their actions safer and more efficient. In respect to the relation with users, they should be non-obtrusive, context aware, personalized, adaptive and anticipatory. Reliable way to achieve these main features is the choice of appropriate development approach that will ensure the reusability, portability, scalability and interoperability of ambient intelligence applications. The model driven development is a promising approach for development of different software applications using models at different levels of abstraction and applying model transformation to code generation. In this paper an extension to the traditional model driven development approach is suggested based on model driven architecture and compositional models as core elements for automation of expert activities, enabling the context-awareness of application. The ambient intelligence systems are represented as layer-based multi agent systems that enable the division of system elements into levels, reduce the coupling between modules and facilitates abstractions as well as the distributions of responsibilities. The suggested approach is illustrated with an example from the field of health and medicine, namely the development of Holter monitoring system using context based on O-MaSE methodology and agentTool III.
Chapter
Model-driven Development (MDD) is an approach to software engineering that aims to enable analysis, validation, and code generation of software on the basis of models expressed with dedicated modeling languages. MDD is particularly useful in the engineering of complex, possibly distributed software systems. It is therefore sensible to investigate the adoption of MDD to support and facilitate the engineering of distributed software systems based on Microservice Architecture (MSA). This chapter presents recent insights from studying and developing two approaches for employing MDD in MSA engineering. The first approach uses a graphical notation to model the topology and interactions of MSA-based software systems. The second approach emerged from the first one and exploits viewpoint-based modeling to better cope with MSA's inherent complexity. It also considers the distributed nature of MSA teams, as well as the technology heterogeneity introduced by MSA adoption. Both approaches are illustrated and discussed in the context of a case study. Moreover, we present a catalog of research questions for subsequent investigation of employing MDD to support and facilitate MSA engineering.
Article
The fact that event driven systems can be modeled and implemented using Unified Modeling Language (UML) state chart diagrams has led to the development of code generation tools . These are tremendously helpful in making software system designs and can even generate skeletal source code from these designs. The implementation of such automatic code generation from state diagrams is not fully supported by the existing programming languages. The major down side is that there is no one-to-one correspondence between the elements in the state chart diagram and the programming constructs. The existing programming elements cannot effectively implement two main components of the state diagram namely state hierarchy and concurrency. In this paper, we present a novel design pattern for the implementation of the state diagram which includes hierarchical, concurrent and history states. The state transitions of parallel states are delegated to the composite state class. The architecture of the code generator and the step by step process of code generation from UML state machine are proposed in the paper. The proposed approach is implemented and compared with similar tools and the results are found to be promising.
Article
Multi-agent Systems (MASs) are one of the main fields of distributed systems. MASs are based on autonomous entities that cooperate obtaining emergent behaviors, and can be useful for integrating open systems. However, the great diversity of agent-oriented modeling languages (AOMLs) hinders the understanding and interchange of MAS models. Most MAS concepts are shared among the AOMLs. However, these concepts have certain peculiarities in each AOML, such as the expected behavior and concrete syntax. This paper presents a metamodeling solution for the integration of the AOML diversity that uses the powertype pattern. In this pattern, the clabjects represent concept subtypes and are instantiated in models. MAS designers can change the clabject properties to indicate the peculiarities of each concept subtype, depending on the particular needs. Each designer can understand models of other experts by consulting the peculiarities of concepts in models. This solution is the Inter-methodology AOML, which is supported with a graphical modeling tool. This tool is created with a model-driven development approach. This work presents this AOML as a first step of a potential standardization process in the modeling of MASs. In addition, the Ingenias Development Kit tool, an existing agent-oriented software engineering tool, is adapted to export models to the presented AOML. The proposed Inter-methodology AOML is quantitatively compared with other AOMLs in nine different problem domains, and this comparison shows that the proposed Inter-methodology AOML can determine a higher proportion of concepts in these domains than other AOMLs. The presented AOML is also evaluated and validated with its mapping to FAML.
A multi-agent architecture for optimizing energy consumption using comfort agreements
  • A G Briones
  • J M C Rodrıguez
  • S Omatu
Briones, A.G., Rodrıguez, J.M.C., Omatu, S.: A multi-agent architecture for optimizing energy consumption using comfort agreements. Ph.D. thesis, Universidad de Salamanca (2018)