530 research outputs found
An overview of Mirjam and WeaveC
In this chapter, we elaborate on the design of an industrial-strength aspectoriented programming language and weaver for large-scale software development. First, we present an analysis on the requirements of a general purpose aspect-oriented language that can handle crosscutting concerns in ASML software. We also outline a strategy on working with aspects in large-scale software development processes. In our design, we both re-use existing aspect-oriented language abstractions and propose new ones to address the issues that we identified in our analysis. The quality of the code ensured by the realized language and weaver has a positive impact both on maintenance effort and lead-time in the first line software development process. As evidence, we present a short evaluation of the language and weaver as applied today in the software development process of ASML
AOSD Ontology 1.0 - Public Ontology of Aspect-Orientation
This report presents a Common Foundation for Aspect-Oriented Software Development. A Common Foundation is required to enable effective communication and to enable integration of activities within the Network of Excellence. This Common Foundation is realized by developing an ontology, i.e. the shared meaning of terms and concepts in the domain of AOSD. In the first part of this report, we describe the definitions of an initial set of common AOSD terms. There is general agreement on these definitions. In the second part, we describe the Common Foundation task in detail
Aspect oriented programming: Concepts, characteristics and implementation
Programming techniques have been passed through many development stages in their progressing path to cope with the increasing complexity of systems requirements. So, one of the main goals of the programming languages designers is how to develop programming language that can handle and manage the spread and overlapping of different functionality concerns. Because unmanageable and uncontrollable scattering of concerns inside the system may cause many problems during system running in present or/and during applying maintenance and developing the system in future. One of the most recent and powerful solutions to overcome these problems is via using Aspect-Oriented Programming (AOP) approach. This research is demonstrates the features and the problems with implying AOP techniques in the software development process
Early Aspects at ICSE 2007: Workshop on Aspect-Oriented Requirements Engineering and Architecture Design
The “Early Aspects @ ICSE’07” is the 11th workshop in the series of Early Aspects workshops [1] which focuses on aspect identification during the requirements engineering and architecture derivation activities. The specific aim of the present workshop is twofold: (a) to initiate creation of an Early Aspects application demonstration and comparisons benchmark; and (b) to solicit submission of new
research
Aspect-oriented design model.
Designing crosscutting concerns (aspects) is a challenging task. Since crosscutting concerns were not addressed while developing contemporary software design techniques, so they lack support for accommodating representation of such concerns along with base program. Some design languages like UML have been extended to express aspects and their elements but they do not fully represent aspects. Some lack adequate representation of aspect elements and some lack an efficient and reusable composition technique. In this paper, some of the aspect-oriented design techniques have been critically discussed. A proposed aspect model has been discussed which helps in overcoming the deficiencies in the contemporary aspect-oriented design techniques. This model represents aspects and their elements throughout the software development life cycle
Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern
Crosscutting is usually described in terms of scattering and tangling. However, the distinction between these concepts is vague, which could lead to ambiguous statements. Sometimes, precise definitions are required, e.g. for the formal identification of crosscutting concerns. We propose a conceptual framework for formalizing these concepts based on a crosscutting pattern that shows the mapping between elements at two levels, e.g. concerns and representations of concerns. The definitions of the concepts are formalized in terms of linear algebra, and visualized with matrices and matrix operations. In this way, crosscutting can be clearly distinguished from scattering and tangling. Using linear algebra, we demonstrate that our definition generalizes other definitions of crosscutting as described by Masuhara & Kiczales [21] and Tonella and Ceccato [28]. The framework can be applied across several refinement levels assuring traceability of crosscutting concerns. Usability of the framework is illustrated by means of applying it to several areas such as change impact analysis, identification of crosscutting at early phases of software development and in the area of model driven software development
Aspect-oriented analysis for software product lines requirements engineering
SAC '11 Proceedings of the 2011 ACM 26th Symposium on Applied ComputingRequirements analysis and modeling for Software Product Lines demands the use of feature models, but also requires additional models to help identifying, describing, and specifying features. Traditional approaches usually perform this manually and, in general, the identification and modularization of crosscutting features is ignored, or not handled systematically. This hinders requirements change. We propose an aspect-oriented approach for SPL enriched to automatically derive feature models where crosscutting features are identified and modularized using aspect-oriented concepts and techniques. This is achieved by adapting and extending the AORA (Aspect-Oriented Requirements Analysis) approach. AORA provides templates to specify and organize requirements based on concerns and responsibilities. A set of heuristics is defined to help identifying features and their dependencies in a product line. A tool was developed to automatically generate the feature model from AORA templates
Linking goals to aspects
In RE models such as goal-oriented models, a complex system is directly described in terms of its purposes, which makes its functionality much easier to understand and to reason as compared to code-level implementations. Part of the difficulty in maintaining a stronger correspondence between requirements and code is possibly due to the sufficient modularization capabilities of traditional architectures where many functionalities do not exist in distinct modular entities. This paper reports on an investigation of how and where some distinct design requirements lead to crosscutting concerns when decomposed into code in goal models such as KAOS. We begin by matching our past experience in aspect discovery at the code level with a detailed requirements modeling of the same architecture in KAOS. The discovered patterns are validated in an independent project where the requirements modeling and the aspect identification are separately conducted. We observe that satisfying OR-decomposed subgoals in the KAOS model typically leads to tangled implementations, and agents responsible for multiple OR-refined goals should be implemented in the aspect-oriented manner
JPI Feature Models: Exploring a JPI and FOP Symbiosis for Software Modeling
Looking for a complete modular software
development paradigm, this article presents Join Point Interface
JPI Feature Models, in the context of a JPI and Feature-Oriented
Programming FOP symbiosis paradigm. Therefore, this article
describes pros and cons of JPI and FOP approaches for the
modular software and software product line production,
respective; and highlights the benefits of this mixing proposal; in
particular, the JPI Feature Model benefits for a high-level
software product line modeling. As an application example, this
article applies JPI Features Models on a classic FOP example
already modeled using a previous aspect-oriented feature model
proposal. Main goals of this application are to visualize
traditional feature models preserved components such
alternative and optional feature sets and optional and mandatory
features as well as special features associations (cross-tree
constraints), and differences and advantages with respect to
previous research works about extending feature model to
support aspect-oriented modeling principles
- …