Do you Need XML? A Checklist...   Table of contents   Indexes   Style Sheets: I18N aspects

 
 

Software Agents using XML for Telecom Service Modelling : a Practical Experience


 
Christophe   Vermeulen
  Senior Researcher
  Alcatel Telecom
Corporate Research Center F. Wellesplein, 1
Antwerp     Belgium  2018
Phone: +32 3 240 89 42
Fax: +32 3 240 99 32
Email: cver@rc.bel.alcatel.be Web: www.bel.alcatel.be
 
Biographical notice:
 
Christophe Vermeulen
 Alcatel Telecom  
 Antwerp  
 Bauwens, Bart  
 Belgium  
 

Christophe received a MSc. degree in Electronics from the Catholic University of Louvain-la-Neuve (UCL) in 1988 and a MBA from the Catholic University of Leuven (KUL). He joined Alcatel Bell Telephone's research centre in 1989, where he has first been involved in digital video coding for ATM networks. He then designed the network architecture and the MPEG video server for ATM Video-on-Demand systems, and led the technical contacts with external server and set-top box suppliers. He now heads the on-line service activities of the research division. His fields of interest cover intelligent and mobile agents, security, charging and financial aspects of services.
 
Bart   Bauwens
  Junior Researcher
  Alcatel Telecom
Corporate Research Center F. Wellesplein, 1
Antwerp     Belgium  2018
Phone: +32 3 240 84 27
Fax: +32 3 240 99 32
Email: bauwensb@rc.bel.alcatel.be Web: www.bel.alcatel.be
 
Biographical notice:
 
Bart Bauwens
 
Bart received a Master Degree in Electrical Engineering from the Rijksuniversiteit Gent (RUG) in 1990. He joined the Katholieke Universiteit Leuven (KUL) in 1992 as a researcher and participated in a number of European projects (TIDE framework), which investigated the accessibility problems for visually impaired people. He gained experience in standards for electronic documentation, such as SGML and others. In 1996 he joined the on-line services group at the Research Centre of Alcatel Bell. His current activities mainly relate to the development of agent communication languages and vocabularies for the negotiation and description of on-line services, and the study of Internet related developments such as Java.
 
ABSTRACT:
 
Since the amount of information available on the Internet has become too important for a human being to cope with directly, and search engines based on keywords have shown their limits, XML is expected to bring a remedy to the lack of structure and semantics of HTML. With the Internet and the telecommunication world coming closer, information and telecommunication services are the next field where software agent technologies promise an attractive approach for supporting inter-operability of competing systems, including the need for common languages and protocols.
 
In this paper, we first propose a brief taxonomy for agent technologies, where we distinguish between communicative, mobile and interfacing agents. We particularly stress that the deployment of inter-operable Internet agents will require common languages and protocols.
 
We also review the most common agent languages, and stress the value of XML as a content language for agents. Indeed, XML is neither limited to the fixed tag set and the lack of semantics of HTML, nor to the formatting of information as logic expressions often encountered in agent content languages. Furthermore, major efforts (OSD, RDF, ...) have already selected XML as an adequate information modelling and object description language in many application domains.
 
We validated the use of XML as content language in our platform, codenamed MAPOS  (Multi Agent Platform for On-line Services) : XML offers interesting opportunities both for coding contract-net scenarios as for modelling telecom services, such as video-on-demand or game software downloads. Its linking capabilities allow to split up services into several components, which might be delivered and charged upon by different service providers.
 
We then discuss the first qualitative observations from our experiments : due to the variety of the communication needs of agents, we can not expect these to be fulfilled by a single, standardised language. On the contrary, translation facilities for agents will definitely need to be present.
 
Finally, we advocate the need for standardised interaction mechanisms as well as information and service description languages as a prerequisite for successful deployment of inter-operable agents on the Internet and other telecommunication networks.
 
 

Introduction

 
It is now commonly accepted that the Internet is evolving from a "free", outgrown, academic and defense network of networks towards a future truly ubiquitous "Information Highway", disseminating information across the world at near-real-time speeds.
 
As the amount of information available on the Internet becomes too important for a human being to find its way in it software agents have received a lot of attention since search engines based on keywords revealed their limits.
 
