Domain-specific aspect languages for modularising crosscutting concerns in grammars

IET Software ◽  
2009 ◽  
Vol 3 (3) ◽  
pp. 184 ◽  
Author(s):  
D. Rebernak ◽  
M. Mernik ◽  
H. Wu ◽  
J. Gray
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.


2015 ◽  
Vol 47 (3) ◽  
pp. 1-44 ◽  
Author(s):  
Johan Fabry ◽  
Tom Dinkelaker ◽  
Jacques Noyé ◽  
Éric Tanter

IET Software ◽  
2009 ◽  
Vol 3 (3) ◽  
pp. 238 ◽  
Author(s):  
J. Fabry ◽  
É. Tanter ◽  
T. D'Hondt

Sign in / Sign up

Export Citation Format

Share Document