Project SPACMODL Semantic Stream Processing in Business Auditing - - PowerPoint PPT Presentation

project spacmodl
SMART_READER_LITE
LIVE PREVIEW

Project SPACMODL Semantic Stream Processing in Business Auditing - - PowerPoint PPT Presentation

Project SPACMODL Semantic Stream Processing in Business Auditing Stephan Scheele Informatics Theory Group University of Bamberg Joint work with Michael Mendler. SYNCHRON 2008 1st - 5th December, 2008 Introduction Introduction & context


slide-1
SLIDE 1

Project SPACMODL

Semantic Stream Processing in Business Auditing

Stephan Scheele Informatics Theory Group University of Bamberg Joint work with Michael Mendler. SYNCHRON 2008 1st - 5th December, 2008

slide-2
SLIDE 2

Introduction

Introduction & context

Research Project “SPACMoDL” Funded by the German Research Council (DFG) Started June 2008 Topic: Investigate logics and semantic programming models for auditing Collaboration with industrial partners

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 2 / 19

slide-3
SLIDE 3

Introduction

Area of interest: Auditing

Verification of business transactions & data Mass data processing needs efficient stream processing procedures Audit problems:

Purchasing: Analysis of behaviour of purchasers, completed and future orders, . . . Accounts Payable: Open-item accounting, supplier ranking, . . . . . .

Offline Auditing: Auditing on database extracts (file streams) Online Auditing: Auditing in-place on information streams

act as intelligent audit procedures within an information stream process transactions in real-time (as they come in)

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 3 / 19

slide-4
SLIDE 4

Introduction

Area of interest: Auditing

Verification of business transactions & data Mass data processing needs efficient stream processing procedures Audit problems:

Purchasing: Analysis of behaviour of purchasers, completed and future orders, . . . Accounts Payable: Open-item accounting, supplier ranking, . . . . . .

Offline Auditing: Auditing on database extracts (file streams) Online Auditing: Auditing in-place on information streams

act as intelligent audit procedures within an information stream process transactions in real-time (as they come in)

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 3 / 19

slide-5
SLIDE 5

Classical Approach

Classical Approach

Spreadsheet-based, does not scale to large volume of data Database-based, specific and isolated applications Domain specific languages, ACL and Idea

Old-fashioned languages Process mass-data stream based Not strongly typed, not type-safe, only flat types Modern features missing: Modularity, components, static typing Do not utilize modern hardware and parallelism (Multicore CPUs)

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 4 / 19

slide-6
SLIDE 6

Classical Approach

Project objectives

DSL for Auditing: Functional, declarative stream-processing language like Lustre Utilize Description Logics: Semantic interpretation of information streams Integrate Description Logic-reasoning services for advanced typing and knowledge-based data analysis Bring techniques from synchronous languages into the auditing world: component orientation, correct by construction, static typing, clear semantics, formal verification, clocktypes for

  • ptimization . . .

Auditing is not (in every case) real-time critical but business critical

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 5 / 19

slide-7
SLIDE 7

Classical Approach

Description Logics

Family of logic based formalisms for the purpose of knowledge representation Well-suited for the representation of and reasoning about terminological knowledge

  • ntologies

database schemata . . . related to modal logic guarded fragment of predicate logic model theoretic semantics decidable decision problem

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 6 / 19

slide-8
SLIDE 8

Classical Approach

Example: Syntax & Semantics of ALC

Frog #006600 #663300 #00FF00 Atomic concepts: Frog, GrassFrog, TreeFrog, Colour, Green, Brown Roles: hasColour

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 7 / 19

slide-9
SLIDE 9

Classical Approach

Example: Syntax & Semantics of ALC

Frog #006600 #663300 #00FF00 Atomic concepts: Frog, GrassFrog, TreeFrog, Colour, Green, Brown Roles: hasColour

TBox statements: Frog ⊑ Animal GrassFrog ⊑ Frog ⊓ ∃hasColor.Brown TreeFrog ⊑ Frog ⊓ ∃hasColor.Green

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 7 / 19

slide-10
SLIDE 10

Classical Approach

Example: Syntax & Semantics of ALC

Frog #006600 #663300 #00FF00 Atomic concepts: Frog, GrassFrog, TreeFrog, Colour, Green, Brown Roles: hasColour

DL uses a variable free syntax: GrassFrog ⊑ Frog ⊓ ∃hasColor.Brown can be translated into: ∀x.GrassFrog(x) ⇒ Frog(x) ∧ ∃y.hasColor(x, y) ∧ Brown(y)

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 7 / 19

slide-11
SLIDE 11

Classical Approach

Example: Syntax & Semantics of ALC

Frog #006600 #663300 #00FF00 Atomic concepts: Frog, GrassFrog, TreeFrog, Colour, Green, Brown Roles: hasColour

ABox statements: Kermit:TreeFrog, Joe:GrassFrog Kermit:∀hasColor.Green Joe, Kermit:∃hasColor.Green ⊔ ∃hasColor.Brown

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 7 / 19

slide-12
SLIDE 12

Classical Approach

