FOUNDATION FOR INTELLIGENT PHYSICAL AGENTS
FIPA Device Ontology Specification
|
Document title |
FIPA Device Ontology Specification |
||
|
Document number |
SC00091E |
Document source |
FIPA TC Gateways |
|
Document status |
Standard |
Date of this status |
2002/12/03 |
|
Supersedes |
None |
||
|
Contact |
fab@fipa.org |
||
|
Change history |
See Informative Annex D — ChangeLog |
||
©
1996-2002 Foundation for Intelligent Physical Agents
http://www.fipa.org/
Geneva, Switzerland
|
Notice |
|
Use of the technologies described in this specification may infringe patents, copyrights or other intellectual property rights of FIPA Members and non-members. Nothing in this specification should be construed as granting permission to use any of the technologies described. Anyone planning to make use of technology covered by the intellectual property rights of others should first obtain permission from the holder(s) of the rights. FIPA strongly encourages anyone implementing any part of this specification to determine first whether part(s) sought to be implemented are covered by the intellectual property of others, and, if so, to obtain appropriate licenses or other permission from the holder(s) of such intellectual property prior to implementation. This specification is subject to change without notice. Neither FIPA nor any of its Members accept any responsibility whatsoever for damages or liability, direct or consequential, which may result from the use of this specification. |
Foreword
The Foundation for Intelligent Physical Agents (FIPA) is an international organization that is dedicated to promoting the industry of intelligent agents by openly developing specifications supporting interoperability among agents and agent-based applications. This occurs through open collaboration among its member organizations, which are companies and universities that are active in the field of agents. FIPA makes the results of its activities available to all interested parties and intends to contribute its results to the appropriate formal standards bodies where appropriate.
The members of FIPA are individually and collectively committed to open competition in the development of agent-based applications, services and equipment. Membership in FIPA is open to any corporation and individual firm, partnership, governmental body or international organization without restriction. In particular, members are not bound to implement or use specific agent-based standards, recommendations and FIPA specifications by virtue of their participation in FIPA.
The FIPA specifications are developed through direct involvement of the FIPA membership. The status of a specification can be either Preliminary, Experimental, Standard, Deprecated or Obsolete. More detail about the process of specification may be found in the FIPA Document Policy [f-out-00000] and the FIPA Specifications Policy [f-out-00003]. A complete overview of the FIPA specifications and their current status may be found on the FIPA Web site.
FIPA is a non-profit association registered in Geneva, Switzerland. As of June 2002, the 56 members of FIPA represented many countries worldwide. Further information about FIPA as an organization, membership information, FIPA specifications and upcoming meetings may be found on the FIPA Web site at http://www.fipa.org/.
Contents
3.1.1 Relationships between Frames
3.1.3 Product Info Description
3.1.5 Connection Type Description
3.1.6 User Interface Description
3.1.10 Memory Type Description
3.1.11 Software Properties Description
3.2.1 Request Device Information
3.3.1 Not Understood Exception Propositions
3.3.2 Refusal Exception Propositions
3.3.3 Failure Exception Propositions
5 Informative Annex A — Profile of a Hypothetical Smart Phone
6 Informative Annex B — Examples
6.4 Service Advertisement and Software Updates
7 Informative Annex C — Usage of FIPA Device Ontology through CC/PP
8 Informative Annex D — ChangeLog
8.1 2002/11/01 - version D by TC X2S
This document deals with the definition of an ontology for devices. It contains specifications for:
· Defining the properties of devices.
Additionally, it provides an example to illustrate the usage of the ontology via a profile of a hypothetical smart phone, an example of using the ontology through CC/PP and other informative examples.
The capabilities of different devices are best expressed using some ontology, against which the profiles of those devices are validated. This document contains specifications for a device ontology.
Provided that two devices D1 and D2 have a connection, they may exchange device profiles (either directly or through a brokering agency) and acquire a list of services provided by the other device. The list of services may include both hardware and software services, for example: a software component that provides access to a hardware component of the device (such as microphone, headset or GPS service). The profile needs to support the identification of services for various input and output capabilities, such as audio input and output. An informative example of a profile for a hypothetical device is given in Section 5.
The fipa-device ontology can be used by agents when communicating about devices. Agents pass profiles of devices to each other and validate them against the fipa-device ontology. The profiles come in handy for example in a situation where memory- or processing-intensive actions take place; agent A1 can ask agent A2 whether device D has enough capabilities to handle some task A1 has in mind. Section 6 gives a set of informative examples showing how profiles based on fipa-device ontology can be exploited.
Related work is done both in W3C [CC/PP] and WAP Forum [UAProf]. There is an overlap between the definitions found in those documents and this specification. However, direct references to those specifications are not used here. That is because, unlike the ontology presented in this specification, they rely on specific frameworks and languages, namely RDF and XML. Section 7 gives an informative example on how to use the fipa-device ontology via CC/PP descriptions.
This section describes a set of frames that represent the classes of objects in the domain of discourse within the framework of the fipa-device ontology.
The following terms are used to describe the objects of the domain:
· Frame. This is the mandatory name of this entity that must be used to represent each instance of this class.
· Ontology. This is the name of the ontology, whose domain of discourse includes the parameters described in the table.
· Parameter. This is the mandatory name of a parameter of this frame.
· Description. This is a natural language description of the semantics of each parameter.
· Presence. This indicates whether each parameter is mandatory or optional.
· Type. This is the type of the values of the parameter: Integer, Word, String, URL, Term, Set or Sequence.
· Reserved Values. This is a list of FIPA-defined constants that can assume values for this parameter.
Figure 1 depicts the frames used in this ontology with associations among them.

