12 research outputs found
Assessing composition in modeling approaches
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
Visualizing early aspects with use case maps
Once aspects have been identified during requirements engineering activities, the behavior, structure, and pointcut expressions of aspects need to be modeled unobtrusively at the requirements level, allowing the engineer to seamlessly focus either on the behavior and structure of the system without aspects or the combined behavior 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 paper describes how, with the help of Use Case Maps (UCMs), scenario-based aspects can be modeled at the requirements level unobtrusively and with the same techniques as for non-aspectual systems. Use Case Maps are a visual scenario notation under standardization by the International Telecommunication Union. With Use Case Maps, aspects as well as pointcut expressions are modeled in a visual way which is generally considered the preferred choice for models of a high level of abstraction
Formalizing patterns with the user requirements notation
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
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)
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
Requirements for a modeling language to specify and match business process improvement patterns
Businesses are always looking for opportunities to improve their processes in order to become more efficient and effective. Patterns for business process improvement have been defined and used as best practices to help analysts discover such opportunities. A modeling language allowing analysts to define or use a predefined library of improvement patterns to detect improvement opportunities in business processes can be of a significant value. Based on a comprehensive set of improvement patterns from the literature, this paper defines the requirements for a modeling language to support a framework capable of defining and detecting such patterns. We use an example from the retail industry to motivate the collected requirements. The paper's contributions allow us to capture more sophisticated business process improvement patterns, bringing us one step closer to a comprehensive model-driven, aspect-oriented business process modeling language. Furthermore, the collected requirements for the desired modeling language clearly indicate that currently popular business process modeling languages are not yet capable of capturing all the required det
Goal models as run-time entities in context-aware systems
The strength of goal models is their ability to assess candidate solutions against high level criteria for many stakeholders, allowing system-wide trade-offs to be performed. We argue that, in a context-aware system, reasoning based on goal models can complement standard rule-based reasoning engines for decision making without involving explicit interaction with the user. While rule-based systems excel in filtering out unsuitable solutions based on clear criteria, it is difficult to rank suitable solutions based on vague, qualitative criteria of stakeholders with a rule-based approach. The User Requirements Notation (URN) is a goal-based and scenario-based requirements modeling language that has been applied to many different domains, from reactive systems to telecommunication standards to business processes. For context-aware systems, URN's workflow notation can describe the overall behavior of a context-aware system and URN's goal models can further enhance reasoning about contextual situations. While URN already supports some of the interactions between workflow and goal models required for the specification of context-aware systems, it does not yet fully support the modeling, design-time simulation, and run-time execution of a context-aware system based on its URN model. This paper (i) introduces such a modeling, simulation, and execution environment, (ii) discusses three architectural solutions for combined rule-based and goal-oriented reasoning, and (iii) reports on a URN profile that describes a domain-specific language for context-aware reasoning using goal-orientation with the help of an example application from the health care domain
A systematic review and assessment of aspect-oriented methods applied to business process adaptation
Today's ever-changing business environments, comprised among other things of customer expectations, market demands, and legal obligations, require dynamic and adaptive business processes. Hence, enterprises need to monitor and improve their business processes against their business goals and constraints. Aspect-oriented development is known to have helped designers cope with changing concerns in software, even dynamically. In this paper, we perform a systematic literature review of aspect-oriented approaches for business process adaptation. We observe that current methods focus on i) composing and swapping services based on Quality of Service (QoS), cost, rules, policies, and constraints, as well as in the event of failure, ii) extracting roles and crosscutting concerns from composite serviing and adaptation framework is novel because none of the other approaches considers organization goals, performance and constraints as a whole when improving business processes. In addition, given much prior research on aspectoriented service composition is available, we are confident that our modeling framework is realizable
Visualizing aspect-oriented goal models with AoGRL
As goal models can be large and complex even for small problems, it is often a challenge to aptly visualize them and to efficiently structure them for maintenance and reuse activities. The Goal-oriented Requirement Language (GRL) based on i* and the Non-Functional Requirements (NFR) Framework is no exception regarding these challenges. We argue that new ways of visualizing GRL goal models are needed and propose to use Aspect-oriented GRL (AoGRL) to improve the current structure of GRL models and their visualization. The paper presents a case study to evaluate the modularity, understandability, reusability, maintainability, and scalability of AoGRL models compared to GRL models. The evaluation is carried out based on metrics adapted from literature. The evaluation suggests that AoGRL models are more scalable than GRL models and exhibit better modularity, understandability, reusability, and maintainabilit
Modeling and detecting semantic-based interactions in aspect-oriented scenarios
Interactions between dependent or conflicting aspects are a well-known problem with aspect-oriented development (as well as related paradigms). These interactions are potentially dangerous and can lead to unexpected or incorrect results when aspects are composed. To date, the majority of aspect interaction detection methods either have been based on purely syntactic comparisons or have relied on heavyweight formal methods. We present a new approach that is based instead on lightweight semantic annotations of aspects. Each aspect is annotated with domain-specific markers and a separate influence model describes how semantic markers from different domains influence each other. Automated analysis can then be used both to highlight semantic aspect conflicts and to trade-off aspects. We apply this technique to early aspects, namely, aspect scenarios, because it is desirable to detect aspect interactions as early in the software lifecycle as possible. We evaluate the technique using two case studies-one from industry and one posed as a challenge problem by the community-and show that the technique detects interactions that cannot be discovered using syntactic techniques. In addition, we show that the technique can apply to many languages through the use of different aspect-oriented scenario notations in the case studies, namely, MATA sequence diagrams and Aspect-oriented Use Case Maps