<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Modelling autonomic dataspaces using answer sets</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Gabriela</forename><surname>Montiel-Moreno</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Research Center of Information and Automation Technologies Universidad de las Américas</orgName>
								<address>
									<addrLine>Sta. Catarina Mártir s/n</addrLine>
									<postCode>72820</postCode>
									<settlement>Puebla, San Andrés Cholula</settlement>
									<country key="MX">México</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">José</forename><forename type="middle">Luis</forename><surname>Zechinelli-Martini</surname></persName>
							<affiliation key="aff0">
								<orgName type="department">Research Center of Information and Automation Technologies Universidad de las Américas</orgName>
								<address>
									<addrLine>Sta. Catarina Mártir s/n</addrLine>
									<postCode>72820</postCode>
									<settlement>Puebla, San Andrés Cholula</settlement>
									<country key="MX">México</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Genoveva</forename><surname>Vargas-Solar</surname></persName>
							<affiliation key="aff1">
								<orgName type="laboratory">French National Council of Scientific Research Laboratory</orgName>
								<orgName type="institution">Informatics of Grenoble</orgName>
								<address>
									<addrLine>681 rue de la Passerelle, BP 72</addrLine>
									<settlement>Saint Martin d&apos;Hères</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Modelling autonomic dataspaces using answer sets</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">CD0187279F73B3677EB3A0F45DFD39C4</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T12:24+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>This paper presents an approach for managing an autonomic dataspace, able to automatically define views adapted for fulfilling the requirements of a set of users, and adjust them as the dataspace evolves. An autonomic dataspace deals with incomplete knowledge to manage itself because of the heterogeneity and the lack of metadata related to the resources it integrates. Our approach exploits the expressiveness of stable models and the K action language for expressing the dataspace management functions This paper proposes a model for specifying an autonomic dataspace using answer set programming. Answer set programming (ASP) is a type of declarative logic programming particularly useful in knowledge-intensive applications <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b6">7,</ref><ref type="bibr" target="#b7">8]</ref>. It is based on the stable semantics (answer sets), which allows negation as failure and applies the ideas of auto-epistemic logic to distinguish between what is true and what is believed.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The increase in the production and spread of data and applications around the Web introduces new challenges related to their management and exploitation. Users continuously produce and exploit resources in different formats defined according to the models used by their producers and their applications, and may provide different computing and search capabilities. Moreover, certain resources may be characterized with description of their structure and content.</p><p>Users around the Web exploit a certain set of resources and develop new knowledge. For example, consider the personal information managed by Alice, consisting of images, documents, web pages, applications, etc. Suppose Alice wants to write the state of art of her dissertation on Dataspaces management. Therefore, Alice must explore and analyse every resource stored in the servers she accesses in order to define the bibliography she needs. This task is long and complex because resources may not provide metadata, or may be described under a different vocabulary than the one used by Alice.</p><p>The notion of dataspace arises as a possible solution to this requirement by defining a dynamic virtual environment publishing, accessing, and managing a set of heterogeneous and distributed resources (data or services) shared by different communities of users <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b8">9]</ref>. A dataspace is fed when users publish new resources, and when new information is generated as a result of the exploitation of resources. Dataspaces have an associated platform (DSSP) that provides services for managing heterogeneous resources having different models and querying than in a coordinated and controlled way <ref type="bibr" target="#b5">[6,</ref><ref type="bibr" target="#b8">9]</ref>.</p><p>However, the dynamicity and autonomy of the components of a dataspace causes the participants to continually analyse the dataspace in order to verify the availability and the subscription of new resources potentially useful to their activities. To illustrate this situation, reconsider the consider that Alice has already defined her bibliography after analysing her dataspace. Suppose that her advisor uploads a new document relevant to Alice after this process. In order to incorporate this resource, Alice must analyse after certain period of time if new resources have been published and if any is relevant to her state of art. This task is hard and difficult to achieve if we consider the continuous evolution of her dataspace. Additionally, if Alice modifies her requirement she must query again the dataspace to retrieve the pertinent information.</p><p>These reasons motivate us to build a dataspace that must adapt itself respect to its evolution, by automatically defining and executing strategies that optimize its behaviour. An autonomic dataspace auto-manages itself by defining automatically views and adjusting them as the dataspace evolves. To achieve this, a dataspace must provide a set of services satisfying the following autonomic properties <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b10">11]</ref>:</p><p>-Auto-configuration. The DSSP configures its components automatically according to its evolution. This configuration must respect a set of policies describing the correct behaviour of a dataspace for ensuring its consistency. -Auto-optimization. An autonomic dataspace analyses continuously the behaviour of its components to make decisions about the execution of operations and to optimize the access and exploitation of its resources. -Auto-healing. The DSSP automatically detects failed resources and implements recovery strategies avoiding the interruption of its services. -Auto-protection. A DSSP detects, identifies and protects itself automatically from attacks. It avoids access to resources prohibited according to access control constraints.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.1">Related works</head><p>A DSSP can deal with incomplete knowledge about resources for answering queries. <ref type="bibr" target="#b13">[14,</ref><ref type="bibr" target="#b12">13]</ref> propose the definition of a global logic view of information contained in the dataspace through the definition of relevant objects and associations between these objects. <ref type="bibr" target="#b12">[13]</ref> defines and enriches approximate meta-data and semantic relations between resources as the dataspace evolves, as queries are executed and as users qualify them over time. <ref type="bibr" target="#b13">[14]</ref> maintains a set of schemas modelling resources respect to a specific domain and store them in information repositories organized by topic.</p><p>Our approach towards an autonomic dataspace is done by extending the DSSP management platform with a set of services:</p><p>1. A resource indexation structure <ref type="bibr" target="#b2">[3,</ref><ref type="bibr" target="#b12">13,</ref><ref type="bibr" target="#b13">14,</ref><ref type="bibr" target="#b19">20]</ref> that organizes resources according to the terms used in their annotations and defines mappings between those terms. 2. An autonomic view manager that automatically triggers actions to configure views respect to the presence of events over the resources and the participants.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.2">Contribution and organization of the paper</head><p>We specify the main components of this dataspace and describe our approach towards the auto-configuration of views exploiting the expressiveness of stable model semantics <ref type="bibr" target="#b7">[8]</ref>. Stable model semantics is used for modelling the knowledge of the dataspace and the K action language <ref type="bibr" target="#b4">[5]</ref> is used for representing the actions and events related to the auto-management strategies in the dataspace. The remainder of the paper is organized as follows. Section 2 and 3 describes our model to characterize a dataspace, views over dataspaces and their operations using language Answer Set Prolog <ref type="bibr" target="#b0">[1]</ref> and the K action language <ref type="bibr" target="#b16">[17]</ref>. Section 4 specifies the auto-configuration functions for a dataspace. Section 5 presents our current implementation. Finally, Section 6 concludes this paper and describes our future work.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Modelling an autonomic dataspace</head><p>In our approach, an autonomic dataspace is represented as a tuple dataspace (Participants, Resources, Events) where Resources represents a set of resources subscribed into the dataspace, Participants characterizes the set of participants publishing or exploiting resources in the dataspace, and Events represent a set of events characterizing the evolution of the dataspaces components along time.</p><p>We model the components of the dataspace (resources, participants) as predicates in Answer Set Prolog language <ref type="bibr" target="#b0">[1]</ref>. Events are modeled as fluents in the K action language <ref type="bibr" target="#b4">[5]</ref>. Fluents express a property of an object in a world and form part of the Resource of states of the world. Fluents keep their truth values during time unless they are explicitly affected by an action.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.1">Participants</head><p>Participants defined by the predicate participant(ParticipantName) represent individuals providing or consuming a set of resources to generate new information or execute a particular activity. Participants in a dataspace can be organized into communities.</p><p>Community represents a group of participants sharing similar interests about certain knowledge domains. Communities are formally defined with the predicate community(Community) where Community represents the name of the community. The members of a certain community are specified using a set of predicates belongsTo(ParticipantName, Community). (2.2) ← participant(Participant), count {Community : belongsTo(Participant, Community)}&lt; 1.</p><p>A community must have at least one participant (2.1) and every participant must belong to at least one community (2.2). According to the communities he/she belongs, a participant has access to a certain sub-space of resources over which he/she can execute queries or operations.</p><p>Every community has at least one associated vocabulary used for specifying queries over the dataspace. This association is formally defined with the predicate hasVocabulary(Community, Vocabulary).</p><p>Vocabulary represents a set of terms belonging to a specific knowledge domain, e.g. Computer Science. They are formally defined as a set of predicates vocabulary(Vocabulary, Domain, Term), where Vocabulary represents the identifier of the specific vocabulary, Domain its knowledge domain, and Term a specific term belonging to the vocabulary. Communities must have at least one associated vocabulary (2.3).</p><p>(2.3) ← community(CommunityName), count {Vocabulary : hasVocabulary(Community, Vocabulary)} &lt; 1.</p><p>Participants in the dataspace exploit their resources according to a set of requirements expressed using terms of the vocabularies. This association is formally defined using a fluent hasRequirement(ParticipantName, Requirement) where ParticipantName represents the name of the participant defining the requirement RequirementID.</p><p>Requirement is represented as a set of fluents requirement(Requirement, Term), where each predicate states that a Term describes a specific requirement Requirement used for defining a query on the dataspace.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.2">Resource</head><p>Resources in a dataspace can represent a data source, an application or a Web service subscribed into the dataspace. Resources are defined using the predicate resource(ResourceName, URI, Type) which is characterized with a name ResourceName, an universal resource identifier (URI) specifying the way the resource can be accessed, and a Type, e.g. document, image, or application.</p><p>According to its type, a resource has associated meta-data describing its structure. For instance, a document resource can be described with the attributes: title, description, words number, related topics and format (pdf, word, latex, plain text) using a predicate document(Resource, Title, Description, TotalWords, Topic). Additionally, a resource may provide data related to its producer, the operations it provides, and its content.</p><p>Producer represent participants providing a resource specified using the predicate hasProducer(Resource, Producer), where Producer represents the name of the participant providing the Resource.</p><p>(2.4) ← hasProducer(Resource, Producer), not resource(Resource, URI, Type). uri(URI), format(Type).</p><p>(2.5) ← hasProducer(Resource, Producer), not participant(Producer).</p><p>The association between a resource and a producer cannot exist if a resource is not defined <ref type="bibr">(2.4)</ref>. The association between a resource and a producer cannot exist if the producer is not defined as a participant (2.5).</p><p>Operation According to its type, a resource may provide a set of operations over its data. An operation is modelled with the predicate operation(OperationName, Type). Every operation in the dataspace must be associated to at least one resource within the dataspace using the predicate hasOperation(ResourceName, OperationName).</p><p>Additionally, an operation can be defined by a set of input and output parameters. Input and Output parameters are modelled through predicates of the form parameter(ParameterName, DataType), where a ParameterName expresses the name of the parameter and DataType represents the abstraction of basic data types, i.e. boolean, real, integer, string, or double. An operation is associated to its input and output parameters using a set of predicates: hasInput/Output(Operation, Parameter, Order), where Order specifies the position of the parameter within the operation.</p><p>Annotations represent the description of a resource using a set of terms from a specific vocabulary domain, i.e. Computer Science. Annotations are expressed as a set of predicates annotation(Annotation, Term) stating that a term Term from a specific vocabulary describes a specific Annotation.</p><p>An annotation can not be defined by a specific positive or negative literal (2.6) and it cannot be expressed using two terms TermA and TermB that contradict themselves, i.e. good and bad (2.5).</p><p>(2.6) ← annotation(AnnotationID, Term), not annotation(AnnotationID, Term), term(Term).</p><p>(2.7) ← annotation(AnnotationID, TermA), annotation(AnnotationID, TermB), contradicts(TermA, TermB).</p><p>A resource can have several annotations defined under different vocabularies and they can be inconsistent between each other. The association of an annotation with a specific resource is represented using the predicate hasAnnotation (Resource, Author, Annotation).</p><p>(2.8) ← hasAnnotation(Resource, Author, Annotation), not resource(ResourceName, URI, Type). uri(URI), format(Type).</p><p>(2.9) ← hasAnnotation(Resource, Author, Annotation), not annotation(AnnotationID, Term), term(Term).</p><p>An annotation can be only associated to resources that have been previously defined in the dataspace (2.8). Resources can be associated to a certain annotation if and only if it has been previously defined and it is composed by at least one term (2.9).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.3">Events</head><p>Events in the dataspace represent changes over the dataspace at a given instant. Events are modelled as fluents in K action language <ref type="bibr" target="#b4">[5]</ref> of the form evenName(Timestamp, Producer, Delta), where Timestamp represents the time in which the event was produced <ref type="bibr" target="#b18">[19]</ref>. Additionally, an events is characterized specifying its producer and additional information described by a set Delta, e.g. the terms added and deleted from an annotation when it has been updated. We classify the events of the dataspace with respect to the entity over which they are produced: resource and participant.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.4">Resources index</head><p>The resource index of an autonomic dataspace is composed of three layers: (i) physical that organizes resources into physical storage, (ii) logical that classifies the resources according to the terms used in their annotations, and (iii) external composed by a set of terms and relations between terms. The index is out of the scope of this paper. Interested readers can refer to <ref type="bibr" target="#b11">[12]</ref>. allow to have different perspectives from resources in the dataspace. As a view changes automatically in response to the events of the dataspace,it is modelled as fluents characterized with an integer identifier viewID. The fluent view(ViewID, Term, Resource) states that a view with an identifier ViewID uses a resource Resource under the semantic defined by Term.</p><p>A view has two main parts: a semantic, and an extension. The semantic represents the content of the view expressed through a set of terms belonging multiple vocabularies. Every term in the semantic of the view must be mapped (equivalence, generalization, etc.) to at least one term in the requirement of the view.</p><p>The extension represents the set of resources relevant to the problem dealt within the view. A resource is relevant to the view if it is indexed by a subset of terms (or related terms) from the requirements associated to the view. A specific resource Resource using the term Term can be a component of the view if and only if the resource has an annotation described by this term, and the term is related to the view's requirements.</p><p>Because of the heterogeneity of resources in a dataspace, it can be possible that a resource provides an incorrect annotation of its content, or it does not provide any annotation at all. Views may not be complete with respect to the requirements of a participant, because resources can have imprecise or incorrect associated annotations.</p><p>A view must be associated to at least one requirement defined by a participant in certain period of time through the fluent respondsTo(View, Requirement). The requirement and the view must be previously defined. The association between a participant and a specific view is modelled with the fluent hasView (Participant, Requirement, View). This association can be defined if and only if the participant is connected in the dataspace and the participant has been previously associated to the view's requirement.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Operation on views</head><p>Inspired in relational algebra and set theory, we propose a family of operations over views. Because operations produce effects over the current state of views, we model them as actions in the K action language <ref type="bibr" target="#b4">[5]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Resource insertion/removal -insertR/deleteR(Resource, View).</head><p>These operations update a View by adding (or removing) a Resource and its associations with terms related to the requirements of the view.</p><p>Requirements: (i) The view must have been previously defined, and (ii) the resource to be inserted (or removed) must be defined in the dataspace. insertR/deleteR(Resource, View) requires view(View, ViewTerm, ViewResource), (i) resource(Resource, URI, Type).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(ii)</head><p>Execution conditions: The resource to be inserted (or removed) has been previously defined and indexed using at least one term related to the view's requirements.</p><p>executable insertR/deleteR(Resource, View) if respondsTo(View, ReqID), requirement(ReqID, ReqTerm), isIndexed(Resource, IndexTerm), mapping(IndexTerm, ReqTerm).</p><p>Effects: A View is updated by adding (or negating) a set of fluents view(View, IndexTerm, Resource). This fluent states that the Resource indexed with IndexTerm forms part of the view and satisfies the view's requirements expressed with ReqTerm.</p><p>caused view(View, IndexTerm, Resource)/ -view(View, IndexTerm, Resource) if isIndexed(Resource, IndexTerm), responds(View, ReqID), requirement(ReqID, ReqTerm), mapping(IndexTerm, ReqTerm) after insertR/deleteR(Resource, View).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.3">Vocabulary insertion/removal -insertV/deleteV(Vocabulary, View).</head><p>This operation updates a View by adding (or removing) the terms of a Vocabulary and their indexed resources as elements of the view.</p><p>Requirements: (i) The view must have been previously defined, and (ii) the vocabulary to be inserted must have been defined and composed by at least one term.</p><p>insertV/deleteV(Vocabulary, View) requires view(View, Term, Resource),</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(i) vocabulary(Vocabulary, Domain, VocTerm). (ii)</head><p>Execution conditions: There exists at least one term in the vocabulary that is related to one from the view's requirements. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.4">View Projection -filter(Vocabulary, ViewA, ViewB).</head><p>This operation produces a new view composed of all the elements from a view (terms and associated resources) that are related to at least one term of the vocabulary.</p><p>Requirements: (i) The view ViewA must have been previously defined, (ii) the vocabulary must have been defined and composed by at least one term, and the view ViewB must not have been defined. filter(Vocabulary, ViewA, ViewB) requires view(ViewA, TermA, ResourceA), (i) vocabulary(Vocabulary, Domain, ViewTerm), (ii) not view(ViewB, TermB, ResourceB).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>(iii)</head><p>Execution conditions: There exists a VocTerm in the vocabulary that is related to a TermA in views A's requirements.</p><p>executable filter(Vocabulary, ViewA, ViewB) if respondsTo(ViewA, ReqA), requirement(ReqA, TermA), vocabulary(Vocabulary, Domain, VocTerm), mapping(VocTerm, TermA).</p><p>Effects: A ViewB is created by defining a set of fluents of the form view(ViewB, TermA, ResourceA). This fluent states that the ResourceA described with TermA is related to a VocTerm of the vocabulary. View B's requirement is composed by all VocTerm of the vocabulary related to at least one term of view A's requirement.</p><p>caused view(ViewB, TermA, ResourceA) if view(ViewA, TermA, ResourceA), vocabulary(Vocabulary, VocTerm), mapping(VocTerm, TermA) after filter(Vocabulary, ViewA, ViewB).  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.6">Intersection -intersection(ViewA, ViewB, ViewC).</head><p>Produces a new ViewC including all elements from ViewA that are related to at least one element of the ViewB and vice versa.</p><p>Requirements: (i) The views ViewA and ViewB must have been previously defined, and (iii) the view ViewC must not have been defined. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Auto-configuration of views</head><p>The auto-configuration of views involves the creation and execution of view management plans over views respect to the presence of events. Through this autonomic configuration is possible to automatically define new views when a participant specifies new requirements, update views when resources are subscribed or removed, and delete views when they are no longer required. An autonomic view manager executes the auto-configuration task and is composed of three main components: a monitor, an evaluator, and an executer <ref type="bibr" target="#b9">[10,</ref><ref type="bibr" target="#b10">11,</ref><ref type="bibr" target="#b15">16]</ref>. The monitor observes continuously the evolution of the dataspace looking up the presence of events over the resources or the requirements specified by the participants. When a new event is detected, it is notified to the evaluator. The evaluator identifies the views that are potentially affected by the event and the strategy that is associated to the event. With these data, the evaluator determines the actions that have to be executed over the views and generates a view management plan. This plan contains all the information about the actions that have to be executed and their order. Finally, this plan is sent to the executer, who is in charge to execute the operations over the views and validate the coherence of the new state of the dataspace.</p><p>The auto-configuration of views is achieved through the definition of a set of management strategies respect to the presence of events over resources and views. Our auto-configuration strategies are organized in three categories:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Auto-definition</head><p>This category refers to all the strategies related to the definition of views within the dataspace when an event of RequirementAdded is detected. In this case, the autonomic view manager must detect the participant producing this event and the requirement that has been inserted. The management platform must define a new view based on previous defined views or by executing a search using the index.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Auto-update</head><p>The main objective of this category of strategies is to automatically update the set of views respect to the presence of events produced over the resources and the participant like: resource subscription, annotation insertion, update or removal, resource removal and update of the requirements from a participant.</p><p>For doing so, it is necessary that the management platform identifies all the views v 1 , . . . , v n that are partially or totally described by the terms contained in the annotation of the resource involved in the event or the modified requirements.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.3">Auto-removal</head><p>This category refers to the strategies related to the elimination of views within the dataspace when an event of RequirementDeleted is detected. In this case, the management platform must detect the participant producing this event and the requirement that has been removed. Using the requirement identifier, the management platform must identify the view associated to the requirement and delete the view from the dataspace. In case another participant is consuming the view, the management platform should delete only the association between the participant and the view.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Implementation issues</head><p>In order to validate our approach we implemented an autonomic view manager oriented to personal dataspaces. A personal dataspace integrates heterogeneous and distributed resources produced by an individual to be exploited by her/him and her co-workers <ref type="bibr" target="#b17">[18]</ref>.</p><p>We implemented a background knowledge base containing the components and structure of Alices personal dataspace using the datalog programming system DLV <ref type="bibr" target="#b3">[4]</ref>. Events, views, operations and strategies were implemented as a planning program in DLV-K planning system <ref type="bibr" target="#b16">[17]</ref>.</p><p>The strategies defined over the auto-configuration of views were modelled as a set of Event-Condition-Action rules in the planning program. By expressing the strategies as Event-Condition-Action rules, we could exploit the capabilities of planning programming to determine the sequence of actions and the state of the dataspace under the presence of events in a period of time.</p><p>We have currently validated the correct execution of strategies related to the auto-update and auto-removal in the autonomic and requirement-based personal dataspace, as well as the operations over views. We are currently implementing the auto-definition strategies in DLV-K and defining an approximation algorithm to optimize the definition of views based on predefined views under the JAVA platform version 1.5.0.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions</head><p>This paper presented our characterization of an autonomic and requirementbased dataspace using answer sets programming. An autonomic and requirementbased dataspace is a system that auto-manages itself according to the evolution of its resources and participants. Thanks to an autonomic dataspace, users can integrate heterogeneous resources (data and applications) and exploit them through the definition of views representing sub-spaces of resources adapted respect to their requirements <ref type="bibr" target="#b15">[16]</ref>.</p><p>Our approach exploits the expressiveness of stable models semantics <ref type="bibr" target="#b7">[8]</ref> to model incomplete knowledge within its components and the K action language <ref type="bibr" target="#b4">[5]</ref> to represent the actions and events related to the auto-management strategies in the dataspace. The action logic-based language K is used for modelling operations over views as actions and representing the view management strategies as sequences of actions triggered given a set of events <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b4">5]</ref>.</p><p>Currently, we have implemented a first version of the management platform in the area of personal management. This version was implemented using DLV-K <ref type="bibr" target="#b16">[17]</ref>, an extension of DLV datalog programming system for planning based on answer sets. Future work relies on the definition of strategies for the auto-optimization, auto-protection and auto-repair in the dataspace. Also, it is necessary to develop strategies to fulfil the autonomic properties to the index structures so they are automatically configured respect to the evolution of the environment.</p><p>Once we complete these implementations, we will validate the performance of our system with a highly dynamic environment having multiple predefined views . Through these experiments we will be able to determine the efficiency of our solution and the cost related to achieving autonomy in such a variable and increasing environment.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>( 2 . 1 )</head><label>21</label><figDesc>← community(Community), count {Participant : belongsTo(Participant, Community)}&lt; 1.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>3. 5</head><label>5</label><figDesc>Union -union(ViewA, ViewB, ViewC). Produces a new ViewC including all the elements from ViewA and ViewB. Requirements: (i) The views ViewA and ViewB must have been previously defined, and (iii) the view ViewC must not have been defined. union(ViewA, ViewB, ViewC) requires view(ViewA, TermA, ResourceA), (i) view(ViewB, TermB, ResourceB), not view(ViewC, TermC, ResourceC). (ii) Execution conditions: This operation has no execution conditions. Effects: A ViewC is created by defining a set of fluents of the form view(ViewC, Term, Resource) where Resource is an element of ViewA or ViewB described with Term. View C's requirement is composed by all TermA and TermB from the requirements of views A and B respectively.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head></head><label></label><figDesc>caused view(ViewC, Term, Resource) if view(ViewA, Term, Resource) after union(ViewA, ViewB, ViewC). caused view(ViewC, Term, Resource) if view(ViewB, Term, Resource) after union(ViewA, ViewB, ViewC).</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head></head><label></label><figDesc>The View is updated by adding (or negating) a set of fluents view(View, IndexTerm, Resource). This fluent states that the Resource indexed with VocTerm belonging to the Vocabulary to be inserted forms part of the view and satisfies the view's requirements expressed with ReqTerm.</figDesc><table><row><cell cols="3">caused view(View, VocTerm, Resource)/</cell></row><row><cell></cell><cell cols="2">-view(View, VocTerm, Resource)</cell></row><row><cell>if</cell><cell cols="2">responds(View, ReqID),</cell></row><row><cell></cell><cell cols="2">requirement(ReqID, ReqTerm),</cell></row><row><cell></cell><cell cols="2">vocabulary(Vocabulary, Domain, VocTerm),</cell></row><row><cell></cell><cell cols="2">mapping(VocTerm, ReqTerm),</cell></row><row><cell></cell><cell cols="2">resource(Resource, URI, Type),</cell></row><row><cell></cell><cell cols="2">isIndexed(Resource, VocTerm)</cell></row><row><cell cols="3">after insertV/deleteV(Vocabulary, View).</cell></row><row><cell></cell><cell cols="2">executable insertV/deleteV(Vocabulary, View)</cell></row><row><cell></cell><cell>if</cell><cell>responds(View, ReqID),</cell></row><row><cell></cell><cell></cell><cell>requirement(ReqID, ReqTerm),</cell></row><row><cell></cell><cell></cell><cell>vocabulary(Vocabulary, Domain, VocTerm),</cell></row><row><cell></cell><cell></cell><cell>mapping(VocTerm, ReqTerm).</cell></row></table><note>Effects:</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>Effects: A ViewC is created by defining a set of fluents of the form view(ViewC, Term, Resource) where Resource is an element of ViewA and not of ViewB and is described with Term. View C's requirement is composed by all TermA from the requirements of view A that are not related to any term in view B's requirements.</figDesc><table><row><cell cols="2">caused view(ViewC, TermA, ResourceA)</cell></row><row><cell>if</cell><cell>view(ViewA, TermA, ResourceA),</cell></row><row><cell></cell><cell>not in(TermA, ViewB)</cell></row><row><cell>after</cell><cell>difference(ViewA, ViewB, ViewC).</cell></row><row><cell cols="2">intersection(ViewA, ViewB, ViewC)</cell></row><row><cell cols="2">requires view(ViewA, TermA, ResourceA),</cell><cell>(i)</cell></row><row><cell></cell><cell>view(ViewB, TermB, ResourceB),</cell></row><row><cell></cell><cell cols="2">not view(ViewC, TermC, ResourceC). (ii)</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_0">Resources in a dataspace can be organized into sub-spaces named views. A view represents a set of resources satisfying a participant's requirement<ref type="bibr" target="#b15">[16]</ref>. Views</note>
		</body>
		<back>
			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0" />			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Knowledge Representation, Reasoning, and Declarative Problem Solving</title>
		<author>
			<persName><forename type="first">Chitta</forename><surname>Baral</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">chapter Reasoning about actions and planning in AnsProlog</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Cambridge University Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="1" to="30" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">ADEMS&quot; a knowledge-based service for intelligent mediator configuration</title>
		<author>
			<persName><forename type="first">Gennaro</forename><surname>Bruno</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
		<respStmt>
			<orgName>Institut National Polytechnique de Grenoble</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Indexing dataspaces</title>
		<author>
			<persName><forename type="first">Xin</forename><surname>Dong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alon</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ACM SIGMOD international conference on Management of data (SIGMOD &apos;07)</title>
				<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2007">2007. 2007</date>
			<biblScope unit="page" from="43" to="54" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">DLV User Manual. The DLV Project</title>
		<author>
			<persName><forename type="first">Robert</forename><surname>Bihlmeyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Giuseppe</forename><surname>Ielpa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Vincenzino</forename><surname>Lio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gerald</forename><surname>Pfeifer</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009-04">April 2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Planning under incomplete knowledge</title>
		<author>
			<persName><forename type="first">Thomas</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Wolfgang</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Nicola</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Gerald</forename><surname>Pfeifer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Axel</forename><surname>Polleres</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Computational Logic</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2000">2000</date>
			<biblScope unit="volume">1861</biblScope>
			<biblScope unit="page" from="807" to="821" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">From databases to dataspaces: a new abstraction for information management</title>
		<author>
			<persName><forename type="first">J</forename><surname>Michael</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alon</forename><forename type="middle">Y</forename><surname>Franklin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Halevy</surname></persName>
		</author>
		<author>
			<persName><surname>Maier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM SIGMOD Records</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="issue">4</biblScope>
			<biblScope unit="page" from="27" to="33" />
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<title level="m" type="main">Handbook of Knowledge Representation, chapter Answer Sets</title>
		<author>
			<persName><forename type="first">Michael</forename><surname>Gelfond</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">The stable model semantics for logic programming</title>
		<author>
			<persName><forename type="first">Michael</forename><surname>Gelfond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Vladimir</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 5th International Conference on Logic Programming (LPAR 1988)</title>
				<meeting>the 5th International Conference on Logic Programming (LPAR 1988)</meeting>
		<imprint>
			<date type="published" when="1988">1988</date>
			<biblScope unit="page" from="1070" to="1080" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Principles of dataspace systems</title>
		<author>
			<persName><forename type="first">Alon</forename><surname>Halevy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><surname>Franklin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Maier</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 25th ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems (PODS &apos;06)</title>
				<meeting>the 25th ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems (PODS &apos;06)<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="1" to="9" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">Autonomic computing: Ibm&apos;s perspective on the state of information technology</title>
		<author>
			<persName><forename type="first">Paul</forename><surname>Horn</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<pubPlace>Riverton, NJ, USA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>IBM Corporation</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">A survey of autonomic computingdegrees, models, and applications</title>
		<author>
			<persName><forename type="first">Markus</forename><forename type="middle">C</forename><surname>Huebscher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Julie</forename><forename type="middle">A</forename><surname>Mccann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Computing Surveys (CSUR)</title>
		<imprint>
			<biblScope unit="volume">40</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="1" to="28" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Indexing dataspaces: dealing with content and storage space</title>
		<author>
			<persName><forename type="first">Carlos-Manuel</forename><surname>López-Enríquez</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Genoveva</forename><surname>Vargas-Solar</surname></persName>
		</author>
		<author>
			<persName><forename type="first">José-Luis</forename><surname>Zechinelli-Martini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Ofelia</forename><surname>Cervantes</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2009-09">September 2009</date>
			<publisher>RCS</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">Pay-as-you-go user feedback for dataspace systems</title>
		<author>
			<persName><forename type="first">Shawn</forename><forename type="middle">R</forename><surname>Jeffery</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Michael</forename><forename type="middle">J</forename><surname>Franklin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alon</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2008 ACM SIGMOD international conference on Management of data (SIGMOD &apos;08)</title>
				<meeting>the 2008 ACM SIGMOD international conference on Management of data (SIGMOD &apos;08)<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="847" to="860" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Web-scale data integration: You can afford to pay as you go</title>
		<author>
			<persName><forename type="first">Jayant</forename><surname>Madhavan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Shirley</forename><surname>Cohen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Xin</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Luna</forename><surname>Dong</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alon</forename><forename type="middle">Y</forename><surname>Halevy</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Shawn</forename><forename type="middle">R</forename><surname>Jeffery</surname></persName>
		</author>
		<author>
			<persName><forename type="first">David</forename><surname>Ko</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Cong</forename><surname>Yu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CIDR</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="342" to="350" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Sisels: a mediation system for giving access to biology resources</title>
		<author>
			<persName><forename type="first">Gabriela</forename><surname>Montiel-Moreno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">José-Luis</forename><surname>Zechinelli-Martini</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Genoveva</forename><surname>Vargas-Solar</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal Research in Computing Science Special Issue: Electronics and Biomedical Engineering, Computer Science and Informatics</title>
		<imprint>
			<biblScope unit="volume">35</biblScope>
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">A survey of autonomic computing systems</title>
		<author>
			<persName><forename type="first">Reza</forename><surname>Mohammad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Mohsen</forename><surname>Nami</surname></persName>
		</author>
		<author>
			<persName><surname>Sharifi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Intelligent Information Processing</title>
				<meeting>the Intelligent Information Processing<address><addrLine>New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer Verlag</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">228</biblScope>
			<biblScope unit="page" from="101" to="110" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">The dlvk system for planning with incomplete knowledge</title>
		<author>
			<persName><forename type="first">Axel</forename><surname>Polleres</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001-02">February 2001</date>
			<pubPlace>Vienna, Austria</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Institut fr Informationssysteme, Technische Universitt Wien</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Master&apos;s thesis</note>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">itrails: Pay-as-you-go information integration in dataspaces</title>
		<author>
			<persName><forename type="first">Marcos</forename><forename type="middle">A</forename><surname>Vaz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Jens</forename><forename type="middle">P</forename><surname>Salles</surname></persName>
		</author>
		<author>
			<persName><surname>Dittrich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Shant</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Olivier</forename><forename type="middle">R</forename><surname>Karakashian</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lukas</forename><surname>Girard</surname></persName>
		</author>
		<author>
			<persName><surname>Blunschi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 33rd international conference on Very large data bases (VLDB &apos;07)</title>
				<meeting>the 33rd international conference on Very large data bases (VLDB &apos;07)</meeting>
		<imprint>
			<publisher>VLDB Endowment</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="663" to="674" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Adees: An adaptable and extensible event based infrastructure</title>
		<author>
			<persName><forename type="first">Genoveva</forename><surname>Vargas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">-Solar</forename></persName>
		</author>
		<author>
			<persName><forename type="first">Christine</forename><surname>Collet</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">13th International Conference on Database and Expert Systems Applications</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>DEXA; New York, NY, USA</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2002">2002. 2002</date>
			<biblScope unit="volume">2453</biblScope>
			<biblScope unit="page" from="423" to="432" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Hexastore: sextuple indexing for semantic web data management</title>
		<author>
			<persName><forename type="first">Cathrin</forename><surname>Weiss</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Panagiotis</forename><surname>Karras</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Abraham</forename><surname>Bernstein</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the VLDB Endowment</title>
				<meeting>the VLDB Endowment</meeting>
		<imprint>
			<date type="published" when="2008">2008</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="1008" to="1019" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
