Upload
lilian-donna-long
View
224
Download
0
Embed Size (px)
Citation preview
VERIFICATION OF ASPECT ORIENTED MODELS
BYDON MARTIN
JAYASHREE VENKIPURAM PATHANGIPIYUSH SRIVASTAVA
REFERENCES
F. Mostefaoui and J. Vachon,” Design level Detection of Interactions inAspect-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 SecureApplications,” 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
TELECOM SYSTEM (Aspect UML)
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
PROCESS FOR ANALYSIS(use Aspect-UML or UML2ALLOY)
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
UML2Alloy – Transformation Rules
EXAMPLE: SECURITY SYSTEM
SECURITY SYSTEM DESIGN METHODOLOGY
MAN IN THE MIDDLE ATTACKER
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.