Annual Conference of ITA ACITA 2009 Efficient Evaluation of History-based Policies Jiefei Ma 1, Jorge Lobo 2, Alessandra Russo 1, Emil Lupu 1, Seraphin.

Slides:



Advertisements
Similar presentations
Combining Abstract Interpreters Sumit Gulwani Microsoft Research Redmond, Group Ashish Tiwari SRI RADRAD.
Advertisements

Recursive policies Expressive historical conditions with constraints Fine-grained defaults Abstract language for policies at all levels of abstraction.
Efficient Evaluation of History-based Policies Imperial College London, UK IBM Watson Research, US.
Policy Specification, Analysis and Transformation International Technology Alliance in Network and Information Sciences A scenario based demo will illustrate.
Annual Conference of ITA ACITA 2009 Realising Management and Composition of Self-Managed Cells in Body Area Networks Alberto Schaeffer-Filho, Emil Lupu,
Functional Programming Lecture 10 - type checking.
Modeling Software Systems Lecture 2 Book: Chapter 4.
CSE 5317/4305 L9: Instruction Selection1 Instruction Selection Leonidas Fegaras.
From Handbook of Temporal Reasoning in Artificial Intelligence By Jan Chomicki & David Toman Temporal Databases Presented by Leila Jalali CS224 presentation.
Grammar types There are 4 types of grammars according to the types of rules: – General grammars – Context Sensitive grammars – Context Free grammars –
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Optimizing Join Enumeration in Transformation-based Query Optimizers ANIL SHANBHAG, S. SUDARSHAN IIT BOMBAY VLDB 2014
An Introduction to the Model Verifier verds Wenhui Zhang September 15 th, 2010.
ECE Synthesis & Verification - L271 ECE 697B (667) Spring 2006 Synthesis and Verification of Digital Systems Model Checking basics.
Situation Calculus for Action Descriptions We talked about STRIPS representations for actions. Another common representation is called the Situation Calculus.
1 How to transform an analyzer into a verifier. 2 OUTLINE OF THE LECTURE a verification technique which combines abstract interpretation and Park’s fixpoint.
The Volcano/Cascades Query Optimization Framework
Fast Algorithms For Hierarchical Range Histogram Constructions
The Big Picture Chapter 3. We want to examine a given computational problem and see how difficult it is. Then we need to compare problems Problems appear.
Data Model driven applications using CASE Data Models as the nucleus of software development in a Computer Aided Software Engineering environment.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Chapter 12: Expert Systems Design Examples
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6 The Relational Algebra and Relational Calculus.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
Chapter 5 Normalization Transparencies © Pearson Education Limited 1995, 2005.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
Chapter 3 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Introduction While it may not be efficient to write out the justification for each step when solving equations, it is important to remember that the properties.
Combining KMIP and XACML. What is XACML? XML language for access control Coarse or fine-grained Extremely powerful evaluation logic Ability to use any.
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Overview of the Database Development Process
1. The Simplex Method.
Topology Design for Service Overlay Networks with Bandwidth Guarantees Sibelius Vieira* Jorg Liebeherr** *Department of Computer Science Catholic University.
Notes for Chapter 12 Logic Programming The AI War Basic Concepts of Logic Programming Prolog Review questions.
CMPS 3223 Theory of Computation Automata, Computability, & Complexity by Elaine Rich ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Slides provided.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
1 Automatic Refinement and Vacuity Detection for Symbolic Trajectory Evaluation Orna Grumberg Technion Haifa, Israel Joint work with Rachel Tzoref.
Normalization Transparencies
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
CSE314 Database Systems The Relational Algebra and Relational Calculus Doç. Dr. Mehmet Göktürk src: Elmasri & Navanthe 6E Pearson Ed Slide Set.
The 5th annual UK Workshop on Computational Intelligence London, 5-7 September 2005 The 5th annual UK Workshop on Computational Intelligence London, 5-7.
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
Advanced Decision Architectures Collaborative Technology Alliance Regulating the Exchange of Tactical Information Using the KAoS Policy Services Framework.
Copyright © Cengage Learning. All rights reserved. CHAPTER 11 ANALYSIS OF ALGORITHM EFFICIENCY ANALYSIS OF ALGORITHM EFFICIENCY.
College Algebra Sixth Edition James Stewart Lothar Redlin Saleem Watson.
Chapter 10 Normalization Pearson Education © 2009.
Efficient RDF Storage and Retrieval in Jena2 Written by: Kevin Wilkinson, Craig Sayers, Harumi Kuno, Dave Reynolds Presented by: Umer Fareed 파리드.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Ch. 13 Ch. 131 jcmt CSE 3302 Programming Languages CSE3302 Programming Languages (notes?) Dr. Carter Tiernan.
Verification & Validation By: Amir Masoud Gharehbaghi
© 2002 IBM Corporation IBM Research 1 Policy Transformation Techniques in Policy- based System Management Mandis Beigi, Seraphin Calo and Dinesh Verma.
Static Techniques for V&V. Hierarchy of V&V techniques Static Analysis V&V Dynamic Techniques Model Checking Simulation Symbolic Execution Testing Informal.
A Goal-based Approach to Policy Refinement Arosha K Bandara, Emil C Lupu, Alessandra Russo Department of Computing, Imperial College London, UK Jonathan.
1 An infrastructure for context-awareness based on first order logic 송지수 ISI LAB.
Policy Based Management for Internet Communities Kevin Feeney, Dave Lewis, Vinny Wade, Knowledge and Data Engineering Group Trinity College Dublin Policy.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
IBM Research: Software Technology © 2005 IBM Corporation Programming Technologies 1 Temporal Rules Vijay Saraswat IBM TJ Watson July 27, 2012.
The Big Picture Chapter 3. A decision problem is simply a problem for which the answer is yes or no (True or False). A decision procedure answers a decision.
4 - Conditional Control Structures CHAPTER 4. Introduction A Program is usually not limited to a linear sequence of instructions. In real life, a programme.
Divide and Conquer. Problem Solution 4 Example.
COMP 412, FALL Type Systems C OMP 412 Rice University Houston, Texas Fall 2000 Copyright 2000, Robert Cartwright, all rights reserved. Students.
Modeling Arithmetic, Computation, and Languages Mathematical Structures for Computer Science Chapter 8 Copyright © 2006 W.H. Freeman & Co.MSCS SlidesTuring.
From Classical Proof Theory to P vs. NP
Computability and Complexity
B (The language of B-Method )
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Lecture 5 Floyd-Hoare Style Verification
UNIT-I Introduction to Database Management Systems
Trevor Brown DC 2338, Office hour M3-4pm
Presentation transcript:

