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

2013 ◽  
Vol 28 (4) ◽  
pp. 479-503 ◽  
Author(s):  
Geylani Kardas

AbstractTo work in a higher abstraction level is of critical importance for the development of multiagent 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.

Author(s):  
José Eduardo Fernandes ◽  
Ricardo J. Machado ◽  
João Álvaro Carvalho

This chapter focuses on design methodologies for pervasive information systems (PIS). It aims to contribute to the efficiency and effectiveness of software development of ubiquitous services/applications supported on pervasive information systems. Pervasive information systems are comprised of conveniently orchestrated embedded or mobile computing devices that offer innovative ways to support existing and new business models. Those systems are characterized as having a potentially large number of interactive heterogeneous embedded/mobile computing devices that collect, process, and communicate information. Also, they are the target of technological innovations. Therefore, changes in requirements or in technology require frequent modifications of software at device and system levels. Software design and evolution for those require suitable approaches that consider such demands and characteristics of pervasive information systems. Model-driven development approaches (which essentially centre the focus of development on models, and involve concepts such as Platform-Independent Models, Platform-Specific Models, model transformations, and use of established standards) currently in research at academic and industrial arenas in the design of large systems, offer potential benefits that can be applied to the design and evolution of these pervasive information systems. In this chapter, we raise issues and propose strategies related to the software development of PIS using a model-driven development perspective.


Author(s):  
Jose Eduardo Fernandes ◽  
Ricardo J. Machado ◽  
Joao Alvaro Carvalho

This chapter focuses on design methodologies for pervasive information systems (PIS). It aims to contribute to the efficiency and effectiveness of software development of ubiquitous services/applications supported on pervasive information systems. Pervasive information systems are comprised of conveniently orchestrated embedded or mobile computing devices that offer innovative ways to support existing and new business models. Those systems are characterized as having a potentially large number of interactive heterogeneous embedded/mobile computing devices that collect, process, and communicate information. Also, they are the target of technological innovations. Therefore, changes in requirements or in technology require frequent modifications of software at device and system levels. Software design and evolution for those require suitable approaches that consider such demands and characteristics of pervasive information systems. Model-driven development approaches (which essentially centre the focus of development on models, and involve concepts such as Platform-Independent Models, Platform-Specific Models, model transformations, and use of established standards) currently in research at academic and industrial arenas in the design of large systems, offer potential benefits that can be applied to the design and evolution of these pervasive information systems. In this chapter, we raise issues and propose strategies related to the software development of PIS using a model-driven development perspective.


Author(s):  
Sowmya Karunakaran

This chapter aims at highlighting the increased development productivity and quality that can be achieved by Model Driven Software Development (MDSD). The above statement is substantiated by discussing many experiments and case studies in the field of Model Driven development. The chapter will contain the study of various cases in which the Object Management Group’s (OMG) Model Driven Architecture (MDA) has been used as a framework to build different applications. The reader will be provided with an overview of how the MDA paradigm greatly expedites application development with the proper tool support. The main emphasis will be on providing case studies for the measurement of the quality of the models.


Electronics ◽  
2021 ◽  
Vol 10 (24) ◽  
pp. 3150
Author(s):  
Lars Huning ◽  
Elke Pulvermueller

In order to meet regulatory standards in the domain of safety-critical systems, these systems have to include a set of safety mechanisms depending on the Safety Integrity Level (SIL). This article proposes an approach for how such safety mechanisms may be generated automatically via Model-Driven Development (MDD), thereby improving developer productivity and decreasing the number of bugs that occur during manual implementation. The approach provides a structured way to define safety requirements, which may be parsed automatically and are used for the generation of software-implemented safety mechanisms, as well as the initial configuration of hardware-implemented safety mechanisms. The approach for software-implemented safety mechanisms relies on the Unified Modeling Language (UML) for representing these mechanisms in the model and uses model transformations to realize them in an intermediate model, from which code may be generated with simple 1:1 mappings. The approach for hardware-implemented safety mechanisms builds upon a template-based code snippet repository and a graphical user interface for configuration. The approach is applied to the development of a safety-critical fire detection application and the runtime of the model transformations is evaluated, indicating a linear scalability of the transformation steps. Furthermore, we evaluate the runtime and memory overhead of the generated code.