Syntax and semantics of ALC

Elementary descriptions: atomic concepts atomic roles Concepts and roles are given standard Tarski-style model-theoretic semantics, their meaning is given by an interpretation I = (∆I, ·I) with ∆I as the universe of individuals and an interpretation function ·I mapping

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 8 / 19

slide-13
SLIDE 13

Classical Approach

Syntax and semantics of ALC

Elementary descriptions: atomic concepts atomic roles Concepts and roles are given standard Tarski-style model-theoretic semantics, their meaning is given by an interpretation I = (∆I, ·I) with ∆I as the universe of individuals and an interpretation function ·I mapping

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 8 / 19

slide-14
SLIDE 14

Classical Approach

Syntax and semantics of ALC

Elementary descriptions: atomic concepts atomic roles Concepts and roles are given standard Tarski-style model-theoretic semantics, their meaning is given by an interpretation I = (∆I, ·I) with ∆I as the universe of individuals and an interpretation function ·I mapping

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 8 / 19

slide-15
SLIDE 15

Classical Approach

Syntax and semantics of ALC

Elementary descriptions: atomic concepts atomic roles Concepts and roles are given standard Tarski-style model-theoretic semantics, their meaning is given by an interpretation I = (∆I, ·I) with ∆I as the universe of individuals and an interpretation function ·I mapping atomic concept A AI ⊆ ∆I, a set of entities ·I

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 8 / 19

slide-16
SLIDE 16

Classical Approach

Syntax and semantics of ALC

Elementary descriptions: atomic concepts atomic roles Concepts and roles are given standard Tarski-style model-theoretic semantics, their meaning is given by an interpretation I = (∆I, ·I) with ∆I as the universe of individuals and an interpretation function ·I mapping atomic concept A AI ⊆ ∆I, a set of entities ·I Role R RI ⊆ ∆I × ∆I, a binary relation ·I

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 8 / 19

slide-17
SLIDE 17

Classical Approach

Description Logic specifications as stream types

Business data come typically as streams of information, e.g. linearised database tables (streaming records) Considering streams as abstract entities

DL concepts can act as typing system and specify semantical properties of stream elements

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 9 / 19

slide-18
SLIDE 18

Classical Approach

Typing streams (I)

Consider ∆I = D∗ ∪ D∞ with D = N ⊎ B ⊎ (N × B) the universe of booleans, naturals and their pairings.

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 10 / 19

slide-19
SLIDE 19

Classical Approach

Typing streams (I)

Consider ∆I = D∗ ∪ D∞ with D = N ⊎ B ⊎ (N × B) the universe of booleans, naturals and their pairings. Refinement I (time shift) is the (inverse) suffix ordering

  • v ∈ D

v · s P s

where v · s is the stream s ∈ Dω prefixed by value v ∈ D. For instance, 1 · (2, T) · T · F I (2, T) · T · F I T · F I F I ǫ, where ǫ is the empty stream.

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 10 / 19

slide-20
SLIDE 20

Classical Approach

Typing streams (I)

Consider ∆I = D∗ ∪ D∞ with D = N ⊎ B ⊎ (N × B) the universe of booleans, naturals and their pairings. Refinement I (time shift) is the (inverse) suffix ordering

  • v ∈ D

v · s P s

where v · s is the stream s ∈ Dω prefixed by value v ∈ D. For instance, 1 · (2, T) · T · F I (2, T) · T · F I T · F I F I ǫ, where ǫ is the empty stream. DL Types have to be closed under time shift !

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 10 / 19

slide-21
SLIDE 21

Classical Approach

Typing streams (II)

Let NATI =df Nω and BOOLI =df Bω be ususal programming language types considered as atomic DL concepts. Similarly (NAT × BOOL)I =df (N × B)ω. ǫ has no future projected behaviour, i.e. ⊥I = {ǫ}, val is a functional role, relating a stream with its first data element considered as an infinite constant stream, i.e. val(ǫ, ǫ) and val(v · s, v∞), e.g. val((2, T) · T · F, (2, T)∞).

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 11 / 19

slide-22
SLIDE 22

Classical Approach

Typing streams (II)

Let NATI =df Nω and BOOLI =df Bω be ususal programming language types considered as atomic DL concepts. Similarly (NAT × BOOL)I =df (N × B)ω. ǫ has no future projected behaviour, i.e. ⊥I = {ǫ}, val is a functional role, relating a stream with its first data element considered as an infinite constant stream, i.e. val(ǫ, ǫ) and val(v · s, v∞), e.g. val((2, T) · T · F, (2, T)∞).

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 11 / 19

slide-23
SLIDE 23

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . ..

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-24
SLIDE 24

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . ..

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-25
SLIDE 25

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . .. What type has s?

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-26
SLIDE 26

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . .. What type has s? s : BOOL ⊔ ¬BOOL?

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-27
SLIDE 27

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . .. What type has s? s : BOOL ⊔ ¬BOOL? But: s ∈ BOOL and s ∈ ¬BOOL

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-28
SLIDE 28

Classical Approach

  • Ex. Typing streams (I): Excluded Middle

