Verification of Data-Aware Processes Data Centric Dynamic Systems

Similar documents
Artifact-Centric Service Interoperation

Verification of Data-Centric Dynamic Systems

RAW-SYS a Practical Framework for Data-aware Business Process Verification

On Reconciling Data Exchange, Data Integration, and Peer Data Management

COMP718: Ontologies and Knowledge Bases

Towards a Logical Reconstruction of Relational Database Theory

Inconsistency Management in Generalized Knowledge and Action Bases.

Data integration lecture 2

DATABASE THEORY. Lecture 11: Introduction to Datalog. TU Dresden, 12th June Markus Krötzsch Knowledge-Based Systems

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

Process-Centric Views of Data-Driven Business Artifacts

Lecture 1: Conjunctive Queries

Chapter 3: Propositional Languages

Monitoring Data-Aware Business Constraints with Finite State Automata

TRANSLATING BPMN TO E-GSM: PROOF OF CORRECTNESS. Giovanni Meroni, Marco Montali, Luciano Baresi, Pierluigi Plebani

Chapter 2 & 3: Representations & Reasoning Systems (2.2)

Introduction to Linear-Time Temporal Logic. CSE 814 Introduction to LTL

INCONSISTENT DATABASES

Semantic data integration in P2P systems

MASTRO-I: Efficient integration of relational data through DL ontologies

Structural characterizations of schema mapping languages

Ontologies and Databases

Web Science & Technologies University of Koblenz Landau, Germany. Relational Data Model

DATABASE THEORY. Lecture 18: Dependencies. TU Dresden, 3rd July Markus Krötzsch Knowledge-Based Systems

Database Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler

On the Hardness of Counting the Solutions of SPARQL Queries

A Comprehensive Semantic Framework for Data Integration Systems

Completeness of Queries over SQL Databases

CMPS 277 Principles of Database Systems. Lecture #4

Uncertain Data Models

CMPS 277 Principles of Database Systems. Lecture #3

Structural Characterizations of Schema-Mapping Languages

Fundamentals of Software Engineering

Data and Process Modelling

15-819M: Data, Code, Decisions

Consistency and Set Intersection

Conjunctive queries. Many computational problems are much easier for conjunctive queries than for general first-order queries.

View-based query processing: On the relationship between rewriting, answering and losslessness

Knowledge Representation. CS 486/686: Introduction to Artificial Intelligence

Deriving Optimized Integrity Monitoring Triggers from Dynamic Integrity Constraints

Ontology and Database Systems: Foundations of Database Systems

Data integration lecture 3

Logik für Informatiker Logic for computer scientists

Data Integration: A Theoretical Perspective

Semantics via Syntax. f (4) = if define f (x) =2 x + 55.

Artifact-centric Business Process Models in UML: Specification and Reasoning (Extended Abstract)

Part I Logic programming paradigm

Static Analysis of Active XML Systems

Checking Containment of Schema Mappings (Preliminary Report)

T Reactive Systems: Kripke Structures and Automata

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Processing Regular Path Queries Using Views or What Do We Need for Integrating Semistructured Data?

Data and Process Modelling

Denotational Semantics of a Simple Imperative Language Using Intensional Logic

Logic Programming and Resolution Lecture notes for INF3170/4171

Verification of Data-Aware Commitment-Based Multiagent System

A Semantics to Generate the Context-sensitive Synchronized Control-Flow Graph (extended)

Integrity Constraints For Access Control Models

Database Theory VU , SS Introduction: Relational Query Languages. Reinhard Pichler

Operational Semantics 1 / 13

Ontology and Database Systems: Knowledge Representation and Ontologies Part 1: Modeling Information through Ontologies

6. Relational Algebra (Part II)

Incomplete Databases: Missing Records and Missing Values

ECS 120 Lesson 16 Turing Machines, Pt. 2

COMP4418 Knowledge Representation and Reasoning

Provable data privacy

Situation Calculus and YAGI

Using first order logic (Ch. 8-9)

Softwaretechnik. Program verification. Albert-Ludwigs-Universität Freiburg. June 28, Softwaretechnik June 28, / 24

