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

Slides:



Advertisements
Similar presentations
EDUC4417 Senior Computers Dr. Mumbi Kariuki January 28, 2004 Object-Orientation David Cuillerier.
Advertisements

Towards an Integration Test Architecture for Open MAS
Research & development Towards a Versatile Contract Model to Organize Behavioral Specifications Philippe Collet 1, Alain Ozanne 2 and Nicolas Rivierre.
Formal Modelling of Reactive Agents as an aggregation of Simple Behaviours P.Kefalas Dept. of Computer Science 13 Tsimiski Str Thessaloniki Greece.
ECE 720T5 Fall 2011 Cyber-Physical Systems Rodolfo Pellizzoni.
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
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.
ECE 720T5 Fall 2012 Cyber-Physical Systems Rodolfo Pellizzoni.
Concolic Modularity Testing Derrick Coetzee University of California, Berkeley CS 265 Final Project Presentation.
Automating SLA Modelling Tony Chau IBM Toronto & University of Toronto Vinod Muthusamy, Hans-Arno Jacobsen University of Toronto Elena Litani, Allen Chan,
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
Variability Oriented Programming – A programming abstraction for adaptive service orientation Prof. Umesh Bellur Dept. of Computer Science & Engg, IIT.
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.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
SE 555 – Software Requirements & Specifications Introduction
Testing and Monitoring at Penn An Integrated Framework for Validating Model-based Embedded Software Li Tan University of Pennsylvania September, 2003.
Outline Introduction Problem Statement Object-Oriented Design Aspect-Oriented Design Conclusion Demo.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 1.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
An Introduction to Software Architecture
Software Models (Cont.) 9/22/2015ICS 413 – Software Engineering1 -Component-based software engineering -Formal Development Model.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Aspect Oriented Programming Razieh Asadi University of Science & Technology Mazandran Babol Aspect Component Based Software Engineering (ACBSE)
VERIFICATION OF ASPECT ORIENTED MODELS BY DON MARTIN JAYASHREE VENKIPURAM PATHANGI PIYUSH SRIVASTAVA REFERENCES F. Mostefaoui and J. Vachon,” Design level.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 32 Slide 1 Aspect-oriented Software Development 1.
 FOAL 2010 Modeling Aspects by Category Theory Serge P. Kovalyov Novosibirsk, Russia.
Software Architecture CS3300 Fall Beware the Fuzzy Front End We are already almost 1/3 of the way done Need to negotiate deliverable schedule: SDP.
Reliable Communication in the Presence of Failures Based on the paper by: Kenneth Birman and Thomas A. Joseph Cesar Talledo COEN 317 Fall 05.
Survey on Trace Analyzer (2) Hong, Shin /34Survey on Trace Analyzer (2) KAIST.
POSL (Principles of Software Languages) Gr. Kyushu Institute of Technology, Japan Pointcut-based Architectural Interface.
VERIFICATION OF ASPECT-ORIENTED MODELS Review of Aspect-Oriented Definitions aspect – crosscutting concern that may involve multiple classes pointcut –
Class 5 Architecture-Based Self-Healing Systems David Garlan Carnegie Mellon University.
Modeling Component-based Software Systems with UML 2.0 George T. Edwards Jaiganesh Balasubramanian Arvind S. Krishna Vanderbilt University Nashville, TN.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Inter-Type Declarations in AspectJ Awais Rashid Steffen Zschaler © Awais Rashid, Steffen Zschaler 2009.
Demeter Aspects We study techniques for the emerging area of Aspect-Oriented Software Development and focus on the following areas:  Aspectual Collaborations.
Chapter 8: Aspect Oriented Programming Omar Meqdadi SE 3860 Lecture 8 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
OMT Modeling 1. Object Model : presented by the object model and the data dictionary. 2. Dynamic Model: presented by the state diagrams and event flow.
Alloy-based Lightweight Verification for Aspect-oriented Architecture Naoyasu Ubayashi(Kyushu Institute of Technology) Yuki Sato(Kyushu Institute of Technology)
Click to edit Master text styles JavaMOP Hamid Reza Niroomand A presentation to Dr. Babamir.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
VERIFYING THE CORRECT COMPOSITION OF DISTRIBUTED COMPONENTS: FORMALISATION AND TOOL Ludovic Henrio 1, Oleksandra Kulankhina 1,2, Dongqian Liu 3, Eric Madelaine.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
R R R A Brief Introduction to Aspect-Oriented Programming.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
UBC software modularity group 1/14/02 UCSD1 Discussion with Kiczales at UBC Ontology of AOP Ontology is the study of what there is, an inventory of what.
Aspect-Oriented Software Development (AOSD)
AO Mechanisms in Demeter1 Discussion with Gregor Kiczales at UBC Ontology of AOP Ontology is the study of what there is, an inventory of what exists. An.
Collaboration diagrams. Deployment diagrams. Lesson 4.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Martin Casado, Nate Foster, and Arjun Guha CACM, October 2014
Discussion with Gregor Kiczales at UBC
Software Design Methodology
CS 691z / 791z Topics on Software Engineering
Recall The Team Skills Analyzing the Problem (with 5 steps)
Model Checking for an Executable Subset of UML
Component--based development
CSCE 813 Internet Security Fall 2012
An Introduction to Software Architecture
Aspect-oriented programming
Automating SLA Modelling
AspectAda Aspect-Oriented Programming for Ada95
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

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

2 Definition of Runtime Enforcement Nowadays, application software is becoming more and more complex, therefore: it is not possible to detect all the failures of the software before its actual deployment. Runtime Enforcement (RE) Systems: verify the active execution trace of software against formally specified properties. if the properties are violated, RE systems diagnose the cause of failure and take recovery actions accordingly.

3 Obs. Observer Verification Components Application Components Events Observer Diagnosis Components Events Observer Recovery Components Events Observer Verification Components Events Observer Verification Components Events Observer Verification Components Events … … … Elements of a Runtime Enforcement System

4 Compos. Actions Events Compos. Actions Events Compos. Actions Events Compos. Actions Events Compos. Actions Events Compos. Actions Events Actions perform operations and may publish their results as events. Events are typed data primitive types and composite types Composition operators facilitate composition of events and actions based on some constraints. the compositions must be closed with respect to events. Everything boils down to Events, Actions and Compositions

5 AO Implementation of a Runtime Enforcement System Events can be identified via pointcuts primitive pointcuts for identifying primitive events history-based pointcuts/ join point types/ explicit join points for composite events Actions can be defined via advices Compositions advices with pointcuts pointcuts with each other via logical operators advices (aspects) with each other at shared join points

6 Deficiencies in Supporting Events, Actions and Compositions Limited expressive power to define composite event types as a workaround they must be defined as (part of) actions there is no guarantee for side-effect freeness the such actions. Lack of support for side-effect free actions Deficiencies in compositions deficiency in composing events with each other deficiency in composing actions with each other composition constraints are scattered across and tangled with actions. Obs. Observer Verification Components Application Components Events Observer Diagnosis Components Events Observer Recovery Components Events

7 The Extended Compose* to Support Events, Actions and Compositions Filter : Type Application Object Filter : Type Application Object Filter :Type messages The execution and the invocation of application messages are regarded as primitive event types. Filters are means to define composite event types, actions and composition constraints. Two sorts of filters are supported: read-only and read-write. messages

8 Thank you!