Jasmine-AOI: A tool for integrating UML Activity Diagrams
Introduction Download Case Study 1 Case Study 2 Contact us


  A crosscutting concern is a special concern that overlaps other stakeholder interests. The design and implementation of these concerns are critical problems during software development process. Traditional solutions most focus on vertically decomposing and encapsulating concerns into individual modules. However, they cannot localize such concerns that cut across more than one feature to a single module. AOP provides an approving solution at the code level by modularizing and composing crosscutting concerns as aspects. However, a large number of crosscutting concerns, such as security policies, are critical features ongoing throughout the whole software development life cycle. They should be taken into account as early as possible, because earlier awareness of them can guide the subsequent implementing and testing activities. Moreover, Model-Driven Engineering (MDE) based on the Unified Modeling Language (UML) shifts the software development from a code-centric activity to a model-centric activity gradually, since models can be used to alleviate software complexity in a more abstract level. It is necessary to introduce aspect-oriented approaches into the design phase. Therefore, we present anaspect-oriented framework (See Fig.1) for modeling crosscutting concerns of the software separately as aspect models, and integrating these aspect models with primary models together to provide an overall system design.

Fig.1 Framework of the proposed aspect-oritend approach

  As depict in Fig.1, the framework of our approach is composed of three parts: modeling, integration, and testing and verification. Based on activity diagrams, the modeling part introduces some aspectual extensions to support the modeling of crosscutting concerns as aspect models. The integration part dedicates to integrate aspects with primary models based on a set of rules. The testing and verification part verifies the integrated model against the requirements, and uses the integrated model as a behavior specification to test the implementation. This framework describes our ongoing work. This paper focus on the former two parts. Part will be developed in our future work. 

  We implemented a prototype tool named Jasmine-AOI as an Eclipse plug-in which focus on the automation of integration part. The UML activity diagram is used to model behavioral part of primary features, and is also extended to model crosscutting concerns.. The inputs of the tool are XML Metadata Interchange (XMI) format files of primary, pointcut, and advice models exported from Enterprise Architect (EA), which is one of the leading tools to design UML models. We choose EA as the design tool for its ability to export XMI files by either package or project. The outputs of the tool are XMI format integrated models which could be imported and displayed by EA. The bound of the tool is in Fig. 2.

Fig.2 Relationship between EA and Jasmine-AOI

   Jasmine-AOI is composed by 3 modules: matching, initializing, and weaving. The matching module focuses on finding out all sub-graphs in primary models that match the pointcut model. The initializing module replaces the formal parameters in advice models with elements captured from matched sub-graphs of the primary models. The weaving module dedicates to weave the initialized advice models with the primary models based on different types of advices and join points to generate an integrated system design which covers both the main functional requirements that designed in the primary models and crosscutting concerns that designed in the aspect models.

   Jasmine-AOI is now available in this web site. You may download Jasmine-AOI via the download page. Note that it can only be used for non-commercial purpose. Two case studies of a bank system and a point-of-sale terminal (POST) system are available together with Jasmine-AOI which you can have a try yourself. We also provide a detailed user manual to make users run Jasmine-AOI comfortably.


Software Engineer Group

Department of Computer Science and Technology

Nanjing University, PRC


©2007 SEG NJU Homepage IntroductionDownloadCase Study 1 Case Study 2Contact us