Modelling, Interlinking and Discovering Capabilities - Semantic Scholar

3 downloads 0 Views 209KB Size Report
Modelling, Interlinking and Discovering Capabilities. Wassim Derguech. Digital Enterprise Research Institute (DERI). National University of Ireland, Galway.
Modelling, Interlinking and Discovering Capabilities Wassim Derguech Digital Enterprise Research Institute (DERI) National University of Ireland, Galway Email:[email protected] www.deri.org

Abstract—Even though the concept of capability is an important element in service oriented architectures and enterprise information systems, little effort has been put towards modelling it as a first class citizen. Major related contributions were part of other efforts such as modelling business processes, service description and search requests. In case of service descriptions, current approaches confuse capabilities with invocation interfaces or do not go beyond the classical IOPEs paradigm. Both approaches do not allow to determine intuitively what the service does. In our work, we are interested in modelling and managing capabilities as stand alone entities, presented via an action verb and a set of domain related attributes. Presenting capabilities as such allows us to represent them at different levels of abstraction and make explicit links between them. These links permit to create a direct acyclic graph. Given this graph, we provide in this paper a heuristic approach for capability discovery. We also present the needed algorithms for building and maintaining such structure. Keywords-Reuse; Capability Description; Service;

I. I NTRODUCTION The concept of capability defines what an action can do from a functional perspective. An action can range from a simple task to a service or an entire business process. One of the objects of a capability description is to allow customers to discover services or business processes that perform particular functionalities that satisfy their needs. In our work, we address the problems related to capability descriptions and their discovery. In such context, a “good capability description” is a must either for allowing machine processing or human centricity. The concept of capability is an important asset either in service computing or process management. Actually, it is even part of their definitions. Indeed, a service is an access mechanism for a certain capability and a business process is a set of ordered activities aiming to achieve a particular business goal. And here a business goal is a capability as perceived from a provider perspective. Although, this concept has not attracted as much attention as it deserves and it has been marginally modeled as part of other concepts such as service description, process modelling or search requests. Currently, with the advent of the Semantic Web, ontologies and languages allowed for several ways to describe

Sami Bhiri Digital Enterprise Research Institute (DERI) National University of Ireland, Galway Email:[email protected] www.deri.org

services [1, 2, 3, 4, 5, 6]. However, current approaches suffer from three main shortcomings. First, they consider capabilities as annotated invocation interfaces and not as functionalities. Second, capabilities are described at several levels of abstraction in terms of Inputs, Outputs, Preconditions and Effects; in such settings, to know what the service does users need to read its documentation. Third, there is no explicit link between these levels and a manual intervention is needed to determine concrete capabilities (i.e., capabilities that satisfy particular customer’s needs). In our work, we plan to provide a meta model for describing capabilities as first class citizens and especially, our meta model should respect three main principles. First, a capability is described via domain specific features. Actually, we represent a capability as an action verb and a set of domain specific properties (i.e., attributes). The action verb as well as these attributes are defined in a domain related ontology that, to some extent, provides the possibles values each attribute can have. Second, capability offers can be generated automatically from the abstract descriptions. Indeed, in a recent work [7], we have defined a set of attribute types that allow for such feature. We have illustrated this via matchmaking scenario [7]. Third, capabilities are described at several levels of abstraction and explicit links between these levels are captured. In fact, we define links based on the attributes and attribute values of capabilities in order to establish a Capability Description Graph that draws essential links between capabilities. We define, in this paper, the concept of Structured Entity in Section II. It allows for modelling any resources that can be defined as a set of attributes and we use it for describing capabilities. Actually, a capability is also an attribute-featured entity that has a particular mandatory attribute which is the action verb and a set of other attributes that define the various domain related properties. In this section, we define also two relations that may exist between structured entities needed to construct a structured entities graph. Describing capabilities as structured entities allows also for creating a Capability Description Graph that we use in the discovery process. Indeed, we provide a heuristic approach for capability discovery based on this graph. This technique takes as input a search request and provides

