Linked USDL (Unified Service Description Language) was developed for describing business and software services using computer-readable and computer understandable specifications to make them tradable on the web/Internet . Linked USDL takes the form of a reference vocabulary which is an approach used in many fields to facilitate the exchange of data and integration of information systems. For example, online social networks rely on FOAF to describe people and relationships; computer systems use WSDL to describe distributed software-based services; GoodRelation is used to mainly describe products; and business-to-business systems use ebXML to describe transactions, orders, and invoices. Adding to these existing standards, Linked USDL describes services in a comprehensive way by providing a business or commercial description around services. Therefore, Linked USDL is seen has one of the foundational technologies for setting up emerging infrastructures for the Future Internet, web service ecosystems, and the Internet of Services.
Services and service systems, such as cloud services and digital government services, are showing increasing interests from both academia and industry.
Among the many aspects which still require to be studied, such as service innovation, design, analytics, optimization, and economics, service description is one of the most pressing and critical components since it is a keystone supporting a web of tradable services.
While several service description languages have been developed over the past 10 years to model software-based service descriptions, such as WSDL, OWL-S, SAWSDL, e3service, and e3value ontologies, a language that also covers business and interaction aspects is missing. This paper summarizes our efforts to create USDL and, more recently, Linked USDL, a family of languages providing a comprehensive view on services to be used by providers, brokers, and consumers when searching, evaluating, and selecting services.
The initial main driving organization behind the first two versions of USDL was SAP Research. The two initial versions of USDL (versions 1.0 and 2.0) started to be developed in 2007 and were ready in 2009. They were built using XML Schema. Later, in 2011, based on the experience gained from the first developments, a W3C Incubator group was created and USDL was extended leading to version 3.0. In 2012, version 4.0 was created and renamed to Linked USDL since its development followed Linked Data principles.
Currently, Linked USDL is the version most often used to develop infrastructures and applications to manage services. The objective is to shift from a closed solution to a language which enabled the large scale, open, adaptable, and extensible description of services using a decentralized management. The use of Linked Data enabled USDL to inherit many distinctive aspects such as unique service addresses on the web via the use of URIs and the description data about services is published in a computer-readable and -understandable format.
The rationale behind the use of Linked Data is the requirement that USDL descriptions should be shared between interested parties and linked to other descriptions, standards, and vocabularies. Linked Data technologies are particularly suitable for supporting and promoting this level of web-scale interlinking. Globalization truly happens only when people, devices, processes, and services are all connected into a global network.
Versions 1.0, 2.0, and 3.0 of USDL have been discontinued and are no longer supported. Linked USDL introduces many changes and follows a different philosophy when compared to its predecessors. While the core and pricing models for Linked USDL are finalized, work on developing and aligning several modules of the specification (e.g. legal, security, and service level) with various use cases (e.g., higher education, cloud computing, and human-based services) is still in progress. The modular approach followed, separating the different service aspects into independent vocabularies, has proved to be efficient, flexible, and easy to be processed by service delivery platforms.
Figure 1. The evolution of USDL and Linked USDL.
Linked USDL Family
Linked USDL is segmented into modules that together form the Linked USDL family. The objective of this division is to reduce the overall complexity of service modeling by enabling providers to only use the modules needed. Currently, five modules exist but they have different maturity levels. The modules identified with one star (*) have been developed only as a proof of concept. The modules identified with two stars (**) have passed the proof-of-concept stage and are being finalized. The modules identified with three stars (***) are ready and have been validated.
- usdl-core (***). The core module covers concepts central to a service description. It includes operational aspects, such as interaction points that occur during provisioning, and the description of the business entities involved.
- usdl-price (***). The pricing module provides a range of concepts which are needed to adequately describe price structures in the service industry.
- usdl-agreement (**). The service level module gathers functional and nonfunctional information on the quality of the service provided, e.g., availability, reliability, and response time.
- usdl-sec (*). This module aims at describing the main security properties of a service. Service providers can use this specification to describe the security features of their services.
- usdl-ipr (*). This module captures the usage rights of a service, which are often associated with the concept of copyright.
The usdl-agreement module is being reconstructed with the objective to align it with the WS-Agreement specification. Customers and providers can use usdl-agreement to create service level agreements to, afterwards, monitor whether the actual service delivery complies with the service level agreed terms. In case of violations, penalties or compensations can be directly derived.
Linked USDL Core can be regarded as the center of the Linked USDL family since it ties together all aspects of service descriptions distributed across the USDL modules. Figure 2 shows the conceptual diagram of the core module.
Classes are represented with an oval, while properties with an edge. Linked USDL Core has 12 classes and 13 properties (the reader is referred to  to understand the purpose of using external vocabularies such as GoodRelations, SKOS, and MSM).
Other modules are being developed as proofs of concept. For example, Linked Service System USDL (LSS USDL) provides modeling constructs to capture the concepts of a service system. While Linked USDL looks into the external description of a service, i.e., a service is seen as a black box, LSS USDL looks inside the ’box’ to describe its elements.
Service standards are expected to drive the industrialization of the service market, to increase transparency and access, to lead to higher trading of services across countries, and to contribute to a new level of service innovation by aggregation or composition. Linked USDL fills the gap by proposing a specification language which enables the unified formalization of business and technical aspects.
Figure 2. Linked USDL Core Schema.
See Modeling Example
The class usdl:Service provides the entry point for the description.
- Associating a service model with the service.
- Specifying the business entities participating during service provisioning.
- Enumerating the interaction points provided by the service.
The class usdl:ServiceModel is used to create groupings of services that share a number of characteristics.
The class usdl:EntityInvolvement captures the usdl:BusinessEntities involved in the service delivery and the usdl:Role they play.
Linked USDL provides a reference taxonomy of basic business roles that cover the most typical ones encountered during service modeling such as regulator, intermediary, producer, and consumer. The prefix usdl-br identifies the taxonomy usdl-business-roles which defines the default roles available.
The description include the ISIC (International Standard Industrial Classification of All Economic Activities) code and the NAICS (North American Industry Classification System) code, legal name, tax ID number, and country where the company is located.
An interaction point (usdl:InteractionPoint) represents an actual step in performing the operations made available by a service. On a personal level, an interaction point can model 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). On a technical level, this can translate into calling a web service operation. An interaction point can be initiated by the consumer or the provider.
Interaction points define four main pieces of information:
- The communication channels that customers or applications can use to interact with a service.
- The entities that are involved during the interaction.
- The resources that are needed for an interaction.
- The resources that are generated from an interaction.
Communication channels are additionally characterized by their interaction type. Linked USDL provides two reference taxonomies covering the main modes (e.g., automated, semi-automated, and manual) and the interaction space (e.g., on-site and remote).
The specification describes how customers can ask for information to use the service. This can be done by using traditional mail, a telephone, or email. All the communication channels require a manual (usdl-it:manual) and remote (usdl-it:remote) interaction. This means that humans, not software applications, will be involved in the interaction.
The example also indicates the role of the two entities that will interact; both will be participants. This information is represented using the class usdl:EntityInteraction which links interaction points to business entity types (e.g., provider, intermediary, and consumer), and the role they play within the interaction (e.g., initiator, mediator, and receiver). The interaction point receives (usdl:receives) and yields (usdl:yields) resources. Receives is the input required and yields corresponds to the outcome yielded by an interaction point. The example shows that the interaction point ip Advertise receives an dbpedia:Advertising and yields a dbpedia:Contract. Naturally, other computer-processable data sources such as freebase.com can be used.
We may specify a fully automated interaction which does not require human intervention. Linked USDL covers the most widely used human-based communication channels (e.g., email, phone, and mail) by means of vCard (a standard for electronic contact details), and application-driven channels (e.g., SOAP and REST Web services) by relying on the Minimal Service Model (MSM).
See Related Work:
- WSDL – describing technical aspects of web services using syntax
- OWL-S, SAWSDL and WSMO – descriptions languages to provide semantics
- e3 family of ontologies
- H Akkermans, Z Baida, J Gordijn, N Pen˜a, et al. Value Webs: Ontology-Based Bundling of Real-World Services. IEEE Intelligent Systems, 19(4):57–66, 2004.
- Mika¨el Barbero, Fr´ed´eric Jouault, Jeff Gray, and Jean B´ezivin. A practical approach to model extension. In MDA – Foundations and Applications. Springer, 2007.
- Alister Barros and Daniel Oberle. Handbook of Service Description: USDL and Its Methods. Springer, 2012.
- Christian Bizer, Tom Heath, and Tim Berners-Lee. Linked data – the story so far. International Journal on Semantic Web and Information Systems, 4(2):1–22, 2009.
- The standardisation environment for cloud computing. Technical report, Germany Federal Ministry of Economics and Technology, Feb. 2012.
- Cardoso, A. Barros, N. May, and U. Kylau. Towards a unified service description language for the internet of services: Requirements and first developments. In IEEE International Conference on Services Computing (SCC), pages 602 –609, July 2010.
- Jorge Cardoso, Matthias Winkler, and Konrad Voigt. A service description language for the internet of services. In Symp. on Services Science (ISSS’09), 2009.
- Anne Geraci. IEEE Standard Computer Dictionary: Compilation of IEEE Standard Computer Glossaries. IEEE Press, 1991.
- Jaap Gordijn, Eric Yu, and Bas van der Raadt. e-service design using i* and e3value modeling. IEEE Software, 23:26–33, 2006.
- Martin Hepp. GoodRelations: An Ontology for Describing Products and Services Offers on the Web. In Knowledge Engineering: Practice and Patterns. Springer, 2008.
- Kopecky, T. Vitvar, C. Bournez, and J. Farrell. SAWSDL: Semantic Annotations for WSDL and XML Schema. Internet Computing, IEEE, 11(6):60 –67, 2007.
- Maurizio Lenzerini. Data integration: A theoretical perspective. In of the 21st symposium on principles of database systems, pages 233–246. ACM, 2002.
- Martin, M. Burstein, J. Hobbs, O. Lassila, D. McDermott, et al. OWL-S: Semantic markup for web services. W3C Member submission, 22:2007–04, 2004.
- Paskin. Toward unique identifiers. Proceedings of the IEEE, 87(7):1208–1227, July 1999.
- Carlos Pedrinaci, Jorge Cardoso, and Torsten Leidig. Linked USDL: A vocabulary for web-scale service trading. In 11th Ext. Semantic Web Conference, Greece, 2014. 16. Carlos Pedrinaci, John Domingue, and Amit Sheth. Handbook on Semantic Web Technologies, volume Semantic Web Applications, chapter Semantic Web Services. Springer, 2010.