Comments on "DAML-S: Semantic Markup for Web Services"

David and Sheila,

It was very nice for me to be able to talk to you at DAML PI meeting.
I have summarized my comments on DAML-S 0.7 and attached at the
end. Some were pointed out at the meeting and some were not. Since we
are using DAML-S as our crucial element in our project, its success
really matters us.

Regards,

Ryu

-----
Ryusuke Masuoka, Ph.D.

Senior Researcher
Fujitsu Laboratories of America, Inc.
8400 Baltimore Avenue, Suite 302
College Park, MD 20740-2496, U.S.A.

Tel:	+1-301-486-0398 (Main)
	+1-301-486-1564 (Direct)
Cell:	+1-301-237-3309
Fax:	+1-301-441-9676
Email:	rmasuoka@fla.fujitsu.com
URL:	http://www.flacp.fujitsulabs.com/~rmasuoka

Latitude:	N 38.9935
Longitude:	W 76.9330

------------------------------
Comments on "DAML-S: Semantic Markup for Web Services"
------------------------------

- Grounding:

  I think putting grounding information in WSDL is not a very good
  design decision (6.2) It should be in DAML-S.
  (It is not a "grounding" but a "ceiling"!)

  I understand this WSDL grounding is a very first shot and an
  example, but in regard of its importance to us, please let me make
  comments on it.

  It also depends on a specific feature (abstract type) of WSDL.  This
  approach will not be applicable for other invocation methods, such
  as UPnP, CORBA, RMI. (Okay, there is a possibility that you can use
  WSDL for all of those technologies. But I think it is unlikely to
  require WSDL for the users of DAML-S to make a call into UPnP.  I
  believe it should be made it possible to call directly UPnP from
  DAML-S description.)

  Things usually go from more abstract to more concrete. Because when
  a more concrete thing (ex. WSDL) was created, they had no knowledge
  of a more abstract thing (ex. DAML-S) to come.

  Usually WSDL's are automatically created by the system (sometimes
  dynamically), and it would be difficult to modify them. 

  There will be many WSDL/SOAP, UPnP, CORBA, RMI services before
  DAML-S will be deployed. I strongly believe it is better off if
  there are ways to describe groundings to those services
  implementations in DAML-S.

- Grounding example to existing Web services:

  I believe giving a semantic markup for an existing Web service
  (ex. Amazon.com, MS .NET My Services) and show how it can be invoked
  with semantics objects (ex. credit card and book instances) will
  elucidate how DAML-S can be used.

- Why do IOPE (input, output, precondition, effect) appear both in
  Profile and Process?

  It makes very difficult to implement systems if they appear in both
  places and if "DAML-S does not dictate any constraint between
  Profiles and Process Models, so the two descriptions may be
  inconsistent without affecting the validity of the DAML expression"
  (Isn't it an implementer's nightmare?)

  Is this because of the limitation of expressiveness of DAML?  Is
  there going to be some way to provide the constraints in natural
  language? When we have DAML Rule, do we have some constraints on
  those?

  I want that information to appear in one place and only once in 
  DAML-S description. 

  There has been given some rationale in 4.1, but it can be solved by
  registering a semantic service description without parts not to be
  advertised.

- Is it possible to describe "Macros" in DAML-S?

  Not just composite services, which consist of specific services.

- In 4.2.4, the definitions of precondition and effect: 

  Shouldn't their values be "thing"?

- Why geographicRadius and qualityGuarantee are deprecated (4.3)

  I understand that they are moved to serviceParameters for specific
  kinds of services. But I still want to see them in DAML-S. For
  pervasive computing, "geographicRadius" is of crucial importance.
  "qualityGuarantee" is also important factor for the user to decide
  whether execute the service. I believe there should be
  serviceParameters for cost and authentication.  They are also very
  important factors for the user to decide whether execute the
  service.

- 5.1 -> CompositeProcess -> Unordered

  I believe 

    "Z = (Unordered A B)"

  should be 

    "Z = (Unordered X Y)" 

------------------------------------------------------------

Received on Wednesday, 6 November 2002 18:19:03 UTC