the exact capability if it exists in the graph otherwise it provides the n most similar capabilities. Section III gives a detailed description of our discovery method. In addition, we provide the necessary algorithms for maintaining this Capability Description Graph. Section IV lists the required algorithms for creating, reducing and updating the graph. Finally, Section VI draws conclusion and future work after discussing and relating our work with existing approaches in Section V. II. S TRUCTURED E NTITIES G RAPH In this section, we introduce the concept of structured entity and define a graph of structured entities. Actually, we use this concept of structured entity in order to model capabilities. In our work, we consider a capability as an attribute feature entity. This entity is defined via an action verb and a set of “attribute”and “value” pairs. The action verb is not a simple lexical term that gives a natural language indication about what a capability does. It is a concept from a domain related ontology that defines the semantics of the action of the capability and to some extent, it defines the required attributes and their possible values. In this section, we present a structured entity as a general concept that can serve any conceptualization for modelling any attribute featured entities. Particularly, in our case, we apply it for modelling capabilities. A. Structured entity A structured entity is any object/thing which is described via a set of attributes. An attribute is a property (in RDF terms). But it is a special kind of property; it is an intrinsic property of the entity. For instance, name, date of birth, address, friend-of, work-in are all properties of an entity Person. Actually, the first three properties are intrinsic properties of a person. However, the last two express rather relationships with other entities (another person and an organisation). We define the concept of attribute as a sub class of the class rdfs:Property. More formally: se:attribute rdfs:subClassOf rdfs:Property1 It is important to note that it is by misnomer and for presentation purposes we say that an attribute of an entity has a value. As explained above an attribute is a property and what we refer here as a value is the range of that property. In our work, we consider this vision of modelling any structured entity by a set of attributes and apply it in modelling capabilities. In a previous work [7], we have presented in details the required attribute types for modelling capabilities. Definition 1 introduces the concept of capability 1 se: is the namespace prefixe that refers to our metamodel for structured entity. rdfs: is the namespace prefixe that refers to http://www.w3.org/2000/01/rdfschema#.

in our meta-model that is considered as an attribute-featured entity. Definition 1. (Capability) A tuple Cap = (ActionVerb,Attributes) is a capability, where: • ActionVerb: This concept has been previously introduced by [3] in order to define, in a natural language, what is the action being described. Different to [3], we consider the action verb as a concept from a domain related ontology that comes form a shared aggreement on its semantics and it also comes with the required attributes for a particular capability and, to some extent, it defines their possible values. • Attributes: Represents a set of pairs (Attribute, AttributeValue) that correspond to the set of characteristics of the capability. An Attribute corresponds to a particular property of the capability and AttributeValue corresponds either to the value or the possible values that this Attribute can have. We refer to [7] for a more detailed definition of the capability and the possible attribute value types that we have defined. B. Relations between entities We define different types of relations between entities. These relations exist based on the entity attributes or/and their values. There are coarse-grained and fine-grained relations. A fine-grained relation indicates which attribute the coarse-grained relation, it derives from, applies on. In this paper, we will detail only the relation specify and extend (coarse and fine-grained versions). Before, we detail these relations, we need to introduce the relation variantOf that may exist between two entities. The relation variantOf has as domain and range rdf:Ressource2 . More formally: se:variantOf rdf:type rdfs:Property se:variantOf rdfs:domain rdfs:Ressource se:variantOf rdfs:range rdfs:Ressource The relation variantOf unifies, in fact, the two relations rdfs:subClassOf and rdf:type. More formally, for all resources r1 and r2 : r1 rdfs:subClassof r2 OR r1 rdf:type r2 ⇒ r1 se:variantOf r2 We do not distinguish between a sub class and an instance. In fact, as we consider these resources as classes, they might correspond to sets in set-theory. These relations (i.e., subclass and instance) are equivalent. Actually, a subclass relation corresponds to the subset relation and similarly for the instantiation. An instance is in fact a set of one element. Before defining the relations specify and extend, we need to introduce a running example that will be used 2 rdf: is the namespace prefixe http://www.w3.org/1999/02/22-rdf-syntax-ns#

that

refers

to

for illustrating these relations. As it has been mentioned previously, we apply the notion of structured entity for representing capabilities and these relations between structured entities hold as well between capabilities. In such context, we will introduce a running example for representing delivery capabilities. !"#$$#%&'($)* +,-.%/0123*4506#7018* 9:0;3*5.3

Suggest Documents