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

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

ATM SCAM  At first glance it would appear as though this individual is simply performing a simple ATM transaction.
To navigate through this Tutorial use your mouse, or Page Up key or Page Down key Registration Tour Unlock the “POWER” of v8.0.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 5: Process Synchronization.
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.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
SWE 214 (071) Use Case Diagrams Slide 1 Use Case Diagrams Examples.
1.7.2.G1 © Family Economics & Financial Education – Revised May 2005 – Financial Institutions Unit – Electronic Banking Funded by a grant from Take Charge.
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
Checking Account & Debit Card Simulation Understanding Checking Accounts and Debit Card Transactions.
Requirements for Opening a Checking Account
ATM Case Study A Discussion.
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.
1 With our remote deposit capture service, you can easily make deposits to your business checking account from the convenience of your office. Advantages.
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)
Specification and Verification of Aspects Shmuel Katz.
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 #5 Categories of Aspects – contd.; LTL properties formalization.
Aspect-Oriented Software Development (AOSD) Tutorial #9 Modular Verification of Aspects.
{ 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
Use Cases 2 ENGR ♯10 Peter Andreae
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.
What to do for a Financial year end And When to do it.
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.
SFWR ENG 3KO4 Software Development for Computer/Electrical Engineering Fall 2009 Instructor: Dr. Kamran Sartipi Software Requirement Specification (SRS)
Project Topic: “Easy Banking & Cash Withdrawal Machine” PRESENTED BY: 1. Mr. Sachin Kumar ( ) 2. Mr. Sanjay Kumar Pal ( ) 3. Mr. Ravi.
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.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
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.
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.
Checking Account & Debit Card Simulation Understanding Checking Accounts and Debit Card Transactions.
Consumers Guide to Prepaid Cards Lori Scharmer, M.S., A.F.C., Interim Family Economics Specialist
Bank Reconciliation Chapter 4. PAGE REF #CHAPTER 4: Bank Reconciliation SLIDE # 2 Objectives Reconcile your checking Create bank reconciliation reports.
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 Case Study and Use Cases for Case Study Lecture # 28.
Registration Instructions
Object-Oriented Static Modeling of the Banking System - I
Exercices & Corrections Week 3
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 q t p Pointcut-ready model: Pointcut (example): wrong passw. entered 3 times consequently p ≡ correct passw. enter psw. perform ATM operations cancel enter psw. pointcut

Aspect-Oriented Software Development (236608) 6 Weaving Example q t ¬p, r p ¬p Pointcut-ready base model: ¬p, r … p … … … Advice model: ¬p, r r – new predicate, to mark the pointcut

Aspect-Oriented Software Development (236608) 7 Weaving– Stage1 q t ¬p, r p ¬p Pointcut-ready base model: ¬p, r … p … … … Advice model: ¬p, r base → aspect connections

Aspect-Oriented Software Development (236608) 8 Weaving– Stage2 q t ¬p, r p ¬p Pointcut-ready base model: ¬p, r … p … … … Advice model: ¬p, r aspect → base connections

Aspect-Oriented Software Development (236608) 9 Weaving– Stage3 q t ¬p, r p ¬p Pointcut-ready base model: ¬p, r … p … … … Advice model: ¬p, r remove unnecessary base edges

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

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: G (st → G (st))

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

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 pointcut - ready? st – card stolen; in – card in ATM; r,q – aux. vars; pointcut: st ∧ in pointcut Yes! Here: all the states are fair

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

Aspect-Oriented Software Development (236608) 15 Weaving into the Tableau – Stage1 ¬in ¬st ¬q ¬r ¬in ¬st ¬q r in ¬st ¬q ¬r in st ¬q ¬r in ¬st ¬q r ¬in st ¬q ¬r in st ¬q ¬r

Aspect-Oriented Software Development (236608) 16 Weaving into the Tableau – Stage2 ¬in ¬st ¬q ¬r ¬in ¬st ¬q r in ¬st ¬q ¬r in st ¬q ¬r in ¬st ¬q r ¬in st ¬q ¬r in st ¬q ¬r

Aspect-Oriented Software Development (236608) 17 Weaving into the Tableau – Stage3 ¬in ¬st ¬q ¬r ¬in ¬st ¬q r in ¬st ¬q ¬r in st ¬q ¬r in ¬st ¬q r ¬in st ¬q ¬r in st ¬q ¬r Is the guarantee satisfied?

Aspect-Oriented Software Development (236608) 18 Card Theft Protection - Model VAR --BASE card_in : boolean ; card_stolen : boolean ; VAR --ASPECT pcT : 1..2 ; POINTCUT card_stolen & card_in ; … TRANS pcT = 1 -> next(pcT = 2) & next(card_in) & next(card_stolen); RETURN pcT = 2 ; … LTLSPEC --BASE G (card_stolen -> G (card_stolen)) ; LTLSPEC --AUGMENTED G ((card_in & card_stolen) -> G (card_in)) ; 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