Figure 1: Relationships between Frames in the fipa-device Ontology
This type of object represents the description that can be used to define the device with its most general properties.
|
Frame Ontology |
device fipa-device |
|
||
|
Parameter |
Description |
Presence |
Type |
Reserved Values |
|
info |
General information for the device. |
Mandatory |
info-description |
|
|
type |
The type(s) of the device. General type(s) of devices like 3G phones, PDA's etc. To be used as a sequence from general to more specific types. |
Optional |
Sequence of string |
|
|
agent-compliancy |
Capability to host a FIPA-agent platform or participate in a distributed one. |
Optional |
boolean |
true false |
|
hw-properties |
List of properties describing the hardware features of the device in question. |
Optional |
hw-description |
|
|
sw-properties |
List of properties describing the software features of the device in question. |
Optional |
sw-description |
|
This type of object represents the description that can be used to define the name, vendor and version of some product.
|
Frame Ontology |
info-description fipa-device |
|
||
|
Parameter |
Description |
Presence[1] |
Type |
Reserved Values |
|
name |
The name of the product in question. |
Optional |
string |
|
|
vendor |
The vendor of the product in question. |
Optional |
string |
|
|
version |
The version of the product in question. |
Optional |
string |
|
This type of object represents the description that can be used to define the hardware capabilities of a given device.
|
Frame Ontology |
hw-description fipa-device |
|
||
|
Parameter |
Description |
Presence[2] |
Type |
Reserved Values |
|
connection |
The type of the connection the device uses. |
Optional |
Set of connection-description |
|
|
ui |
List of the user interfaces that the device offers. |
Optional |
Set of ui-description |
|
|
memory |
The amount of memory that the device has. |
Optional |
Set of memory-description |
|
|
cpu |
The type of the central processing unit that the device has. |
Optional |
Set of String |
|
This type of object represents the description that can be used to define the connection-related details of a given device.
|
Frame Ontology |
connection-description fipa-device |
|
||
|
Parameter |
Description |
Presence[3] |
Type |
Reserved Values |
|
information |
General information for the connection. |
Optional |
info-description |
|
|
qos-information |
Detailed information about the Quality of Service of this connection type |
Optional |
qos[4] |
|
This type of object represents the description that can be used to define the user interface(s) of a given device.
|
Frame Ontology |
ui-description fipa-device |
|
||
|
Parameter |
Description |
Presence[5] |
Type |
Reserved Values |
|
screen |
Information characterizing the screen of the device. |
Optional |
screen-description |
|
|
audio-input |
Specifies whether the device in question is capable of receiving audio input. |
Optional |
boolean |
true false |
|
audio-output |
Specifies whether the device in question is capable of producing audio output. |
Optional |
boolean |
true false |
This type of object represents the description that can be used to define the screen of a given device.
|
Frame Ontology |
screen-description fipa-device |
|
||
|
Parameter |
Description |
Presence[6] |
Type |
Reserved Values |
|
width |
The width of the screen. This value must be positive. |
Optional |
integer |
|
|
height |
The height of the screen. This value must be positive. |
Optional |
integer |
|
|
unit |
The unit for the width and height parameters of this frame. |
Optional |
string |
mm cm inch |
|
resolution |
The resolution description for the screen. |
Optional |
Set of resolution-description |
|
|
color |
Has the value true if the device has a color screen; false if it has a monochrome screen. |
Optional |
boolean |
true false |
This type of object represents the description that can be used to define the resolution details of a given display.
|
Frame Ontology |
resolution-description fipa-device |
|
||
|
Parameter |
Description |
Presence[7] |
Type |
Reserved Values |
|
width |
Number of resolution units horizontally. This value must be positive. |
Optional |
integer |
|
|
height |
Number of resolution units vertically. This value must be positive. |
Optional |
integer |
|
|
unit |
The unit for the resolution. |
Optional |
string |
pixels characters |
|
bpp |
Bits per pixel. |
Optional |
integer |
|
|
graphics |
Has the value true if the device is capable of displaying graphics; false if the device is capable of displaying only characters. |
Optional |
boolean |
true false |
This type of object represents the description that can be used to define the maximum memory of a given device, as well as the memory available at the time of query.
|
Frame Ontology |
memory-description fipa-device |
|
||
|
Parameter |
Description |
Presence[8] |
Type |
Reserved Values |
|
available |
The amount of memory available. |
Optional |
memory-type-description |
|
|
maximum |
The maximum amount of memory. |
Optional |
memory-type-description |
|
This type of object represents the description that can be used to define the amount, unit, and usage type of some memory.
|
Frame Ontology |
memory-type-description fipa-device |
|
||
|
Parameter |
Description |
Presence[9] |
Type |
Reserved Values |