@base         <http://www.w3.org/TR/usdl/service-level#> .
@prefix : <#> .
@prefix ctag:    <http://commontag.org/ns#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix dctypes:  <http://purl.org/dc/dcmitype/> .
@prefix foaf:    <http://xmlns.com/foaf/0.1/> .
@prefix gr:      <http://purl.org/goodrelations/v1#> .
@prefix msm:     <http://cms-wg.sti2.org/ns/minimal-service-model#> .
@prefix org:     <http://www.w3.org/ns/org#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos:    <http://www.w3.org/2004/02/skos/core#> .
@prefix time:    <http://www.w3.org/2006/time#> .
@prefix usdl-f:  <http://www.w3.org/TR/usdl/foundation#> .
@prefix usdl-func:  <http://www.w3.org/TR/usdl/functional#> .
@prefix usdl-int:  <http://www.w3.org/TR/usdl/interaction#> .
@prefix usdl-legal:  <http://www.w3.org/TR/usdl/legal#> .
@prefix usdl-part:  <http://www.w3.org/TR/usdl/participants#> .
@prefix usdl-price:  <http://www.w3.org/TR/usdl/pricing#> .
@prefix usdl-sl:  <http://www.w3.org/TR/usdl/service-level#> .
@prefix vcard:   <http://www.w3.org/2006/vcard/ns#> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .

<http://www.w3.org/TR/usdl/interaction>
      rdf:type owl:Ontology ;
      rdfs:label "Service level module of USDL v3 M5" ;
      dcterms:contributor :Torsten_Leidig ;
      dcterms:created "2011-04-18"^^xsd:date ;
      dcterms:creator :Torsten_Leidig ;
      dcterms:description "Service level module of USDL. Service Level Agreements (SLAs) are a common way to formally specify such functional and non-functional conditions under which services are or are to be delivered. However, SLAs in practice are specified at the top-level interface between a service provider and a service customer only. Customers and providers can use top-level SLAs to monitor whether the actual service delivery complies with the agreed SLA terms. In case of SLA violations, penalties or compensations can be directly derived. The USDL Service Level Module allows modeling such information. The module is derived from our research as part of a multilevel SLA management platform." ;
      dcterms:modified "2011-04-20"^^xsd:date ;
      owl:versionInfo "0.1" .

:Torsten_Leidig
      rdf:type foaf:Person ;
      foaf:name "Torsten Leidig";
      foaf:title "Dr";
      foaf:firstName "Torsten";
      foaf:phone "+49 6227 7 52535";
      foaf:lastName "Leidig" .

:ServiceLevelProfile 
	rdf:type rdfs:Class ;
	rdfs:label "service level profile" ;
	rdfs:comment "The container for the service level profile descriptions of a service. ServiceLevelProfile represents a set of service level specifications that are combined into one profile and which are offered/negotiated/agreed as a whole. Different profiles can be used to specify different options of how service levels may be specified and grouped (e.g., as gold, silver, bronze profile). A ServiceLevelProfile resembles the concept of a Service Level Agreement Template as for example specified in WS-Agreement." ;
	rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> .

:ServiceLevel 
	rdf:type rdfs:Class ;
	rdfs:label "service level" ;
	rdfs:comment "A ServiceLevel specifies a single service level objective as it characterizes an offered, negotiated or agreed service. Service levels are defined by the parties participating in service provisioning, delivery and consumption and express assertions that are claimed or expected to hold during these activities. Such assertions are always attributed to a single party, which is obligated to enforce the service level. From the viewpoint of the party defining the service level two cases are distinguished. Either the defining party obligates itself to ensure the service level, i.e., it claims that the assertion will hold, or the defining party expects the obligated party to ensure the service level, i.e., it requires the other party to enforce the assertion." ;
	rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> .

:GuaranteedState 
	rdf:type rdfs:Class ;
	rdfs:subClassOf :ServiceLevel;
	rdfs:label "guaranteed state" ;
	rdfs:comment "A GuaranteedState is a particular service level that specifies a single state that must be maintained within the lifetime of any service instance, to which the respective service level profile applies." ;
	rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> .

:GuaranteedAction 
	rdf:type rdfs:Class ;
	rdfs:subClassOf :ServiceLevel;
	rdfs:label "guaranteed state" ;
	rdfs:comment "A GuaranteedAction is a particular ServiceLevel that specifies a self-contained activity that must be performed, if and only if during the lifetime of any service instance to which the respective service level profile applies a specific precondition is fulfilled." ;
	rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> .

# Properties

:hasServiceLevelProfile
      rdf:type owl:ObjectProperty ;
      rdfs:comment "Service level profile descriptions for a service" ;
      rdfs:domain :Service ;
      rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> ;
      rdfs:label "has service level "@en ;
      rdfs:range :ServiceLevelProfile .

:hasImplementationSpecification
      rdf:type owl:ObjectProperty ;
      rdfs:comment "Link to resource that contain either the complete formal definition/specification of this service level profile, or additional metadata that supplements the definitions in USDL" ;
      rdfs:domain :ServiceLevelProfile ;
      rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> ;
      rdfs:label "has implementation specification"@en ;
      rdfs:range usdl-f:TechnicalMetadata .

:hasServiceLevel
      rdf:type owl:ObjectProperty ;
      rdfs:comment "Service level descriptions for a service level profile" ;
      rdfs:domain :ServiceLevelProfile ;
      rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> ;
      rdfs:label "has service level"@en ;
      rdfs:range :ServiceLevel .

:obligatedParty
      rdf:type owl:ObjectProperty ;
      rdfs:comment "The party that is in charge to guarantee/enforce this service level" ;
      rdfs:domain :ServiceLevel ;
      rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> ;
      rdfs:label "has service level"@en ;
      rdfs:range usdl-part:Role .

:serviceLevelExpression
      rdf:type owl:ObjectProperty ;
      rdfs:comment "A ServiceLevelExpression specifies an expression that is evaluated in the context of a service level state or action. For this purpose it may reference a set of service level attributes (constants, metrics or variable references) and define relationships between these attributes, e.g. Boolean or arithmetic operands. Typically, it resolves to a Boolean value that indicates whether a guaranteed state is met or whether the precondition to a guaranteed action is fulfilled." ;
      rdfs:domain :ServiceLevel ;
      rdfs:isDefinedBy <http://www.w3.org/TR/usdl/service-level> ;
      rdfs:label "service level expression"@en ;
      rdfs:range xsd:string .



