Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San...

23
Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego

Transcript of Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San...

Page 1: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

Rule-Based Programming for VORBs

Bertram Ludaescher

Arcot Rajasekar

Data and Knowledge Systems

San Diego Supercomputer Center

U.C. San Diego

Page 2: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

2 ROADNet/VORB Design 12/01

Background and Overview

• Goals ... – streaming real-time environmental data ...

– ... over wireless networks,

– ... seamlessly collecting, integrating, and archiving

– ... heterogeneous multi-disciplinary data!

• .... and The Noble Path– extending the ORB to an all-powerful VORB!

=> dynamic reconfiguration and programming of ORBs via a layer of rule-programmable VORBs

– build VORBs as SRB-lets (= extensions to SRB)

Page 3: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

3 ROADNet/VORB Design 12/01

All about VORBs ...

• Virtual Object Ring Buffers– overcome the static

bindings...

Applications

ORB

RealTimeSensors

– ... by rule-based “VORB mediators”

– ... VORBs need metadata about available ORBs, the connected sensors, and “fellow VORBs”

=> VORB catalog/registry

Page 4: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

4 ROADNet/VORB Design 12/01

Possible VORB Components

actual data transfer

VORBArchive

VORBArchive

Event-Condition-Action Rules

Event-Condition-Action Rules

VORBCat

VORBCat

VORBRule Engine

VORBRule Engine

SrcORBSrcORB SrcORBSrcORBSrcORBSrcORB

Client/App.Client/App. Client/App.Client/App.Client/App.Client/App.

virtual data transfer (ctrl msgs)

Page 5: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

5 ROADNet/VORB Design 12/01

VORB Active Rule Engine

VORBCat

VORBCat

SrcORBSrcORB

Client/App.Client/App.

VORB Rule EngineVORB Rule Engine

Event-Condition-Action Rules

Event-Condition-Action Rules

SrcORBSrcORB SrcORBSrcORB

SRC Events

USR Events

ConditionEvaluation

VORBArchive

VORBArchive

SrcORBSrcORB

Client/App.Client/App.

ORB ORB

Page 6: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

6 ROADNet/VORB Design 12/01

Event-Condition-Action (ECA) Rules

• Rule Syntax– ON <event> IF <condition> THEN <action>

• Rule Semantics– whenever the event occurs, the rule is triggered, the condition

checked and – if satisfied – the action is executed

Active Database Rules (=ECA rules) Flexible, Dynamic Programming Style• Declarative Reconfiguration based on ...

– logic language for conditions,

– logic language for complex events detection, and

– ... an algebraic action language

Page 7: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

7 ROADNet/VORB Design 12/01

Events

• Database Events– INS, DEL, UPD, BOT, EOT, ABORT, COMMIT,

ROLLBACK, CHECKPOINT

• Temporal Events– absolute (@MM/DD/YYYY:HH:MM)

– relative, periodic, ...

• Application-Specific/Data Source Events– sensor-value > threshold

– ORB up/down

– ...

Page 8: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

8 ROADNet/VORB Design 12/01

Event Algebra for Complex Events

Page 9: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

9 ROADNet/VORB Design 12/01

Event Consumption for Composite Events

Page 10: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

10 ROADNet/VORB Design 12/01

Conditions

• ... may be even more “heavy-weight” than events

• ... involve the registry/VORB Cat/VORB DB

• ... may be quite similar to complex event detection=> temporal query conditions complex events

Page 11: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

11 ROADNet/VORB Design 12/01

Temporal Queries

• Homework – replace such employee/salary temporal queries by ones that

correspond to interesting ...• ... real-time sensor ones (from the sources)

• ... reconfiguration ones (from the client/apps.)

Page 12: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

12 ROADNet/VORB Design 12/01

Compiling Temporal Queries into Rules

• Complex event detection and evaluation of temporal queries can be implemented by a translation to “state-aware” logic rules.

Page 13: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

13 ROADNet/VORB Design 12/01

Actions

• Reconfiguration Actions:– brokering actual data paths

– adapting sampling rates, transmission rates, ...

