150 likes | 254 Views
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA. REFERENCES F. Mostefaoui and J. Vachon,” Design level Detection of Interactions in
E N D
VERIFICATION OF ASPECT ORIENTED MODELSBYDON MARTINJAYASHREE VENKIPURAM PATHANGIPIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level Detection of Interactions in Aspect-UML models using Alloy”, Journal of Object Technology, vol. 6, no.7, Special Issue: Aspect-Oriented Modeling, pp 137–165, 2007. B. Bordbar, “UML2ALLOY: A Tool For Lightweight Modelling Of Discrete Event Systems,” In Proceedings of IADIS Applied Computing (Algarve, Portugal, February 22, 2005) G. Georg, “An Aspect-oriented Methodology for Designing Secure Applications,” Information and Software Technology, vol. 51, no. 5, pp. 846-864, 2009. F. Mostefaoui and J. Vachon,”Verification of Aspect-UML models using Alloy,”In Proceedings of the 10th International workshop on Aspect-Oriented Modeling (Van Couver, Canada, March, 2007) pp. 41-48.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions • Aspect – crosscutting concern that may involve multiple classes • Pointcut – tells where and when to insert code in a program • Joinpoint – actual location to insert code • Advice – functional code to implement aspect
ASPECT ORIENTED PROGRAMMING • Improves modularity • Clean separation of concerns • Enables incremental improvements by interweaving aspect code into base program • Difficult to predict the effect of a given aspect on the base program
VERIFICATION • Formal verification and analysis of AO system model • Consider AO model written in Aspect UML • Aspect interactions verified using Alloy model analyzer
ASPECT INTERACTION PROBLEMS • Violation of local properties: An advice or a join point’s pre/post condition is violated due to the weaving of an aspect • Violation of a class, aspect or system invariant due to the addition of an aspect
UML2Alloy • UML • Semi Formal Language • Not easy to perform verification and automated analysis • Alloy • Formal Language • Allows verification and automated analysis • Increases reliability of software systems
UML2Alloy • Need not be familiar with Alloy • Create a model in UML • Convert it to an Alloy Model using UML2Alloy (Automated) • Specify an OCL statement. Tool transforms this statement into alloy and evaluates it on th e alloy model
VERIFICATION OF UML MODELS WITH ALLOY What is Alloy Analyzer? • Formal language for structured modeling based on first order logic and ideas from Z http://alloy.mit.edu/alloy4 (need Java5 RTE) • Used for verification of agent-oriented, service-oriented, and aspect-oriented models • Provides verification for interactions
ALLOY ANALYZER FEATURES • Provides a structured specification consisting of the following types of elements: signatures, facts, predicates, and assertions • Checks small model instances • Provides an automatic analysis 1) simulation - evaluates predicates (states of the model) for consistency 2) checking – proves validity of assertions
EXAMPLE: SECURITY SYSTEM SECURITY SYSTEM DESIGN METHODOLOGY
SOLUTION TO PROBLEM • The security mechanism for authentication chosen was TLS which involved passing certificates between a client and server. • The mechanism was verified by the Alloy Analyzer.