Consider stream s that starts with value 0 and turns into the infinite constant stream of Booleans T. s = 0 · T · T · T · . . .. What type has s? s : BOOL ⊔ ¬BOOL? But: s ∈ BOOL and s ∈ ¬BOOL excluded middle does not hold!

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 12 / 19

slide-29
SLIDE 29

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

Another classical principle does not hold: existential distribution, i.e. ∃val.(C ⊔ D) ≡ ∃val.C ⊔ ∃val.D.

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 13 / 19

slide-30
SLIDE 30

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 t0 n1 t2 n2 t3 … …

table t

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-31
SLIDE 31

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool table t

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-32
SLIDE 32

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool table t

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-33
SLIDE 33

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

linearise

table t

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-34
SLIDE 34

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

table t

tb

??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-35
SLIDE 35

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb

??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-36
SLIDE 36

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb

² Nat t Bool ??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-37
SLIDE 37

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb

² Nat t Bool

??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-38
SLIDE 38

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb ² 9val:Nat t 9val:Bool

² Nat t Bool

??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-39
SLIDE 39

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb ² 9val:Nat t 9val:Bool

² Nat t Bool

 

??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-40
SLIDE 40

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb

The correct type is Nat[Bool, expressed by

9val:(Nat t Bool) ??

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-41
SLIDE 41

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

What is the type of tb?

table t

tb

The correct type is Nat[Bool, expressed by

9val:(Nat t Bool) ??

Disjunctive distribution does not hold!

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-42
SLIDE 42

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

table t

tb

The °attening t ! tb is a function to multiplex streams, with type Nat £ Bool ! 9val:(Nat t Bool)

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-43
SLIDE 43

Classical Approach

  • Ex. Typing streams (II): Disjunctive Distribution

n0 n1 n2 n3 : : : t0 t1 t2 t3 : : :

Nat £ Bool Nat Bool

n0 ¢ t0 ¢ n1 ¢ t1 ¢ n2 ¢ t2 ¢ n3 ¢ t3 : : :

table t

tb

The °attening t ! tb is a function to multiplex streams, with type Nat £ Bool ! 9val:(Nat t Bool) Excluded middle does not hold Disjunctive Distribution does not hold We need constructive semantics for Description Logic!

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 14 / 19

slide-44
SLIDE 44

Classical Approach

Results

We defined cALC as constructive version of the Description Logic ALC Syntax and Semantics for the Description Logic cALC

⊥, C ⊓ D, C ⊔ D, ¬C, C ⊑ D, ∃R.C, ∀R.C Constructive weakening of ALC, Curry-Howard Isomorphism, suitable for typing

Constructive Hilbert and Gentzen tableau calculi for cALC Theorems: Soundness and Completeness, Finite Model Property, Decidability Satisfiability of cALC is PSPACE-complete

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 15 / 19

slide-45
SLIDE 45

Conclusion and Outlook

Open Problems, next steps

Create Domain specific language (first experiments in F#) Connect stream programming language with cALC typing system Create Audit Ontology using cALC Implement cALC reasoning procedure: Type checking, type-driven compilation and optimizations

Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 16 / 19

slide-46
SLIDE 46

Conclusion and Outlook

Related Work

Constructive semantics for ALC: Proof-theoretic vs. model-theoretic

[?]

Intuitionistic epistemic logic: Coding several (partial) points of views (different refinements)

[?]

Temporal DL: terminological context-dependency;

[?, ?, ?]

Many-Valued DL: Finitely vs. infinitely valued (cALC)

[?]

Fuzzy-DL: Use quantitative notion of approximative truth

[?] Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 17 / 19

slide-47
SLIDE 47

Conclusion and Outlook

References I

  • A. Artale and E. Franconi.

A survey of temporal extensions of description logics. Annals of Mathematics and Artificial Intelligence, 30(1–4), 2001.

  • F. Baader, D. Calvanese, D. L. McGuinness, D. Nardi, and P

. F. Patel-Schneider. The description logic handbook: theory, implementation, and applications. Cambridge University Press, 2003.

  • A. Borgida.

Diachronic description logics. In Int’l Workshop on Description Logics (DL 2001), pages 106–112, 2001.

  • L. Botazzo, M. Ferrari, C. Fiorentini, and G. Fiorino.

A constructive semantics for ALC. In Int’l Workshop on Description Logics (DL 2007), pages 219–226, 2007.

  • O. Brunet.

A logic for partial system description. Journal of Logic and Computation, 14(4):507–528, 2004. P . F. Patel-Schneider. A four-valued semantics for terminological logics. Artificial Intelligence, 38:319–351, 1989.

  • U. Straccia.

Fuzzy ALC with fuzzy concrete domains. In Int’l Workshop on Description Logics (DL 2005), 2005. Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 18 / 19

slide-48
SLIDE 48

Conclusion and Outlook

References II

  • D. Nardi and R. J. Brachman.

An Introduction to Description Logics. In The Description Logic Handbook, 2002. Stephan Scheele (UNI-BA) SPACMODL SYNCHRON´08 19 / 19