Foundations of Schema Mapping Management

Verification of Data-Aware Processes Exploiting DCDSs: models, methods, concrete systems

Relational Databases

Timo Latvala. January 28, 2004

Coalgebraic Semantics in Logic Programming

Using first order logic (Ch. 8-9)

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Inf2D 12: Resolution-Based Inference

Static Analysis and Verification in Databases. Victor Vianu U.C. San Diego

Section 3 Default Logic. Subsection 3.1 Introducing defaults and default logics

Programming Languages Third Edition

From OCL to Propositional and First-order Logic: Part I

Outline. 1 CS520-5) Data Exchange

STABILITY AND PARADOX IN ALGORITHMIC LOGIC

CS 6110 S14 Lecture 38 Abstract Interpretation 30 April 2014

Lyublena Antova, Christoph Koch, and Dan Olteanu Saarland University Database Group Saarbr ucken, Germany Presented By: Rana Daud

Lecture 5 - Axiomatic semantics

Intro to semantics; Small-step semantics Lecture 1 Tuesday, January 29, 2013

Description Logics for Conceptual Modeling

Knowledge Representation and Ontologies Part 1: Modeling Information through Ontologies

Decision Procedures in the Theory of Bit-Vectors

Formal Methods in Software Engineering. Lecture 07

Variables. Substitution

Web Service Interfaces

The Relational Model

RELATIONAL REPRESENTATION OF ALN KNOWLEDGE BASES

DATABASE TECHNOLOGY - 1MB025 (also 1DL029, 1DL300+1DL400)

SAT solver of Howe & King as a logic program

Computer Science Technical Report

Conjunctive Query Containment in Description Logics with n-ary Relations

Time and Space Lower Bounds for Implementations Using k-cas

Transcription:

Verification of Data-Aware Processes Data Centric Dynamic Systems Diego Calvanese, Marco Montali Research Centre for Knowledge and Data (KRDB) Free University of Bozen-Bolzano, Italy 29th European Summer School in Logic, Language, and Information (ESSLLI 2017) Toulouse, France 17 28 July 2017

Outline 1 Formalization of DCDSs 2 Relational Transition System 3 Semantics of Action Execution 4 Deterministic and Non-deterministic Execution Semantics Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (1/25)

Formalization of Data Centric Dynamic Systems A DCDS X is a triple D, P, I 0, where: D is the data layer, capturing the static aspects of the DCDS; P is the process layer, capturing the dynamic aspects of the DCDS; I 0 is the initial database. The data layer D is a pair R, C, where: R is a relational schema, i.e., a set of relation schemas (relation names with their arity). C is a set of integrity constraints. We assume the constraints to be domain-independent FOL sentences. The initial database I 0 is a relational DB conforming to the data layer, i.e.: it is a database for the relational schema R, and it satisfies the constraints C. Note: having an initial DB is an assumption that we make to ensure good computational properties (notably, decidability) of verification in our framework. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (2/25)

The process layer of DCDSs The process layer P is a triple P = F, A, ϱ, where: F is a finite set of functions, each representing the interface to an external service. The services can be called, and as a result the function is activated and the answer is produced. How the result is actually computed is unknown to the DCDS since the services are external. A is a finite set of actions, whose execution updates the data layer, and may involve external service calls. ϱ is a finite set of condition-action rules that form the specification of the overall process, which tells at any moment which actions can be executed. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (3/25)

Actions and process An action α is a triple constituted by: A action name α name; A list α pars of individual input parameters; Parameters are substituted by constants for the execution of the action. An effect specification α eff consisting of a set of effects. Effects are assumed to take place simultaneously. The process ϱ is a finite set of condition-action rules. Each condition-action rule has the form Q α, where: α is an action in A; Q is a FO query over R: the free variables are exactly the parameters of α; the other terms in the query can be either quantified variables or constants in adom(i 0). Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (4/25)

