Aspect-Oriented Software Development (AOSD) Tutorial #9 Modular Verification of Aspects.

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

1 Chapter 8 Fundamentals of System Security. 2 Objectives In this chapter, you will: Understand the trade-offs among security, performance, and ease of.
1 Modular Verification of Strongly Invasive Aspects Authors: Emilia Katz, Shmuel Katz The Technion.
USE CASE – ATM EXAMPLE Actors: ATM Customer ATM Operator Use Cases: The customer can withdraw funds from a checking or savings account query the balance.
SWE 214 (071) Use Case Diagrams Slide 1 Use Case Diagrams Examples.
Aspect-Oriented Software Development (AOSD) Tutorial #10 Interference among Aspects.
Financial Literacy Skills
Unit 1: Lesson 2.  For many Americans, debit cards are quickly replacing personal checks as a means of making payments. Students should be able to recognize.
Warm-up: April 11 What’s the difference between a checking and savings account?
Debit Card Plastic card that looks like a credit card
Requirements for Opening a Checking Account
ATM Case Study A Discussion.
Checking Account & Debit Card Simulation
CPSC 333: Foundations of Software EngineeringJ. Denzinger Small Test: Bank account manager System has to run on an automated teller machine. User must.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
S.M.A.T.E. Serving Money Around The Earth The Revolutionary ATM Irvin Shen, Juan Favela, Sam Ammons, and Christopher Leonardi.
Sequence Diagrams. Introduction A Sequence diagram depicts the sequence of actions that occur in a system. The invocation of methods in each object, and.
Chapter 12 ATM Case Study, Part 1: Object-Oriented Design with the UML
January Ron McFadyen1 Ch 9. Use-case model: drawing System Sequence Diagrams Elaboration Iteration 1: a simple cash-only success scenario of.
Aspect-Oriented Software Development (AOSD) Tutorial #10 Interference among Aspects.
Interferences: aspect-base and between aspects Shmuel Katz, using slides from Lodewijk Bergmans.
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization.
Aspect-Oriented Software Development (236601) 1 Home Assignment (what, where and when)
Aspect-Oriented Software Development (AOSD) Additional Tutorial.
Aspect-Oriented Software Development (236608) 1 Aspect-Oriented Software Development (AOSD) Tutorial #1 Course site :
Aspect-Oriented Software Development (AOSD) Tutorial #9 Modular Verification of Aspects.
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization.
Events & Messages Paul Ard Ales v2.0. Generic Exceptions  HardwareFail – the device does not respond  HardwareMalfunction – some part of the device.
{ How to Use An ATM A simple tutorial to teach how to use ATM Machines.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Chapter 5 – The Banking System Lesson 5-1: Checking Accounts
1 Thomas Cottenier 1,2, Aswin van den Berg 1, Tzilla Elrad 2 1 Software and System Engineering Research Lab, Motorola Labs 2 Concurrent Programming Research.
Use Cases 2 ENGR ♯10 Peter Andreae
Members Ashley-Gail Wright Jade Mills Sami-Jo Bryant Ruth-Ann Robinson Kimberly Grey.
Merijn Benjamin Christina
Glenn David Blank Computer Science & Engineering Department Lehigh University, Bethlehem, PA, USA With support from the National Science Foundation (Grants.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
1 Object-Oriented Analysis Use Case Driven. 2 The outline method for OOA 1.Identify object classes within the problem domain 2.Define the behaviour of.
Faculty of Computer & Information Software Engineering Third year
Chapter 3, Section 3 ELECTRONIC BANKING.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
SFWR ENG 3KO4 Software Development Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS) for the Automated Banking Machine.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
An Overview of Single Sign-On, Federation, Its Benefits, and Basic Procedures for Integrating Applications.
Project Topic: “Easy Banking & Cash Withdrawal Machine” PRESENTED BY: 1. Mr. Sachin Kumar ( ) 2. Mr. Sanjay Kumar Pal ( ) 3. Mr. Ravi.
SD3049 Formal Methods. Formal Methods Module Leader Dr Aaron Kans
ADVANTAGES OF DATA BASE MANAGEMENT SYSTEM. TO BE DICUSSED... Advantages of Database Management System  Controlling Data RedundancyControlling Data Redundancy.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Unix Security Assessing vulnerabilities. Classifying vulnerability types Several models have been proposed to classify vulnerabilities in UNIX-type Oses.
Learning Intentions Explain what an ATM is and the facilities offered Identify the stages of withdrawing cash from an ATM List the advantages and disadvantages.
1 Incremental Analysis of Interference Among Aspects Authors: Emilia Katz, Shmuel Katz The Technion.
Events & Messages Merijn Paul Tom. Generic Exceptions  HardwareFail – the device does not respond  HardwareMalfunction – some part of the device is.
1 UNIT 19 Data Security 2. Introduction 2 AGENDA Hardware and Software protect ion Network protect ion Some authentication technologies :smart card Storage.
1 UNIT 19 Data Security 2 Lecturer: Ghadah Aldehim.
Unit 2 Assignment 1. Spyware Spyware is a software that gathers information about a person or site and uses it without you knowing. It can send your information.
Checking & Savings Accounts Economics What is a Checking Account?  Common financial service used by many consumers (a place to keep money)  Funds.
1.7.2.G1 © Family Economics & Financial Education – Revised May 2005 – Financial Institutions Unit – Electronic Banking Funded by a grant from Take Charge.
Lecture Outline Monday 23 rd February (Week 4) 3 – 3:10pm Review of Requirements Eng. and use cases 3:10 – 3:40pm Exercise on Use Case 3:40-4:40 Class.
Consumers Guide to Prepaid Cards Lori Scharmer, M.S., A.F.C., Interim Family Economics Specialist
Do Now Why do people have checking accounts?. Unit 4: Lesson 13: Checking Accounts Day 1 Objective: identify vocabulary terms related to checking accounts.
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
1 Case Study and Use Cases for Case Study Lecture # 28.
Paul Ammann & Jeff Offutt
Structured Analysis and Design Technique
Registration Instructions
Object-Oriented Static Modeling of the Banking System - I
Financial Literacy Skills
Use Case Modeling - techniques for detailing use cases
Real-Time Structured Analysis and Design Technique (RSTAD)
Presentation transcript:

Aspect-Oriented Software Development (AOSD) Tutorial #9 Modular Verification of Aspects

Aspect-Oriented Software Development (236608) 2 Today: Aspects Verification Pointcut-ready models Weaving the aspect into the tableau MAVEN tool Examples

Aspect-Oriented Software Development (236608) 3 Example: Theft Protection Aspect General description: Can be used in a system with remote authorized access. Most useful for systems in which each user can have only one open session at a time. Prevents identity-theft: If a wrong password is provided in several consequent attempts of logging in, the aspect guarantees that the user is blocked.

Aspect-Oriented Software Development (236608) 4 Theft Protection Aspect – contd. Example system: ATM system of a bank: several ATM machines and a server. ATM usage: (in a cycle) –insert card –enter code (repeat until the correct code or “cancel” is entered) –if permission is granted (i.e, the code was correct), enter a request for the bank operation (money withdrawal, account balance check, …) –the request is then processed by the system Point of view of the aspect: the card serves as a user-login, and code - as a password.

Aspect-Oriented Software Development (236608) 5 Pointcut-ready Base Sys. Model Base system model: q t ¬pp Pointcut-ready model: Pointcut (example): wrong passw. entered 3 times consequently p ≡ correct passw. enter psw. perform ATM operations cancel enter psw.

Aspect-Oriented Software Development (236608) 6 Weaving Example q t ¬p, r p ¬p Pointcut-ready base model: ¬p … p … … … Advice model: ¬p, r r ≡ pointcut

Aspect-Oriented Software Development (236608) 7 Weaving– Stage1 base → aspect connections

Aspect-Oriented Software Development (236608) 8 Weaving– Stage2 aspect → base connections

Aspect-Oriented Software Development (236608) 9 Weaving– Stage3 remove unnecessary base edges

Aspect-Oriented Software Development (236608) 10 Pointcut-ready Base Sys.(2) Base system model: q t ¬pp Pointcut-ready model: Pointcut (example2): wrong passw. has been entered 3 times

Aspect-Oriented Software Development (236608) 11 Theft Protection Aspect Assumption For each card and for each ATM: There is a state predicate telling that the card is stolen (st), and a state predicate telling the card is in the ATM (in) Whenever a card is stolen, it remains stolen forever Formally:

Aspect-Oriented Software Development (236608) 12 Theft Protection Aspect Pointcut Some stolen card is inserted into an ATM Formally:

Aspect-Oriented Software Development (236608) 13 Assumption Tableau ¬in ¬st ¬q ¬r ¬in ¬st ¬q r in ¬st ¬q ¬r in st ¬q ¬r in ¬st ¬q r ¬in st ¬q ¬r st – card stolen; in – card in ATM; r,q – aux. vars; pointcut: st ∧ in

Aspect-Oriented Software Development (236608) 14 Simple Advice Model in st ¬q ¬r

Aspect-Oriented Software Development (236608) 15 Weaving into the Tableau – Stage1

Aspect-Oriented Software Development (236608) 16 Weaving into the Tableau – Stage2

Aspect-Oriented Software Development (236608) 17 Weaving into the Tableau – Stage3

Aspect-Oriented Software Development (236608) 18 Card Theft Protection - Model VAR --BASE card_in : boolean ; card_stolen : boolean ; VAR --ASPECT pcT : 1..2 ; POINTCUT … TRANS pcT = 1 -> next(pcT = 2) & next(card_in) & next(card_stolen); RETURN pcT = 2 ; … LTLSPEC --BASE … LTLSPEC --AUGMENTED … Variables that should be calculated from the base system state – those used in the assumption, pointcut and advice Aspect variables Pointcut description (state predicate!) Advice Assumption Guarantee