WEAVING DEPLOYMENT ASPECTS INTO DOMAIN-SPECIFIC MODELS

Author(s):  
KRISHNAKUMAR BALASUBRAMANIAN ◽  
ANIRUDDHA GOKHALE ◽  
YUEHUA LIN ◽  
JING ZHANG ◽  
JEFF GRAY

Domain-specific models increase the level of abstraction used to develop large-scale component-based systems. Model-driven development (MDD) approaches (e.g., Model-Integrated Computing and Model-Driven Architecture) emphasize the use of models at all stages of system development. Decomposing problems using MDD approaches may result in a separation of the artifacts in a way that impedes comprehension. For example, a single concern (such as deployment of a distributed system) may crosscut different orthogonal activities (such as component specification, interaction, packaging and planning). To keep track of all entities associated with a component, and to ensure that the constraints for the system as a whole are not violated, a purely model-driven approach imposes extra effort, thereby negating some of the benefits of MDD. This paper provides three contributions to the study of applying aspect-oriented techniques to address the crosscutting challenges of model-driven component-based distributed systems development. First, we identify the sources of crosscutting concerns that typically arise in model-driven development of component-based systems. Second, we describe how aspect-oriented model weaving helps modularize these crosscutting concerns using model transformations. Third, we describe how we have applied model weaving using a tool called the Constraint-Specification Aspect Weaver (C-SAW) in the context of the Platform-Independent Component Modeling Language (PICML), which is a domain-specific modeling language for developing component-based systems. A case study of a joint-emergency response system is presented to express the challenges in modeling a typical distributed system. Our experience shows that model weaving is an effective and scalable technique for dealing with crosscutting aspects of component-based systems development.

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):  
Jesús Sánchez Cuadrado ◽  
Javier Luis Cánovas Izquierdo ◽  
Jesús García Molina

Domain Specific Languages (DSL) are becoming increasingly more important with the emergence of Model-Driven paradigms. Most literature on DSLs is focused on describing particular languages, and there is still a lack of works that compare different approaches or carry out empirical studies regarding the construction or usage of DSLs. Several design choices must be made when building a DSL, but one important question is whether the DSL will be external or internal, since this affects the other aspects of the language. This chapter aims to provide developers confronting the internal-external dichotomy with guidance, through a comparison of the RubyTL and Gra2MoL model transformations languages, which have been built as an internal DSL and an external DSL, respectively. Both languages will first be introduced, and certain implementation issues will be discussed. The two languages will then be compared, and the advantages and disadvantages of each approach will be shown. Finally, some of the lessons learned will be presented.


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.


Author(s):  
Liliana 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 withalgebraic languages using the Common Algebraic Specification Language (CASL). NEREUS focuses on interoperability of formal languages in MDD.


2011 ◽  
Vol 84 (6) ◽  
pp. 1032-1053
Author(s):  
Pedro J. Clemente ◽  
Juan Hernández ◽  
José M. Conejero ◽  
Guadalupe Ortiz

Sign in / Sign up

Export Citation Format

Share Document