Action effects Each effect e α eff has the form Q e add A del D where: Note: Q e is a query over R that may include as terms of the query: constants of adom(i 0), some of the input parameters. A and D are two sets of facts over R, respectively to be added to and deleted from the current state to produce a new state. They may include as terms: constants in adom(i 0), parameters, free variables of Q e, and functions calls, which formalize call to (atomic) external services. All queries (in the action effects, and in the condition of the process rules) are evaluated over the active domain adom(i) of the current database. Active domain semantics. Hence the queries instantiate the facts to add and delete in the action effects with known values only. However, new values are introduced by the calls to external services! Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (5/25)

Deterministic vs. non-deterministic services DCDSs admit two different semantics for service-execution: Deterministic services semantics Along a run, when the same service is called again with the same arguments, it returns the same result as in the previous call. Are used to model an environment whose behavior is completely determined by the parameters. Example: temperature, given the location and the date and time Non-deterministic services semantics Along a run, when the same service is called again with the same arguments, it may return a different value than in the previous call. Are used to model: an environment whose behavior is determined by parameters that are outside the control of the system; input of external users, whose choices depend on external factors. Example: current temperature, given the location Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (6/25)

An example: Hotels and price conversion Data Layer: Info about room prices for hotels and their currency Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/1: User selection of a currency Process: true ChooseCur() Service call for currency selection: uinputcurr() Models user input with non-deterministic behavior. { } Cur(c) del{cur(c)} ChooseCur() : true add{cur(uinputcurr())} Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (7/25)

An example: Hotels and price conversion Data Layer: Info about room prices for hotels and their currency Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/2: Price conversion for a hotel Process: Cur(c) CH(h, c h ) c h c ApplyConv(h, c) Service call for currency selection: conv(price, from, to, date) Models historical conversion with deterministic behavior. ApplyConv(h, c) : PEntry(h, p, d) del{pentry(h, p, d)} PEntry(h, p, d) CH(h, c old ) add{pentry(h, conv(p, c old, c, d), d)} CH(h, c old ) del{ch(h, c old )}, add{ch(h, c)} Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (7/25)

Outline 1 Formalization of DCDSs 2 Relational Transition System 3 Semantics of Action Execution 4 Deterministic and Non-deterministic Execution Semantics Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (8/25)

Execution semantics of dynamic systems Typically given in the form of a transition system. (Propositional) transition system Given a set Σ of state propositions, a (propositional) transition system is a tuple S, s 0, prop,, where: S is a finite set of states; s 0 S is the initial state; prop : S 2 Σ is an assignment, mapping each state in S to the set of propositions from Σ holding in that state; S S is the transition relation between states. Usually, the transitions are labeled with corresponding actions. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (9/25)

Impact of data on verification The presence of data complicates verification significantly: States must be modeled relationally rather than propositionally. The resulting transition system is typically infinite state. Query languages for analysis need to combine two dimensions: a temporal dimension to query the process execution flow, and a first-order dimension to query the data present in the relational structures. We need first-order variants of temporal logics. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (10/25)

What if the system evolves a database? We get a transition system in which each state is a relational database. In the following, we fix an infinite domain of data items (also called values). Relational transition system (RTS) Is a tuple, R, S, s 0, db,, where: R is a database schema; S is a possibly infinite set of states; s 0 S is the initial state; db is a function that, given a state s S, returns the database instance db(s) over R and ; S S is the transition relation between states. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (11/25)

Execution semantics of a DCDS Is determined by the relational transition system that accounts for all possible runs of the DCDS: States are database instances (i.e., db is the identity function). Transitions: correspond to legal applications of an action with parameter instantiation + service call evaluations. Action with param. instantiation: executable according to the process rules. Satisfaction of constraints ensured by each DB instance. We obtain a possibly infinite-state (relational) transition system, intuitively constructed as follows: start from the initial DB; apply transitions in all possible ways; continue (ad infinitum) on the newly obtained states. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (12/25)

Outline 1 Formalization of DCDSs 2 Relational Transition System 3 Semantics of Action Execution 4 Deterministic and Non-deterministic Execution Semantics Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (13/25)

