Aspect-Oriented Software Development (AOSD) Tutorial #8 Composition Filters.

Slides:



Advertisements
Similar presentations
DISTRIBUTED COMPUTING PARADIGMS
Advertisements

System Integration and Performance
Adempiere Technical Training Day 5. Processes prepare method for getting the parameters into variables – Record_ID just work for buttons doIt method for.
Aspect Oriented Programming. AOP Contents 1 Overview 2 Terminology 3 The Problem 4 The Solution 4 Join point models 5 Implementation 6 Terminology Review.
MIP Workbench: Revisions FEMA Learning Management System FEE ADMINISTRATION ROLE.
A university for the world real R © 2009, Chapter 15 The Business Process Execution Language Chun Ouyang Marlon Dumas Petia Wohed.
Classes & Objects Computer Science I Last updated 9/30/10.
Object-Oriented Analysis and Design
Aspect-Oriented Software Development (AOSD) Tutorial #10 Interference among Aspects.
Software Design & Documentation – Design Pattern: Command Design Pattern: Command Christopher Lacey September 15, 2003.
Aspect-Oriented Software Development (AOSD) Tutorial #8 Composition Filters.
Rigorous Fault Tolerance Using Aspects and Formal Methods Shmuel Katz Computer Science Department The Technion Haifa, Israel
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
Aspect-Oriented Software Development (AOSD) Additional Tutorial.
The Architecture of Transaction Processing Systems
Software Engineering Module 1 -Components Teaching unit 3 – Advanced development Ernesto Damiani Free University of Bozen - Bolzano Lesson 2 – Components.
Application Architectures Vijayan Sugumaran Department of DIS Oakland University.
© 2001 TRESE Group, University of Twente TRESE e-tutorial series 02Software the evolution problems using CF Solving the evolution problems using Composition.
Aspect-Oriented Software Development (AOSD) Tutorial #3 AspectJ - continued.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
KMIP Use Cases Update on the process. Agenda Goals Process Flow, Atomics, Batch, Composites, and Not KMIP Evaluating the Document in light of the Goals.
C++ fundamentals.
Process-oriented System Automation Executable Process Modeling & Process Automation.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
Form Handling, Validation and Functions. Form Handling Forms are a graphical user interfaces (GUIs) that enables the interaction between users and servers.
Today’s Lecture application controls audit methodology.
Chapter 10 Architectural Design
Singleton Christopher Chiaverini Software Design & Documentation September 18, 2003.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
Use to Implement: Input validation Page-Level authorization Session Management Audit Logging Use to Implement: Input validation Page-Level authorization.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
Activating Clarity  Activating Clarity  Activation  Online Activation  Fax Activation  Review and Verify Activation and License Terms  Updating.
A Professional Business Process Management Solution for CRO & CMO Industry Present by: ISSolution.
Fault Recovery in WS-Diamond using the SH-BPEL Engine.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Service Oriented Architectures Presentation By: Clifton Sweeney November 3 rd 2008.
Distributed Information Retrieval Using a Multi-Agent System and The Role of Logic Programming.
Cohesion and Coupling CS 4311
1 Devon M. Simmonds University of North Carolina, Wilmington CSC450 Software Engineering WorkFlow Modeling with Activity Diagrams.
Chapter 12: Design Phase n 12.1 Design and Abstraction n 12.2 Action-Oriented Design n 12.3 Data Flow Analysis n Data Flow Analysis Example n
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
18 April 2005CSci 210 Spring Design Patterns 1 CSci 210.
Architectural pattern: Interceptor Source: POSA II pp 109 – 140POSA II Environment: developing frameworks that can be extended transparently Recurring.
MSF Design Example Conceptual Design Logical Design Physical Design.
Distributed System Concepts and Architectures 2.3 Services Fall 2011 Student: Fan Bai
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Today’s Lecture Covers
Session 04 Module 8: Abstract classes and Interface Module 9: Properties and Indexers.
Welcome to X Logs Training! Please Proceed to our website to login ***Turn to page 1 in your workbook for login support.
A Service Oriented Architecture for the Finance Case Study
Topics for exam in AOSD Basic concepts: tangling, scattering, joinpoint, advice, cross-cutting, weaving AspectJ: syntax, pointcut notations, around, proceed,
Proxy Design Pattern By:Diksha Agarwal.
Chapter 5 Concurrency: Mutual Exclusion and Synchronization Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee.
Concern Architecture View and Aspect-Oriented Design Mika Katara and Shmuel Katz Tampere U. T. Technion, Haifa.
Composition Filter – Part 2 איתי בן אליעזר נובמבר 2004.
© 2001 TRESE Group, University of Twente TRESE e-tutorial series 02Software the evolution problems using CF Solving the evolution problems using Composition.
1 3 Computing System Fundamentals 3.3 Computer Systems.
Review Data Received/ADR Click on the Workbench link to open up your Work Item List. To work on an Activity you must first click the Claim button.
EPICS and LabVIEW Tony Vento, National Instruments
Distributed objects and remote invocation Pages
Copyright © 2004, Keith D Swenson, All Rights Reserved. OASIS Asynchronous Service Access Protocol (ASAP) Tutorial Overview, OASIS ASAP TC May 4, 2004.
Interactions & Automations
Patterns Protect from Change Rule: if something is going to change, make it an object. Strategy: make algorithm an object so it can change State: make.
Chapter 3: Using Methods, Classes, and Objects
INFOD-WG Implementation
Presented by Gitit Amihud
Setting Up and Supporting Clients Using Employee Development in ADP Workforce Now [Developer: Use this slide if you are not using audio. You can add.
“What do I do ?”, “How do I do it ?”, What do I do it with ?
Behavioral Design Pattern
Personal Data Usage Monitor
Presentation transcript:

Aspect-Oriented Software Development (AOSD) Tutorial #8 Composition Filters

Aspect-Oriented Software Development (236608) 2 Today: Composition Filters Filter types Superimposition of filters Examples

Aspect-Oriented Software Development (236608) 3 Example: Social Security System Document flow: Creates client’s entry (claim document) in the system Forwards the request to the appropriate handler Evaluates client’s disablement Issues bank orders Communicates with clients

Aspect-Oriented Software Development (236608) 4 Social Security System – contd. Main classes in the system: Document – implemented by Claim Document Task Processor – implemented by all the handlers Document //fields //methods ClaimDocument //more fields //more methods

Aspect-Oriented Software Development (236608) 5 Social Security System – contd. TaskProcessor is implemented by all the handlers Overridden methods: processDocument, forwardDocument

Aspect-Oriented Software Development (236608) 6 Implement System Evolution by Composition Filters Task1: Adding documents protection. In the initial system, any clerk could edit any field in a document. We need to ensure the fields each clerk is able to edit are exactly the fields needed for his task. Solution: add message filters!

Aspect-Oriented Software Development (236608) 7 Documents Protection - Restrictions Part of the restrictions are as follows: “Payment” can invoke the functions (= treat the messages): putApprovedClaim approvedClaim(): Currency “MedicalCheck” can invoke the functions: putMedicalCheckData(medCData: DocumentData) medicalCheckData(): DocumentData The restrictions for the other modules are defined similarly.

Aspect-Oriented Software Development (236608) 8 Documents Protection Task

Aspect-Oriented Software Development (236608) 9 Documents Protection Task –contd. The “Implementation” part:

Aspect-Oriented Software Development (236608) 10 Documents Protection – Input Filters Which filter types do we need? –Error? –Substitution? –Send? –Dispatch? –Wait? –Meta?

Aspect-Oriented Software Development (236608) 11 Documents Protection – Input Filters

Aspect-Oriented Software Development (236608) 12 Documents Protection – contd. Order of the input filters = ? Output filters = ?

Aspect-Oriented Software Development (236608) 13 Superimposition Without superimposition: Each filter applies to one object only => Behavior crosscutting a number of methods within one object Superimposition: One filter applies to many objects Enables abstraction and (possibly multiple) instantiation

Aspect-Oriented Software Development (236608) 14 Superimposition – contd. abstraction instantitation filterinterfaces can be superimposed on this concern and on other concerns

Aspect-Oriented Software Development (236608) 15 Superimposition Syntax superimposition begin selectors Set1 = {…} Set2 = {…} … filterinterfaces Set1 <- concern1::filterinterface1; Set2 <- concern2::filterinterface2; … concern4::Set4 <- concern3::filterinterface3; end superimposition; For each superimposed filterinterface, define the set of its join-points join point selectors (abstract), define sets of concerns name of concern in which it is defined (if in the current concern, then “self” or empty) objects, methods and conditions can be superimposed in the same way

Aspect-Oriented Software Development (236608) 16 Task2: Adding Logging Assume a workflow control has been added the system The goal: monitor the process, detect the bottlenecks and reschedule and/or reallocate the resources, if necessary Implementation: register all the interactions among objects

Aspect-Oriented Software Development (236608) 17 Adding Logging – Implementation Add the class Logger. Main functionality: loggingEnabled – activate the logging loggingDisabled – deactivate the logging log(message) – extract the necessary info Additional functionality – retrieve information from the log

Aspect-Oriented Software Development (236608) 18 Logging – Implementation (contd.)