VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –

Slides:



Advertisements
Similar presentations
Verification of DSMLs Using Graph Transformation: A Case Study with Alloy Zekai Demirezen 1, Marjan Mernik 1,2, Jeff Gray 1, Barrett Bryant 1 1 Department.
Advertisements

Omnibus: A clean language and supporting tool for integrating different assertion-based verification techniques Thomas Wilson, Savi Maharaj, Robert G.
Alan Shaffer, Mikhail Auguston, Cynthia Irvine, Tim Levin The 7th OOPSLA Workshop on Domain-Specific Modeling October 21-22, 2007 Toward a Security Domain.
FUP - Formal Unified Process MSc.Miroslav Líška Slovak University of Technology Faculty of Informatics and Information.
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
An Aspect-Oriented Approach For Web Application Access Control Presented by: Mohamed Hassan Carleton University Carleton University
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
Process Model for Access Control Wael Hassan University of Ottawa Luigi Logrippo, Université du Québec en Outaouais.
Using UML and Alloy to Specify and Analyze Access Control Features Eunjee Song, Xi Hua SP05-CS681 Project Proposal.
Rigorous Fault Tolerance Using Aspects and Formal Methods Shmuel Katz Computer Science Department The Technion Haifa, Israel
Aspect Oriented Programming Written by Michael Beder.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
1 Model Interface Implementation for Two-Way Obliviousness in Aspect-Oriented Modeling Presented by Wuliang Sun Department of Computer Science Baylor University.
Deriving AO Software Architectures using the AO-ADL Tool Suite Luis Fernández, Lidia Fuentes, Mónica Pinto, Juan A. Valenzuela Universidad de Málaga
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
Logic Programming Based Model Transformations An overview of related work.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
Copyright (c) Cem Kaner Black Box Software Testing (Academic Course - Fall 2001) Cem Kaner, J.D., Ph.D. Florida Institute of Technology Section:
Introduction to Aspect Oriented Programming Presented By: Kotaiah Choudary. Ravipati M.Tech IInd Year. School of Info. Tech.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
What is “model transformation”? Distinction between source and target Source may be same as target May be multiple sources, or targets Reaching a fixed.
1 Metamodel Access Protocols for Extensible Aspect-Oriented Modeling Naoyasu Ubayashi(Kyushu Institute of Technology, Japan) Shinji Sano(Kyushu Institute.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan An Extensible Aspect-Oriented Modeling.
Proof-Carrying Code & Proof-Carrying Authentication Stuart Pickard CSCI 297 June 2, 2005.
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
Copyright (c) Cem Kaner Black Box Software Testing (Academic Course - Fall 2001) Cem Kaner, J.D., Ph.D. Florida Institute of Technology Section:
Copyright (c) Cem Kaner Black Box Software Testing (Academic Course - Fall 2001) Cem Kaner, J.D., Ph.D. Florida Institute of Technology Section:
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Alloy-based Lightweight Verification for Aspect-oriented Architecture Naoyasu Ubayashi(Kyushu Institute of Technology) Yuki Sato(Kyushu Institute of Technology)
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Methods of Software Development Karl Lieberherr Spring 2007.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan 1 A Verification Mechanism for Weaving.
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Aspect-Oriented Software Development (AOSD)
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Copyright (c) Cem Kaner. All Rights Reserved. 1 Black Box Software Testing (Professional Seminar) Cem Kaner, J.D., Ph.D. Professor of Computer.
Principles of Programming & Software Engineering
Black Box Software Testing (Professional Seminar)
Security analysis of COM with Alloy
Software Engineering Lecture 7
CSCI 578 Software Architectures
Black Box Software Testing (Academic Course - Fall 2001)
Black Box Software Testing (Academic Course - Fall 2001)
Model-Driven Analysis Frameworks for Embedded Systems
Automatic Derivation, Integration and Verification
“The UML Collaboration, a Standard for Role Modeling.”
myIS.neu.edu – presentation screen shots accompany:
Black Box Software Testing (Academic Course - Fall 2001)
Black Box Software Testing (Academic Course - Fall 2001)
Black Box Software Testing (Academic Course - Fall 2001)
Black Box Software Testing (Academic Course - Fall 2001)
Black Box Software Testing (Professional Seminar)
Black Box Software Testing (Professional Seminar)
Black Box Software Testing (Professional Seminar)
Presentation transcript:

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 (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.

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, 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 , F. Mostefaoui and J. Vachon,”Verification of Aspect-UML models using Alloy,” In Proceedings of the 10 th International workshop on Aspect-Oriented Modeling (Van Couver, Canada, March, 2007) pp Farida Mostefaoui DIRO, University of Montreal Quebec, Canada Julie Vachon DIRO, University of Montreal Quebec, Canada Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Workshop AOM ’07, March 12-13, 2007 Vancouver, British Columbia, Canada Copyright 2007 ACM /07/03... $5.00