Verifying Aspect-Oriented Models against Crosscutting Properties

Dealing with crosscutting concerns has been a critical problem in software development processes. To facilitate handling crosscutting concerns at design phases, we proposed an aspect-oriented modeling and integration approach with UML activity diagrams. The primary concerns are depicted with UML activity diagrams as primary models, whereas crosscutting concerns are described with aspectual extended activity diagrams as aspect models. Aspect models can be integrated into primary models automatically. The AOM approach can reduce the complexity of design models. However, potential faults that violate desired properties of the software system might still be introduced during the modeling or integration processes. The verification technique is well-known for its ability to assure the correctness of models and uncover design problems before implementation. We propose a framework to verify aspect-oriented UML activity diagrams based on Petri net verification techniques. For verification purpose, we transform the integrated activity diagrams into Petri nets and prove the consistency of the transformation. Then, crosscutting concerns in system requirements are refined to properties in the form of CTL formulas. Finally, the Petri nets are verified against the formalized properties to report whether the aspect-oriented design models satisfies the requirements. Furthermore, we implement a tool named Jasmine-AOV to support the verification process. Case studies are conducted to evaluate the effectiveness of the proposed approach.

[1]  Dianxiang Xu,et al.  Aspect-Oriented Modeling and Verification with Finite State Machines , 2009, Journal of Computer Science and Technology.

[2]  Tadao Murata,et al.  Petri nets: Properties, analysis and applications , 1989, Proc. IEEE.

[3]  Karsten Schmidt LoLA: a low level analyser , 2000 .

[4]  Clémentine Nebut,et al.  Automatic test generation: a use case driven approach , 2006, IEEE Transactions on Software Engineering.

[5]  João Araújo,et al.  Scenario modelling with aspects , 2004, IEE Proc. Softw..

[6]  XuWei,et al.  UML Activity Diagram-Based Automatic Test Case Generation For Java Programs , 2009 .

[7]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[8]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[9]  Li Xuandong,et al.  Generating test cases from UML activity diagram based on Gray-box method , 2004 .

[10]  Mukund Raghavachari,et al.  Mapping UML designs to Java , 2000, OOPSLA '00.

[11]  Tomasz Janowski,et al.  Distributed Computing and Internet Technology, 4th International Conference, ICDCIT 2007, Bangalore, India, December 17-20, Proceedings , 2007, ICDCIT.

[12]  Edmund M. Clarke,et al.  Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic , 1981, Logic of Programs.

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  Harald Störrle,et al.  Semantics of Control-Flow in UML 2.0 Activities , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[15]  Wei Xu,et al.  UML Activity Diagram-Based Automatic Test Case Generation For Java Programs , 2009, Comput. J..

[16]  Harald Störrle,et al.  Structured Nodes in UML 2.0 Activities , 2004, Nord. J. Comput..

[17]  Xi Liu,et al.  Verifying Aspect-Oriented Activity Diagrams Against Crosscutting Properties with Petri Net Analyzer , 2012, SEKE.

[18]  W. Marsden I and J , 2012 .

[19]  Dianxiang Xu,et al.  Modeling and integrating aspects with UML activity diagrams , 2009, SAC '09.

[20]  Naoyasu Ubayashi,et al.  Aspect-oriented programming with model checking , 2002, AOSD '02.

[21]  Quan Long,et al.  Generating a Prototype from a UML Model of System Requirements , 2004, ICDCIT.

[22]  Ruzanna Chitchyan,et al.  EA-Miner: Towards Automation in Aspect-Oriented Requirements Engineering , 2007, LNCS Trans. Aspect Oriented Softw. Dev..