=Paper=
{{Paper
|id=Vol-52/paper-6
|storemode=property
|title=Generating Ontology-Specific Content Languages
|pdfUrl=https://ceur-ws.org/Vol-52/oas01-cranefield-2.pdf
|volume=Vol-52
}}
==Generating Ontology-Specific Content Languages==
Generating ontology-specific content languages
Stephen Cranefield and Martin Purvis
Department of Information Science
University of Otago
PO Box 56, Dunedin, New Zealand
fscranefield,mpurvisg@infoscience.otago.ac.nz
ABSTRACT 2. INCLUDING OBJECTS IN MESSAGES
This paper examines a recent trend amongst software agent appli- Traditionally ontologies are used in agent systems “by reference”.
cation and platform developers to desire the ability to send domain- An agent is not required to explicitly reason with the ontology, or
specific objects within inter-agent messages. If this feature is to be even to have an online copy available. The names of ontologies
supported without departing from the notion that agents communi- can simply be used as a contract between agents undertaking a di-
cate in terms of knowledge, it is important that the meaning of such alogue: they each claim to be using an interpretation of the terms
objects be well understood. Using an object-oriented metamod- used in the conversation that conforms to the ontology. The content
elling approach, the relationships between ontologies and agent language uses a string-based syntax to represent sentences in the
communication and content languages in FIPA-style agent systems language which are constructed using constants and function and
are examined. It is shown how object structures in messages can be predicate symbols from the ontology as well as built-in language
considered as expressions in ontology-specific extensions of stan- symbols such as “and” and “or”.
dard content languages. It is also argued that ontologies must dis-
tingish between objects with and objects without identity. However, the popularity of the Java programming language for
agent development, as well as the increasing use of XML-based
formats for serialising structured data, appear to be causing agent
1. INTRODUCTION developers to look for ways of creating outgoing messages and
Agent communication languages (ACLs) in the style of the Knowl- analysing incoming ones that are more in line with the object-
edge Query and Manipulation Language (KQML) [15] and FIPA oriented paradigm than the traditional approach of building and
ACL [17] are based around the idea that “Communication can be parsing strings. This is evidenced by conversations between the
best modelled as the exchange of declarative statements” [19]. Un- authors and local agent researchers, messages on the FIPA agentc-
der this paradigm, agents send, receive and reply to requests for ser- ities mailing list, and the feature introduced into the JADE agent
vices and information with the intent of the message specified by platform allowing application-specific Java classes to be associated
a performative (such as ‘inform’ or ‘request’) describing the way with concepts in an ontology.
in which an inner content expression should be interpreted. The
content is encoded using a declarative knowledge representation JADE [14] allows ontologies to be defined using a frame-based
language such as the Knowledge Interchange Format (KIF) [21] or language. An ontology is defined at run time by constructing an
FIPA’s Semantic Language (SL) [18]. In addition, the ACL spec- ontology object and adding frames to it. A Java class can be asso-
ifies any ‘ontologies’ that define the terminology used to denote ciated with a frame so that an application can create instances of
domain-specific concepts inside the message content. the frame as Java objects and insert them in the message content.
The JADE messaging system then handles the serialisation of the
This paper examines a recent trend amongst software agent appli- objects, which can be customised by users for particular content
cation and platform developers to desire the ability to send domain- languages.
specific objects within inter-agent messages. If this feature is to be
supported without departing from the notion that agents communi- Even in the traditional string-based model of message creation and
cate in terms of knowledge, it is important that the meaning of such decomposition there are signs that agent programmers desire an
objects be well understood. To clarify this issue, this paper uses ability to send ‘objects’ within messages. The FIPA SL grammar
the Unified Modeling Language [4] and an object-oriented meta- includes a production for “functional terms”. In addition to some
modelling approach to examine the relationships between ontolo- built-in function symbols for arithmetic and for constructing and
gies and agent communication and content languages. It is shown performing operations on sets and sequences, functional terms can
how object structures in messages can be considered as expressions be built using function symbols from an ontology. The SL specifi-
in ontology-specific extensions of standard declarative content lan- cation describes two uses for ontology-specific functional terms.
guages. In particular, domain-specific ‘objects’ within messages
can be viewed as object-oriented encodings of terms, propositions The first use applies when an ontology defines function symbols
or definite descriptions. To make the discussion more concrete, specific to its domain. Objects can then be referred to “via a func-
the proposed approach is illustrated in terms of a particular model tional relation . . . with other objects . . . rather than using the di-
of agent communication: that defined by the Foundation for In- rect name of that object, for example, (fatherOf Jesus) rather
telligent Agents (FIPA) specifications [16]. However, this account than God”. This can be interpreted using the standard semantics
of domain objects within messages is applicable to other styles of for first-order logic—terms of this form correspond to descriptions
declarative-message-passing agent systems as well.
of particular pre-existing objects. In a first order logic without an Query Language [5]. Our account of agent messaging does not al-
equality symbol, a functional term denotes a particular object in low for objects with identity to be transported within messages—it
the domain of discourse that is distinct from the object denoted by is only meaningful for objects without identity (i.e. complex data
any other term. Adding an equality symbol introduces the possi- values) to be denoted by functional terms in a content language.
bility of making assertions that distinct terms in the language are For concepts representing classes of objects with identity, we re-
equal, meaning that they denote the same domain object. The usual gard functional expressions such as the vehicle one above to be
semantic models used to define first order logics with equality inter- invalid as a term denoting a domain object. Instead, we propose
pret terms by equivalence classes in the ‘term algebra’ with respect that this type of functional expression should be meaningful only
to the equality predicate. These equivalence classes can be consid- as a form of proposition (describing some or all of an object’s at-
ered to be an abstract representation of the actual domain objects tributes) or as a definite description (identifying an object in terms
represented by terms in the language. of the values of attributes). In both cases, the notation can be gen-
eralised to include networks of objects and (in the case of definite
The second use for ontology-specific functional expressions in- descriptions) variables.
volves “descriptions where the function symbol should be inter-
preted as the constructor of an object, while the parameters repre- The key difference between objects with and without identity is
sent the attributes of the object”. The following example is given: that it is possible to refer to the former by reference. We make
no assumptions about the form of object references, but to be in-
cluded within an agent message, a reference must be expressible
(vehicle as a ground term within some content language. Many different
:colour red reference schemes could be used for referring to objects: names,
:max-speed 100 CORBA interoperable object references (IORs), World Wide Web
:owner (Person :name Luis Uniform Resource Identifiers (URIs), etc. This is discussed further
:nationality Portuguese)) in Section 4.1. Note that we do not explicitly address the possibility
of a reference being used to refer to different objects by different
agents or at different times. Sufficient namespace or context infor-
The SL specification describes this usage as one where “the func-
mation to resolve this problem is assumed to be included as part of
tion symbol should be interpreted as the constructor of an object,
a reference.
while the parameters represent the attributes of the object”. How-
ever, this notion of constructor is not explained, nor is any guidance
Whether or not instances of a given concept are considered to have
given on when a term of this form is considered to be well-formed.
identity will depend on the range of applications for which the on-
A number of questions are raised with this notation:
tology is designed. To be completely general, any object could
potentially be referred to in an assertion—this is one of the de-
What constitutes a constructor in an ontology? For frame- sign criteria for the Semantic Web where “anyone can say anything
based and object-oriented ontology modelling languages the about anything” [3]. However, for purposes of simplicity and ef-
answer is fairly clear, but is there a set of requirements that ficiency, it may sometimes be advantageous to declare concepts to
could be used to identify constructors in other types of on- be “value types”.
tology modelling language? This paper focuses on the use of
object-oriented ontologies and does not address this question The difference between objects with and without identity can be
for other modelling paradigms. seen in the following example. The FIPA agentcities project [1] is
building a test-bed for the large-scale deployment of FIPA agent-
Does each appearance of a given constructor term denote the based services by forming a global network of agents providing
same object, or does every use of a constructor create a new information relating to particular cities. One of the ontologies un-
object? Allowing the universe of discourse to grow dynami- der development in this project describes the concept of weather
cally departs from the usual semantics of first order logic and reports. A weather report is an example of a plausible value type.
would require a thorough investigation of its implications on Although it is possible to imagine scenarios where agents may wish
the semantics of SL. This paper therefore attempts to classify to refer to a weather report by reference (e.g. to disagree with it),
the possible uses of ontology-specific functional terms with- in many common cases it would be sufficient to have the ability
out abandoning the usual closed (but possibly infinite) world to include weather report structures within messages. Note that
model underlying first-order logic. this would not mean that weather reports could not be recorded in
an agent’s knowledge base—another object such as an array could
Can a meaning be given for such a functional term repre- hold weather reports internally as part of its own structure.
senting an object with identity? One possible interpreta-
tion is that objects can be passed from one agent to another. In contrast, a city is a clear example of an object that has identity
However, this requires additional theory and infrastructure and which could not be meaningfully included within a message.
to model the dynamic association of objects to the agents re-
sponsible for them and to ensure the preservation of objects’
uniqueness or to account for their duplication and possible 3. A METAMODELLING VIEWPOINT
destruction. This is left for future work. For the present we To analyse the relationship between ontologies and content lan-
prefer to retain the traditional view that the message content guages expressions, this paper extends a metamodelling account
is a declarative representation of knowledge about the world. of agent systems and models presented previously [13]. Figure 1
shows three levels of a metamodelling hierarchy. Level 0 comprises
the objects that exist at run time: agents, domain objects and mes-
We address these issues by proposing that a distinction be made sages and their content expressions. Level 1 contains models of the
between objects with and objects without identity, as in the Object concepts that are instantiated in Level 0, i.e. ontologies and defini-
UML meta-model Level 2
(extended with ‘valuetype’ and ‘resource’ stereotypes) (meta-model)
Abstract Abstract
Message Other message
Domain refine refine elements and
Agent models and concrete and concrete Level 1 sender : String specialised subclasses
ontologies (models)
content lang. models ACL models receiver : String have been omitted
ontology [1..*] : String
Content language
Domain objects Message Level 0
Agents expressions and
and data values contain objects (objects)
knowledge objects
describe
InformRef QueryRef Inform Request
1 1 1 1 1
Figure 1: A metamodelling view of agent systems and models 1 1 1 1 1
<> <> <> <>
CL::RefTerm CL::DefDescriptor CL::Proposition CL::ActionDescription
tions of the abstract and concrete syntax for agent communication
and content languages. The relationship between a Level 0 object
and the corresponding Level 1 object is instantiation (or equiva- Figure 2: A partial UML model of an ACL
lently set membership if concepts are viewed semantically as sets
of instances).
Note that analysing agent systems using the metamodelling view-
point does not presuppose that agents are implemented using object- CL::Proposition
oriented technology. The same relationships between and across
levels hold no matter how agents and languages are modelled and
instantiated. Furthermore, Figure 1 could be extended to account {ordered} 2..*
self.term->size =
self.predicate.arity
for other multi-agent system concepts, such as conversations, which Wff
could be explicitly represented at Level 0 with conversation models
1
at Level 1. 1 Predicate
AtomicFormula name : String
Conjunction ontology : String
The Level 1 models must be expressed in some language. In this 1
1 1 arity : Integer
work, the Unified Modeling Language (UML) [4] is used as a uni-
{ordered} 0..*
fying representation language for all agent-related models at Level
1. It has been argued elsewhere that this industry-standard object- Term
oriented modelling language is a good candidate for representing
ontologies [11, 12, 2, 9] and the abstract syntax of agent commu- 1
nication languages [13, 10]. Level 2 therefore contains the UML DefiniteDescription Variable Constant
name : String name : String
metamodel: a model of the concepts in UML. Other “metameta- 1 1 ontology : String
models” could also be included at this level to allow for different
representation languages to be used at Level 1.
CL::DefDescriptor
Figures 2 and 3 illustrate fragments of an agent communication CL::RefTerm
language and a content language (respectively) modelled as UML
class diagrams. The UML ‘lollipop’ symbol is used to indicate that Figure 3: A partial UML model of an SL-like content language
particular classes implement interfaces from another model: the
CL package shown in Figure 4. This package uses ‘marker’ inter-
faces (ones with no operations) to name the abstract concepts that
any content language must implement in order to be used with the
FIPA ACL. This abstraction provides a strongly typed way for ex-
«interface» «interface»
pressions in any content language to be included within an ACL Term DefDescriptor
expression. For example the Object Query Language could be
used as a form of definite description simply by defining a class «interface» «interface» «interface»
OQLDescriptor with a string-valued attribute query and declar- GroundTerm NonGroundTerm AgentDefDescriptor
ing it to implement CL::DefDescriptor.
«interface» «interface» «interface» «interface»
ValueTerm RefTerm Act Variable «interface»
The CL package (Figure 4) models abstract content language con- Proposition
cepts that are required by the semantics of the FIPA ACL and its
communicative act library, but otherwise makes no commitment «interface» «interface»
«interface»
AgentRefTerm CommunicativeAct
LambdaTermProposition
about how particular content languages might be structured. For
example, the concept of a variable is included because this seems
«interface» «interface» «interface»
to be intrinsic to the semantics of definite descriptions [23]. How- ActionDescription LambdaAgentCommAct LambdaAgentProposition
ever, the concept of a predicate is not included. Although some
FIPA communicative acts require propositions as parameters, the
ACL is neutral about how propositions are represented—a content Figure 4: The CL package: generic content language concepts
language is free to represent propositions in non-standard ways,
e.g. as object structures asserting the attribute values [13].
In the figure, the dashed lines represent dependencies: for example, CL SL
an action description requires descriptions of an act and an agent, «refine»
but at this abstract level it is not appropriate to make any decisions
about how the implementation structure of these three concepts
should be related. A dependency is shown from DefDescriptor
SpecialisedSL
to NonGroundTerm because a definite description comprises two
non-ground terms linked by common free variables: a query ex- Ontology
WeatherReport CL::ValueTerm
pression and a template for the result. «valuetype»
WeatherReport
Some of the content language concepts shown are not explicitly City CL::Proposition
«resource»
named in the FIPA specifications: for example, some communica- City
tive acts (such as proxy) require content expressions representing {refscheme = URI} CityDescriptor CL::NonGroundTerm
communicative acts with the receiver (an agent) omitted. This is
modelled by the interface LambdaAgentCommAct. The interface
LambdaTermProposition represents a function that produces a
proposition when a single parameter is supplied (used in the ‘call Figure 5: An ontology-specific content language
for proposals’ communicative act) and LambdaAgentProposition
is a specialisation of this where the parameter is an agent reference
(this concept is not currently used by FIPA ACL, but seems likely the metamodel. Model elements can be endorsed with the names of
to be useful). stereotypes within guillemets (French quotation marks) to indicate
that they have a different intent or additional semantics beyond that
normally associated with that type of model element.
4. ONTOLOGIES AND OBJECT IDENTITY
In Section 2 it was argued that a distinction should be made be- For modelling classes of objects with identity we have introduced a
tween objects with and objects without identity. The approach stereotype . This represents a specialised subtype of the
taken in this paper is to make this distinction on a per-concept basis, class concept in the UML metamodel, one whose instances (partic-
with the ontology declaring for each concept whether its instances ular classes in a model) are constrained to include a one to many
have identity or not, and how references to instances of that concept relationship with a Reference abstract class that is assumed to ex-
can be expressed. In this section we show how the extension mech- ist at the model level (Level 1) and to implement the CL::RefTerm
anisms of UML can be used to model these aspects of an ontology. interface. In an ontology, adorning a class with this stereotype is
the same as manually adding the association between that class and
4.1 Modelling references the Reference class. It is therefore possible for any instances of
The object model underlying UML does not take a position on the that class to be linked to instances of particular reference classes
nature of object identity and reference. UML assumes that ob- such as URI (note that we do not assume there is a unique reference
jects have an identity that is implicitly provided by the underly- to each object). To provide more information about the particu-
ing implementation infrastructure and which does not need to be lar type of reference, another UML extension mechanism, a tagged
included as an attribute of the corresponding class in the model. value, is used to name the type of reference used for objects of that
UML makes no commitment about the nature of this identity or class. The tag name is “refscheme”. The value of this tag should
the way in which links between objects are implemented. This be the name of an predefined class extending Reference.
is too agnostic a stance for use in the description of multi-agent
systems, at least for those based on the Foundation for Intelligent The bottom left side of Figure 5 illustrates the use of these mech-
Physical Agents (FIPA) [16] specifications. One of the FIPA com- anisms to specify that the class City represents resources having
municative acts is query-ref which is used to ask an agent for a URIs (in the style of the Semantic Web where URIs can be used to
reference to the object that uniquely satisfies a given “definite de- refer to physical objects as well as Web documents). The rest of
scription” (a quantified propositional expression, where the bound the figure will be explained in the following sections.
variable represents the object of interest). The semantics of definite
descriptions assume each object (taken in a broad sense to mean an
identifiable entity) is identified by constants representing “standard 4.2 Modelling data values
names”. This is sufficient for agent systems that are disconnected To represent value types another stereotype, is intro-
from the real world and observe it without interacting with any of duced. Model concepts defined with this stereotype are not mod-
its entities. However, when agents are integrated into today’s per- elled as classes, but as instances of a different child of the Class
vasive network infrastructure, which includes telephone networks, concept’s parent class in the UML metamodel: ValueType. This
distributed CORBA and Java objects and Web resources, this is is not a standard concept in UML but an extension that is required
no longer sufficient. Objects can be identified by phone numbers, to adequately model objects without identity. UML has a similar
CORBA interoperable object references (IORs), World Wide Web concept DataType, but this has restrictions that seem to be un-
uniform resource identifiers (URIs), etc., and agents are free to de- necessary for value types: a data type may not have any outgoing
part from ACL-level communication to interact with these objects associations with other types. However, it seems reasonable for a
using the appropriate protocols for these references. We therefore value type to have composition relationships with other value types
propose an extension to the UML metamodel to allow classes to be as these do not require references for their implementation—they
annotated with their appropriate reference types. can be interpreted as defining a nested structure.
Although the metamodel for UML is fixed, there is a way to de- In Figure 5, the WeatherReport class is annotated with the stereo-
fine a ‘virtual’ extension of the metamodel by defining stereotypes: type to indicate that this represents a type of object
named specialisations of particular concepts (such as ‘class’) from without identity.
PersonVar
CL::Variable CL::Term
/parent child { ordered } varName : String
2 * 2 2
2 2 * *
«resource» PersonTerm
Person { ordered }
parent 2 * child
{refscheme = URI} 2
*
name : String * PersonDescriptor
{ ordered } * { ordered }
*
/son father mother /daughter 1 name
* 1 1 * ST::StringTerm
CL::Variable
Man Woman
ST:StringObject ST:StringVar
father mother
value : String varName : String
1 1
{ parent = Set { mother, father } * *
son = child->select(oclIsTypeOf(Man)) ManTerm WomanTerm
son daughter
daughter = child->select(oclIsTypeOf(Woman)) } { ordered } CL::Variable
{ ordered }
ManDescriptor ManVar WomanVar WomanDescriptor
Figure 6: A class diagram representing a family ontology
Figure 7: Generated descriptor classes for Person objects
5. ONTOLOGY-SPECIFIC CONTENT
A class with the resource stereotype maps to a structurally identi-
LANGUAGES cal class that implements the CL::Proposition interface—this indi-
Figure 1 showed a number of relationships between different types cates that objects of this sort can be used as descriptions of corre-
of object: messages contain content language expressions, which sponding domain entities (by describing their attribute values and
describe domain objects and agents. At the model level, ACL links). In addition, a corresponding descriptor class is generated to
and content language concrete syntaxes (e.g. models of XML en- allow an object-oriented structure to be used as the query part of
codings) refine abstract syntaxes. However, there is currently no a definite descriptor, therefore this class implements the interface
clear account of the relationship between ontologies and content CL::NonGroundTerm.
languages that explains how and when it makes sense to include
domain-specific objects within messages. Strictly speaking, there A class with no stereotype has a corresponding proposition class
is no direct connection between concepts in ontologies and those generated, but no definite descriptor class is generated as nothing
in content languages: as discussed in the introduction, content ex- is known about whether or not objects of this type have identity. It
pressions traditionally refer to ontological entities by reference (i.e. may therefore be impossible to return a reference in response to a
by name) only. query-ref message containing a definite description referring to
an instance of this class.
The inclusion of domain-specific objects within messages can be
considered either to be semantically incoherent, or (more charita- Figure 7 shows the structure of the generated descriptor classes cor-
bly) as representing an object-oriented encoding of values, proposi- responding to a simple family ontology (expressed as a UML class
tions and definite descriptions. This paper takes the latter approach, diagram in Figure 6). Each attribute and navigable association end
which can be explained as the use of an ontology-specific content must be capable of taking a variable object as a value. Therefore,
language. Given an ontology, a specialised content language can for each class an interface is defined and two subclasses that imple-
be generated either as a simple application-specific representation ment it: a descriptor class and a variable class. All association ends
or as an extension of an existing general-purpose content language are directed at the interfaces instead of the classes. The package ST
(so that generic concepts like conjunction are available). is assumed to hold variable and object types corresponding to each
primitive type.
Figure 5 illustrates our approach to generating ontology-specific
content languages. The dashed arrows are dependencies and there-
fore are directed from the generated classes back to the correspond- 6. IMPLEMENTATION
ing concepts in the ontology. The generalisation relationship be- The previous section presented a scheme by which extensions of
tween the generated Specialised SL package and the pre-existing content languages like FIPA SL can be automatically augmented
SL one indicates that all concepts defined for SL (such as con- with ontology-specific representations for propositions, definite de-
junction and negation) are (optionally) included in the generated scriptions and (for valuetypes) terms. It remains to formally de-
package. fine and implement these mappings. In previous work, a “UML
data binding scheme” has been developed [7, 8]. This allows agent
A valuetype declared in an ontology maps to an equivalent decla- messages to be visualised as object diagrams and serialised using
ration (without the valuetype stereotype) in a new package corre- the XML-based Resource Description Framework [20]. The se-
sponding to the generated language. This is because objects of that rialisation is performed with reference to RDF schemas that are
type can meaningfully be embedded in messages. generated from the UML definitions of the ontologies used and the
Marshalling Abstract
package RDF API Syntax
.. { uses .. {
source AS<->CS1
...(.) { ...(.) {
..... ..... Class
} }
1
} } target 1 * Class Association
* Association * *
uses javac
* *
Java Java Box Connector
source files class files
Concrete
.. {
javac
100110
loads context c:Class inv:
UML-based ...(.) { 101001 Syntax1
..... 011011 c.box->size=c.box.diagram->size
design tool } 000110 Applications context a:Association inv:
} 101101
a.connector.source->forAll(b |
XSLT Diagram a.connector->select(c|c.diagram=b.diagram).source=b)
1
references and a.connector.target->forAll(b |
references 1 a.connector->select(c|c.diagram=b.diagram).target=b)
<....> * context c:Class inv:
<....> XSLT references source
1 c.box->forAll(b | let n=b.compartment->size in
<...>
Box
<.> 1 n>=1 and n<=2)
<..> *
target 1 *
RDF schema Knowledge Connector
XMI document (in XML) (in RDF/XML)
*
Compartment
*
Figure 8: The UML data binding framework
Figure 9: The pUML approach to mapping between abstract
and concrete language models (modified from Clark et al. [6])
ACL and content language. A set of Java classes corresponding
to the concepts in these models are also generated, and these in-
clude marshalling support so that object diagrams can be converted stract and concrete syntaxes for a language. This technique may
between in-memory networks of Java objects and RDF serialisa- provide a formal way to define the relationship between ontologies
tions with a single method call. The generation of RDF schemas and ontology-specific content languages described in this paper.
and Java classes is performed using the Extensible Stylesheet Lan-
guage Transformations language [24] starting from encodings of
the UML models in the XML Model Interchange format (XMI). 7. CONCLUSION
The UML data binding scheme is illustrated in Figure 8. This paper has analysed the relationship between ontologies and
content languages and, based on a desire from agent programmers
At present, classes in ontologies are mapped directly to RDF re- to include ‘objects’ within messages, has clarified when this can
sources with properties that correspond directly to the attributes be considered to be meaningful. This ability can be provided in
and association ends associated with the classes. Extending this to a principled way by generating an ontology-specific content lan-
implement the mappings described in the previous section would guage from an ontology.
provide agents with an automatically generated Java application
programmer interface for including domain-specific objects within It has also been argued that ontologies should distinguish between
messages—but only when they represent propositions, definite de- object types having an identity and those without. Two UML stereo-
scriptions or values of value types. types have been proposed to indicate this distinction, which also
affects whether domain-specific object structures in an ontology-
There is one feature of the UML data binding scheme that has not specific content language can be used to represent propositions,
yet been addressed in the present work. If propositions are to be values or definite descriptions.
encoded as object structures, it must be possible to omit the values
of some attributes and association ends if these are not of relevance Acknowledgements
to the discussion—otherwise an agent may have to send a network Thanks to the members of the FIPA agentcities mailing list for stim-
representing all its knowledge every time it answers a question. ulating our thoughts on this topic, especially Federico Bergenti who
If a value is not present for a role of an optional association then espoused the need for a “metamodel” for content languages and
the agent receiving the information must be able to distinguish be- thereby inspired the design of the abstract content language model
tween the case where there whether there really is no value and shown in Figure 4.
the case where this information has been omitted. This is handled
by declaring in the RDF serialisation of a message the property–
resource pairs for which incomplete or no information is provided
8. REFERENCES
[1] agentcities.org. The Agentcities project Web site.
[8]. This, or an alternative mechanism, needs to be accounted for in
http://www.agentcities.org, 2001.
the conceptualisation of knowledge as a UML object diagram. One
possible approach would be to use a stereotype or tagged value to [2] F. Bergenti and A. Poggi. Exploiting UML in the design of
indicate potentially incomplete knowledge. multi-agent systems. In A. Omicini, R. Tolksdorf, and
F. Zambonelli, editors, Engineering Societies in the Agents
Although XSLT provides a convenient language for implementing World, Lecture Notes in Computer Science 1972, pages
transformations on XML-based data, it is debatable whether an 106–113. Springer, 2000. (an earlier version is available at
XSLT stylesheet can be considered to be a definition of a map- http://lia.deis.unibo.it/confs/ESAW00/pdf/ESAW13.pdf).
ping. One possible way in which the mapping from ontologies
to specialised content languages could be defined is based on re- [3] T. Berners-Lee. Metadata architecture. World Wide Web
search from the Precise UML group [22]. Figure 9 shows hows Consortium Discussion Document, 1997.
OCL constraints can be used to define the mapping between ab- http://www.w3.org/2000/01/sw/.
[4] G. Booch, I. Jacobson, and J. Rumbaugh. The Unified [15] T. Finin, Y. Labrou, and J. Mayfield. KQML as an agent
Modeling Language User Guide. Addison-Wesley, 1998. communication language. In J. M. Bradshaw, editor,
Software Agents. MIT Press, 1997. Also available at
[5] R. Cattell, D. Barry, M. Berler, J. Eastman, D. Jordan, http://www.cs.umbc.edu/kqml/papers/kqmlacl.pdf.
S. Gamerman, C. Russell, O. Schadow, T. Stanienda, and
F. Velez, editors. The Object Data Standard: ODMG 3.0. [16] Foundation for Intelligent Physical Agents. FIPA Web site.
Morgan Kaufmann, 2000. http://www.fipa.org.
[17] Foundation for Intelligent Physical Agents. FIPA ACL
[6] T. Clark, A. Evans, R. France, S. Kent, and B. Rumpe.
message representation in string specification.
Response to UML 2.0 request for information.
http://www.fipa.org/specs/fipa00070/, 2000.
http://www.cs.york.ac.uk/puml/papers/RFIResponse.PDF,
1999. [18] Foundation for Intelligent Physical Agents. FIPA SL content
language specification. http://www.fipa.org/specs/fipa00008/,
[7] S. Cranefield. Networked knowledge representation and 2000.
exchange using UML and RDF. Journal of Digital
Information, 1(8), 2001. http://jodi.ecs.soton.ac.uk/. [19] M. R. Genesereth and S. P. Ketchpel. Software agents.
Communications of the ACM, 37(7):48–53, July 1994.
[8] S. Cranefield. UML and the Semantic Web. Proceedings of the
Semantic Web Working Symposium (SWWS), 2001 (to appear). [20] O. Lassila and R. R. Swick. Resource Description
Earlier version available at http://www.otago.ac.nz/ Framework (RDF) model and syntax specification. Technical
informationscience/publctns/complete/papers/dp2001-04.pdf.gz. report, World Wide Web Consortium, 1999.
http://www.w3.org/TR/1999/REC-RDF-SYNTAX-
[9] S. Cranefield, S. Haustein, and M. Purvis. UML-based 19990222.
ontology modelling for software agents. In Proceedings of [21] National Committee for Information Technology Standards.
the Workshop on Ontologies in Agent Systems, 5th Draft proposed American national standard for Knowledge
International Conference on Autonomous Agents, 2001. Interchange Format. http://logic.stanford.edu/kif/dpans.html,
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/. 1998.
[10] S. Cranefield, M. Nowostawski, and M. Purvis. [22] Precise UML Group. The Precise UML Group home page.
Implementing agent communication languages directly from http://www.puml.org, 2001.
UML specifications. Discussion Paper 2001/03, Department
of Information Science, University of Otago, PO Box 56, [23] B. Russell. On denoting. In R. C. Marsh, editor, Logic and
Dunedin, New Zealand, 2001. Knowledge: Essays, 1901-1950. Allen and Unwin, 1956.
http://www.otago.ac.nz/informationscience/publctns/ http://www.santafe.edu/˜shalizi/Russell/denoting/.
complete/papers/dp2001-03.pdf.gz.
[24] World Wide Web Consortium. XSL Transformations (XSLT)
version 1.0. http://www.w3.org/TR/xslt, 1999.
[11] S. Cranefield and M. Purvis. UML as an ontology modelling
language. In Proceedings of the Workshop on Intelligent
Information Integration, 16th International Joint Conference
on Artificial Intelligence (IJCAI-99), 1999. http://sunsite.
informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-23/
cranefield-ijcai99-iii.pdf.
[12] S. Cranefield and M. Purvis. Extending agent messaging to
enable OO information exchange. In R. Trappl, editor,
Cybernetics and Systems 2000: Proceedings of the 2nd
International Symposium “From Agent Theory to Agent
Implementation” (AT2AI-2) at the 5th European Meeting on
Cybernetics and Systems Research (EMCSR 2000), Vienna,
2000. Austrian Society for Cybernetic Studies. An earlier
version is available at http://www.otago.ac.nz/
informationscience/publctns/complete/papers/dp2000-
07.pdf.gz.
[13] S. Cranefield, M. Purvis, and M. Nowostawski. Is it an
ontology or an abstract syntax? Modelling objects,
knowledge and agent messages. In Proceedings of the
Workshop on Applications of Ontologies and
Problem-Solving Methods, 14th European Conference on
Artificial Intelligence (ECAI 2000), 2000.
http://delicias.dia.fi.upm.es/WORKSHOP/ECAI00/16.pdf.
[14] CSELT. The JADE agent platform Web site.
http://sharon.cselt.it/projects/jade/, 2001.