But the Internet "best effort" approach itself revealed several shortcomings, such as the lacking guarantee of a minimum level of service for mission-critical data transfers and the missing support for resource management and mobility. Current efforts in the telecom industry want therefore to integrate information and telecom services, in order to deliver the needed quality of service. Software agents offer an attractive approach for solving the inter-operability problem in the increasingly complicated mix of networks that will come out of the harder competition in the sector. Indeed, they may allow for inter-operation to be realised without human intervention, while retaining the required control of the network operator on his resources.
 
 

Agent Technologies

 
Recent developments in the field of agents have identified three main technological domains as very suited to establish a taxonomy of intelligent agent technologies : Communicative Agents, Mobile Agents and Interfacing Agents.
 
 

Communicative Agents

 
Most often called "Intelligent Agents", these agent technologies originated in the Distributed Artificial Intelligence circles, that generated several attractive technologies such as neural networks, expert systems and agent communication languages such as KQML . These agents typically communicate with each other with specific agent languages and ontologies. Standardisation activities were started in 1996 inside the FIPA consortium and a first version of the specification has been published.
 
There are a number of agent platforms, freely available on the Internet. The JAT  (Java Agent Template) from the University of Stanford and Enterprise Integration Technologies Inc., for example allows the easy creation of agents in Java, communicating peer-to-peer by sending agent messages to each on sockets. Another one is KAPI  (KQML Application Programmer's Interface) , written as a library of C functions, which allows to set up software agents communicating using different transport mechanisms and protocols (TCP, HTTP, SMTP). However, the usage of most agent platforms in this category is still limited to academic environments.
 
 

Mobile Agents

 
The mobile agent paradigm comes from a completely different point of view, as it intends to bring an increased performance to distributed systems by promoting "remote programming" (mobile code moving between places) instead of "remote procedure call" . With remote programming, the actual code or script moves from place to place and executes locally, achieving lower latency and little need for remote interactions.
 
Examples of mobile agent platforms are Odyssey (General Magic), Agent TCL (Dartmouth College), Java-to-Go (Berkeley University), Voyager (ObjectSpace)or Aglets (IBM). As they are based on different technologies, these platforms cannot interoperate. Therefore, the OMG has issued a call for proposal for a "Mobile Agent System Interoperability Facility" (MASIF), that allows the deployment of mobile agents on CORBA environments. Grasshopper is at the moment the only MASIF compliant platform, others will follow soon.
 
 

Interfacing Agents

 
Probably the most encountered type of agents, as several are available on the Internet, these agents all share the main characteristic that they use the World Wide Web (HTML/HTTP/IP) protocol stack to interface to human users, and include some internal mechanism to customize an information database (either via a local interface, or back through the Internet via the same HTTP protocol). The most famous example may be Pattie Maes' Firefly , but simpler systems focusing on personalised information services such as My Yahoo may also be called agents.
 
Although Firefly allows for integration with (non-agent) third-party products through a Java API, its internal agent mechanisms are not made public. However, it can interoperate via HTTP and LDAP and supports the development of new XML-based information standards, as shown by their OPS submission to the W3C for exchanging user profile information.
 
 

Agent Languages

 
In an open, distributed network such as the Internet today, and the so-called Information Highway tomorrow, that will include mobile phones and pagers, but also network equipment, and why not, automated heating equipment and other domestic appliances, it becomes clear that the three technology domains above will have to become somewhat integrated, and that agents will not any longer belong to only one of these domains. Therefore, agent languages are a key element to achieve interoperability. In this section, we will first consider the conventional layered approach of agent communication and agent content languages, used for communicative agents.
 
 ACL, Agent Communication Language 
 KQML 
 

Agent Communication Languages

 
Most Agent Communication Languages (ACL) are based on the speech-act theory. Speech acts are expressed by means of standard keywords, also known as 'performatives' (for example 'ask', 'request' or 'tell'). The agent's message can then include several parameters such as 'sender' and 'receiver' of the message, the 'language' and 'ontology' (vocabulary) of the embedded content, and the actual 'content'. One can also add references to maintain the message history.
 
An ACL makes abstraction of the underlying transport layer. The embedded content is expressed using an ontology corresponding to a specific domain and specified in a chosen language. Typically an agent will know one or more ontologies and reply politely when he can't understand a message.
 
 

KQML

 
The KQML  (Knowledge Query and Manipulation Language) is an effort to standardise the communication language between software agents. The standard defines the semantical meaning of ASCII expressions, being exchanged in an agent community and makes abstraction of transport issues. From the outside, it appears as if each agent manages its own knowledge base, which typically consists of 'beliefs' and 'goals' (determining the agent's behavior). Part of this knowledge may be shared with other agents, which can query or manipulate it.
 
KQML defines performatives for retrieval, insertion or deletion of knowledge ('ask' and 'tell', 'insert' and 'delete'), subscription to services ('subscribe'), publication of agent capabilities ('advertise') and others. Unfortunately many different flavours have been created, so there is little inter-operability between these systems.
 
In the following example, agent 'john' tells some 'content' to agent 'lisa' in reply to a previous message 'ref1', with the content expressed in the 'KIF' language using the 'family' ontology:
 
  (tell :sender john        :receiver lisa        :language KIF         :ontology family         :in-reply-to ref1         :content (<= (grandparent ?x ?z) (and (parent ?x ?y) (parent ?y ?z))))  
 
 

FIPA ACL

 
The FIPA  (Foundation for Intelligent Physical Agents) recently issued its first specification, including its "Agent Communication Language". The syntax of this FIPA ACL is very similar to KQML syntax rules. FIPA recognised the need for performatives that have well-defined semantics, but also that its proposed semantics or "pragmatics" need further testing before they really can be considered as normative. So, ACL hasn't yet proven its use in an open environment such as the Internet. Interoperability between FIPA compliant platforms is one of the key issues tackled by a European ACTS project FACTS  (FIPA Agent Communication Technologies and Services) .
 
 

Content Languages

 
When using an agent communication language, one can choose a language for the content, embedded in the agents' messages. We will make a basic distinction between the 'logic' content languages, which aim at representing knowledge as logic expressions (in most cases using a LISP-like syntax), and 'information' content languages, that set rules to describe a particular type of information elements. In the next sections we will investigate examples of both logic- and information-oriented languages.
 
 

The Knowledge Interchange Format (KIF)

 
A typical logic content language is KIF  (Knowledge Interchange Format) , defined by Stanford University . KIF is capable of representing first order predicate logic and its syntax is based on Common LISP. KIF facilitates the exchange of knowledge propositions between artificial intelligence systems and was used in conjunction with KQML in major American research projects on Knowledge Representation and collaborative multi-agent systems. As an example of KIF content, we've included a logic sentence "if x is a parent of y, and y is a parent of z, x is a grandparent of z", in the above example of a KQML message.
 
 

The Semantic Language (SL)

 
Like KIF, the Semantic Language recently proposed by FIPA has been defined to express first order predicate logic. It has been declined into three different profiles : SL0 for the sake of agent management essentially, where only simple actions and propositions can be expressed, SL1 with additional Boolean operations, and SL2 which only allows to express decidable propositions.
 
 

The eXtensible Markup Language (XML)

 
Although XML (and definitely SGML) has its roots in the domain of structured documents and electronic publishing, more and more initiatives use it to describe information on objects as varied as financial transactions and mathematical equations. In contrast with KIF and SL, XML does not need to represent information as logic expressions, but can also use other types of structures. So, it looks a very attractive language for the content embedded in an ACL message. The chosen DTD can then correspond to the ontology of the ACL message.
 
Up to now there have been a growing number of initiatives in different areas. The Open Financial Exchange (OFX) , for example allows for exchanging financial information with banks, and XML combined with EDI has the potential to fully deploy the Electronic Commerce on the Internet. In the area of push-technology, we can refer to the Channel Definition Format (CDF) , which allows to build hierarchical trees appropriate for navigation by subject (channel) or the Open Software Description (OSD) , for describing the components of a software application in a platform independent way. The vCard specification was used as starting point by Microsoft in its submission to the W3C for the Privacy project, but also advocates for an XML-based syntax . More recently, the Information & Content Exchange (ICE) specification was announced. All of these developments are XML based specifications, proposed and supported by companies such as Microsoft, IBM, Netscape, Apple or Firefly.
 
 

A Multi-Agent Platform for On-line Services

 
 

Interoperable Agent Languages in a Telecom Environment

 
The use of software agents in the telecommunication world has till now be limited to specific network management applications, such as intelligent filtering of alarms, or audit tasks, usually using dedicated expert systems. With the deregulation of markets, and the maturation of the Internet where a whole new range of complex services is introduced, including electronic commerce and federation of networks, an increasing need for inter-operability between systems has justified the study of emerging techniques such as software agents. Software agents in particular allow to make abstraction of the inherent network technology and to focus solely on the value-added service layer. They also allow to easily "wrap" or interface to existing network equipments, and provide an higher layer interface based on the service logic itself. However, to fulfil these promises, they need to communicate, therefore requiring not only standardised transport mechanisms and communication languages, but also common content languages and semantics.
 
In order to investigate the benefits of applying agent technologies for advanced telecommunication services, our research group developed a multi-agent platform MAPOS (Multi-Agent Platform for On-line Services), which implements a typical Contract-net Scenario .
 
 

The MAPOS Platform

 
Most initiatives that recently tried to use intelligent agents for some kind of electronic commerce followed a similar approach : a user contacts an intermediate platform that hosts his Personal Assistant (PA) and some brokerage services. The transaction life-cycle follows a variation of the Contract-net Protocol between Personal Assistant, Service Broker (SB) and On-line Provider (OLP) agents, which represent the sellers or content providers. After service completion, billing/after sales aspects are controlled by the service broker. This scenario is illustrated in Figure .

 
Contract-net Scenario

 
 
In a first phase, we restricted the implementation of a Personal Assistant to an applet connection directly to the SB. At the same time we also added a central Agent Name and Directory Server agent (ANDS) which maintains the addresses of the agents and the services registered by the OLP agents. The OLP agents delegate the implementation of a service component to their corresponding Service Component Manager (SCM). The latter often wrap legacy systems such as for example a video server, a network management system, a ticket reservation system, etc.
 
The MAPOS platform has been completely written in Java and has been based on the Java Agent Template (JAT), which uses KQML mainly for agent management purposes. As content language we used XML embedded within KQML messages. As the OLP and its SCMs belong to the same entity, the interfaces between are normally more proprietary, which we reflected in choosing here RMI as communication mechanism. An overall picture of the MAPOS architecture is given in Figure .

 
The MAPOS Architecture

 
 
 

XML usages in MAPOS

 
XML has been used for different purposes. In our service model, we defined a service taxonomy which is in essence a tree, consisting of service categories, and as leafs of the tree, the services themselves. Each agent has a certain view of this taxonomy. The ANDS for example knows a lot of details as all OLPs should register their service at this agent. The broker has a more limited view, according to its business field. In our model, agents views of this taxonomy, can be exchanged by using XML as representation language. An example of a TINA-based service taxonomy view is as follows:
 
<?XML VERSION="1.0">
<!DOCTYPE servtax SYSTEM "http://www.bel.alcatel.be/mapos/servtax.dtd"><servtax id="TINA">
  <category id="Telecom">
    <category id="MM communication">
      <service>
        <name>AV telephony</name>
        <explanation>Audio or video telephony</explanation>
        <providers><olp>john</olp></providers>
      </service>
      <service>
        <name>Desktop Collaboration</name>
        <explanation>Desktop Collaboration service</explanation>
      </service>
    </category>
    <category id="Information Transport"> ... </category>
    <category id="Additional Services"> ... </category>
  </category>
  <category id="Management"> ... </category>
  <category id="Information"> ... </category>
</servtax>
 
Secondly, we have defined several new XML DTDs for describing the parameters of a service or the components which -taken together- can result in a service. As these different service components might be delivered by different providers, XML offers here a good solution acting as common intermediate format upon which all providers have agreed. For example, an "on-demand" service may consist of a "movie" component and a "connection" component. In our platform, we defined several service specific DTDs.
 
Finally, we also created an XML DTD "osam" that introduces all the different terms related to service negotiation, such as service requests, offers or orders, as well as more general terms for expressing price constraints for example. This DTD was also used to send charging tickets from the providers to the broker. An example of an order is included below.
 
<?XML VERSION="1.0">
<!DOCTYPE osam SYSTEM "http://www.bel.alcatel.be/mapos/osam.dtd">
<?XML:NAMESPACE HREF="http://www.bel.alcatel.be/mapos/ecommerce.dtd" as="ECOMMERCE"?>
<OSAM>
  <ORDER ID="off18734823">
    <OFFREF HREF="http://www.bel.alcatel.be/mapos/brokr?XML-XPTR=off184712"/>
    <PRODGRP TYPE="CD">
      <PRODITEM>
        <PRODREF HREF="http://www.bel.alcatel.be/mapos/brokr?XML-XPTR=cd494712"/>
      </PRODITEM>
      <QUANT>2</QUANT>
    </PRODGRP>
    <ECOMMERCE:PRICE><QNT>
      <VALUE TYPE="MAX">10</VALUE>
      <UNIT CODE="USD"/>
      <UNIT CODE="s" POWER="-1"/>
    </QNT></ECOMMERCE:PRICE>
  </ORDER>
</OSAM>
 
As one can notice in this example, these service requests, offers, or order ... may further refer to services or service components using standard link mechanisms.
 
 

Practical Experience Results

 
In this section, we will present the major findings generated during the construction of a multi-agent platform for on-line services (MAPOS) in the telecom domain.
 
 

ACL usage

 
We've chosen KQML partly because there were actually few alternative ACLs. Soon, it appeared that this draft specification can be interpreted in a variety of ways: none of previous research efforts using KQML-speaking agents can claim to be able to talk to different platforms. The base of our platform, the JAT, only used one performative (evaluate) for its internal working, with no specific action associated with it. To some extent, this has not been solved in the FIPA works till now, as functionality found in KQML was deliberately moved into the content language ! And some transport layer references (IIOP or HTTP) are used for naming agents. This blurring of the communication layers weakens the rationale for an ACL/content language layered model using performatives. If proven that no clear separation is possible between the communication and content layers, then the use of an ACL as a whole would become questionable. Indeed, other functions covered by the ACL (such as indication of sender and receiver) are redundant with the lower layer transfer protocols (such as raw sockets, HTTP, IIOP or SMTP).
 
 

XML usage

 
The use of XML allowed us to define rather quickly additional ontologies for services by creating new XML DTDs and writing parsers that generate the appropriate internal object representation. Several times we wanted to reuse the same schemas for common terms such as for example price or time specifications. The use of XML namespaces offers an adequate solution to this problem. We also missed a standardized way of data typing in XML. In the example above, the unit code could be outside the UNIT tag; or the whole unit could be a single attribute of the VALUE (or even PRICE) tag.
 
Clearly, XML's tree structures allow for context sensitivity and a more direct mapping to the agent's object model than if we had used flat parameter lists or logic expressions. However, the current XML specification does not (yet) support the concept of 'inheritance from other element types'. In the example above, the PRICE element could inherit from a quantity element type, and impose a more constraint set of unit attributes for example. This can't be easily modeled with the current XML specification though it would make the mapping to the chosen object model easier. XML-data tries to tackle both the issue of data typing and inheritance. Another interesting feature of XML-data is that ontologies (schemas) can be exchanged in a similar way as the document/objects themselves. Our agents currently have this ability, but only by exchanging Java classes.
 
As we found out that a performative makes only sense when using speech-act theory, it is important to use a content language, able to represent knowledge and not just some information. In this respect, RDF (Resource Description Framework) looks a promising specification as it allows to describe metadata. Using XML as serialization syntax, it allows to exchange knowledge between both communicative intelligent agents and web agents. Similarly, logic-based knowledge can be introduced on the Web using OML or CKML . All these efforts have the potential to gap the bridge between communicative agents, using for example the FIPA ACL and web interfacing agents, using technologies such as for example XML.
 
Concerning the chosen ontologies, upcoming specifications in the domain of Electronic Commerce, such as the vocabularies specified by the CommerceNet Initiative or the "Information and Content Exchange" (ICE) proposal , are expected to gain a wide acceptance in the field. Indeed, standardized service-specific DTDs will be required to achieve reusable service components.
 
 

Conclusions

 
Our study clearly shows that there are not only different paradigms to create agent systems, but that even following the same paradigm, very different directions are pursued, and the results are hardly compatible. As the success of agent deployment on the Internet will heavily depend on the inter-operability between agent systems , this variety of directions needs to be taken into account, and there is little probability that one single agent language will ever emerge. Convergence if any between the different paradigms will have to rely on using proven common platforms and protocols such as Java, Corba, HTTP and SMTP.
 
For distributed applications that make use of open networks, the choice and meaning of performatives are still unclear, as there is no easy way to draw the line between the ACL and the content language and transport layers. Indeed, discussions on KQML as well as FIPA specifications have shown some blurring between these layers. Another direction followed by the KAPI, translates KQML into the transport layer, instead of adding a separate layer.
 
On the other hand, the definition of content or information languages has already attracted interest from many players, and needs to be extended for other classes of information, including telecommunication services. In this article, we have shown XML is an attractive general information description language for the telecom industry, as it integrates nicely with the Internet and agent technologies : it is similar to HTML, but it also allows to define the semantics for service-specific structures. Service components can be easily linked together using XML's linking mechanisms. As XML also includes formatting capabilities, using stylesheet mechanisms, the information that describes a service to an agent, can at the same time be used for service advertisement on the Web.
 
As a matter of fact, we can see three distinctive levels of content : data, information and knowledge . These three levels may require different communication paradigms to be used by the agents. HTML belongs to the data level : semantics only covers formatting, and sharing ontologies requires previous agreements. XML belongs to the information level : additional semantics and mechanisms for sharing ontologies can be defined. SL and KIF belong to the knowledge level, where the reasoning mechanisms are specified, rather than the information transmitted. However, XML efforts such as RDF, indicate that XML will also be widely used for knowledge representation.
 
Bibliography
BAY96
Baynton, K., Managing the Growth of the Internet, Telecommunications, Vol. 30, No. 6, June 1996.
GRE97
Green, Brenda, et al, Software Agents : a Review, May 1997, on-line at http://www.cs.tcd.ie/Brenda.Nangle/iag.html
FIPA98
Foundation for Intelligent Physical Agents site, at http://drogo.cselt.stet.it/fipa/
WHITE
White, Jim, Mobile Agent White Paper, on-line at http://www.genmagic.com/agents/Whitepaper/whitepaper.html
FIREFLY
Firefly, at http://www.firefly.com
FIN94
Finin, T., et al., KQML as an Agent Communication Language, Proceedings of the Third International Conference on Information and Knowledge Management (CIKM'94), ACM Press, November 1994. On-line at http://www.cs.umbc.edu/kqml/papers/kqml_acl.ps.
GEN95
Genesereth, M. R., Knowledge Interchange Format Specification, working draft for an American National Standard, March 1995. On-line at http://logic.stanford.edu/kif/ specification.html.
P3P
P3P and Privacy on the Web FAQ, on-line at http://www.w3.org/P3P/P3FAQ.html
DAV83
Davis, R. and Smit, R., Negotiation as a Metaphor for Distributed Problem Solving, Artificial Intelligence 20, pages 63-109, 1983.
XMLDATA
Layman A., et al., XML-data, W3C Note, January 1998, on-line at http://www.w3.org/TR/1998/NOTE-XML-data-0105/
VCARD
Internet Mail Consortium, vCard and vCalendar, on-line at http://www.imc.org/pdi/.
ICE
Leading Companies to Propose Web Standard to Facilitate Business-to-Business Electronic Asset Exchange, Press-release, February 1998. On-line at http://www.vignette.com/News/PressRelease/Item/0,1006,10271,00.html
XML10
Extensible Markup Language (XML), W3C Recommendation, February, 1998. On-line at http://www.w3.org/TR/1998/REC-xml-19980210
OFX97
Intuit, Microsoft and CheckFree create open financial exchange, January 16, 1997. On-line at http://www.intuit.com/corporate/press_release/011697.html
KENT97
Kent, Robert E. Ontology Markup Language, June 1997, on-line at http://asimov.eecs.wsu.edu/WAVE/Ontologies/OML/OML-DTD.html
JAT
Frost, R., Java Agent Template, on-line at http://cdr.stanford.edu/ABE/JavaAgent.html
KAPI
Weber J., Kuokka D., KAPI, on-line at ftp://hitchhiker.space.lockheed.com
XML-EDI
XML/EDI Group's Home Page, http://www.xmledi.net/
OSD
Open Software Description (OSD), on-line at http://www.microsoft.com/standards/osd/osdintro.htm
CDF
Channel Definition Format, on-line at http://www.w3.org/TR/NOTE-CDFsubmit.html or http://www.microsoft.com/standards/cdf.htm
CKML
Conceptual Knowledge Markup Language, on-line at http://asimov.eecs.wsu.edu/WAVE/Ontologies/CKML/CKML-DTD.html
COMN
CommerceNet Advocates XML, August 1997. On-line at http://www.commerce.net/news/press/0821.html
KQMLD
KQML mailing list discussions, on-line at http://www.csee.umbc.edu/kqml/mail/kqml/1997/0172.html
RDF
Resource Definition Framework, on-line at http://www.w3.org/RDF/

Do you Need XML? A Checklist...   Table of contents   Indexes   Style Sheets: I18N aspects