Annual Conference of ITA ACITA 2009 Efficient Evaluation of History-based Policies Jiefei Ma 1, Jorge Lobo 2, Alessandra Russo 1, Emil Lupu 1, Seraphin Calo 2, Morris Sloman 1 1 Imperial College London, UK 2 IBM T. J. Watson Research Center, US Abstract: this paper illustrates one general class of policy refinement problems, showing how policies with references to historical information can be transformed into history-free policies in an automated fashion, and the resulting policies can be evaluated efficiently. In [1], the FOL language allows authorisation policies to be specified as: [permitted/denied](Subject, Target, Action, T) H 1, …, H m, C 1, …, C n. where each Hi is a condition with a time argument, e.g. holds(F, T i ), and each C i is a constraint over two time variables, e.g. T 1 T 2 + c. Let T be the time argument of H, if C 1, …, C n |= T T, then H is a historical condition. Basic Patterns: Case (1): Condition h holds before T – ε p(T) h(T1), T1 T– ε(ε 0) Case (3): Condition h holds in [T – δ, T – ε] p(T) h(T1), T –δ T1 T– ε (δ ε 0) Case (2): Condition h holds within T – δ p(T) h(T1), T – δ T1 T (δ 0) Case (4): Condition h2 since condition h1 p(T) h(T1), T1 T, not un_h2_between(T1, T). un_h2_between(T1, T) not h2(T2), T1 T2, T2 T. Combined Monitoring Rules Case (1): on h changes at T, if h is true, do assert h at T+ε Case (2): on h changes at T, if h is true, do assert h at T on h changes at T, if h is false, do retract h at T+δ Case (3): on h changes at T, if h is true, do assert h at T+ε on h changes at T, if h is false, do retract h at T+δ Case (4): on h1 changes at T, if both h1 and h2 are true, do assert h at T on h2 changes at T, if both h1 and h2 are true, do assert h at T on h2 changes at T, if h2 is false, do retract all h at T 0 T1 T-ε T 0 T- δ T1 T 0 T- δ T1 T T- ε 0 T1 T2 T Non-history based policy p(T) h(T) transforms generates * h is the auxiliary fact for h * for negative condition, the negated value of h is used in the monitoring rules conditions Special Case: co-related historical condition h1 and h2 p(T) h1(T1), T1 T, h2(T2), T2 T, T1 – c T2. Rewritten to case (1) and case (2): p(T) h1(T1), T1 T, h2(T2), T2 T, T1 T2. p(T) h1(T1), T1 T, h2(T2), T2 T, T1 – c T2 T1. Multiple Historical Conditions Condition h1(T1) is historical to h2(T2) if the time constraints over T1 and T2 matches one of the basic patterns – denoted as T1 « T2. Example: A complex policy rule with multiple historical conditions: p(T) h1(T1), h2(T2), h3(T3), h4(T4), T1 « T, T2 « T, T3 « T2, T4 « T2, T4 « T1, T4 « T3. General transformation steps: 1. Construct and normalise the Directed Connected Graph (DCG) representing the relationships between historical conditions; 2. Topologically sort the DCG: p h2 h3 h1 h4 3. Recursively transform from the DCG (from right to left), e.g. the branch starting from h2 and the branch staring from h1: p(T) combined_h1(T1), T1 « T, combined_h2(T2), T2 « T combined_h1(T1) h1(T1), h4(T4), T4 « T1. combined_h2(T2) h2(T2), h4(T4), T4 « T2, h3(T3), T3 « T2, T4 « T3 4. Each of the final set of rules contains only single historical condition. Transform them and generate the monitoring rules accordingly. (Generality of the Approach) We can handle all historical conditions expressed: (a) in the language [1] where each time constraint is of the form T٭T±c where ٭ is {=,, }; (b) in Past Linear Temporal Logic. Formal Results Outline (See full paper for details) (Correctness) The evaluation of the transformed non history-based policies always gives the same result as that of the original history-based policies. (Complexity) The maintained auxiliary store provides a history encoding polynomially-bounded in space, and the time necessary for the evaluation a (flatten) transformed policy or monitoring rule is polynomial. Policies are ubiquitous in military coalition operations. Several efforts in ITA are being carried out to make policies operational in MANETs. For example, policies for the Sensor Fabric and the Gaian Database, as well as the IBM Coalition Security Manager Portal, to ensure security across different nodes/parties. The Problem: many times high level security policies describe decisions (i.e. access control decisions or obligations) based on historical conditions, but most of the existing policy systems do not natively support temporal conditions. In addition, the evaluation of such policies must be fast and requires a system history, but storing the full system history would be impractical. For example, in the combat environment, policy managed devices used by the soldiers such as PDA, mobiles or embedded computers often have limited computational power/space. The Idea: each historical condition was once a current condition and a current condition may become a future historical condition. Example: A device is permitted to charge its battery if the power level was below 90% anytime in the past 5 minutes. permitted(device, battery, charge, T) holds(power_level(L), T1), holds(less_than(L, 90%), T1), T- 5min T1 T. New Policy: permitted(device, battery, charge, T) holds(low_power, T). Monitoring Rules: on power_level(L) changes at T, if less_than(L, 90%) becomes true, do insert low_power at T. on power_level(L) changes at T, if less_than(L, 90%) becomes false, do retract low_power at T+5mins. T1T1 T2T2 T 2 +5mins power_level(L), L 90% power_level(L), L < 90% power_level(L), L 90% insert low_power retract low_power ¬ permitted(..., charge) permitted(..., charge) Sample Time-line: References: [1] Robert Craven, Jorge Lobo, Jiefei Ma, Alessandra Russo, Emil C. Lupu, Arosha K. Bandara: Expressive policy analysis with enhanced system dynamicity. ASIACCS 2009: The solution: (1) we categorise the basic patterns that can be combined to form arbitrary historical conditions; (2) we dynamically compute, from a given policy set, a finite subset of the system history required and sufficient to evaluate the policies according to the patterns; (3) we maintain this historical information by monitoring rules and refine the policies into a non history-based form.