VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.

Slides:



Advertisements
Similar presentations
1 Events, Actions, and Compositions Somayeh Malakuti, Christoph Bockisch, Mehmet Aksit Software Engineering Group
Advertisements

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.
Omnibus: A clean language and supporting tool for integrating different assertion-based verification techniques Thomas Wilson, Savi Maharaj, Robert G.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 1: Introduction.
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
ASTA Aspect Software Testing Assistant Juha Gustafsson, Juha Taina, Jukka Viljamaa University of Helsinki.
1 JAC : Aspect Oriented Programming in Java An article review by Yuval Nir and Limor Lahiani.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development.
Alternate Software Development Methodologies
1 Concurrency Specification. 2 Outline 4 Issues in concurrent systems 4 Programming language support for concurrency 4 Concurrency analysis - A specification.
Formal Methods of Systems Specification Logical Specification of Hard- and Software Prof. Dr. Holger Schlingloff Institut für Informatik der.
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.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
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.
Formality, Agility, Security, and Evolution in Software Development Cody Ronning 2/16/2015.
A Formal Model of Modularity in Aspect-Oriented Programming Jonathan Aldrich : Objects and Aspects Carnegie Mellon 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
Logic Programming Based Model Transformations An overview of related work.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Taming Obliviousness in Aspects with Data-flow Analysis and Design by Contract Tim Molderez and Dirk Janssens Ansymo Antwerp Systems and Software Modelling.
Towards Executable Aspect-Oriented UML Models 10th Int. Workshop on Aspect-Oriented Modeling (AOM), 6th Int. Conf. on Aspect-Oriented Software Development.
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.
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.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 1.
MOTOROLA and the Stylized M Logo are registered in the US Patent & Trademark Office. All other product or service names are the property of their respective.
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.
A Novel Approach to Unit Test: The Aspect-Oriented Way Guoqing Xu and Zongyuan Yang Software Engineering Lab (SEL) East China Normal University
Proof-Carrying Code & Proof-Carrying Authentication Stuart Pickard CSCI 297 June 2, 2005.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
CCC: An Aspect-Oriented Intermediate Language on.Net Platform Yingfei Xiong and Feng Wan University of Electronic Science and Technology of China, China.
AspectWrapper CHALFOUN Pierre et BUIST Éric. Overview Introduction – what and why In a nutshell – main components Our approach – how we did it Demo –
Introduction Better Faster Cheaper (pick any two) On-going issue that continues to motivate research in software engineering Applications: –continue to.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Verification of behavioural elements of UML models using B Truong, Ninh-Thuan and Souquieres, Jeanine In Proceedings of the 2005 ACM Symposium on.
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.
Aspect-Oriented Action Semantics Descriptions Luis Menezes University of Pernambuco
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University IWPSE 2003 Program.
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.
Methods of Software Development Karl Lieberherr Spring 2007.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan 1 A Verification Mechanism for Weaving.
Click to edit Master text styles JavaMOP Hamid Reza Niroomand A presentation to Dr. Babamir.
Towards an Aspect-oriented Language Module: Aspects for Petri Nets Tim Molderez, Bart Meyers, Dirk Janssens and Hans Vangheluwe Ansymo Antwerp Systems.
Applying Aspect-Orientation in Designing Security Systems Shu Gao Florida International University Center for Advanced Distributed Systems Engineering.
Aspect-Oriented Software Development (AOSD)
ICS 253: Discrete Structures I
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
ALLOY: A Formal Methods Tool Glenn Gordon Indiana University of Pennsylvania COSC 481- Formal Methods Dr. W. Oblitey 26 April 2005.
Aspect-oriented Code Generation Approaches Abid Mehmood & Dayang N. A. Jawawi Department of Software Engineering Faculty of Computer Science and Information.
Model Checking Early Requirements Specifications in Tropos Presented by Chin-Yi Tsai.
CHESS Methodology and Tool Federico Ciccozzi MBEES Meeting Sälen, January 2011 January 2011.
Principles of Programming & Software Engineering
Security analysis of COM with Alloy
Software Engineering Lecture 7
CSCI 578 Software Architectures
Model-Driven Analysis Frameworks for Embedded Systems
Automatic Derivation, Integration and Verification
Presentation transcript:

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

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.