– turning on/off data archival, automatic dissemination, ...

• Will query and update the VORB/Cat

Page 14: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

14 ROADNet/VORB Design 12/01

Summary and Outlook

• Active (Event-Condition-Action) Rules provide flexible rule-based programming for dynamic reconfiguration of VORBs

• ECA rules will be executed in a SRB environment (SRB-lets)

• SRB/MCAT can also manage the VORB/Cat

• Tasks– VORB use cases!

– VORB requirements and specification

– design of event, condition, and action sublanguages

– design of rule evaluation algorithm

– implementation

Page 15: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

Specific VORB Aims

Page 16: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

16 ROADNet/VORB Design 12/01

Design • Aims

– Virtualized Access to Real Time Data Streams• VORB

– Virtualized Integration of Real Time Data• Multiple VORBs

– Private Virtual Real Time Data Management• Private VORBs

– Rapidly Configurable RT Data Networks• Demand-driven Reconfigurable VORB

• Requirements– Federated Resource Brokering – Metadata Catalog– Rule-driven Data Aquisition and Integration– Extensible ORBs

Page 17: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

17 ROADNet/VORB Design 12/01

VORB- A Real Time DataGrid Architecture

• Aim #1:– Virtualized Access to Real Time Data Streams

• Hide Physical Aspects of RTD Resources

– Handling Heterogeneity of Resources

– Plug and Play

• Uniform Protocol & API

• Common Authentication & Authorization

• Replication, Fault Tolerance, Load Distribution

• Caching, Scheduling, Data Placement

• Uniform Name Space – Persistence & Discovery

Page 18: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

18 ROADNet/VORB Design 12/01

Federated VORB

• Aim #2:– Virtualized Integration of Real Time Data

• Integrate packets from multiple data streams

– Heterogeneous & Distributed RT Data Resources

• Hide Logical Aspects of VORB-accessed Resources

– Virtualized Schema

– Rule-based Integration

• Uniform Protocols & API

• Metadata-based Discovery

Page 19: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

19 ROADNet/VORB Design 12/01

MyVORB Architecture

• Aim #3:– Private Virtual Real Time Data Management

• Configurable Integration

• Information Discovery

• Programmable Methods and Active Rules

Page 20: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

20 ROADNet/VORB Design 12/01

Demand VORB

• Aim #4:– Rapidly Configurable RT Data Networks

• Based on situation and demands

• More sensors activated/brought online

• Changing VORB Federation

• Rapid Information Publication

• Fault tolerance

Page 21: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

21 ROADNet/VORB Design 12/01

Resource Broker

• SRB extension to ORB & other RT resources– Resource Transparency

• Local or Remote, Resource Type & Access Method

– Location Transparency• Stream Names, Stream Structure/Schema

– Cross-Domain Authentication – Replicated Data Management– Data Redirection, Load Balancing, Fault Tolerance – Data Discovery – Uniform API, Protocol

Page 22: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

22 ROADNet/VORB Design 12/01

Metadata Catalog

• System-level Metadata– Sensor info, Data Format Info

– Resource Info, Method Info, Event/Trigger Info– User Transparency

• Uniform User Name Space • Access Control

– Uniform Data Stream Name Space – Persistence• Logical Metadata - Conceptual Info

– Data Discovery– Data Integration Info

• User-defined Metadata

Page 23: Rule-Based Programming for VORBs Bertram Ludaescher Arcot Rajasekar Data and Knowledge Systems San Diego Supercomputer Center U.C. San Diego.

23 ROADNet/VORB Design 12/01

Rule-Driven Integration and Extensible ORBs

• Use of Virtual XML Data Views– metadata (and data?) sources as queryable XML databases develop XML Schema for source metadata XML queries (e.g., XPath, XQuery tools)

• Active Rules for Dynamic Reconfiguration– Event-Condition-Action rules as SRB extensions– develop VORB protocols and corresponding XML DTD– trigger execution based on “action tags”!?

• Rule Engine within VORB-SRB– implemented in ... (Prolog, Python, Perl???)

• Extensible ORBs– ...