(ref.doc)ACM-0498

Next ACM-0798 Prev: ACM-1197 Up: ACM

Communications of the ACM
April 98
Digital Libraries - Global Scope, Unlimited Access

p 33 Interoperability for Digital Libraries Worldwide
by Andreas Paepcke, Chen-Chuan K. Chang, Héctor García-Molina,
and Terry Winograd

A Problem for Almost All Distributed Systems
How Much To Hide Heterogeneity?
Syntax vs. Semantics
  [...] semantic interoperability is more important or sophisticated
  than syntactic approaches. But the differences are not always clear.
  [...] a simple example can illustrate the difference between
  syntactic and semantic interoperability: [...] print(String:author,
  String:pubData, Float:price, String:address). [...this] provides
  syntactic interoperability. Anyone can call this function without
  causing an invocation error. Semantic interoperability would have
  been improved if this component also published the fact that it will
  print at 600dpi on the printer in Hall A, that the parameters are
  supposed to specify a book to be paid for in Japanese Yen, [...]

  [...] But the difference is actually more complex, in that it
  recurs at multiple layers.. For example looking at the formula
  (Forall x (Exists y (Knows y x))), one might say that the syntax is
  Lisp-like, but the implied semantics are first-order logic. On the
  other hand, one might say that that its being a stement in
  first-order logic is really just syntactic, and that the semantics
  have to do with what Knows means in some axiom system. Or one might
  instead charcterize the whole formal axiom system as syntactic and
  conclude that the real semantics are in the axiom system mapping
  onto some domain of interest in the world. Two representations might
  therefore be said to be "semantically interoperable" if they can be
  used with a common inference system. But are they really
  interoperable if Knows in one system has a different shade of
  meaning in the other?

Measuring Success
  We can [..] isolate criteria for eveluating interoperability
  solutions. [...] the following six stand out:
  - High degree of component autonomy
  - Low cost of infrastructure
  - Ease of contributing components
  - Bread of task complexity supported by the solution
  - Scalability in the number of components

Blending Solutions