On the Modeling and Verification of Security-Aware and Process-Aware Information Systems



Similar documents
Algorithmic Software Verification

Formal Verification and Linear-time Model Checking

Model Checking II Temporal Logic Model Checking

logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?

Automata-based Verification - I

T Reactive Systems: Introduction and Finite State Automata

Journal of Mathematics Volume 1, Number 1, Summer 2006 pp

Software Modeling and Verification

Workflow Management Models and ConDec

The Model Checker SPIN

Temporal Logics. Computation Tree Logic

Fixed-Point Logics and Computation

Feature Specification and Automated Conflict Detection

Testing LTL Formula Translation into Büchi Automata

Monitoring Metric First-order Temporal Properties

MODEL CHECKING OF SERVICES WORKFLOW RECONFIGURATION: A PERSPECTIVE ON DEPENDABILITY

Using Patterns and Composite Propositions to Automate the Generation of Complex LTL

Formal Verification by Model Checking

Model Checking: An Introduction

Model checking test models. Author: Kevin de Berk Supervisors: Prof. dr. Wan Fokkink, dr. ir. Machiel van der Bijl

The Course.

Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection

From Workflow Design Patterns to Logical Specifications

Chapter 2 Introduction to Business Processes, BPM, and BPM Systems

Constructing Automata from Temporal Logic Formulas : A Tutorial

Today s Agenda. Automata and Logic. Quiz 4 Temporal Logic. Introduction Buchi Automata Linear Time Logic Summary

Structural Detection of Deadlocks in Business Process Models

A Classification of Model Checking-based Verification Approaches for Software Models

LTL Model Checking with Logic Based Petri Nets

CS510 Software Engineering

Formal Verification of Software

Business Process Modeling

Process Mining by Measuring Process Block Similarity

Model Checking LTL Properties over C Programs with Bounded Traces

Validated Templates for Specification of Complex LTL Formulas

µz An Efficient Engine for Fixed points with Constraints

BPMN PATTERNS USED IN MANAGEMENT INFORMATION SYSTEMS

Software Model Checking: Theory and Practice

Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation

Introduction to Software Verification

BIS 3106: Business Process Management. Lecture Two: Modelling the Control-flow Perspective

Development of dynamically evolving and self-adaptive software. 1. Background

Business Process Model and Soundness

Bounded LTL Model Checking with Stable Models

Introducing Formal Methods. Software Engineering and Formal Methods

Process Modeling Notations and Workflow Patterns

CS Master Level Courses and Areas COURSE DESCRIPTIONS. CSCI 521 Real-Time Systems. CSCI 522 High Performance Computing

System modeling. Budapest University of Technology and Economics Department of Measurement and Information Systems

Supporting the BPM lifecycle with FileNet

Logic in general. Inference rules and theorem proving

Supporting the Workflow Management System Development Process with YAWL

Software Verification: Infinite-State Model Checking and Static Program

A Modular Representation of a Business Process Planner

Software Engineering using Formal Methods

Specification and Analysis of Contracts Lecture 1 Introduction

Automata-Based Verification of Temporal Properties on Running Programs Dimitra Giannakopoulou Klaus Havelund

Regression Verification: Status Report

Policy Modeling and Compliance Verification in Enterprise Software Systems: a Survey

Algorithms for Monitoring Real-time Properties

Probabilistic Model Checking at Runtime for the Provisioning of Cloud Resources

InvGen: An Efficient Invariant Generator

Verification of hybrid dynamical systems

Modelling Workflow with Petri Nets. CA4 BPM PetriNets

BPMN VS. UML ACTIVITY DIAGRAM FOR BUSINESS PROCESS MODELING

Modelling and Verification of Business Processes

Software Verification and Testing. Lecture Notes: Temporal Logics

Cassandra. References:

Program Synthesis is a Game

A CSPm Model for the Procure to Pay Case Study

CHAPTER 1 INTRODUCTION

MetaGame: An Animation Tool for Model-Checking Games

Formal Approaches to Business Processes through Petri Nets

Checking MTL Properties of Discrete Timed Automata via Bounded Model Checking

Schedule. Logic (master program) Literature & Online Material. gic. Time and Place. Literature. Exercises & Exam. Online Material

Real Time Scheduling Basic Concepts. Radek Pelánek

Transcription:

On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011

What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may be constrained, e.g. Binding of Duty Security policy may prevent some user/task combinations Business objectives or legal requirements may further constrain workflow Temporal order of tasks may be constrained A workflow is such a plan that meets all constraints.

