29 research outputs found

    Assessing composition in modeling approaches

    Full text link
    Modeling approaches are based on various paradigms, e.g., aspect-oriented, feature-oriented, object-oriented, and logic-based. Modeling approaches may cover requirements models to low-level design models, are developed for various purposes, use various means of composition, and thus are difficult to compare. However, such comparisons are critical to help practitioners know under which conditions approaches are most applicable, and how they might be successfully generalized and combined to achieve end-to-end methods. This paper reports on work done at the 2nd International Comparing Modeling Approaches (CMA) workshop towards the goal of identifying potential comprehensive modeling methodologies with a particular emphasis on composition: (i) an improved set of comparison criteria; (ii) 19 assessments of modeling approaches based on the comparison criteria and a common, focused case study

    Refactoring-Safe Modeling of Aspect-Oriented Scenarios

    No full text
    Aspects use pointcut expressions to specify patterns that are matched against a base model, hence defining the base locations to which aspects are applied. The fragile pointcut problem is well-known in aspect-oriented modeling, as small changes in the base may lead to non-matching patterns. Consequently, aspects are not applied as desired. This is especially problematic for refactoring. Even though the meaning of the model has not changed, pointcut expressions may no longer match. We present an aspect-oriented modeling technique for scenarios that is refactoring-safe. The scenarios are modeled with Aspect-oriented Use Case Maps (AoUCM), an extension of the recent ITU standard User Requirements Notation. AoUCM takes the semantics of the modeling notation into account, thus ensuring pointcut expressions still match even after, for example. refactoring a single use case map into several hierarchical maps. Furthermore, AoUCM allows the composed model to he viewed Without having to resolve complex layout issues. The general principles of our approach are also applicable to other aspect-oriented modeling notations

    A vision for generic concern-oriented requirements reuse

    No full text
    Reuse is a powerful tool for improving the productivity of software development. The paper puts forward arguments in favor of generic requirements reuse rooted in the vision that effectiveness requires a focus on coordinated composition of reusable artifacts across the whole software development life cycle. A survey of publications on requirements reuse from the International Requirements Engineering (RE) Conference series determines the research landscape in this area over the last twenty years, assessing the hypothesis that there is no or little research reported at RE about generic reuse of requirements models that spans the software development life cycle. The paper then outlines, for the RE community, a research agenda associated with the presented vision for such an approach to requirements reuse that builds on concern-orientation, i.e., the ability to modularize and compose important requirements concerns throughout the software development life cycle, and model-engineering principles. In addition, early research results are briefly presented that illustrate favorably the feasibility of such an approach.Ye

    Formalizing patterns with the user requirements notation

    No full text
    Patterns need to be described and formalized in ways that enable the reader to determine whether the particular solution presented is useful and applicable to his or her problem in a given context. However, many pattern descriptions tend to focus on the solution to a problem, and not so much on how the various (and often

    Visualizing aspect-oriented requirements scenarios with use case maps

    No full text
    The benefits of aspects and aspect-oriented modelling are beginning to be recognized for requirements engineering activities. However, once aspects have been identified, the behaviour, structure, and pointcut expressions of aspects need to be modeled unobtrusively at the requirements level, allowing the engineer to seamlessly focus either on the behaviour and structure of the system without aspects or on the combined behaviour and structure. Furthermore, the modeling techniques for aspects should be the same as for the base system, ensuring that the engineer continues to work with familiar models. This position paper describes how, with the help of Use Case Maps, scenario-based aspects can be modeled visually and unobtrusively at the requirements level and with the same techniques as for non-aspectual systems. With Use Case Maps, aspects including pointcut expressions are modeled in a visual way which is generally considered the preferred choice for models of a high level of abstraction

    Flexible and expressive composition rules with Aspect-oriented Use Case Maps (AoUCM)

    No full text
    Technologies based on aspect-orientation and multi-dimensional separation of concerns have given software engineers tools to better encapsulate concerns throughout the software lifecycle. Separated concerns must be composed, even during early lifecycle phases, to obtain an overall system understanding. Concern composition languages therefore must be expressive, scalable, and intuitive. Otherwise, gains achieved by concern separation are offset by the complexity of the composition rules. This paper focuses on a composition language for the requirements modeling phase and, in particular, on composition of concerns described with use cases or scenarios. We propose that existing composition techniques (such as before and after advices from AOP) are insufficient for requirements model composition because they do not support all composition rules frequently required for use cases or scenarios. Furthermore, composition rules for a modeling language should be visual and use the same notation as the modeling language. This paper presents Aspect-oriented Use Case Maps (AoUCM) and evaluates it
    corecore