The aim of a resources repository is not only to collect heteroge-nous knowledge resources but especially to offer instruments for reusing them. In order to formalize the definition of processes over these resources, we have defined a set of generic primitive operations [Grauet al. 2008, Falquetet al. 2008]. We represent them using an abstract class within the TOK_Onto. Each operator can support multiple implementations depend-ing on the resources that are used as input. These operators are applied in order to generate new resources, which leads to the evolution of resources.
4.3 Representing resources management
For defining the ontology modules that are used for representing resources management operators and resources evolution, we will use elements of an existing ontology called OWL-S [Bursteinet al. 2004]. The semantic markup for web services is an ontology that models services in a declarative way in order to build a standard vocabulary for service descriptions. This ontology contains three modules for representing profiles, services and groundings (see figure 4.10). We imported the profiles module into our ontology.
Figure 4.10: Semantic Markup for Web Services ontology modules [Bursteinet al. 2004]
4.3.1 Resources engineering operators representation
The definition of resources management operators depends on the usage of the resources within the context of knowledge management and reuse. Many contributions in the literature propose tools and models for reusing and shar-ing knowledge. We define a resources management operator as an entity that uses one or multiple knowledge resources and provokes changes on entities of theses resources to generate modified new resource.
In the OWL-S ontologies, services are represented using a profile defini-tion. Within the specifications document, a service profile is referred to as:
“An OWL-S Profile describes a service as a function of three basic types of in-formation: what organization provides the service, what function the service computes, and a host of features that specify characteristics of the service.”5. We made the choice of using of the OWL-S ontology to describe resources management and combination operators within the repository because this ontology represents the standard vocabulary for service representation.
In the process of defining and representing knowledge resources manage-ment and combination (i.e. engineering) operators (alignmanage-ment, integration, annotations, composition, etc.) we realized that they can be modeled as services profiles. The model of resources operators is intended to define their signatures and types. Each profile is then instantiated by a specific im-plementation. For example, an ontology matching operator can be defined as a matching operator that has as category “Ontology Matcher’’, as input at least two resources of type “Ontology” and as result a resource of type
“Ontology alignment”, etc.
The profile representation in OWL-S (see figure 4.11) is used as a provider of the model that represents knowledge resources engineering operators but the actual representation of these operators in the TOK_Onto is defined by the class Resources_Management_Operator, which is a subclass of Profile.
The following restrictions are applied in order to give a specific representation of these operators in the context of the our research area (Heterogeneous knowledge resources combination and management).
• Resources_Management_Operator v Profile
• Resources_Management_Operator v ∃input Knowledge_Resource
• Resources_Management_Operator v ∀keywords Datatype:string
• Resources_Management_Operator v ∃output Knowledge_Resource
• Resources_Management_Operator v ∀name Datatype:string
• Resources_Management_Operator v ∀uses_method Knowledge_Processing_Method
5Sourcehttp://www.w3.org/Submission/OWL-S/
• Resources_Management_Operator v ∀description Datatype:string
• Resources_Management_Operator v ∃argument Object
• Resources_Management_Operator v ∀uses_implementation Implementation_Source
• Resources_Management_Operator v ∀uses_methodology Knowledge_Engineering_Methodology
Figure 4.11: OWLS profiles representation [Bursteinet al. 2004]
4.3.2 Process monitoring representation
The application of operators for managing and combining knowledge re-sources generates new knowledge rere-sources and can also change the content or the representation of a specific resource. Since the provenance of each resource is a required element for their presentation, the application of an operator or a sequence of operators on a set of knowledge resources have to be represented and stored as a provenance element.
Besides the application of operators, transforming or combining knowl-edge from different resources requires the application of a sequence or a set of operators, which leads us to a need for representing not only knowledge engineering processes but also knowledge engineering operations.
We define a process as a sequence of operators applied on the resources and their content. The process is represented using the class Knowl-edge_Engineering_Task. and an element of a process is represented by the Process_Monitoring_Element class:
• Knowledge_Engineering_Task v ∀acronym Datatype:string
• Knowledge_Engineering_Task v ≤ 1 description
• Knowledge_Engineering_Task v ∀name Datatype:string
• Knowledge_Engineering_Task v ∀description Datatype:string
• Knowledge_Engineering_Task v ≤ 1 documentation
• Knowledge_Engineering_Task v ≤ 1 acronym
• Knowledge_Engineering_Task v ∀documentation Datatype:string
• Knowledge_Engineering_Task v ≥ 1 composedOf Process_Monitoring_Element
• Process_Monitoring_Element v ∃reference Datatype:anyURI
• Process_Monitoring_Element v ∃description Datatype:string
• Process_Monitoring_Element v ∃uses_algorithm Algorithm
• Process_Monitoring_Element v ∀uses_operator Resources_Management_Operator
• Process_Monitoring_Element v ∀uses_method Knowledge_Processing_Method
• Process_Monitoring_Element v ∀output Knowledge_Resource
• Process_Monitoring_Element v ∀has_run_date Datatype:dateTime
• Process_Monitoring_Element v ∀argument Datatype:anyURI
• Process_Monitoring_Element v ∀input Knowledge_Resource
• Process_Monitoring_Element v ∀executedBy Party
• Process_Monitoring_Element v ∃status Datatype:string
• Process_Monitoring_Element v ∃acronym Datatype:string
By means of processes descriptions we aim to construct a process dictio-nary that stores each instance of a process and apply it each time there is an evolution of the involved resources. To describe these processes we used the OWL-S derive module, which is able to represent services of a certain profile or a composition of services of different profiles. The execution of a task that changes a resource creates an evolution-tracking element.
4.3.3 Resources evolution-tracking
Knowledge resources engineering within a repository requires tracking all the events that initiate a change of a resource. There are multiple approaches that have been proposed for modelling evolution and changes within re-sources [Berkes 2009, Stojanovic 2004]. We define an evolution as a change within an entity or a version of a resource within the repository. A change
action is represented as a modification that has as range either a resource as a whole or an entity of a resource.
Since we are managing knowledge resources and the processes that we are monitoring are applied on resources, then a change is always brought to the scale of the resource and an evolution is then represented as follows:
• Resource_Evolution_Execution v ∃executedBy Party
• Resource_Evolution_Execution v ∀has_run_date Datatype:dateTime
• Resource_Evolution_Execution v ∀documentation Datatype:anyURI
• Resource_Evolution_Execution v ∀acronym Datatype:anyURI
• Resource_Evolution_Execution v ∀endorsedBy Party
• Resource_Evolution_Execution v ∀uses_operator Resources_Management_Operator
• Resource_Evolution_Execution v ∀description Datatype:string
• Resource_Evolution_Execution v ∀evolution_action Resources_Evolution_Action
• Resource_Evolution_Execution v ∀status Datatype:string
• Resource_Evolution_Execution v ∃involves(Knowledge_Resource t Resource_Entity)
• Resource_Evolution_Execution v ∀reference Datatype:anyURI
• Resource_Evolution_Execution v ∀applied_to Knowledge_Resource
When a resource is modified (partially or wholly) as a result to an ap-plication of a process then all the processes executions that use this same resource are triggered to be re-executed to generate in their turn new ver-sions of the existing output. Many techniques can be used to manage the process execution and resource evolution within the repository. We prepared the models and structures to represent these events but we will not focus on defining an approach for resources evolution management.