Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo.

Slides:



Advertisements
Similar presentations
Database Systems (資料庫系統)
Advertisements

Lecture 8: Three-Level Architectures CS 344R: Robotics Benjamin Kuipers.
CHAPTER 8: SECURITY IN COMPUTER NETWORKS Encryption Encryption Authentication Authentication Security Security Secure Sockets Layer Secure.
CMSC 414 Computer (and Network) Security Lecture 13 Jonathan Katz.
Software Connectors Software Architecture. Importance of Connectors Complex, distributed, multilingual, modern software system functionality and managing.
Software Architecture for DSD DSD Team. Overview What is software architecture and why is it so important? The role of architecture in determining system.
Interrupts (contd..) Multiple I/O devices may be connected to the processor and the memory via a bus. Some or all of these devices may be capable of generating.
Transaction Management and Concurrency Control
Software Connectors. Attach adapter to A Maintain multiple versions of A or B Make B multilingual Role and Challenge of Software Connectors Change A’s.
Transaction Management and Concurrency Control
Categories of Aspects Shmuel Katz Computer Science Department The Technion Haifa, Israel.
Internet Telephony Helen J. Wang Network Reading Group, Jan 27, 99 Acknowledgement: Jimmy, Bhaskar.
Software Architecture Quality. Outline Importance of assessing software architecture Better predict the quality of the system to be built How to improve.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 10 Transaction Management and Concurrency Control.
Transaction Management and Concurrency Control
Software Architecture for DSD The “Uses” Relation.
What are Exception and Interrupts? MIPS terminology Exception: any unexpected change in the internal control flow – Invoking an operating system service.
9.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft Windows Server 2003 Active Directory Infrastructure.
Distributed Deadlocks and Transaction Recovery.
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
CISC6795: Spring Object-Oriented Programming: Polymorphism.
The University of Akron Dept of Business Technology Computer Information Systems DBMS Functions 2440: 180 Database Concepts Instructor: Enoch E. Damson.
CINEMA’s UbiComp Subsystem Stefan Berger and Henning Schulzrinne Department of Computer Science Columbia University
1 N Degrees of Separation: Multi-Dimensional Separation of Concern (MDSOC) HyperJ: language and concepts of general concern combination.
PhD Topic Template Based Composition PhD Course 5 th March – 9 th March 2012, Kaiserslautern.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
Providing Policy Control Over Object Operations in a Mach Based System By Abhilash Chouksey
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
Network Security Lecture 20 Presented by: Dr. Munam Ali Shah.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
ESERL Feature Interaction Management in Parlay/OSA Using Composition Constraints and Configuration Rules Alessandro (Alex) De Marco, Ferhat Khendek Dept.
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
A Policy Architecture for Enhancing and Controlling Features Stephan Reiff-Marganiec Kenneth J Turner University of Stirling.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
 All calls to method toString and earnings are resolved at execution time, based on the type of the object to which currentEmployee refers.  Known as.
Run-Time Conflict Resolution for Personal Features Joanne Atlee Department of Computer Science University of Waterloo University of Waterloo.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
II.3 Screening Designs in Eight Runs: Other Screening Designs in 8 runs  In addition to 5 factors in 8 runs, Resolution III designs can be used to study.
OOPSLA 2001 Choosing Transaction Models for Enterprise Applications Jim Tyhurst, Ph.D. Tyhurst Technology Group LLC.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 3: Process-Concept.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Testing OO software. State Based Testing State machine: implementation-independent specification (model) of the dynamic behaviour of the system State:
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
IEEE 802.X Standards The Institute of Electrical and Electronics Engineers (IEEE) has developed a series of networking standards to ensure that networking.
Chapter 13: Overloading and Templates. Objectives In this chapter, you will – Learn about overloading – Become familiar with the restrictions on operator.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
1 Advanced Database Concepts Transaction Management and Concurrency Control.
10 Transaction Management and Concurrency Control MIS 304 Winter 2005.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Chapter 13 Managing Transactions and Concurrency Database Principles: Fundamentals of Design, Implementation, and Management Tenth Edition.
Computer Security: Chapter 5 Operating Systems Security.
Chapter 7: Modifiability
Chapter 14: Protection Modified by Dr. Neerja Mhaskar for CS 3SH3.
Creating Database Triggers
Transaction Management and Concurrency Control
Chapter 19: Architecture, Implementation, and Testing
Concurrency Control.
Where should services reside in Internet Telephony Systems?
Service-Oriented Computing: Semantics, Processes, Agents
Chapter 15 : Concurrency Control
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
Service-Oriented Computing: Semantics, Processes, Agents
Some Programming Paradigms
Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.
Transactions, Properties of Transactions
Dave Marples Communications Division
Presentation transcript:

Features, Policies and Their Interactions Joanne M. Atlee Department of Computer Science University of Waterloo

Outline Features and Feature Interactions Policies and Policy Interactions Strategies for addressing the Interaction Problem COURRT - COordinating User pReferences at Run-Time Summary

Service - an application’s core functionality Feature - incremental functionality to an existing system Ideally, we would like to view features as separate concerns to be implemented modularly as independent increments to the system ServiceFeature System Variables Feature Features

The problem is that features are not completely independent of each other in that they manipulate shared system variables Feature Interaction - a change in one feature’s behaviour due to the presence of another feature ServiceFeature System Variables Feature Feature Interactions

