SUO: Multi-tier architectures and declarative approaches
At 15:25 2002-05-27 -0700, Erik Larson wrote:
> Everyone:
>
> It's interesting:
> I've been looking at using XML for platform-independent client services in
> multi-tier enterprise systems lately, and it occurred to me that by a
> sufficiently broad reading of "declarative", 'declarative' approaches to
> software development are already well underway. In fact, developers *call*
> what they're doing (i.e., with using XML descriptors to describe the
> run-time behavior of software components, etc) "declarative" as opposed to
> "programmatic." This trend in software development corresponds roughly with
> the evolution from client-server architectures to multi-tier ones--it's just
> easier to use a platform and OS neutral specification such as XML to deliver
> application services to clients in many formats (browsers, PDA's, etc) on
> the new multi-tier platforms (that are designed to be scalable, robust,
> transactional, etc.) So the connection is: better architectures --> better
> paradigms (declarative rather than procedural). That's a nice trend to
> see.
Erik-
XML might play a role in ontology work: *a* (not necessarily *the*) coding binding for data (ontology) interchange. Typically, standards and specifications have some "conceptual model" or "data model" associated with the application area ... the application's model is "bound" to a particular data interchange technique (this mapping is known as a "binding").
For example, given a particular "conecptual model" or "data model", it is possble to have a variety of "bindings", e.g., "coding bindings", such as XML, ASN.1; "API bindings" (application programming interface), such as C/C++/Java; and "protocol bindings", such as tunnelled HTTP, DCTP, and RPC (note: this is just a sampling). And the bindings themselves might have several "layers" of specification, e.g., XML is the coding binding, and the choice of ASCII vs. UTF-8 vs. UCS-4 vs. etc. is a lower "layer"; tunnelled HTTP might be ISO OSI layer 7, and there might be six layers beneath; C++ is the API binding and a lower "layer" might be the 80x86 UNIX ELF ABI (application binary interface).
Regardless of the "binding", these kind of bindings facilitate "data interchange" (or, equivalently, "data exchange"). My guess is that, in this context, you would want to treat ontologies as "data" so that they can be "exchanged" and you'd like to use XML as a "coding binding". Assuming that we (SUO WG) are in agreement that something KIF-like is useful for representing ontologies, then you would need a so-called XML equivalent of KIF. Actually, you would need a higher level model/framework, e.g., the CL (common logic) standard, which might include KIF, CG, and (as you might suggest) XML bindings. In other words, transformation between KIF and XML might be automatic, especially when framed as a "binding" from the higher level model/framework. (FYI, while I believe it might be possible to have a KIF to/from XML equivalence, I believe it will be harder for CGs because its notation has several significant ambiguities/issues.)
With this kind of approach, one could have an "XML coding binding of ontologies" and it might be useful for rendering ontologies in XML so that they may be merged with existing XML data (rather than, say, a KIF blob). If you like this kind of approach, then you would probably be concerned with (1) making sure that SUO WG chooses something like CL or KIF for expressing ontologies, (2) making sure the CL standard has all the expressiveness of KIF (and, possibly other features), and (3) participating in the XML binding of CL (I'm not sure how much interest there is yet for an XML binding, but if you have interest, you should express it to folks working on the CL standard).
-FF
_______________________________________________________________________
Frank Farance, Farance Inc. T: +1 212 486 4700 F: +1 212 759 1605
mailto:frank@farance.com http://farance.com
Standards, products, services for the Global Information Infrastructure