this work is that meaningful QoS contracts (Ribeiro,
2004a) can be used to improve the user participation
during QoS negotiation and monitoring, contributing
to user satisfaction. The internal components of SLA
ontology proposal and its role at QoS negotiation are
described.
This paper is structured as follows. Section 2 is
dedicated to related work. Section 3 describes
ontology languages and main ontology concepts,
especially OWL language, which was used during
SLA ontology definition. Section 4 deals with SLA
ontology and its internal components. Section 5
discusses about a scenario where semantic QoS
negotiation is used. Finally, Section 6 presents
conclusions and future work.
2 RELATED WORK
To realize semantic QoS negotiation, as considered
in this work, it is necessary to represent QoS
information at different perspectives. Using
ontology to represent QoS concepts is not a new
approach. The FIPA-QoS ontology (FIPA, 2003)
deals with QoS at FIPA Message Transport Service.
QoS ontology for Workflows and Web Services is
described at (Cardoso, 2004). In general, these
ontologies are conceived for specific purposes and
they usually lack representing of subjective end user
QoS.
SLA ontologies are subject of research activities
as well. IBM’s WSLA (Ludwig, 2003) is a
representative initiative to specify SLA parameters
associated with services and to identify signatory
parties of the contract (provider and customer).
However, as traditional approaches, WSLA was
mainly defined through technical parameters that are
essential for the service configuration and
monitoring, but frequently have no meaning for
typical users limiting their participation during QoS
negotiation. Next section is dedicated to ontology
languages, especially OWL (Dean, 2004), which
was used to describe SLA ontology proposed.
3 WEB ONTOLOGY
LANGUAGES
In computer science, ontology is defined as a
software artefact that allows representing and
sharing of domain specific knowledge. It can be
used by users, databases and applications. The main
components of ontology are: concepts, relationships
and properties. Concepts represent “things” in a
given domain of interest, relationships connect these
concepts, and properties characterize concepts
attributes.
Existing and new applications can obtain benefits
from ontologies. For instance, different documents
assigned to the same ontology permit semantic
search that considers content instead keywords only.
Ontologies can also facilitate communication
between intelligent agents through vocabulary
sharing. As ontologies are usually expressed in a
logic-based language, tools can be used to reasoning
about concepts, relationships and properties,
inferring new concepts and offering automatic
support for intelligent services. Different ontology
languages and tools have been proposed. The OWL -
Web Ontology Language (Dean, 2004) is a W3C
recommendation that was used during SLA ontology
development.
3.1 OWL
The OWL language provides three sublanguages
designed for use by specific communities of
implementers and users. The first one is OWL-Lite
that supports classification hierarchy and simple
constraint features. The second one is OWL-DL,
which supports maximum expressiveness without
losing computational completeness. The third one is
OWL-Full that supports maximum expressiveness
with no computational guarantees.
An OWL ontology consists of Classes,
Individuals and Properties. Classes are a concrete
representation of concepts in domain we are
interested in. Individuals are instances of classes and
Properties are binary relations between Individuals.
There are two main types of properties: Object
properties and Datatype properties. Object properties
link an individual to an individual, e.g. hasSister
property. Datatype properties link an individual to
type, e.g. hasAge property.
OWL properties have specific characteristics,
which derive special properties. For example, each
object property may have a corresponding inverse
property, e.g. hasParent and hasChild properties.
Other property characteristics include functional,
inverse functional, transitive and symmetric. In
OWL, properties are used to create restrictions. As
the name suggests, restrictions are used to restrict
the individuals that belong to a class.
Restrictions in OWL fall into three main
categories: Quantifier Restrictions, Cardinality
Restrictions and hasValue Restrictions. There are
two quantifier restrictions: the existential (∃) that
can also be read as “someValuesFrom” in OWL
speak and universal quantifier (∀) or
“allValuesFrom” in OWL.
ADDING MEANING TO QOS NEGOTIATION
107