From Aspectual Requirements to Proof Obligations for Aspect- Oriented Systems Shmuel Katz and Awais Rashid The Technion Lancaster University Haifa, Israel.

Slides:



Advertisements
Similar presentations
Chapter 13 Application Framework. Outline Definition & anatomy Fulfilling the framework contract Building frameworks Examples.
Advertisements

MDI 2010, Oslo, Norway Behavioural Interoperability to Support Model-Driven Systems Integration Alek Radjenovic, Richard Paige The University of York,
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Awais Rashid, Steffen Zschaler
Kellan Hilscher. Definition Different perspectives on the components, behavioral specifications, and interactions that make up a software system Importance.
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
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Modularization.
Copyright © 2006 Addison-Wesley. All rights reserved.1-1 ICS 410: Programming Languages Chapter 3 : Describing Syntax and Semantics Axiomatic Semantics.
OASIS Reference Model for Service Oriented Architecture 1.0
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization; Assume – guarantee specifications.
Katz Formal Specifications Larch 1 Algebraic Specification and Larch Formal Specifications of Complex Systems Shmuel Katz The Technion.
The Architecture Design Process
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
Categories of Aspects Shmuel Katz Computer Science Department The Technion Haifa, Israel.
Application architectures
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Rigorous Fault Tolerance Using Aspects and Formal Methods Shmuel Katz Computer Science Department The Technion Haifa, Israel
Aspect-Oriented Software Development (AOSD) Tutorial #5 Categories of Aspects – contd.; LTL properties formalization.
Technion Israel Early Aspects Based on lectures by Awais Rashid, Alessandro Garcia Lectures at AOSD Summer School, Brussels, July 2006 © A. Rashid, A.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
Course Instructor: Aisha Azeem
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
BIS310: Week 7 BIS310: Structured Analysis and Design Data Modeling and Database Design.
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
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Chapter 7: Architecture Design Omar Meqdadi SE 273 Lecture 7 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Database Design - Lecture 1
SC32 WG2 Metadata Standards Tutorial Metadata Registries and Big Data WG2 N1945 June 9, 2014 Beijing, China.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
AL-MAAREFA COLLEGE FOR SCIENCE AND TECHNOLOGY INFO 232: DATABASE SYSTEMS CHAPTER 1 DATABASE SYSTEMS (Cont’d) Instructor Ms. Arwa Binsaleh.
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
An Algebra for Composing Access Control Policies (2002) Author: PIERO BONATTI, SABRINA DE CAPITANI DI, PIERANGELA SAMARATI Presenter: Siqing Du Date:
Querying Structured Text in an XML Database By Xuemei Luo.
Košice, 10 February Experience Management based on Text Notes The EMBET System Michal Laclavik.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
Aspect-Oriented Requirements Engineering David Schaefer, Joao Araujo, Isabel Brito, Awais Rashid, Claudia Mesquita.
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
CPSC 871 John D. McGregor Module 3 Session 1 Architecture.
© Siemens AG, CT SE 2 C O R P O R A T E T E C H N O L O G Y 1 Model-Driven Development for Pluggable Collaborations Iris Groher, Stephan Bleicher, Christa.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Topics for exam in AOSD Basic concepts: tangling, scattering, joinpoint, advice, cross-cutting, weaving AspectJ: syntax, pointcut notations, around, proceed,
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Concern Architecture View and Aspect-Oriented Design Mika Katara and Shmuel Katz Tampere U. T. Technion, Haifa.
Lecture 13.  Failure mode: when team understands requirements but is unable to meet them.  To ensure that you are building the right system Continually.
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Basic Concepts and Definitions
Class Diagrams. Terms and Concepts A class diagram is a diagram that shows a set of classes, interfaces, and collaborations and their relationships.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Object Design More Design Patterns Object Constraint Language Object Design Specifying Interfaces Review Exam 2 CEN 4010 Class 18 – 11/03.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
Software Engineering Lecture 7
DATA MODELS.
Demeter Aspects Who We Are Aspectual Collaborations
COIT20235 Business Process Modelling
Aspect Validation: Connecting Aspects and Formal Methods
Programming Languages 2nd edition Tucker and Noonan
Chapter 20 Object-Oriented Analysis and Design
Chapter 5 Architectural Design.
An Introduction to Software Architecture
Chapter 5 Architectural Design.
Programming Languages 2nd edition Tucker and Noonan
Presentation transcript:

From Aspectual Requirements to Proof Obligations for Aspect- Oriented Systems Shmuel Katz and Awais Rashid The Technion Lancaster University Haifa, Israel Lancaster, UK

Overview The problem: Early aspects—Requirements (and Design) --- are disconnected from an implemented aspect-oriented system The idea: generate precise proof obligations for implemented aspects, using semi-structured requirements (and design) Achieves requirement traceability, provides precise semantics for aspect requirements

Some Key Questions What are Aspects? How are aspect requirements given? What are proof obligations? What are the key techniques that connect the two? How can we design a framework for generating proof obligations from requirements?