Example Feature Interactions Call Forward No Answer vs. Voice Mail both are enabled by “no answer”, but it makes no sense to activate both should activate call forward if goal is to reach a human should activate voice mail if goal is to reach dialed party Originating Call Screening vs. Call Transfer which call is screened? 911 vs. Hold cannot put 911 operator on hold does this constraint disable all features that use a form of Hold? (e.g. Call Waiting or Three-Way Calling)

Classes of Feature Interactions Individual features affect system behaviour by assigning new values to variables (e.g, Call Forward) constraining variables values (e.g., 911) Feature combinations interact when the individual features’ actions conflict variable assignments are inconsistent new variable assignment violates constraints new constraint is violated by current variable values constraints are unsatisfiable

Policies Feature System Variables Feature Policy Policies - information that modifies system behaviour data (cf. program) manipulate features (cf. manipulate variables) specify long-lived goals/constraints Features are no longer invoked and stimulated only by users or call states

Policy Interactions The problem is policies are not completely independent of one another because they may read and react to the same variable values manipulate the same shared features Policy Interaction - a change in one policy’s behaviour due to the presence of another policy Feature System Variables Feature Policy

Example Policy Interaction Features affected Call Forward on No Answer Voice Mail Policies redirect long distance calls to forwarded number redirect calls from management to voice mail Interaction what if a manager calls from long distance?

Classes of Policy Interactions Individual policies affect system behaviour by invoking features constraining feature invocation Policy combinations interact when the individual policies’ actions conflict feature invocations are inconsistent new feature invocation violates constraints new constraint is violated by currently active features constraints are unsatisfiable

Approaches to the Interaction Problem Eliminate interactions during design either by re-designing individual features/policies or by specifying how feature combinations should behave. Prevent interactions via architectural constraints, thereby coordinating the features’/policies’ access to shared resources. Resolve interactions at run-time, thereby applying corrective action only when an interaction actually occurs.

Design-Time Approaches Eliminate interactions during design either by re-designing individual features/policies or by specifying how feature combinations should behave. + can realize ideal feature-specific resolutions to interactions system eventually becomes difficult to maintain and extend provides one-solution-for-all-users resolutions Service Feature

Architectural Approaches ServiceFeature Service Architectures can coordinate and restrict features’/policies’ access to shared resources. + messages act as tokens that serialize features’ actions + placement of features in sequence realizes priority scheme may not resolve constraint interactions implements one resolution strategy - precedence

Architectural Approaches Open System Architectures may provide network-independent environments on which to develop applications, but they do nothing to ease the interaction problem. Service Capability Servers Call ControlAuthenticationBilling Location Management Distributed Computing Environment API Application Network (PSTN) Network (VoIP/H.323) Network (VoIP/SIP) API Gateway Old interaction problem

Run-Time Approaches Detect and resolve interactions at run-time + Only applies corrective action in the event of an actual interaction + Need not over-constrain feature to avoid rare interactions Must detect and resolve interactions on-the-fly Must not require proprietary knowledge of features

COURRT COordinating User pReferences at Run-Time Feature Abstract System State Feature Service Feature Interaction Manager Features are implemented as independent agents Application-independent Feature Interaction Manager agents are responsible for detecting and resolving interactions Resolution strategies are encapsulated in the FIMs

The way it works - We model an abstraction of the system state as a set of relational variables. Each abstract variable is a relation. Each feature constraint is a constraint on table entries ScreeningList(u1, u2)   c. Connection(c, u1) and Connection(c, u2) Connection Screening List COURRT Abstract System State

As a feature executes, it adds and removes elements (i.e., rows) from relations asserts and retracts constraints on relation values Adding a new feature to the system may introduce new relations (i.e., tables) to the abstract system state. A feature interaction manifests itself as an inconsistent assignment to the relational variables a violated constraint COURRT Features and Interactions

COURRT Arbitration 1. Features declare their intentions in terms of actions and and constraints on abstract variables 2. A local FIM detects interactions and arbitrates resolutions according to some resolution strategy 3. Features execute resolution Feature Abstract System State Feature Service Feature Interaction Manager

COURRT Reasoning Twist - An interaction resolution may introduce an inconsistency into the database. The actions of a higher priority feature may violate a constraints of a lower priority feature (e.g., one cannot screen calls from emergency services) A constraint may be unsatisfied when it is introduced (e.g., one can add currently connected parties to a screening list) This means that the system and features must be able to continue to function when the database is inconsistent. Thus, a feature interaction is actually any new inconsistency violation or re-violation of a constraint

Resolution Strategies Big Question - which resolution strategies are generally effective and produce predictable behaviours? abort a feature (e.g., based on priorities) abort a rule abort a feature rules’ individual actions, constraints specify exceptional rules, behaviour serialize conflicting accesses to shared resources specify resolution policies negotiate a compromise do nothing combine the above techniques

COURRT Analyzer We are implementing an analyzer to test the usefulness and predictability of these various resolution strategies. analyzes all executions of a combination of features applies an encapsulated resolution strategy to interactions reports interactions and their resolutions Reachability Graph feature1 feature2

Summary In order to succeed in providing feature-rich services in a distributed environment, we need modular feature development feature-independent architectures that coordinate features’ actions and constraints distributed run-time detection of interactions locally customizable resolution strategies… …that result in predictable behaviour

Features declare their effects on the system state in feature rules on event if condition then actions assert constraints retract constraints where event is a message or a change in variable value condition is a predicate on variable values actions add or remove elements (I.e. rows) from a relation constraints on relation values can be asserted or retracted Example (Originating Call Screening): on callstate(c,analyze,u1,u2) if ScreenList(u1,u2) then add callstate(c,dead,u1,u2) COURRT Features