Results 1 - 10
of
16
Composition, Reuse and Interaction Analysis of Stateful Aspects
- AOSD 2004
, 2004
"... Aspect-Oriented Programming promises separation of concerns at the implementation level. However, aspects are not always orthogonal and aspect interaction is a fundamental problem. In this paper, we extend previous work on a generic framework for the formal definition and interaction analysis of sta ..."
Abstract
-
Cited by 160 (13 self)
- Add to MetaCart
Aspect-Oriented Programming promises separation of concerns at the implementation level. However, aspects are not always orthogonal and aspect interaction is a fundamental problem. In this paper, we extend previous work on a generic framework for the formal definition and interaction analysis of stateful aspects. We propose three important extensions which enhance expressivity while preserving static analyzability of interactions. First, we provide support for variables in aspects in order to share information between different execution points. This allows the definition of more precise aspects and to avoid detection of spurious conflicts. Second, we introduce generic composition operators for aspects. This enables us to provide expressive support for the resolution of conflicts among interacting aspects. Finally, we o#er a means to define applicability conditions for aspects. This makes interaction analysis more precise and paves the way for reuse of aspects by making explicit requirements on contexts in which aspects must be used.
Directives for composing aspect-oriented design class models
- TAOSD LNCS
"... Directives for composing aspect-oriented design class models ..."
Abstract
-
Cited by 53 (7 self)
- Add to MetaCart
(Show Context)
Directives for composing aspect-oriented design class models
Model Composition Directives
- Proceedings of the 7th International Conference Unified Modelling Language: Modelling Languages and Applications
, 2004
"... Abstract. An aspect-oriented design model consists of a set of aspect models and a primary model. Each of these models consists of a number of different kinds of UML diagrams. The models must be composed to identify conflicts and analyze the system as a whole. We have developed a systematic approach ..."
Abstract
-
Cited by 40 (11 self)
- Add to MetaCart
(Show Context)
Abstract. An aspect-oriented design model consists of a set of aspect models and a primary model. Each of these models consists of a number of different kinds of UML diagrams. The models must be composed to identify conflicts and analyze the system as a whole. We have developed a systematic approach for composing class diagrams in which a default composition procedure based on name matching can be customized by user-defined composition directives. This paper describes a set of composition directives that constrain how class diagrams are composed. 1
Providing Support for Model Composition in Metamodels
"... In aspect-oriented modeling (AOM), a design is described using a set of design views. It is sometimes necessary to compose the views to obtain an integrated view that can be analyzed by tools. Analysis can uncover conflicts and interactions that give rise to undesirable emergent behavior. Design mod ..."
Abstract
-
Cited by 24 (10 self)
- Add to MetaCart
(Show Context)
In aspect-oriented modeling (AOM), a design is described using a set of design views. It is sometimes necessary to compose the views to obtain an integrated view that can be analyzed by tools. Analysis can uncover conflicts and interactions that give rise to undesirable emergent behavior. Design models tend to have complex structures and thus manual model composition can be arduous and errorprone. Tools that automate significant parts of model composition are needed if AOM is to gain industrial acceptance. One way of providing automated support for composing models written in a particular language is to define model composition behavior in the metamodel defining the language. In this paper we show how this can be done by extending the UML metamodel with behavior describing symmetric, signature-based composition of UML model elements. We also describe an implementation of the metamodel that supports systematic composition of UML class models. 1.
Towards a practical approach to test aspect-oriented software
- In Proc. of the 2004 Workshop on Testing Component-based Systems (TECOS
, 2004
"... Abstract: Aspect-Oriented Programming (AOP) provides new constructs and tools to handle cross-cutting concerns in programs. Fully realizing the potentials of Aspect-Oriented Software Development requires new abstractions and techniques for testing. This paper proposes a first step towards a practica ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
(Show Context)
Abstract: Aspect-Oriented Programming (AOP) provides new constructs and tools to handle cross-cutting concerns in programs. Fully realizing the potentials of Aspect-Oriented Software Development requires new abstractions and techniques for testing. This paper proposes a first step towards a practical approach to test aspect-oriented software. The proposed approach is accompanied by a selection algorithm that can select test cases that are relevant to aspects under test. A new testing coverage definition is proposed to specify the sufficiency of test cases on the aspect being tested. A tool is developed to support the approach, automating test case selection and coverage calculation. A detailed case study of banking account processing illustrates this initial approach. 1
Aspects and Components in Real-Time System Development: Towards Reconfigurable and Reusable Software
- JOURNAL OF EMBEDDED COMPUTING
, 2004
"... Increasing complexity of real-time systems, and demands for enabling their configurability and reusability are strong motivations for applying new software engineering principles, such as aspect-oriented and component-based development. In this paper we introduce a novel concept of aspectual compone ..."
Abstract
-
Cited by 16 (2 self)
- Add to MetaCart
Increasing complexity of real-time systems, and demands for enabling their configurability and reusability are strong motivations for applying new software engineering principles, such as aspect-oriented and component-based development. In this paper we introduce a novel concept of aspectual component-based real-time system development. The concept is based on a design method that assumes decomposition of real-time systems into components and aspects, and provides a real-time component model that supports the notion of time and temporal constraints, space and resource management constraints, and composability. Initial results show that the successful application of the proposed concept has a positive impact on real-time system development in enabling efficient configuration of real-time systems, improved reusability and flexibility of real-time software, and modularization of crosscutting concerns. We provide arguments for this by presenting an application of the proposed concept on the design and development of a configurable embedded real-time database, called COMET. Furthermore, using the COMET system as an example, we introduce a novel way of handling concurrency in a real-time database system, where concurrency is modeled as an aspect crosscutting the system.
A Survey on Aspect-Oriented Modeling Approaches
, 2006
"... Abstract. Aspect-orientation provides a new way of modularization by clearly separating crosscutting concerns from non-crosscutting ones. While aspect-orientation originally has emerged at the programming level, it now stretches also over other development phases. There are, for example, already sev ..."
Abstract
-
Cited by 13 (2 self)
- Add to MetaCart
(Show Context)
Abstract. Aspect-orientation provides a new way of modularization by clearly separating crosscutting concerns from non-crosscutting ones. While aspect-orientation originally has emerged at the programming level, it now stretches also over other development phases. There are, for example, already several proposals to Aspect-Oriented Modeling (AOM), most of them pursuing distinguished goals, providing different concepts as well as notations, and showing various levels of maturity. Consequently, there is an urgent need for both, academia and practice, to provide an in-depth survey, clearly identifying commonalities and differences between current AOM approaches. Existing surveys in this area focus more on comprehensibility with respect to development phases or evaluated approaches rather than on comparability at a fine-grained level. This paper tries to fill this gap. As a prerequisite for an in-depth evaluation, a conceptual reference model is presented, capturing the basic
A Survey on UML-Based Aspect-Oriented Design Modeling
, 2011
"... Aspect-orientation provides a new way of modularization by clearly separating crosscutting concerns from noncrosscutting ones. While aspect-orientation originally has emerged at the programming level, it now stretches also over other development phases. There are, for example, already several propos ..."
Abstract
-
Cited by 11 (2 self)
- Add to MetaCart
Aspect-orientation provides a new way of modularization by clearly separating crosscutting concerns from noncrosscutting ones. While aspect-orientation originally has emerged at the programming level, it now stretches also over other development phases. There are, for example, already several proposals for Aspect-Oriented Modeling (AOM), most of them pursuing distinguished goals, providing different concepts as well as notations, and showing various levels of maturity. Consequently, there is an urgent need to provide an indepth survey, clearly identifying commonalities and differences between current AOM approaches. Existing surveys in this area focus more on comprehensibility with respect to development phases or evaluated approaches rather than on comparability on bases of a detailed evaluation framework. This article tries to fill this gap focusing on aspect-oriented design modeling. As a prerequisite for an in-depth evaluation, a conceptual reference model is presented as the article’s first contribution, centrally capturing the basic design concepts of AOM and their interrelationships in terms of a UML class diagram. Based on this conceptual reference model, an evaluation framework has been designed, resembling the second contribution, by deriving a detailed and well-defined catalogue of evaluation criteria, thereby operationalizing the conceptual reference model. This criteria catalogue is employed together with a running example in order to evaluate a carefully selected set of eight design-level AOM approaches representing the
A.: Modular aspect verification for safer aspectbased evolution
- In: RAM-SE Workshop, with ECOOP
, 2005
"... Abstract. A long-term research goal for Aspect-Oriented Programming is the modular verification of aspects such that safe evolution and reuse is facilitated. However, one of the fundamental problems with verifying aspect-oriented programs is the inability to determine the effect of the weaving proce ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
(Show Context)
Abstract. A long-term research goal for Aspect-Oriented Programming is the modular verification of aspects such that safe evolution and reuse is facilitated. However, one of the fundamental problems with verifying aspect-oriented programs is the inability to determine the effect of the weaving process on the control flow of the program, and thus on the state of the system and subsequently the properties that hold or are introduced. We propose a novel approach to modular verification of aspect-oriented systems using aspect tagging and Data Flow analysis of Control Flow Graphs. 1
MODEL-DRIVEN ASPECT ADAPTATION TO SUPPORT MODULAR SOFTWARE EVOLUTION
, 2009
"... Software maintenance and evolution are the most costly and time consuming activities during the software development life cycle. One of the biggest challenges of software evolution is to adapt a software system to the ever-changing requirements from users or operating environments. An ideal goal is ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
Software maintenance and evolution are the most costly and time consuming activities during the software development life cycle. One of the biggest challenges of software evolution is to adapt a software system to the ever-changing requirements from users or operating environments. An ideal goal is to encapsulate these requirements into a high-level abstraction, which can be used to drive large-scale adaptation of the underlying software implementation. Model-Driven Engineering (MDE) is one of the enabling techniques that support this objective, in that it allows the domain experts or application designers to synthesize various software artifacts from high-level models that represent domain concepts or system design logic. The state-of-the-art MDE techniques, however, lack support for advanced processes and constructive methods involved within the context of the evolution of software systems. With respect to large legacy systems written in disparate programming languages,