Author(s):  
Wilman Vega ◽  
Henry Umaña

Resumen Los Servicios Web Semánticos ofrecen beneficios, que coadyuvan a la evolución de la Web, como el descubrimiento, invocación y composición dinámica y automática de recursos, habilitan efectivamente la interoperabilidad entre sistemas, permitiendo una amplia gama de nuevos servicios y oportunidades de negocios en la Internet. La estructura necesaria para proveer estos beneficios, hace que su desarrollo sea un proceso complejo, requiriendo establecer formas más fáciles y dinámicas que garanticen reutilización, calidad y rapidez. El desarrollo dirigido por modelos realiza una contribución eficiente en estos aspectos, dado que trabaja de manera intrínseca conceptos como separación de conceptos, reusabilidad e interoperabilidad entre componentes. En este artículo se presenta un enfoque para desarrollo de software dirigido por modelos, orientado al desarrollo de los servicios web semánticos, donde inicialmente se plantean las fases correspondientes al análisis, diseño y desarrollo dentro de la metodología propuesta, aplicando la metodología sobre un pequeño caso de estudio y obtener como resultado la estructura de un Servicio web semántico. Palabras Clave: Servicios web semánticos, Desarrollo dirigido por modelos, ontologías web.   Abstract Semantic Web Services offers benefits that contribute to Web evolution. Benefits such as automatic discovery and invocation, and dynamic composition, effectively enables systems interoperability, allowing a wide range of services and Internet businesses. The necessary structure to provide those benefits by Semantic Web Services makes its development a complex process. It necessary to establish more easy and dynamic ways to develop this kind of software, in order to assure reuse, quality and speediness in the development process. The model-driven software development makes an efficient contribution in those aspect, because it works intrinsically concepts related such separation of concerns, reusability and components interoperability. In this paper we present an approach to model-driven development software applied to Semantic Web Services. First, we establish the phases corresponding to the analysis, design and development in the proposal methodology, by applying it to a case of study we obtain the structure of a Semantic Web Services. Keywords: Semantic Web Services, Model-Driven Development, Web Ontologies.


Author(s):  
Yashwant Singh ◽  
Manu Sood

The Model-Driven Architecture approach to software development uses transformation models for transforming Platform-Independent Models (PIM) into Platform-Specific Models (PSM) as its core software development strategy. The Model-Driven Architecture (MDA) approach and corresponding standards of the software development based on models have been initiated by the Object Management Group. In this chapter, the authors analyze the basic models of MDA (i.e., Computational Independent Model [CIM], PIM, and PSM) using a suitable example and formalize the model transformations for transforming PIM into PSM. These transformations have been illustrated through the generation of a Relational Model, an Enterprise Java Bean (EJB) Model, and a Web Model from PIM for the example under consideration, using UML profile, and keeping in mind the property of reusability of models in MDA transformations. The focus has been on the specification and formalization of rules needed to get the Relational PSM, EJB PSM, and Web PSM from PIM. A transformation tool, whose functionality of transformation of PIM into Relational PSM, EJB PSM, and Web PSM, is illustrated in this chapter.


Author(s):  
Liliana María Favre

The model-driven architecture (MDA) is an approach to model-centric software development. The concepts of models, metamodels, and model transformations are at the core of MDA. Model-driven development (MDD) distinguishes different kinds of models: the computation-independent model (CIM), the platform-independent model (PIM), and the platform-specific model (PSM). Model transformation is the process of converting one model into another model of the same system, preserving some kind of equivalence relation between them. One of the key concepts behind MDD is that models generated during software developments are represented using common metamodeling techniques. In this chapter, we analyze an integration of MDA metamodeling techniques with knowledge developed by the community of formal methods. We describe a rigorous framework that comprises the NEREUS metamodeling notation (open to many other formal languages), a system of transformation rules to bridge the gap between UML/OCL and NEREUS, the definition of MDA-based reusable components, and model/metamodeling transformations. In particular, we show how to integrate NEREUS with algebraic languages using the Common Algebraic Specification Language (CASL). NEREUS focuses on interoperability of formal languages in MDD.


Sign in / Sign up

Export Citation Format

Share Document