SWSL Rules Sketch of the proposed language - PowerPoint PPT Presentation

About This Presentation
Title:

SWSL Rules Sketch of the proposed language

Description:

... (some OWL-Full features for cheap) Based on F-logic ... Services can sell tickets from city A to city B or sell citipasses for a city. Features shown: ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 13
Provided by: michae90
Learn more at: https://www.daml.org
Category:

less

Transcript and Presenter's Notes

Title: SWSL Rules Sketch of the proposed language


1
SWSL RulesSketch of the proposed language
  • BG MK

2
Main Features
  • Rule based with non-mon negation
  • Literals
  • Predicates
  • Frames, class hierarchy, instances of classes,
    classes as instances (some OWL-Full features for
    cheap)
  • Based on F-logic
  • Higher-order syntax, first-order semantics
  • Variables can be anywhere (predicate, function
    positions) which allows introspection of
    structure
  • Reification rules, rule bodies, rule heads
  • Based on HiLog

3
Main Features (Contd)
  • Rule priorities, constraints, negation in the
    rule head
  • Does not add expressive power, but lets the
    programmer specify complex cases of negation much
    more succinctly and clearly
  • Based on courteous LP approach by BG
  • Useful for specifying complex policies etc.

4
Main Features (Contd)
  • Considering
  • Procedural attachment
  • State changing operators (a la SQL bulk updates)
  • Triggers
  • Based on Transaction Logic (and possibly some
    non-logical)

5
Relationship to OWL
  • Includes OWL Lite-
  • See the paper by de Bruijn, Polleres, Fensel
    http//www.wsmo.org/2004/d20/v0.2/20040630/
  • OWL Lite- includes the most significant features
    of OWL Lite
  • Includes some of the features of OWL Full
  • Classes as instances
  • The exact intersection of SWSL Rules and OWL is
    not known at this time

6
Example Travel Reservation
  • Services can sell tickets from city A to city B
    or sell citipasses for a city.
  • Features shown
  • input as a reified object
  • complex goals (Boolean combos)
  • rules in postconditions and goals
  • service effects can depend on input
  • services/goals can include time ranges
  • goals/services can contain universal quantifiers

7
Example Taxonomy
  • germany, france, europe, etc. classes of cities
  • paris, bonn, etc. cities
  • germany sub europe.
  • austria sub europe.
  • france sub europe.
  • tyrol sub austria.
  • Innsbruck in tyrol.
  • lienz in tyrol.
  • vienna in austria.
  • bonn in germany.
  • frankfurt in germany.
  • paris in france.
  • nancy in france.

8
Example A Service Description
  • Serv1 sells tickets citipasses
  • serv1
  • precondition(?Input) -
  • ?Input
    like ?Reqfrom-?From and to-?To and
  • ?Req in request and
    ?From in germany and ?To in austria
  • or

  • ?Input like ?Reqcitipass- ?City and
  • ?Req in request and ?City
    in tyrol
  • and
  • effect(?Input) -

  • (ticket(?Req)start-?From and destination-?To
    and timerange-12,18 -

  • ?Input like ?Reqfrom-?From and
    to-?To

  • and ?Req in request)
  • and
  • (pass(?Req)location-?City -

  • ?Input like ?Reqcitipass-?City
    ,

9
Example A Goal
  • Find services that can sell a pass for some city
    in Tyrol and for every city in France
  • goal123
  • input - _1citipass- ?_ and
  • intent- ?Passlocation-?X in france or
    location-?X in tyrol
  • and
  • forall ?City (if ?City in
    france then

  • exists ?Pass1 (?Pass1location-?City) )
  • and
  • _1 in request.

Auto-generated new object Id
Issue Is adding quantifiers a good idea?
10
A Service Discovery Rule
  • doFindService(?Goal) -
  • ?Goalinput - ?Input and
  • ?Servprecondition(?Input) - ?Precond and
  • ?Precond and
  • ?Goalinput - ?FreshInput and
  • ?Servpostcondition(?FreshInput) - ?PostCond
    and
  • insertrule?PostCond and //
    hypothetically assume postcondition
  • // Check if our goal is satisfied by the service
  • ?Goalintent - ?Intent and
  • if ?Intent
  • then (write('Service ') and write(?Serv)
    and writeln(' matches!')) and
  • // Remove the hypothetically added facts and
    rules
  • deleterule?PostCond.

11
Thoughts on a Bridge to SWSL Process
  • serv1
  • precondition(?Input) -
  • and
  • effect(?Input) -
  • and
  • processModel - (sand seq paint) par heat

Process model reified as a term
Process model could be a PSL statement or
expressed in some other language. We assume it
is some kind of a first-order statement.
12
Thoughts on a Bridge (contd)
  • goal123
  • input -
  • and
  • intent -
  • and
  • processQuery - sand seq paint

Process query reified as a term
Matching of process query against process model
can be done using a first order theorem prover,
which can be treated as a procedural attachment
that takes 2 reified formulas and tells whether
one implies the other.
Write a Comment
User Comments (0)
About PowerShow.com