Action execution Intuition To execute an action α in state s according to Q α: 1 Evaluate Q over db(s), and choose a parameters assignment σ for α. 2 If such an assignment exists, then α is executable and instantiated with σ. 3 ασ is executed: for each effect Q i add A i del D i of α: 1 Q iσ is evaluated over db(s), getting variable assignments ρ 1,..., ρ n; 2 for each ρ j, the grounded facts A iσρ j and D iσρ j are obtained; 3 all service calls contained in all A iσρ j and D iσρ j are issued; 4 the next state is obtained by removing from the current state all facts D iσρ j and adding all facts A iσρ j, after the inclusion of all service call results. We now define the semantics formally. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (14/25)

Semantics of an action execution (1/3) Consider: a DCDS X = D, P, I 0, where D = R, C and P = F, A, ϱ ; the current instance I of X, which is a DB state for R satisfying C; an action α A; a parameter substitution σ assigning to α pars actual parameters from. We want to compute the possible new instances I obtained from I by executing action α under substitution σ. We need to deal with incomplete instances I, which may contain service calls. We define basic functions capturing the execution in I of α under σ: del(i, α, σ) computes the (incomplete) facts to delete from I; add(i, α, σ) computes the (incomplete) facts to add to I; calls(i) denotes the service calls contained in an incomplete instance I; evals (I) denotes the set of substitutions that replace all service calls in I with values from. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (15/25)

Semantics of an action execution (2/3) To compute a possible new instance I from the current instance I: 1 Compute the incomplete facts I del = del(i, α, σ) (for deletion), where: del(i, α, σ) = D i σρ (Q i add A i del D i) α eff ρ ans (Q iσ,i) 2 Compute the incomplete facts I add = add(i, α, σ) (for addition), where: add(i, α, σ) = A i σρ (Q i add A i del D i) α eff ρ ans (Q iσ,i) 3 Compute the set of substitutions for the service calls in I = I del I add : evals (I) = {θ θ is a total function, θ : calls(i) } 4 A possible new instance is I = do(i, α, σ, θ) for θ evals (I), where: do(i, α, σ, θ) = (I \ I del θ) I add θ Note: additions globally take preference over deletions. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (16/25)

Semantics of an action execution (3/3) Each I = do(i, α, σ, θ), for each θ evals (I), represents a potential new state resulting from the execution of α under parameter instantiation σ. However, I must also satisfy the constraint of the data layer. Legal new state We say that I is legal w.r.t. state I, action α, parameter substitution σ, and service evaluation θ, if the following holds: 1 There exists a condition-action rule Q α in ϱ such that σ ans (Q, I). 2 The new state I satisfies all constraints in C. To understand the possible executions of DCDSs, we have to clarify how external services behave across runs. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (17/25)

An example: Hotels and price conversion Data Layer: Info about room prices for hotels and their currency Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/1: User selection of a currency Process: true ChooseCur() Service call for currency selection: uinputcurr() Models user input with non-deterministic behavior. { } Cur(c) del{cur(c)} ChooseCur() : true add{cur(uinputcurr())} Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (18/25)

An example: Hotels and price conversion Data Layer: Info about room prices for hotels and their currency Cur = UserCurrency CH = Hotel, Currency PEntry = Hotel, Price, Date Process Layer/2: Price conversion for a hotel Process: Cur(c) CH(h, c h ) c h c ApplyConv(h, c) Service call for currency selection: conv(price, from, to, date) Models historical conversion with deterministic behavior. ApplyConv(h, c) : PEntry(h, p, d) del{pentry(h, p, d)} PEntry(h, p, d) CH(h, c old ) add{pentry(h, conv(p, c old, c, d), d)} CH(h, c old ) del{ch(h, c old )}, add{ch(h, c)} Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (18/25)

