- From: Rick Hull <hull@lucent.com>
- Date: Wed, 12 May 2004 01:48:34 -0400
- To: public-sws-ig@w3.org
- Message-ID: <40A1BAB2.3030001@lucent.com>
May 6, 2004, SWSL teleconf
notetaker: Rick Hull
Attending:
Dave Martin
Benjamin Grosof
Sheila McIlraith
Michael Kifer
Karl Aberer
Michael Gruninger
Steve Battle
Bijan Parsia
Rick Hull
Terry Payne
Richard Goodwin
No administrative tasks today (a surprising precedent, hopefully to be
repeated!)
==============
Benjamin Grosof presents his strawperson proposal,
using as materials a text file "proposal-on-avoid-process-model-101903.txt"
and a pdf file "strawman-050604-v1.pdf"
Benjamin:
That in the f2f meeting in Nov in Florida we discussed idea of
something that could be proposed for SWSL in a timely fashion.
People wondered if we could get a model out that included process or procedural
aspects.
Austin and Michael G and Michael K thought we could get a model out
with some process aspects, but others were pessimistic
in any case, Benjamin suggests
that we start with a more declarative starting point,
and then grow it to include procedural as a distinct second step, to be
done *after* we nail down a more declarative, KR-y model
(moving to the pdf file)
Rules are a natural starting point for the declarative model/language for this
-- they can do stuff, they are active,
-- tractable, commercially deployed tools, incremental in
What can we get into a rules formalism
-- Horn clauses
-- Negation of failure (for override, negation, etc in a basic way)
-- add in priorities (cf SweetDeal, some F-Logic stuff)
-- add procedural attachments
-- other extensions are currently being worked on
What can you get
-- can get parts of DL, roughly OWL-Lite
Bijan: it is less than OWL-Lite
MichaelK: if you have negation as failure, that is more than OWL-Lite
Bijan: DLP does an "embedding way" of combining DL and rules;
this isn't the only arguably reasonable way to combine DL and rules
e.g., AL-Log
there is other work recently submitted or developed
Michael K: how these proposals handle open world vs. closeworld?
Bijan: AL-Log: similar to att properties in OWL
you have rules as a set of constraints
then you ask a DL reasonor to do satisfiable check
Benjamin:
the rules are a kind of "oracle approach"
Bijan: we've been looking at variations, e.g., multi-sorted logics, ...
Sheila: article she found in CiteSeer: "Integrating ?? into DLs: AL-Log"
Lenzerini et al
1998, Journal of Intelligent Systems
Benjamin:
Rather than having a lot of DL expressivness, subsumption, etc,
he thinks that many people have been missing the boat.
That OO with inheritance and override are very useful in SW engineering world
That we can capture this "default character" using negation as failure
eg "courteous inheritance" from Benjamen
something from Michael K and ???
various ways to do it in LP
If we want to affect the way that web services are being developed, we
should connect to the framework kind of info, style available from
OO, including class defintiions - cf, Java, C++, C#, UML (to a lesser extent)
the first three have default override inheritance
So we can model the taxonomies of sw components (in Java, in C++) using LP,
so we should apply this technique to web services
This has an immediate, pragmatic value, and so there is an imperative that
we go down this course right away (rather than trying to take advantage
of richer portions of OWL-S or whatever)
That MichaelK and Pat Hayes and others have been doing good work on
getting lots of expressiveness in variants of LP (e.g., Hilog, F-Logic-y)
Extensibility is also important,
eg towards FOL, eg
adding constraints
getting aspects of DL not in DLP
what else?
also how to extend to include some aspects of process models
no strong feeling about which way to extend (CTL?, other?, ..)
but, to be productive, lets start with things like BPEL, Choreography
so one challenge is: what will the "extension points" of a LP-based thing
to add in the procedural
Michael G: what do you mean by declarative vs procedural here?
eg, there are declarative axiomatizations of procedural models
Benjamin: I'm thinking of "belief semantics"
The line between declarative and procedural is blurred
some examples
idea of class and subclass: not very procedural
ideas such as: sequence, concurrency, locking -
he views these as "procedural"
Sheila: are you excluding things because you feel that they are
difficult to represent in DL or LP, or is it that you think they are
fundamentally more complex than the stuff you're focusing on?
Benjamin: that there are different tools good for different things
when we create an implementation, we use eg Java or C++
while in principle you can describe the semantics in terms of
state transitions, or FOL, or higher-order logic,
or some non-monotonic logic,
it is not the best tool for the purpose.
as you get further into procedural kinds of things, then he feels
that a declarative language may be less natural for expressing the
things
MichaelG: that your objection seems to be "awkward declarative syntax for
procedural constructs"
Benjamin: 2 sense of "awkward" -
1) you can't express it at all
2) there's not an efficient way for human understanding for specifying it
my objection is the 2nd one
Sheila: here's where I'm not clear
if we're going to start with something "smaller", what do we start with?
Benjamin: I propose that we start with LP, specifically "normal logic
programs" I like to work with "courteous" and .. then extend from
there
Sheila: it may be hard to extend from what you describe, because the
reasoning engines are different because of treatment of negation,
non-monotonicity, etc So maybe better to start with FOL and then
restrict
Benjamin: FOL doesn't include some useful things, such as procedural
attachments
I think that FOL is also a valuable starting point, but
it is missing
-- intuitive appeal
-- existance of tools
-- tractability
MichaelK; lots of educated people have trouble with quantifiers
MichaelG: that people have trouble with various diagramitic techniques
Rick: people have trouble with LP once you throw
in a particular negation as failure semantics
Benjamin: I think that the courteous extensions are more intuitive.
you can get away without talking explicitly about the negation
as failure semanitcs
Bijan: I'm not clear on the desiderata are, besides perhaps a personal taste.
What in particular are you hoping to represent about services?
Benjamin: (see slide 4)
main point of SWS is **knowledge re-use**
across key tasks, eg.,
advertising/discovery/matchmaking;
contracts
enactment
composition
monitoring, problem resolution, exception handling
verification
trust/security/privacy policies
hypothetical reasoning also
(slide 5)
Claim: Rules and Ontologies alone are useful for:
advertising/discover/matchmaking - partial contracts, subsumption
cf WWW-2003, e-commerce session
Contracts/selection/negotiation: pricing, policies, contingent provisiongs
area of "action rules" are starting to be a growth area for KR
composition: he had an interesting discussion with Yannis Labrew
(spelling?) Yannis showed him work from Fujitsu something
practical, for users to compose services, as a dynamic human process
use rulebases, one for each service, then you can take their union
Rick: there is a spectrum in composition, concerning how rich the
description of the composition is from atomic services (cf OWL-S) to
fsa-described services (Roman, Mealy machine/behavioral sig,
WS-choreography) simple sequnce of atomic services to very
interleaved fsa's
Benjamin:
if 1 was the bottom of the scale and 9 the top of the scale, I think
that I think we could express in the range of 1 to 3 in his framework
(and that with extensions we could add stuff to get all the way to 9)
That we could get an "early win" here, by getting at things like
-- trust policies
eg XACML, P3P view themselves as rules-based already
Rick: you mention XACML - is part of your core proposal to
incorporate XML data types?
Benjamin: he didn't plan to go to this level of detail, but btw
eg, latest release of SWRL does get some aspects of XML data types into LP
SWRL includes XML schema, data types , etc
SWRL is combo of OWL and RuleML - just released 0.6 on Tuesday
also, an underlying task for SWS would be hypothetical reasoning
- and this is a major strength of rule-based KR
end of slide show proper
----------
Bijan: my question from before: what kinds of things will you be able
to say about services vs things that you won't be able to say
Sheila: will there be process models a la OWL-S?
will there only be atomic processes?
will there be compound processes, but eg without loops (that
are classically defined without 2nd order something)?
will there be data flow?
Benjamin: some things I think I've figured out
we can have atomic services nicely
also simple end of MichaelK's approach, with Concurrent Transaction Logic
also simple compounding, e.g.,
nesting activity expressions
probably not complicated loops
some simple data flow, yes, because you would have to compose things
and so at least implicitly there is data flowing
you can think of an annotative thing outside of the LP
representation proper eg, prices, what is supposed to happen if
failure to execute within a certain amount of time
MichaelK: you were brave to present the first strawperson proposal, but anyway,
did you attempt to represent any of the 3 use cases?
Benjamin: I think the Amazon can be represented, I've been busy on
other things, I do hope to have some of those worked out in time
for the f2f
Bijan: The "schtick" seems to be "let's not talk about procedural models"
I think this is a bit misleading
I still don't see the fundemantal aspect of
what you're including vs not including
as being procedural vs non-procedural
I don't think that our problem has been that we've focused on procedural.
Most of the debates we've had about procedural we would probably
still have the exact same kind of debate if we focused on *match-making*
Benjamin: I would disagree. If we looked only at match-making then
there would be more to constrain the discussion
I think there's been much more controversy about what process model
to look at
everyone in CS would agree that modeling process is much harder than
modeling the more static, descriptive aspects
Benjamin, MichaelG: Three approaches to modeling process
DL
PSL
Logic programming as in CTL
Benjamin: and lots of other aspects, too
I think it is a black hole
Bijan: I think the problem is that there are 3 possible choices (listed above),
and no immediate way to choose between these,
and MichaelK has tried to identify a way to resolve (by looking how they
work on the use cases)
So, I still don't know how your mindset will help us make a resolution
Benjamin: one issue will be the "extension points"
also, there isn't much deep scientific knowledge on transforming between
the DL, PSL, CTL perspectives
but there is deep knowledge for going between LP, to DL, to FOL,
the intersection
we run the risk of being by-passed by the rest of the community, who
might make some half-assed proposals to do some of this stuff
Bijan: he was at W3C, hearing about WS-policy, which is *not* W3C,
and W3C is thinking of creating a "counter" to this
There is some big 3, maybe IBM, MS, BEA, doing it kind of privately
right now
Benjamin: Frank from Fujitsu was saying that WS-policy
Benjamin: Muninder Singh is organizing a panel at WWW2004 on something related
Bijan: W3C trying to create a workshop - maybe it is Tsucherai
(spelling?) is trying to get this organized
-----------
excerpt from email exchange between Dave Martin and Philippe Le Hegaret of W3C
The current plan is to organize a workshop among the members of various
interested communities (WS-Policy, WSDL, P3P, CC/PP, OASIS related
technologies, etc.) to brainstorm around the need to express the
capabilities of a Web service and the constraints that need to be met to
interact with it.
-----------
Benjamin: rules as very useful for trust, contracts, discovery,etc.
can extend to some aspects of procedural
someone: can you give example of why the hypothetical reasoning is important?
Benjamin: before I do a deal, lots of tests I might do
what are impacts of canceling?
if I have certain characteristics in my order what will price or impact be?
what if I combine with another service from a second vendor?
these are important in the ADM phase, in the contract phase
most intensively useful in the contract phase, because you want to understand
all sorts of unusual possible cases
Dave: a question is whether rule-based is any better at hypothetical reasoning
than some other formalisms?
Benjamin: well, easier than doing this kind of reasoning about fsa's,
or about procedural languages such
Rick:
1) Benjamin suggests make the rule thing first and richer thing second
we could put the other order in place
2) if we go in the Benjamin order, this might implicitly force us to choose
one of the three approachs to modeling processes
Benjamin: is there a systematic look at putting automata into DL,
CTL/rules, FOL? Daniela seems to have embedded fsa's into DL
Rick: she embedded into DL as a proof technique, and BTW it is a fairly
natural embedding;
in separate work we've been embedding message-based and activity-based
fsa's into PSL/FOL
Bijan: DCG - Definite Clause Grammar - this is equiv to push-down;
does this give a hint on representing fsa's in LP?
Rick: I can see how to embed a single fsa into an LP, especially if
I have function symbols so that the set of all terms produced
is essentialy the language accepted by the fsa.
But I don't see how to encode into LP the idea of building a new fsa
out of three existing fsa's
Benjamin: that branching is not especially natural to represent in rules,
unless you use disjunction. Maybe you can get to the level of "6" in that
scale from before, but it would probably be painful
My concern about FOL is that anything we do there probably wouldn't be ready
for standardization within a one year time-frame, say
Besides, there are other groups looking at the procedural aspect, e.g.,
BPEL or .net people. We should focus on our core strength, which would
be the logic, the declarative. So we should set a realistic first goal
where our core strength can bring a tangible value in the short term
(ADM, contracts, basic connection to enactment via a procedural attachment)
Question: expressive power of SWRL vis-a-vis FOL
Benjamin: political decision: they took a lot of OWL and a little of RuleML
(It could have gone with weighting in the other direction)
so, I don't think SWRL is the right way to go. Rather I think we
should start with something primarily rule-based
Also, the rule engine market is much bigger than the DL engine market.
so let's start with what we knwo, and in a principled fashion
build out to some other capabilities
Put yourself in the shoes of a web service developer. You want the
code spit out in the end to be C# or Java or C++ so that it
fits with everything else
so, if you can't do inheritance that is really annoying, even a show-stopper
Bijan: in WSDL they are trying to get some kind of inheritance
there are no objects in any classic sense
anyway, web services people often say
"we aren't trying to do distributed object models"
Benjamin: I don't see inheritance as the first thing you need, for success.
First step is a messaging model
but as a second step
Bijan: SWSA group, some business people:
the abstractions they see as critical don't seems
to naturally include inheritance
Benjamin: that the need for inheritance will rapidly rear its ugly head once
people really start incorporating web service creation tools into existing
development environments
Bijan: still disagreeing. That a large community thinking of moving from
"object-oriented programming paradigm" to a
"service-oriented programming paradigm"
Just to counter Benjamin's claims about how important inheritance might be
to the industrial community
So, it would be valid for us to focus on the semantics of something
complimentary to object-oriented paradigm and inheritance in particular
can you be more specific about what kind of inheritance
you're really talking about?
bindings between interfaces, message types,
properties like security/encryption, ...
Benjamin: that some kinds of inheritance are pretty
striaght-forwradly monotonic
in UML, everything except methods is monotonic
the only overriding in UML is method
in C++ you can have default inheritance
likewise Java
both pretty simple with respect to multiple inheritance
C++: if an ambiguity, then report it as a compiler error
many observers, knowledgable in theory and practice in sw eng,
think that inheritance is a good thing to have
default inheritance is a useful thing to have
so, let's be humble, let's try to stick to what has been found in practice
to be useful. We want to capture among other things legacy sources.
and there is a whole body of OO sw components out there.
Tons of structured service description knowledge organized in class
hierarchies;
this should be grist for our mill, if we're talking
RuleML, OWL, Flora, ...
Bijan: that there is actually a lot of diversity of opinion re using OO to
structure programs. Eg delegation vs inheritance.
Mix-in vs deep multiple inheritance.
etc
much of that is based on behavioral aspects of code.
I am all for using useful kinds of knowledge, but I'm not sure
that inheritiance
of the sort you are talking about is really that useful for describing
what we in SWSL might be focused on (which is more declarative aspects
as opposed to behavioral aspects)
<< note-taker had to depart from meeting at this point >>
Received on Wednesday, 12 May 2004 02:20:17 UTC