Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Continuation of chapter 6…. Nested while loop A while loop used within another while loop is called nested while loop. Q. An illustration to generate.
Automated Theorem Proving Lecture 1. Program verification is undecidable! Given program P and specification S, does P satisfy S?
1 Abstraction (Cont’d) Defining an Abstract Domain variable elimination, data abstraction, predicate abstraction Abstraction for Universal/Existential.
M ODEL CHECKING -Vasvi Kakkad University of Sydney.
Problem Solving 5 Using Java API for Searching and Sorting Applications ICS-201 Introduction to Computing II Semester 071.
CS6133 Software Specification and Verification
Rigorous Software Development CSCI-GA Instructor: Thomas Wies Spring 2012 Lecture 11.
1 Modular Verification of Strongly Invasive Aspects Authors: Emilia Katz, Shmuel Katz The Technion.
1 Temporal Claims A temporal claim is defined in Promela by the syntax: never { … body … } never is a keyword, like proctype. The body is the same as for.
Aspect-Oriented Software Development (AOSD) Tutorial #10 Interference among Aspects.
1 CS2200 Software Development Lecture: Testing and Design A. O’Riordan, 2008 K. Brown,
CSE 555 Protocol Engineering Dr. Mohammed H. Sqalli Computer Engineering Department King Fahd University of Petroleum & Minerals Credits: Dr. Abdul Waheed.
Aspect-Oriented Software Development (AOSD) Tutorial #2 AspectJ Basics.
Aspect-Oriented Software Development (AOSD) Tutorial #10 Interference among Aspects.
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization; Assume – guarantee specifications.
Aspect-Oriented Software Development (AOSD) Tutorial #4 Categories of Aspects.
CS 106 Introduction to Computer Science I 02 / 12 / 2007 Instructor: Michael Eckmann.
Aspect-Oriented Software Development (AOSD) Tutorial #7 Assume – guarantee specifications; EAOP.
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization.
Categories of Aspects Shmuel Katz Computer Science Department The Technion Haifa, Israel.
Aspect-Oriented Software Development (AOSD) Tutorial #4 Categories of Aspects.
Unit 171 Algorithms and Problem Solving  Introduction  Algorithm Design  Algorithm Properties  Algorithm Control Flow  Examples  Comparing Algorithms.
Aspect-Oriented Software Development (AOSD) Tutorial #8 Composition Filters.
Aspect-Oriented Software Development (236601) 1 Home Assignment (what, where and when)
Aspect-Oriented Software Development (AOSD) Tutorial #2 AspectJ Basics.
Review of the automata-theoretic approach to model-checking.
Aspect-Oriented Software Development (AOSD) Additional Tutorial.
ESE601: Hybrid Systems Introduction to verification Spring 2006.
Aspect-Oriented Software Development (AOSD) Tutorial #6 Categories of Aspects – contd.; LTL properties formalization; Assume – guarantee specifications.
Aspect-Oriented Software Development (AOSD) Tutorial #3 AspectJ - continued.
1 Algorithms and Problem Solving. 2 Outline  Problem Solving  Problem Solving Strategy  Algorithms  Sequential Statements  Examples.
Automata and Formal Lanugages Büchi Automata and Model Checking Ralf Möller based on slides by Chang-Beom Choi Provable Software Lab, KAIST.
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 #3 AspectJ - continued.
Aspect-Oriented Software Development (AOSD) Tutorial #9 Modular Verification of Aspects.
Model Checking LTL over (discrete time) Controllable Linear System is Decidable P. Tabuada and G. J. Pappas Michael, Roozbeh Ph.D. Course November 2005.
LAB 10.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
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.
On the Formal Specification of Automata- based Programs via Specification Patterns Spring/Summer Young Researchers' Colloquium on Software Engineering.
Using Data Within a Program Chapter 2.  Classes  Methods  Statements  Modifiers  Identifiers.
Safety-Critical Systems 5 Testing and V&V T
Architectural Point Mapping for Design Traceability Naoyasu Ubayashi and Yasutaka Kamei Kyushu University, Japan March 26, 2012 FOAL 2012 (AOSD Workshop)
Topics for exam in AOSD Basic concepts: tangling, scattering, joinpoint, advice, cross-cutting, weaving AspectJ: syntax, pointcut notations, around, proceed,
Systems Analysis and Design in a Changing World, 6th Edition
CSE Winter 2008 Introduction to Program Verification January 15 tautology checking.
Constraints Assisted Modeling and Validation Presented in CS294-5 (Spring 2007) Thomas Huining Feng Based on: [1]Constraints Assisted Modeling and Validation.
5 Minute Check. Essential Question.
1 Temporal logic. 2 Prop. logic: model and reason about static situations. Example: Are there truth values that can be assigned to x,y simultaneously.
Announcements Final Exam: TBD. Static Variables and Methods static means “in class” methods and variables static variable: one per class (not one per.
From Aspectual Requirements to Proof Obligations for Aspect- Oriented Systems Shmuel Katz and Awais Rashid The Technion Lancaster University Haifa, Israel.
Grammar Practice. Please complete the grammar review on the grammar sheet. (you may keep your grammar sheet in your journal)
Whole, Integers, Rational and Natural Numbers M7N1. Students will understand the meaning of positive and negative rational numbers and use them in computation.
Today’s Agenda  Quiz 4  Temporal Logic Formal Methods in Software Engineering1.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
6/12/20161 a.a.2015/2016 Prof. Anna Labella Formal Methods in software development.
For Friday Finish reading chapter 9 WebCT quiz 17.
Chapter 6 Queue.
Formal verification in SPIN
CS1101: Programming Methodology Recitation 7 – Exceptions
Chapter 2.
Formal Methods in software development
Formal Methods in software development
Creating Random Multiple Versions of Canvas Questions
class PrintOnetoTen { public static void main(String args[]) {
Chapter 6 Queue.
Formal Methods in software development
Presentation transcript:

Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization

Aspect-Oriented Software Development (236608) 2 Today: Aspects Categories (contd.), LTL properties Base system properties preservation –guaranteed –occasional From natural language to Temporal Logic Examples

Aspect-Oriented Software Development (236608) 3 LTL Future Operators - Reminder G palways p Fpeventually p (Շ, i) ⊨ Xp ⇔ (Շ, i+1) ⊨ pnext p (Շ, i) ⊨ p U q ⇔ ∃k : k ≥ i ⋀ (Շ, k) ⊨ g ⋀ ∀j : i ≤ j < k → (Շ, j) ⊨ fp until q (Շ, i) ⊨ p W q ≡ G p ⋁ p U q p weak until q k = i  q is true in the current state  ¬∃j. ( Շ, j) ⊨ p (and this is all right) maybe q is never true ( Շ, i) ⊨ G p ( Շ, i) ⊨ F p ( Շ, i) ⊨ X p i ( Շ, i) ⊨ p U q i i i …… …… … … … …… pppp p p pp q computation ( Շ ) = sequence of states

Aspect-Oriented Software Development (236608) 4 Base Properties Preservation?(1) p p, q q q, t q t t φ 1 = G (p → X q) φ 2 = G (r → X t) join-points: r becomes true r, q, t r t r r r Spectative aspect; “X” properties

Aspect-Oriented Software Development (236608) 5 Base Properties Preservation(2) p p, r q q, t φ 1 = G (p → F q) φ 2 = G (r → F t) r q r t p Regulative aspect; general liveness properties advice effect

Aspect-Oriented Software Development (236608) 6 More to Regulative Aspects p p, r q q, t φ 1 = G (p ∨ q) r q r t p Regulative aspect

Aspect-Oriented Software Development (236608) 7 Example: Rational Exam (reminder) private void doExam() { while (true) { r1 = randomRational(); r2 = randomRational(); result = r1.add(r2); answer = getAnswer(r1, r2); if (answer == null) break; checkAnswer(answer, result); } public static void main(String[] args) { RationalExam exam = new RationalExam(); exam.doExam(); } The system generates and checks online exams for students with simple arithmetic exercises for fractions RationalExam class: initiates exams, generates questions, accepts answers, checks answers

Aspect-Oriented Software Development (236608) 8 Rational Exam System Properties -1 “After a user answers a question, the system performs correctness check and prints out the result”

Aspect-Oriented Software Development (236608) 9 Rational Exam System Properties -2 “If an answer is a and the fractions in the question – r1 and r2, the correctness check will result in “true” iff a = r1 + r2”

Aspect-Oriented Software Development (236608) 10 Rational Exam – Properties Preservation Categoryφ1φ1 φ2φ2 Exceptions logging Multiplication Normalization Age restriction Grading Factor

Aspect-Oriented Software Development (236608) 11 From natural language to LTL In this example: Specification of events in the system and their relations Examples from the ontology of ARCADE temporal patterns: match patterns with temporal logic formulas

Aspect-Oriented Software Development (236608) 12 From natural language to LTL Temporal pattern (events)Temporal logic E between A and B A during B A before B, B only after A A leads to B C on A and B

Aspect-Oriented Software Development (236608) 13 Example – Toll System (Reminder) The system needs to react in-time in order to: read the gizmo identifier; turn on the light (to green or yellow); display the amount to be paid; photograph the plate number from the rear; sound the alarm; respond to gizmo activation and reactivation.

Aspect-Oriented Software Development (236608) 14 Toll System - Constraint 1

Aspect-Oriented Software Development (236608) 15 Constraint 1 - formalized Temporal Pattern = ? Predicates: Formula:

Aspect-Oriented Software Development (236608) 16 Constraint 1 – formalized – contd. Formalizing outcome action: Predicates: The whole formula:

Aspect-Oriented Software Development (236608) 17 Toll System - Constraint 2

Aspect-Oriented Software Development (236608) 18 Constraint 2 - formalized Temporal Pattern = ? Predicates: Formula: