- 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