Run of the system HC h 1 eur h 2 eur PEntry h 1 95 apr-25 h 1 80 sep-18 h 2 80 sep-18 ChooseCur(): uinputcurr() = HC h 1 eur h 2 eur PEntry h 1 95 apr-25 h 1 80 sep-18 h 2 80 sep-18 Cur usd ChooseCur() usd ApplyConv(h 2,usd) ApplyConv(h 1,usd): conv(95,eur,usd,apr-25) =?115 conv(80,eur,usd,sep-18) =?95 HC h 1 usd h 2 usd PEntry h 1 115 apr-25 h 1 95 sep-18 h 2 95 sep-18 Cur ChooseCur() usd ApplyConv(h 2,usd) conv(80,eur,usd,sep-18) = 95 HC h 1 usd h 2 eur PEntry h 1 115 apr-25 h 1 95 sep-18 h 2 80 sep-18 Cur usd Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (19/25)

Outline 1 Formalization of DCDSs 2 Relational Transition System 3 Semantics of Action Execution 4 Deterministic and Non-deterministic Execution Semantics Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (20/25)

Execution semantics for non-deterministic services The above semantics for action execution provides directly the execution semantics for a DCDS X with non-deterministic services. Transition relation n-exec X over states Captures how states evolve: I, ασ, I n-exec X if and only if there exists θ evals (del(i, α, σ) add(i, α, σ)) such that I = do(i, α, σ, θ) is legal w.r.t. I, α, σ, θ. Note: The condition-action rules of ϱ are taken into account in n-exec X. States that do not satisfy the constraints in the data layer of the DCDS are not considered. There is no condition on how service calls evaluate across different states. However, within one execution step, all occurrences of the same service call evaluate to the same result. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (21/25)

Concrete transition system under non-deterministic services Making use of the transition relation n-exec X, we can now define the transition systems generated by a DCDS under non-deterministic services semantics. Concrete RTS for a DCDS X =, D, P, I 0 under non-deterministic services Is an RTS Υ n X =, R, S, s 0, db, n, where: s 0 = I 0 ; db is the identity function, i.e., db(i) = I; R is the database schema of X ; the states S and the transition relation n are defined by simultaneous induction as the smallest set satisfying the following properties: 1 s 0 S; 2 if I S, then for all actions α, parameter substitutions σ, and states I such that I, ασ, I n-exec X, we have that I S and I n I. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (22/25)

Execution semantics under deterministic services To ensure that service calls behave deterministically, the states of the transition system keep track of all results of the service calls made so far. Let SC = {f(v 1,..., v n ) f F and {v 1,..., v n } } be the set of (Skolem terms representing) service calls. A service call map is a partial function M : SC. A state of the transition system is a pair I, M, where: I is a relational instance for D, and M is a service call map. Transition relation d-exec X over states I, M, ασ, I, M d-exec X if and only if there exists θ evals (del(i, α, σ) add(i, α, σ)) such that: I = do(i, α, σ, θ) is legal w.r.t. I, α, σ, θ, θ and M agree on the common values in their domain, and M = M θ. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (23/25)

Concrete transition system under deterministic services Making use of the transition relation d-exec X, we can now define the RTS generated by a DCDS under deterministic services semantics. Concrete RTS for a DCDS X =, D, P, I 0 under deterministic services Is an RTS Υ d X = R, S, s 0, db, d, where: s 0 = I 0, ; db is such that db( I, M ) = I; R is the database schema of X ; the states S and the transition relation d are defined by simultaneous induction as the smallest set satisfying the following properties: 1 s 0 S; 2 if I, M S, then for all actions α, parameter substitutions σ, and states I, M such that I, M, ασ, I, M d-exec X, we have that I, M S and I, M d I, M. Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (24/25)

Sources of unboundedness/infinity In general: service calls cause.............. infinite branching (due to all possible results of service calls); infinite runs (usage of values obtained from unboundedly many service calls); unbounded DBs (accumulation of such values). ApplyConv(h 1,usd): exchange rate = 1.2... HC h1 eur h2 eur PEntry h1 95 apr-25 h1 80 sep-18 h2 80 sep-18 Cur usd ApplyConv(h 1,usd): exchange rate = 1.23 ApplyConv(h 1,usd): exchange rate = 1.3 ApplyConv(h 1,usd): exchange rate =............ Calvanese, Montali (FUB) Verification of Data-Aware Processes ESSLLI 2017 24 28/07/2017 (25/25)