The document discusses the Linked-USDL (Unified Service Description Language), which is an ontology for describing services using semantic web principles. It provides an overview of the Linked-USDL modules, syntax, core classes and properties for describing services, service models, offerings, interactions and more. The goal is to develop a standardized way to describe services in a holistic manner, covering both business and technical aspects.
1. www.genssiz.org
Linked-USDL
13 November 2012
Jorge Cardoso
Dept. Engenharia Informatica/CISUC
University of Coimbra
Coimbra, Portugal
jcardoso@dei.uc.pt
2012 Information Systems Management 1
2. Research on services
• Software and IT perspective
– WSDL, SOA, ITIL, …
• Sales, communications and business
models perspective
– Marketing, pricing, channels, …
• Design perspective [CM2012]
– Blueprinting, personas, customer journey, …
[CM2012] Cardoso, J. and Miller, J. A Internet-Based Self-Services: from Analysis and Design to Deployment. In
2012 Information Systems Management
The 2012 IEEE International Conference on Services Economics (SE 2012), IEEE Computer Society, Hawaii, 2
USA, 2012.
3. Software and IT perspective
• Service architectures
– SOA and SoaML
• Service description languages
– WSDL , OWL-S, and WSMO
• Business-oriented descriptions
– e3value, e3service, business models
• Best practices
– ITIL and CMMI for Services
2012 Information Systems Management 3
4. SoaML
OWL-S
WSDL
Services as _functions_
Services as _business_
ITIL
2012 Information Systems Management 4
e3value
5. _Business services_
Consulting IT Services Cloud services
Manual Semi-automatic Fully Automated
2012 Information Systems Management 5
7. Open Services
• Service versus Web service
– Aggregates, structures and configures people, resources, and information to create new value for
consumers.
• Social process
– Firms, groups and individuals (i.e. the community) are equal participants which freely cooperate to
provide information on services.
• Self-governance
– Service are common good which the community tries to create by using forms of decision-making and
autonomy that are widely distributed.
• Openness and free-access
– The services created, being the elements of value created by the community, are freely accessible on a
universal basis.
• Autonomy and distribution
– The participants of the community have the autonomy to advertise their know-how, capabilities and skills
in the form of services to the world.
• Semantic services
– Services are said to be semantic since they explicitly describe their services using a conceptual or
domain model, shared vocabularies.
2012 Information Systems Management
[CPL+2012] Cardoso, J.; Pedrinaci, C.; Leidig, T.; Rupino, P. and Leenheer, P. D Open semantic service networks. In The 7
International Symposium on Services Science (ISSS 2012), pages 1-15, Leipzig, Germany, 2012.
8. USDL
• Unified Service
Description Language
• Master data model for services
• Describe various types of services
– professional to electronic services
• Holistic
– business aspects such as ownership and provisioning,
pricing and legal aspects, in addition to technical
aspects.
2012 Information Systems Management 8
9. USDL History
• a-USDL/2009
– Initial version of USDL [CBM+2010] ready in 2009.
– Later renamed to a-USDL (pronounced alpha-USDL).
– http://www.genssiz.org/research/service-modeling/alpha-usdl/
• USDL/2011
– A W3C Incubator group was created USDL was adapted and
extended based on industry feedback at the end of 2011.
– http://www.w3.org/2005/Incubator/usdl/
• Linked-USDL/--
– In order to make the specification gain a wider acceptance, a version
called Linked-USDL emerged using Semantic Web principles Iits
development is still in progress.
– http://linked-usdl.org/
[CBM+2010] Cardoso, J.; Barros, A.; May, N. and Kylau, U. Towards aSystems Service Description Language for the Internet of Services: 9
2012 Information Unified Management
Requirements and First Developments. In IEEE International Conference on Services Computing, IEEE Computer Society Press, Florida, USA, 2010.
19. Notation
• Turtle allows the semi-colon to separate predicate-
object pairs for the same subject.
• A list of such pairs is terminated with a period.
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>.
@prefix dc: <http://purl.org/dc/elements/1.1/#>.
@prefix exterms: <hhttp://www.example.org/terms/>.
<http://www.example.org/index.html>
exterms:creation-date "August 16, 1999";
dc:language "en";
dc:creator <http://www.example.org/staffid/85740>.
2012 Information Systems Management 19
21. USDL is an ontology
<http://linked-usdl.org/ns/usdl> a owl:Ontology;
dc:title "Linked-USDL Core";
dc:description """<p>This vocabulary provides …most of the original
USDL specification with some useful simplifications. """;
dc:modified "2012-09-20"^^xsd:date;
vann:preferredNamespaceUri "http://www.linked-usdl.org/ns/usdl#";
vann:preferredNamespacePrefix "usdl";
foaf:page <http://linked-usdl.org/ns/usdl.html>;
dc:creator
<http://linked-usdl.org/ns/usdl#cpedrinaci>,
<http://linked-usdl.org/ns/usdl#jcardoso>,
<http://linked-usdl.org/ns/usdl#tleidig> .
2012 Information Systems Management 21
22. usdl:Service
usdl:Service a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "service";
rdfs:comment "A usdl:Service is a 'black box' description of a service for
the purpose of describing the service in a way that it can serve as an
interface between the provider and the consumer. The description contains
functional properties of the service, described by the interaction protocol as
well as non-functional properties described by qualitative or quantitative
values. Any composite implementation of a service that is internal is
invisible, however arbitrarily complex an actual service composition may be,
it can be described using supplemental service network vocabularies,
which are beyond the USDL Core vocabulary.";
rdfs:subClassOf gr:ProductOrService .
.
2012 Information Systems Management 22
23. usdl:ServiceOffering
usdl:ServiceOffering a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "service offering";
rdfs:comment "A service offering is an offering made by a
gr:BusinessEntity of one or more services to the public or specific
customers. It usually gives defines a price and terms and conditions
including service level agreements";
rdfs:subClassOf gr:Offering .
2012 Information Systems Management 23
24. usdl:ServiceModel
usdl:ServiceModel a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "service model";
rdfs:comment "A ServiceModel is used to represent 'classes' of
services, i.e. services that share a number of characteristics.
ServiceModel enables the capturing of these characteristics.";
rdfs:subClassOf
usdl:Service,
gr:ProductOrServiceModel .
2012 Information Systems Management 24
25. usdl:hasServiceModel
usdl:hasServiceModel a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has service model";
rdfs:comment "Refers to the service model that specifies
properties valid for all services of this model";
rdfs:domain usdl:Service;
rdfs:range usdl:ServiceModel;
rdfs:subPropertyOf gr:hasMakeAndModel .
2012 Information Systems Management 25
26. usdl:Condition
usdl:Condition a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "Condition";
rdfs:comment """<p>The class of conditions for a milstone.
Preconditions or postcondition</p>""".
2012 Information Systems Management 26
27. usdl:hasClassification
usdl:hasClassification a rdf:Property;
rdfs:subPropertyOf dc:subject;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "classification";
rdfs:comment "Indicates a classification of a service.";
rdfs:domain usdl:Service;
rdfs:range skos:Concept.
2012 Information Systems Management 27
29. usdl:includes
usdl:includes a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "includes";
rdfs:comment """A ServiceOffering bundles a number of services
and associates concrete service levels and pricing for for the
purpose of selling to customers. The ServiceOffering is the client's
view on services on a service marketplace. Services are usually
purchased via a specific ServiceOffering.""";
rdfs:subPropertyOf gr:includes;
rdfs:domain usdl:ServiceOffering;
rdfs:range usdl:Service .
2012 Information Systems Management 29
30. usdl:receives
• Physical
• Human beings
• Information
• Knowledge
• Constraints
• Money
2012 Information Systems Management 30
31. usdl:receives
usdl:receives a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "receives";
rdfs:comment """<p>Input required for the interaction</p>""";
rdfs:domain usdl:InteractionPoint;
rdfs:range rdfs:Resource.
2012 Information Systems Management 31
32. usdl:yields
• Physical resources
• Information
• Knowledge
• Waste
• Money
2012 Information Systems Management 32
33. usdl:yields
usdl:yields a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "yields";
rdfs:comment """<p>Outcome yield by an interaction</p>""";
rdfs:domain usdl:InteractionPoint;
rdfs:range rdfs:Resource.
2012 Information Systems Management 33
34. InteractionPoints
• Blueprint
– line of interaction
• E.g. face-to-face
actions between
employees and
customers
2012 Information Systems Management 34
35. usdl:InteractionPoint
usdl:InteractionPoint a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "Represents an interaction point";
rdfs:comment "An InteractionPoint represents an actual step in
accessing and performing operations of the service. On a technical
level this could translate into calling a Web Service operation. On a
professional level, it could mean that consumer and provider meet in
person to exchange service parameters or resources involved in the
service delivery (e.g. documents that are processed by the
provider). An interaction can be initiated by the consumer or the
provider." .
2012 Information Systems Management 35
36. usdl:hasInteractionPoint
usdl:hasInteractionPoint a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has interaction";
rdfs:comment """<p>Interactions that are part of the interaction
protocol</p>""";
rdfs:domain usdl:Service;
rdfs:range usdl:InteractionPoint .
2012 Information Systems Management 36
37. usdl:hasPrecondition
usdl:hasPrecondition a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has precondition";
rdfs:comment """<p>Preconditions to be fulfilled to perform the
Interaction or InteractionProtocol.</p>""";
rdfs:domain usdl:InteractionPoint;
rdfs:range usdl:Condition .
2012 Information Systems Management 37
38. usdl:hasPostcondition
usdl:hasPostcondition a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has postcondition";
rdfs:comment """<p>Postcondition that holds if the phase was
performed successfully</p>""";
rdfs:domain usdl:InteractionPoint;
rdfs:range usdl:Condition .
2012 Information Systems Management 38
39. Interaction Type
• Type
– Human-Machine
– Machine-Human
– Machine-Machine
– Human-Human
2012 Information Systems Management 39
40. usdl:hasInteractionType
usdl:hasInteractionType a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has interaction type";
rdfs:comment "How can a customer participate in an interaction.
Possible values are: Human-Machine, Human-Human,
Machine-Human, Machine-Machine";
rdfs:domain usdl:InteractionPoint;
rdfs:range <http://www.w3.org/2000/01/rdf-schema#Literal>.
2012 Information Systems Management 40
42. usdl:hasInteractionSpace
usdl:hasInteractionSpace a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has interaction space";
rdfs:comment "Does the interaction between customer and
provider occurs at the same physical place?
Or the interaction is mediated by technology?
Possible values are: Presential, Remote";
rdfs:domain usdl:InteractionPoint;
rdfs:range <http://www.w3.org/2000/01/rdf-schema#Literal>.
2012 Information Systems Management 42
43. Interface
• Specifies
– Inputs
– Outputs
• Has a technical
realization or
implementation
– Will be added in the
future
2012 Information Systems Management 43
44. usdl:hasInterface
usdl:hasInterface a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has interface";
rdfs:comment """<p>Interactions can have an interface such as
phone, fax, emaill, Web form, Web service, etc. </p>""";
rdfs:domain usdl:InteractionPoint;
rdfs:range usdl:Interface .
2012 Information Systems Management 44
45. Participants, role, agents
• Participant
– Agent
– Role
• Customer
• Provider
• Partners
InteractionPoint
2012 Information Systems Management 45
46. usdl:hasParticipant
usdl:hasParticipant a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has participant";
rdfs:comment "Captures the participants involved in a
concrete Interaction.";
rdfs:domain usdl:InteractionPoint;
rdfs:range usdl:Participant.
2012 Information Systems Management 46
47. usdl:Participant
usdl:Participant a rdfs:Class, owl:Class;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "Participant";
rdfs:comment "Participant is a class to capture the
participation of Entities in a certain Interaction".
2012 Information Systems Management 47
48. usdl:hasAgent
usdl:hasAgent a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has agent";
rdfs:comment "Captures the participants involved in a
concrete Interaction.";
rdfs:domain usdl:Participant;
rdfs:range gr:BusinessEntity.
2012 Information Systems Management 48
49. usdl:hasRole
usdl:hasRole a rdf:Property;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "has role";
rdfs:comment "Role played in a particular Interaction.";
rdfs:domain usdl:Participant;
rdfs:range usdl:Role.
2012 Information Systems Management 49
50. usdl:Role
usdl:Role a skos:Concept;
rdfs:isDefinedBy <http://linked-usdl.org/ns/usdl>;
rdfs:label "Types of Roles";
rdfs:comment "The kinds of Role that an entity may
play within a certain Interaction".
2012 Information Systems Management 50
51. Some important roles
usdl:Provider a usdl:Role;
rdfs:label "Provider";
skos:prefLabel "Provider";
skos:altLabel "Supplier";
skos:definition "A Provider is the entity responsible for providing the Service".
usdl:Consumer a usdl:Role;
rdfs:label "Consumer";
skos:prefLabel "Consumer";
skos:definition "A Consumer is the entity actually using the Service".
usdl:Partner a usdl:Role;
rdfs:label " Partner";
skos:prefLabel "Partner";
skos:definition "An business partner is any other participant that acts on behalf of the
provider as a third party".
2012 Information Systems Management 51
52. Example http://aws.amazon.com/ec2/
2012 Information Systems Management 52
53. :pricing_EC2_Small_EU_Windows_ReservedInstance_Light_1yr a price:PricePlan ;
dcterms:description "Price plan for a 'Small' EC2 Reserved Instance in Europe with Windows, light utilization and a one year
contract duration."@en ;
price:hasContractDuration
@prefix price: <http://www.linked-usdl.org/ns/usdl-pricing#>
[ a gr:QuantitativeValue ;
gr:hasValueInteger "1" ;
gr:hasUnitOfMeasurement "ANN" ] ;
price:hasBillingCycle
[ a gr:QuantitativeValue ;
gr:hasValueInteger "1" ;
gr:hasUnitOfMeasurement "MON" ] ;
price:hasPriceComponent
:priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Upfront ,
:priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Hourly ,
:priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Upfront a price:PriceComponent ;
dcterms:title "General costs upfront"@en ;
dcterms:description "One-time fee for general usage of the instance."@en ;
price:isLinkedTo
…
price:hasPrice
[ a gr:UnitPriceSpecification ; Outdated
gr:hasCurrency "USD" ;
gr:hasCurrencyValue "69" ;
gr:hasUnitOfMeasurement "C62" ] .
:priceComponent_Small_EU_Windows_ReservedInstance_Light_1yr_General_Hourly a price:PriceComponent ;
dcterms:description "Hourly fee for general usage of the instance."@en ;
price:isLinkedTo
:resource_EC2_DataCentre_EU ,
:resource_EC2_Windows ;
price:hasPrice
[ a gr:UnitPriceSpecification ;
gr:hasCurrency "USD" ;
gr:hasCurrencyValue "0.069" ;
2012 Information Systems Management
gr:hasUnitOfMeasurement "HUR" ] . 53
54. Core
Outdated
2012 Information Systems Management 54
55. Core
Outdated
2012 Information Systems Management 55
57. SLA
Outdated
2012 Information Systems Management 57
58. SLA
Outdated
2012 Information Systems Management 58
59. :slp_Support_Silver a usdl:ServiceLevelProfile ;
dcterms:title "Bronze support service level profile" ;
sla:hasServiceLevel :slo_Support_Silver_ResponseTime .
:slo_Support_Silver_ResponseTime a sla:GuaranteedState ;
dcterms:title "Response time" ;
sla:serviceLevelExpression
[ a sla:ServiceLevelExpression ;
dcterms:description "Maximum period in which response
is sent."@en ;
sla:hasVariable :var_Support_Silver_ResponseTime ] .
Outdated
:var_Support_Silver_ResponseTime a sla:Variable ;
rdfs:label "Fastest guaranteed response" ;
sla:hasDefault
[ a support:ResponseTime ;
gr:hasValue "4" ;
gr:hasUnitOfMeasurement "HUR" ] .
2012 Information Systems Management 59
60. Legal @prefix legal: <http://www.linked-usdl.org/ns/usdl-legal#>
:legal_Amazon a legal:TermsAndConditions ;
dcterms:title "Amazon Web Services LLC's legal statements"@en ;
dcterms:description "Amazon Web Services LLC's legal statements are accessible at
'http://aws.amazon.com/legal/'. Please consult this website for further information"@en ;
legal:hasClause
[ a legal:Clause ;
legal:name "AWS Customer Agreement" ;
legal:text "http://aws.amazon.com/agreement"@en ] ,
[ a legal:Clause ;
legal:name "AWS Services" ;
legal:text "http://aws.amazon.com/serviceterms"@en ] ,
[ a legal:Clause ;
legal:name "AWS Acceptable Use Policy" ;
legal:text "http://aws.amazon.com/aup"@en ] ,
[ a legal:Clause ;
legal:name "AWS Trademark Guidelines" ;
Outdated
legal:text "http://aws.amazon.com/trademark-guidelines"@en ] ,
[ a legal:Clause ;
legal:name "AWS Sites" ;
legal:text "http://aws.amazon.com/terms"@en ] ,
[ a legal:Clause ;
legal:name "Privacy Policy" ;
legal:text "http://aws.amazon.com/privacy"@en ] ,
[ a legal:Clause ;
legal:name "AWS Tax Help" ;
legal:text "http://aws.amazon.com/tax-help"@en ] .
2012 Information Systems Management 60
61. Programming Java
• Goto http://jena.apache.org/
• Download Java Core (apache-jena-2.7.3)
• Use Eclipse, for example.
• Add Jena JARS
• Write some code
• Compile and run!
• RDF Validator and Converter
– http://www.rdfabout.com/demo/validator/
2012 Information Systems Management 61
62. References
• [CM2012] Cardoso, J. and Miller, J. A Internet-Based Self-Services: from
Analysis and Design to Deployment. In The 2012 IEEE International
Conference on Services Economics (SE 2012), IEEE Computer Society,
Hawaii, USA, 2012.
• [CPL+2012] Cardoso, J.; Pedrinaci, C.; Leidig, T.; Rupino, P. and Leenheer,
P. D Open semantic service networks. In The International Symposium on
Services Science (ISSS 2012), pages 1-15, Leipzig, Germany, 2012.
• [CBM+2010] Cardoso, J.; Barros, A.; May, N. and Kylau, U. Towards a
Unified Service Description Language for the Internet of Services:
Requirements and First Developments. In IEEE International Conference
on Services Computing, IEEE Computer Society Press, Florida, USA, 2010.
2012 Information Systems Management 62