345,957 research outputs found

    Aspect-Oriented Modeling: Applying Aspect-Oriented UML Use Cases and Extending Aspect-Z

    Get PDF
    Considering predominant aspect-oriented software development (asymmetric AOSD), this paper discusses the application of aspect-oriented UML use case diagrams and formal language AspectZ to part of a classic AOSD case study, the Health-Watcher software system. In addition, this article proposes an extension of AspectZ to reach a new property for asymmetric AOSD which reacts after a schema successfully finishes, or not, showing messages for that situation, with an implicit join point; and a way for generalizing similar operations in a system using AspectZ. Thus, the main goal of this article is to show the application of and differences between asymmetric aspect-oriented formal and non-formal modeling, and to highlight potential advantages of aspect-oriented formal modeling over aspect-oriented non-formal modeling. First, this article describes the main concepts of the classic AOSD paradigm focusing on problems unsolved by previous forms of software development and resolved by AOSD. Second, by applying aspect-oriented UML use case diagrams, this paper highlights the use of dominion classes and extend-relationships. Considering the Health-Watcher case study and an asymmetric AOSD approach, this study found that using extend-relationships in UML use cases does not completely follow the basic principles of the prevailing AOSD approach in which a base element does not know about aspects, whereas an extending use case must explicitly know its extension points. Third, this article shows a formal modeling of the case study using AspectZ. Moreover, extensions of this aspect-oriented formal language are proposed and applied to the same case study to show their practical properties for modeling. These extensions allow showing success or error messages, and inserting or not a new item in a set of elements to take care of invalid situations

    Aspect-Oriented Modeling: Applying Aspect-Oriented UML Use Cases and Extending Aspect-Z

    Get PDF
    Considering predominant aspect-oriented software development (asymmetric AOSD), this paper discusses the application of aspect-oriented UML use case diagrams and formal language AspectZ to part of a classic AOSD case study, the Health-Watcher software system. In addition, this article proposes an extension of AspectZ to reach a new property for asymmetric AOSD which reacts after a schema successfully finishes, or not, showing messages for that situation, with an implicit join point; and a way for generalizing similar operations in a system using AspectZ. Thus, the main goal of this article is to show the application of and differences between asymmetric aspect-oriented formal and non-formal modeling, and to highlight potential advantages of aspect-oriented formal modeling over aspect-oriented non-formal modeling. First, this article describes the main concepts of the classic AOSD paradigm focusing on problems unsolved by previous forms of software development and resolved by AOSD. Second, by applying aspect-oriented UML use case diagrams, this paper highlights the use of dominion classes and extend-relationships. Considering the Health-Watcher case study and an asymmetric AOSD approach, this study found that using extend-relationships in UML use cases does not completely follow the basic principles of the prevailing AOSD approach in which a base element does not know about aspects, whereas an extending use case must explicitly know its extension points. Third, this article shows a formal modeling of the case study using AspectZ. Moreover, extensions of this aspect-oriented formal language are proposed and applied to the same case study to show their practical properties for modeling. These extensions allow showing success or error messages, and inserting or not a new item in a set of elements to take care of invalid situations

    Engineering Enterprise Software Systems with Interactive UML Models and Aspect-Oriented Middleware

    Get PDF
    Large scale enterprise software systems are inherently complex and hard to maintain. To deal with this complexity, current mainstream software engineering practices aim at raising the level of abstraction to visual models described in OMG’s UML modeling language. Current UML tools, however, produce static design diagrams for documentation which quickly become out-of-sync with the software, and thus obsolete. To address this issue, current model-driven software development approaches aim at software automation using generators that translate models into code. However, these solutions don’t have a good answer for dealing with legacy source code and the evolution of existing enterprise software systems. This research investigates an alternative solution by making the process of modeling more interactive with a simulator and integrating simulation with the live software system. Such an approach supports model-driven development at a higher-level of abstraction with models without sacrificing the need to drop into a lower-level with code. Additionally, simulation also supports better evolution since the impact of a change to a particular area of existing software can be better understood using simulated “what-if” scenarios. This project proposes such a solution by developing a web-based UML simulator for modeling use cases and sequence diagrams and integrating the simulator with existing applications using aspect-oriented middleware technology

    Early aspects: aspect-oriented requirements engineering and architecture design

    Get PDF
    This paper reports on the third Early Aspects: Aspect-Oriented Requirements Engineering and Architecture Design Workshop, which has been held in Lancaster, UK, on March 21, 2004. The workshop included a presentation session and working sessions in which the particular topics on early aspects were discussed. The primary goal of the workshop was to focus on challenges to defining methodical software development processes for aspects from early on in the software life cycle and explore the potential of proposed methods and techniques to scale up to industrial applications

    A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw

    Full text link
    Aspect oriented programming aims at achieving better modularization for a system's crosscutting concerns in order to improve its key quality attributes, such as evolvability and reusability. Consequently, the adoption of aspect-oriented techniques in existing (legacy) software systems is of interest to remediate software aging. The refactoring of existing systems to employ aspect-orientation will be considerably eased by a systematic approach that will ensure a safe and consistent migration. In this paper, we propose a refactoring and testing strategy that supports such an approach and consider issues of behavior conservation and (incremental) integration of the aspect-oriented solution with the original system. The strategy is applied to the JHotDraw open source project and illustrated on a group of selected concerns. Finally, we abstract from the case study and present a number of generic refactorings which contribute to an incremental aspect-oriented refactoring process and associate particular types of crosscutting concerns to the model and features of the employed aspect language. The contributions of this paper are both in the area of supporting migration towards aspect-oriented solutions and supporting the development of aspect languages that are better suited for such migrations.Comment: 25 page

    A taxonomy of asymmetric requirements aspects

    Get PDF
    The early aspects community has received increasing attention among researchers and practitioners, and has grown a set of meaningful terminology and concepts in recent years, including the notion of requirements aspects. Aspects at the requirements level present stakeholder concerns that crosscut the problem domain, with the potential for a broad impact on questions of scoping, prioritization, and architectural design. Although many existing requirements engineering approaches advocate and advertise an integral support of early aspects analysis, one challenge is that the notion of a requirements aspect is not yet well established to efficaciously serve the community. Instead of defining the term once and for all in a normally arduous and unproductive conceptual unification stage, we present a preliminary taxonomy based on the literature survey to show the different features of an asymmetric requirements aspect. Existing approaches that handle requirements aspects are compared and classified according to the proposed taxonomy. In addition,we study crosscutting security requirements to exemplify the taxonomy's use, substantiate its value, and explore its future directions

    Crosscutting, what is and what is not? A Formal definition based on a Crosscutting Pattern

    Get PDF
    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

    An ontology of agile aspect oriented software development

    Get PDF
    Both agile methods and aspect oriented programming (AOP) have emerged in recent years as new paradigms in software development. Both promise to free the process of building software systems from some of the constraints of more traditional approaches. As a software engineering approach on the one hand, and a software development tool on the other, there is the potential for them to be used in conjunction. However, thus far, there has been little interplay between the two. Nevertheless, there is some evidence that there may be untapped synergies that may be exploited, if the appropriate approach is taken to integrating AOP with agile methods. This paper takes an ontological approach to supporting this integration, proposing ontology enabled development based on an analysis of existing ontologies of aspect oriented programming, a proposed ontology of agile methods, and a derived ontology of agile aspect oriented development

    A goal-oriented requirements modelling language for enterprise architecture

    Get PDF
    Methods for enterprise architecture, such as TOGAF, acknowledge the importance of requirements engineering in the development of enterprise architectures. Modelling support is needed to specify, document, communicate and reason about goals and requirements. Current modelling techniques for enterprise architecture focus on the products, services, processes and applications of an enterprise. In addition, techniques may be provided to describe structured requirements lists and use cases. Little support is available however for modelling the underlying motivation of enterprise architectures in terms of stakeholder concerns and the high-level goals that address these concerns. This paper describes a language that supports the modelling of this motivation. The definition of the language is based on existing work on high-level goal and requirements modelling and is aligned with an existing standard for enterprise modelling: the ArchiMate language. Furthermore, the paper illustrates how enterprise architecture can benefit from analysis techniques in the requirements domain
    • …
    corecore