Why are workflows interesting? Important technology, e.g. Business process management systems Cloud-based collaboration services, e.g. inkspotscience.com Industrial practice of workflows is often flawed and uses ad hoc methods rarely takes into account security considerations Academic methods brittle under change of models Most problems NP-hard Model-based approaches to design and analysis of workflows have potential impact

Example workflow specification Blue edges: temporal constraints. Binding of users to tasks constrained by =,, and seniority.

Representative specification formalism Specification of authorization system AS comprised of: (T, ) finite partial order of tasks: t < t means t has to precede t U set of users A T U where (t, u) in A means: u authorized to execute task t C set of entailment constraints of form (D, t t, ρ) D U and ρ U U meaning: if u in D and assigned to task t, then user u assigned to t such that (u, u ) is in ρ e.g. = as ρ and D as U gives Binding of Duty

Synthesizing secure workflows in LTL(F) Translate a workflow specification AS into formula φ AS of NP-complete linear-time temporal logic fragment Show: authorized workflow translates into model of φ AS Conversely, show that any model of φ AS translates into authorized workflow So we can synthesize authorized workflows for AS by generating φ AS from AS running a model checker on the fully connected model...... with the negation of φas as query

Temporal logic LTL(F) Syntax where p is from set of atomic propositions AP: φ ::= p φ φ φ F φ F temporal connective Future, and Globally G φ is defined as F φ Semantics via infinite sequence of states π = s 0 s 1... where each s i subset of AP: π = p iff p s 0 π = φ iff not π = φ π = φ 1 φ 2 iff (π = φ 1 and π = φ 2 ) π = F φ iff there is i 0 with π i = φ, where π i is the infinite suffix s i s i+1... of π

Formula φ AS for model checker φ FT = ( ) ( ) t T F t φ GT = G t T t φ GU = G u U u φ = G (t G ( t )) t T t t φ seu = G (u u U u U\{u} u ) φ set = G (t t ) t T t T \{t} φ A = ( t T G t ) (t,u) A u φ C = (D,t t,ρ) C φ (D,t t,ρ) φ (D,t t,ρ) = ( ) F (t u) G (t u ) u D (u,u ) ρ φ AS = φ FT φ GT φ GU φ φ seu φ set φ A φ C

Parameterized analysis tool Model-checking algorithm works for all formulas of LTL(F) No need to invent new analyses, if written in LTL(F), e.g. Schedulability with constraints across workflow instances: write φ AS for φ AS with each p replaced by p check two instances of workflow are realizable where...... task t executed by different users in each instance: φ AS φ AS (F (t u) G(t u )) u U

More expressive workflows Would like to support AND/OR joins and forks as well for authorization frameworks.

Toy declarative specification language V, W ::= Workflows t (Atomic Workflow) W + (Unbounded Iteration) V ; W (Sequential Composition) choose k from W (Threshold Choice) choose k from W means exactly k workflow specifications from set W scheduled gives OR-fork and OR-join for k = 1 gives AND-fork and AND-join for k = W

A declaration and its graphical representation (t 1 ; t 2 ); choose 2 from {(t 3 ; t 5 ) +, t 4 }; t 6

Challenges LTL(F) satisfiability checks practical approach? iteration (W + ): temporal logics cannot count that well automata can count, but don t like constraints too well can constraint satisfaction solvers, SMT solvers, or planning tools deal with temporal expressiveness? van der Aalst s approach originally used Petri nets: very good expressiveness but core analysis problem Reachability EXPTIME-hard their declarative language uses linear-time temporal logic

Opportunities Pattern-Based Modeling and Verification, e.g. parameterized modeling and analysis: Knowledge and tool transfer: Software verification of domain specific languages (DSL) Empirical Evaluation of Formal Methods for such DSLs Workflow and Collaborations in the Cloud: leverage work on multiple agents and imperfect information Novel forms of analysis, e.g. dead task detection, run-time synthesis

References Rozier, K. Y., and Vardi, M. Y. (2010) LTL satisfiability checking. Software Tools and Technology Transfer 12:123-137 van der Aalst, W., Pesic, M., Schonenberg, H. (2009) Declarative workflows: Balancing between flexibility and support. Computer Science - R & D 23(2):99-113 van der Aalst, W., and ter Hofstede, A. (2005) YAWL: yet another workflow language. Information Systems 30(4):245-275 Sistla, A. P., and Clarke, E. M. (1985) The complexity of propositional linear temporal logics. Journal of the ACM 32:733-749

Q & A

Q & A

Q & A

Q & A

Q & A

Q & A

Q & A

Q & A

Q & A

Q & A