Implementation-Level Aspects Module that cross-cuts usual classes Describes changes/augmentations (advice) where to apply them (join points) Language extensions: AspectJ over Java Question: what do we expect from such aspects, and can they be reused as components?

Aspects and Concerns on the Requirements Level ARCADE: Aspectual Requirements Composition and Decision Support Tool Viewpoints Specify stakeholder requirements Concerns that are treated by Aspects Broadly scoped properties XML Extensible language for specification of viewpoints, candidate aspects and their composition DOM, SAX and eXist Native XML database

Concerns Security Response Time Multi-Access Compatibility Accuracy of Computations Availability Handicapped Usability Rate Discount Policies

Aspect Proof Obligations Temporal logic formulas about aspects Group individual formulas to those treating each aspect Especially needed for program-level aspects Must treat potential conflicts among aspects (as identified in requirements) Show original specification of system without aspects is not violated PROBE: Proof Obligation Environment

Toll Collection System: Authorised Vehicle Toll Gate Euro 20

Toll Collection System: Unauthorised Vehicle Toll Gate

Concrete Instantiation of the Model Viewpoints Specify stakeholder requirements Concerns Broadly scoped properties XML Extensible language for specification of viewpoints, candidate aspects and their composition ARCaDe: Aspectual Requirements Composition and Decision Support Tool DOM, SAX and eXist Native XML database

Viewpoints ATM Vehicle Unauthorised Vehicle Gizmo Toll Gate Entry Toll Paying Toll Single Toll Exit Toll Police Debiting System System Administrator Vehicle Owner Registration Billing Activation

Vehicle Viewpoint - The vehicle enters the system when it is within ten meters of the toll gate. The vehicle enters the toll gate. The vehicle leaves the toll gate. The vehicle leaves the system when it is twenty meters away from the toll gate. - The vehicle number plate will be photographed.

Identify Candidate Aspects Concerns influencing and constraining multiple viewpoints Response Time: Gizmo, ATM, Toll Gate, Vehicle Compatibility: Police, Debiting System, ATM Transform XML definition of concern Replace tag with tag Simple XSLT transformation Reflect the aspectual nature of the concern

Response Time Concern - - 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. Subrequirements

Concern/Viewpoint Relationships                                Legend: Pol: Police; Gz: Gizmo; DS: Debiting System; ATM: ATM; TG: Toll Gate Vh: Vehicle; UV: Unauthorised Vehicle; VO:Vehicle Owner; Adm: Administrator.

Composition Rule for Response Time Requirements - - Action and operator specifying how the viewpoint requirements are constrained by the specific aspectual requirements Describes whether another (or a set of) viewpoint requirement must be satisfied or merely the constraint specified fulfilled. Subrequirements must be explicitly excluded or included

Temporal logic formulas for implementation aspects Gp: from now on, p is true Fp: eventually, p will be true pUq: p is true until q becomes true Can be input for formal methods tools G((veh-ent-sys  ((Fveh-ent-toll)/\ ((¬veh-ent-toll)Uread-gizmo)))/\(read- gizmo  gizmo-effects) /\ (time(veh-ent- toll) – time(veh-ent-sys) < N))

The Temporal Logic Generator Use patterns of formulas for keywords from ARCADE Generate predicate and function names from the ARCADE text Use a generic natural language processor with a temporal logic facility Exploit semi-structured ARCADE and XML facilities

Extended Ontology Library of temporal formulas for keywords Treat E between E1 and E2 ==> G(E1  ((F E2) /\ ((~E2) U E))) Fuller patterns for reusable concerns Response time (for us) E between E1 and E2 causing E3: (above)/\ E  E3 /\ time(E2) – time (E1)<N)) Repository of predicate names to be later associated with implementation terms React-to-stimuli, turn-on-light, vehicle-enters-toll

Conflict Analysis One viewpoint may be constrained by multiple aspects with contradictory requirements Availability (  backup system) vrs. Response Time Often requires preferring one over the other or weakening for real conflicts Our solution: weakened properties in the Ontology, for use with conflicts Weak Resp. Time:… time(E2) – time (E1)<N+Extra Proof of Interference Freedom can show apparent conflict is not really a problem

Integration and Instantiation Integration: maps and merges properties from requirements to those from design (UML based—not seen here) Instantiation: Connect predicate names to implementation events or data Turn-on-light connects to a method call Green-on connects to a value of a Color variable

More on Instantiation Requirements aspect can map to: Implementation aspect (in, e.g., AspectJ) Groups of requirements in relevant classes Design decisions (e.g., backup system to ensure availability) Temporal logic formulas can map to input format of formal methods or testing tools Can have multiple instantiations, like a compiler “backend”

The resultant proof obligations Collection of temporal formulas from the requirements with predicates instantiated Possibly weakened versions for conflicts Assertion of non-interference among aspects Assertion that desirable properties of the original system are still true in augmented (aspects “do no harm”)

Summary Design of a modular Proof Obligation Environment from Requirements (PROBE) Exploits semi-structured ARCADE with XML Extended Ontology with generic temporal logic formulas and predicate names Extensive treatment of conflicts, weakening Status: key elements exist, rest under development Provides traceability, and a semantics for aspect requirements