65
SmartSociety Hybrid and Diversity-Aware Collective Adaptive Systems When People Meet Machines to Build a Smarter Society Grant Agreement No. 600584 Deliverable D2.2 Working Package WP2 Provenance, Trust, Reputation and Big Data Dissemination Level (Confidentiality): 1 PU Delivery Date in Annex I: 31/1/2013 Actual Delivery Date December 23, 2014 Status 2 F Total Number of pages: 65 Keywords: Provenance, Reputation, Accountabil- ity, Transparency, Scalability, Ride Share Application 1 PU: Public; RE: Restricted to Group; PP: Restricted to Programme; CO: Consortium Confi- dential as specified in the Grant Agreeement 2 F: Final; D: Draft; RD: Revised Draft

D2.2 - Provenance, Trust, Reputation and Big Data

Embed Size (px)

DESCRIPTION

SmartSociety Work Package 2 deliverable for Year 2 of the project.

Citation preview

Page 1: D2.2 - Provenance, Trust, Reputation and Big Data

SmartSociety

Hybrid and Diversity-Aware Collective Adaptive SystemsWhen People Meet Machines to Build a Smarter Society

Grant Agreement No. 600584

Deliverable D2.2 Working Package WP2

Provenance, Trust, Reputation and Big Data

Dissemination Level(Confidentiality):1

PU

Delivery Date in Annex I: 31/1/2013Actual Delivery Date December 23, 2014Status2 FTotal Number of pages: 65Keywords: Provenance, Reputation, Accountabil-

ity, Transparency, Scalability, RideShare Application

1PU: Public; RE: Restricted to Group; PP: Restricted to Programme; CO: Consortium Confi-dential as specified in the Grant Agreeement

2F: Final; D: Draft; RD: Revised Draft

Page 2: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

2 of 65 http://www.smart-society-project.eu

Page 3: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

Disclaimer

This document contains material, which is the copyright of SmartSociety Consortium

parties, and no copying or distributing, in any form or by any means, is allowed without

the prior written agreement of the owner of the property rights. The commercial use of

any information contained in this document may require a license from the proprietor of

that information. Neither the SmartSociety Consortium as a whole, nor a certain party of

the SmartSocietys Consortium warrant that the information contained in this document

is suitable for use, nor that the use of the information is free from risk, and accepts no

liability for loss or damage suffered by any person using this information. This document

reflects only the authors’ view. The European Community is not liable for any use that

may be made of the information contained herein.

Full project title: SmartSociety: Hybrid and Diversity-Aware CollectiveAdaptive Systems: When People Meet Machines toBuild a Smarter Society

Project Acronym: SmartSociety

Grant Agreement Number: 600854

Number and title of work-package:

WP2 Modelling Framework

Document title: Provenance, Trust, Reputation and Big Data

Work-package leader: Luc Moreau, SOTON

Deliverable owner: Lue Moreau, SOTON

Quality Assessor: Simone Fischer-Hubner, KAU

c© SmartSociety Consortium 2013-2017 3 of 65

Page 4: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

List of Contributors

Partner Acronym ContributorUoS Heather PackerUoS Luc Moreau

4 of 65 http://www.smart-society-project.eu

Page 5: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

Executive Summary

The objectives of this deliverable are to show how models of provenance, trust and reputa-

tion can be used at scale within HDA-CASs to support transparency and accountability.

Concretely, this report aims to address the following research challenges defined in the

DOW: how to model trust, provenance and reputation at scale; and how to promote trust

in large scale social computations by improving the transparency and accountability of a

system and providing accounts to the users.

We address scalability challenges through a provenance templating approach and sum-

marisation techniques; and transparency and accountability challenges by identifying core

principles, developing a model for transparency and accountability, and providing reputa-

tion and explanation services supporting transparency and accountability in HDA-CASs.

The core contribution of the deliverable is presented in journal submission in Appendix

A and a vocabulary for accountability in HDA-CASs in Appendix B. The deliverable also

presents how we address these challenges in the Ride Share demonstrator.

c© SmartSociety Consortium 2013-2017 5 of 65

Page 6: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

Table of Contents

1 Introduction 7

2 Overview of Contributions 8

3 Integration in the RideShare Demonstrator 10

3.1 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.2 Vocabulary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.3 End to End Provenance Integration . . . . . . . . . . . . . . . . . . . . . . . 19

3.4 APIs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4 Rideshare Demonstrator and Accountability 27

5 Links with Other Work Packages 31

6 Future Work 32

A Submitted paper: Semantics and Provenance for Accountable Smart

City Applications 34

B HDA-CASs Vocabulary 56

6 of 65 http://www.smart-society-project.eu

Page 7: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

1 Introduction

SmartSociety’s aim is to provide new insight to design principles, operating principles,

and adaptation principles of hybrid and diversity-aware collective adaptive systems (HDA-

CAS). Universally, such systems are a composition of various heterogeneous users, hard-

ware and software components forming a complex socio-technical system. Reputation

plays a key part in socio-technical systems because it is used to motivate the use of ser-

vices and incentivise users to behave in a certain manner. Currently, there is a lack of

transparency and accountability for systems maintaining reputation especially in the do-

main of HDA CASs. It is believed that techniques improving transparency would increase

users’ trust. Provenance data collected from complex systems can be large and overwhelm-

ing to technical and non-technical users. For transparency and accountability purposes

dedicated techniques are required to make sense of provenance information.

Within this context, WP2 is concerned with how models of provenance, trust and

reputation can be used at scale within HDA-CASs to support transparency and account-

ability. Concretely, this report aims to address the following research challenges defined

in the DOW:

1. How to model trust, provenance and reputation at scale, challenges pertaining to

this include:

(a) reducing costs of scale for modelling trust and provenance;

(b) building a generic abstract model that could in principle apply at any scale;

(c) modelling reputation that works effectively on a broad population.

2. How to promote trust in large scale social computations, by addressing how to:

(a) improve the transparency and accountability of a system;

(b) improve the ‘feel’ of transparency and accountability to users of a system.

This deliverable takes the shape of a journal submission in Appendix A and a vocab-

ulary for accountability in HDA-CASs in Appendix B. The rest of the document presents

more concrete aspects related to the Ride Share demonstrator and is organised as fol-

lows. In Section 2, we provide an overview of our contributions. Then in Section 3, we

present how our accountability framework integrates into the Ride Share demonstrator.

In Section 4, we discuss how the explanation peer can be used to provide accountability

c© SmartSociety Consortium 2013-2017 7 of 65

Page 8: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

for the Ride Share demonstrator. Section 5 describes how our work is linked to other work

packages. In Section 6, we outline our future work regarding our services, transparency

and accountability.

2 Overview of Contributions

In order to address the challenges outlined in Section 1, we have contributed techniques

and models that address scalability, accountability and transparency issues. Specifically,

we have focused on the following contributions:

• Scalability by Template: The templating approach, prov-template, presented in

Section 3.1 and Appendix 1, Milestone MS2, allows the expression of commonly used

provenance patterns, up front, as a template, whereas the application can simply

focus on recording bindings for instantiating a template. This contribution supports

research challenge (1a) as it reduces overhead costs of the peers and network, because

the peers only send binding information because they reuse provenance patterns

defined in templates.

• Scalability by Summarisation: The summarisation techniques presented in Sec-

tion 3.3 and Appendix 2, Milestone MS2, aggregates provenance types to provide

support for graph analysis. It converts provenance paths up to some length k to

attributes, referred to as provenance types, and by grouping nodes that have the

same provenance types. The summary also includes numeric values representing the

frequency of nodes and edges in the original graph. Through a complexity analy-

sis, a quantitative evaluation, and an informal discussion show that this technique

is tractable; with small values of k, it can produce useful summaries and can help

detect outliers. This contribution supports research challenge (1b), because it offers

an abstract technique to model and analyse provenance.

• Accountability Principles: Accountability principles are defined in Milestone

MS3. Specifically, Milestone MS3 Section 2 defines transparency and accountability

use cases for HDA-CASs, and Section 3 describes terms for transparency and ac-

countability for HDA-CASs. This contribution supports challenge (2) by outlining

how transparency and accountability can be supported by large scale HDA-CASs.

• Accountability as a Service: Accountability as a Service, there are several core

functionalities required to make HDA-CASs applications accountable, including:

8 of 65 http://www.smart-society-project.eu

Page 9: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

tracking an application’s actions and decisions; managing feedback about all its com-

ponents; calculating their reputation; and, providing explanations for all aspects of

the system. These accountability functionalities are non-trivial and require substan-

tial design and implementation efforts. Therefore, we have designed a framework to

support these functionalities (presented in detail in Appendix A Section 4), which

includes the following components:

– Reputation Manager presented in Appendix A Section 4.2 manages feedback

reports about a subject entity, generates reputation reports using feedback

reports, provides access to its resources via a REST API, and generates prove-

nance data recording interactions with the service and the generation of rep-

utation reports. The Reputation Manager addresses challenge (1c) because it

provides a generic service which can be used by HDA-CASs. It also addresses

challenge (2a) because it records the provenance about its use and how repu-

tation is generated.

– Explanation Peer presented in Appendix A Section 4.3 provides explanations

about a provenance element recorded in provenance document using the types

defined in the model for accountability and prov d-m. Concretely, prov d-m is

the conceptual data model that forms a basis for the W3C provenance (prov)

family of specifications. The explanation service also provides a REST API to

access its resources. It addresses challenge (2b) because this peer improves the

‘feel’ of transparency and accountability to users.

• Model for Accountability: The model is presented in Appendix A, Section 3,

Appendix B and WP6-MS4 describes the vocabulary used to define types used in

HDA-CASs. Concretely, the vocabulary focuses on describing three components: (1)

agents within a HDA-CASs application, including users, peers, and collectives and

their properties; (2) activities; and, (3) entities describing plans, tasks and messages.

The vocabulary’s namespace is http://smartsociety-project.github.io/cas/.

This model supports challenges (2b) because the model defines types that can be

exploited by the explanation peer which can improve users’ understanding of HDA-

CASs.

c© SmartSociety Consortium 2013-2017 9 of 65

Page 10: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

3 Integration in the RideShare Demonstrator

The Ride Share demonstrator provides a suitable application for integrating the account-

ability framework, this is because of its social context. It relies on user’s reputation and

their reputation is only trusted if they are transparent to its users. A good reputation is

the incentive for users to provide good quality services. User accountability is usually a

by product of a reputation system and transparency.

3.1 Templates

In order to enable the ride sharing demonstrator to submit binding information, we de-

signed provenance templates (see Section 3.1 and Appendix 1, Milestone MS2) for the

various interactions and process performed by the Ride Share peers, with feedback from

WP5 and 6. The UI, and orchestrator and reputation managers all submit bindings using

the templates described in Table 3.1.

Peer Template Name Figure Table

Orchestration post ride request template 1 2composition template 3 4negotiation template 5 6

Reputation submit feedback template 7 8generate reputation template 9 10api call template 11 12

UI change view template 13 14submit request template 15 16

Table 1: Summary table of templates.

10 of 65 http://www.smart-society-project.eu

Page 11: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

var:b

var:posting_task_request

wasAssociatedWith

prov:type cas:PostingTaskRequesttmpl:endTime var:post_task_endtmpl:startTime var:post_task_start

var:composing_tasks

var:submitting_task_request

wasInformedBy wasAssociatedWith

prov:type cas:ComposingTaskstmpl:endTime var:composing_tasks_endtmpl:startTime var:composing_tasks_start

var:sending_response

wasInformedBywasAssociatedWith

prov:type cas:SendingResponsetmpl:endTime var:sending_response_endtmpl:startTime var:sending_response_start

var:storing_task

var:temp_task_request

usedwasAssociatedWith

prov:type cas:StoringTasktmpl:endTime var:storing_task_endtmpl:startTime var:storing_task_start

wasAssociatedWith

prov:type cas:SubmittingTaskRequestdct:hasPart var:composing_tasksdct:hasPart var:storing_tasktmpl:endTime var:submitting_task_request_endtmpl:startTime var:submitting_task_request_start

var:task_request

wasGeneratedBy

var:orchestration_manager

wasAttributedTo

wasDerivedFrom

prov:type cas:TaskRequestvar:acknowledgement

wasGeneratedBy

prov:type cas:Acknowledgement

wasGeneratedBy

var:ui

wasAttributedTo

prov:type cas:TaskRequest

prov:type cas:CompositionManager

prov:type cas:UserInterfacetmpl:label var:username

Figure 1: Template for posting ride requests. It describes when the orchestration peerreceives a ride request and credentials of the submitter. If the post is authorised thenthe ride request is stored, and it is used to generate ride compositions. Warning: Thegraphical version of templates are included in the deliverable for illustrative purposes only.Given the size of the graph, the reader is expected to use the electronic version, which canbe rescaled, which is accessible at post ride request template.

Post Ride Request Template, see Figure 1Variable Type Descriptionvar:ui cas:UserInterface The User Interface.var:orchestration manager cas:OrchestrationManager The orchestration manager.var:temp task request cas:TaskRequest An un-stored task request submitted by

the UI.var:task request cas:TaskRequest A task request.var:storing task cas:StoringTask The activity that stored a task.var:posting task request cas:PostingTaskRequest The activity that posted a task request.var:submitting task request cas:SubmittingTaskRequest The activity that handled the submission

of a task request.var:sending response cas:SendingResponse The activity that sent a response.var:acknowledgement cas:Acknowledgement The acknowledgement that was sent after

the submitting task request activity.var:composing tasks cas:ComposingTasks The activity that generated the valid tasks.

Figure 2: Table describing the variables in for the post ride request template

c© SmartSociety Consortium 2013-2017 11 of 65

Page 12: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

var:b

var:requesting_opinion

var:generating_composition

wasInformedBy wasAssociatedWith

prov:type cas:RequestingOpiniontmpl:endTime var:requesting_opinion_endtmpl:startTime var:requesting_opinion_start

var:composing_tasks

wasAssociatedWith

prov:type cas:ComposingTasksdct:hasPart var:authenticatedct:hasPart var:generating_compositiontmpl:endTime var:composing_tasks_endtmpl:startTime var:composing_tasks_start

var:sending_response

wasInformedBywasAssociatedWith

prov:type cas:SendingResponsetmpl:endTime var:sending_response_endtmpl:startTime var:sending_response_start

var:parent_task_request

used

var:task_request

used

var:opinion_report

used wasAssociatedWith

prov:type cas:GeneratingCompositiontmpl:endTime var:generating_composition_endtmpl:startTime var:generating_composition_start

var:task

wasGeneratedBy

wasDerivedFrom

prov:type cas:Task

var:composition_manager

wasAttributedTo

wasDerivedFrom

prov:type cas:TaskRequest

var:invalid_task

wasGeneratedBy

wasAttributedTo

prov:type cas:Task

var:ui

wasAttributedTo wasAttributedTo

prov:type cas:TaskRequest

var:acknowledgement

wasGeneratedBy

prov:type cas:Acknowledgement

prov:type cas:ReputationReport

prov:type cas:UserInterfacetmpl:label var:username

prov:type cas:CompositionManager

Figure 3: Template for generating compositions for ride matches, which describes thegeneration of ride plans.Warning: The graphical version of templates are included inthe deliverable for illustrative purposes only. Given the size of the graph, the readeris expected to use the electronic version, which can be rescaled, which is accessible atcomposition template .

Task Composition Template, see Figure 3Variable Type Descriptionvar:ui cas:UserInterface The User Interface.var:composition manager cas:CompositionManager The composition manager.var:generating composition cas:GeneratingComposition The activity that computes tasks.var:task request cas:TaskRequest A task request.var:task cas:Task A task.var:parent task request cas:TaskRequest A parent task request.var:invalid task cas:Task An invalid task.var:opinion report cas:ReputationReport An opinion report.var:requesting opinion cas:RequestingOpinion The activity that requested an opinion re-

port from the var:reputation manager.var:composing tasks cas:ComposingTasks The activity that computed tasks.var:sending response cas:SendingResponse The activity that sent a response.var:acknowledgement cas:Acknowledgement The acknowledgement that was after a

sending response.

Figure 4: Table describing the variables for the task composition template12 of 65 http://www.smart-society-project.eu

Page 13: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

var:b

var:requesting_opinion

var:computing_composition

wasInformedBy wasAssociatedWith

prov:type cas:RequestingOpiniontmpl:endTime var:requesting_opinion_endtmpl:startTime var:requesting_opinion_start

var:composing_tasks

wasAssociatedWith

prov:type cas:ComposingTasksdct:hasPart var:authenticatedct:hasPart var:computing_compositiontmpl:endTime var:composing_tasks_endtmpl:startTime var:composing_tasks_start

var:sending_response

wasInformedBywasAssociatedWith

prov:type cas:SendingResponsetmpl:endTime var:sending_response_endtmpl:startTime var:sending_response_start

var:parent_task_request

used

var:task_request

used

var:opinion_report

usedwasAssociatedWith

prov:type cas:computingCompositiontmpl:endTime var:computing_composition_endtmpl:startTime var:computing_composition_start

var:task

wasGeneratedBy wasDerivedFromwasDerivedFrom

prov:type cas:Task

var:negotiation_manager

wasAttributedTo

prov:type cas:TaskRequest

var:invalid_task

wasGeneratedBy

wasAttributedTo

prov:type cas:Task

var:ui

wasAttributedTo wasAttributedTo

prov:type cas:TaskRequest

var:acknowledgement

wasGeneratedBy

prov:type cas:Acknowledgement

prov:type cas:ReputationReport

prov:type cas:UserInterfacetmpl:label var:username

prov:type cas:NegotiationManager

Figure 5: Template for computing tasks after a negotiation offer. It describes the genera-tion of ride plans after a user posts a negotiation offer about a ride plan. The generationof ride plans uses submitted offer and ride requests to generate potential rides. Warning:The graphical version of templates are included in the deliverable for illustrative purposesonly. Given the size of the graph, the reader is expected to use the electronic version,which can be rescaled, which is accessible at negotiation template .

Post Negotiation Template, see Figure 5Variable Type Descriptionvar:ui cas:UserInterface The User Interface.var:negotiation manager cas:NegotiationManager The negotiation manager.var:generating composition cas:ComputingComposition The activity that computed valid tasks.var:task request cas:TaskRequest A task request.var:task cas:Task A task.var:parent task request cas:TaskRequest A parent task request.var:invalid task cas:Task An invalid task.var:opinion report cas:ReputationReport An opinion report.var:requesting opinion cas:RequestingOpinion The activity that requests an opinion re-

port from the var:reputation manager.var:negotiating tasks cas:NegotiatingTasks The activity that handles a task submitted

for negotiation.var:sending response cas:SendingResponse An activity that sent a response.var:acknowledgement cas:Acknowledgement The acknowledgement that was after a

sending response.

Figure 6: Table describing the variables for the post negotiation template

c© SmartSociety Consortium 2013-2017 13 of 65

Page 14: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

var:b

var:submitting_feedback

var:temp_feedback

used wasAssociatedWith

prov:type cas:SubmittingFeedbacktmpl:endTime var:submitting_feedback_endtmpl:label cas:SubmittingFeedbacktmpl:startTime var:submitting_feedback_start

var:storing_feedback

wasInformedBywasAssociatedWith

prov:type cas:StoringFeedbacktmpl:endTime var:submitting_feedback_endtmpl:label cas:StoringFeedbacktmpl:startTime var:storing_feedback_start

var:feedback

wasGeneratedBy

var:reputation_manager

wasAttributedTo

wasDerivedFrom

prov:type cas:FeedbackReporttmpl:label cas:FeedbackReport

var:ui

wasAttributedTo

prov:type cas:FeedbackReporttmpl:label cas:FeedbackReport

prov:type cas:UserInterfacetmpl:label cas:UserInterfacetmpl:label var:username

prov:type cas:ReputationManagertmpl:label cas:ReputationManager

Figure 7: Template for the submission of feedback reports. It describes the processesand entities used when the reputation manager receives a feedback report. The feedbackreport is stored, and it is used to generate reputation reports about a subject. Warning:The graphical version of templates are included in the deliverable for illustrative purposesonly. Given the size of the graph, the reader is expected to use the electronic version,which can be rescaled, which is accessible at submit feedback template.

Post Feedback Template, see Figure 7Variable Type Descriptionvar:ui cas:UserInterface The User Interface.var:reputation manager cas:ReputationManager The reputation manager.var:temp feedback cas:FeedbackReport An un-stored feedback report, to be stored

by the reputation manager.var:feedback cas:FeedbackReport The feedback report, stored by the reputa-

tion manager.var:submitting feedback cas:SubmittingFeedback The activity that handled the submission of

a feedback report.var:storing feedback cas:StoringFeedback The activity that stored a feedback report.

Figure 8: Table describing the variables for the post feedback template

14 of 65 http://www.smart-society-project.eu

Page 15: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

var:b

var:storing_feedback

prov:type cas:StoringFeedbacktmpl:endTime var:storing_feedback_endtmpl:label cas:StoreFeedbacktmpl:startTime var:storing_feedback_start

var:computing_reputation

wasInformedBy

var:feedback_report

used wasAssociatedWith

prov:type cas:computingReputationtmpl:endTime var:computing_reputation_endtmpl:label cas:ComputingReputationtmpl:startTime var:computing_reputation_start

prov:type cas:FeedbackReporttmpl:label cas:FeedbackReport

var:reputation_report

wasGeneratedBy

var:reputation_manager

wasAttributedTo

wasDerivedFrom

prov:type cas:ReputationReporttmpl:label cas:ReputationReport

prov:type cas:ReputationManagertmpl:label cas:ReputationManager

Figure 9: Template for generating reputation reports. It describes the generation of rep-utation reports. The generation of reputation reports uses submitted feedback reports togenerate reputation reports. This template is also used when opinion reports are com-puted, because opinion reports are a specialisation of reputation reports. Warning: Thegraphical version of templates are included in the deliverable for illustrative purposes only.Given the size of the graph, the reader is expected to use the electronic version, which canbe rescaled, which is accessible at generate reputation template.

Generate Reputation Template, see Figure 9Variable Type Descriptionvar:reputation manager cas:ReputationManager The reputation manager.var:feedback report cas:FeedbackReport The feedback report, used for generating a

reputation report.var:reputation report cas:ReputationReport The reputation report that was computed.var:generating reputation cas:ComputingReputation The activity that computed the reputation

report.var:storing feedback cas:StoringFeedback The activity that stored a feedback report.

Figure 10: Table describing the variables for the generate reputation template

c© SmartSociety Consortium 2013-2017 15 of 65

Page 16: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

var:b

var:sending_request

var:request

used wasAssociatedWith

prov:type cas:SendingRequesttmpl:endTime var:sending_request_endtmpl:label cas:SendRequest

var:computing_response

wasInformedBywasAssociatedWith

prov:type cas:computingResponsetmpl:endTime var:computing_response_endtmpl:label cas:computingResponsetmpl:startTime var:computing_response_start

var:reputation_record

var:reputation_manager

wasAttributedTo

prov:type cas:Recordtmpl:label cas:Record

var:response

wasGeneratedBy

wasAttributedTo

wasDerivedFrom

prov:type cas:Responsetmpl:label cas:Response

var:ui

wasAttributedTo

prov:type cas:Requesttmpl:label cas:Request

prov:type cas:UserInterfacetmpl:label cas:UserInterfacetmpl:label var:username

prov:type cas:ReputationManagertmpl:label cas:ReputationManager

Figure 11: Template for generating compositions for ride matches. Bindings for this tem-plate are generated when the reputation manager receives a request, with one exception,when a feedback request is posted. When such a call is received by the reputation man-ager it retrieves the request information and sends it to the requester. Warning: Thegraphical version of templates are included in the deliverable for illustrative purposes only.Given the size of the graph, the reader is expected to use the electronic version, which canbe rescaled, which is accessible at api call template.

Api Call Template, see Figure 11Variable Type Descriptionvar:ui cas:UserInterface The User Interface.var:reputation manager cas:ReputationManager The reputation manager.var:request cas:Request The request that was submitted to the rep-

utation manager.var:response cas:Response The response that was computed by the

reputation manager.var:sending request cas:SendingRequest The activity that submitted the request to

the reputation manager.var:generating response cas:ComputingResponse The activity that computed the response.var:reputation record cas:Record A record held by the reputation manager,

it is used to generate the response.

Figure 12: Table describing the variables for the api call template

16 of 65 http://www.smart-society-project.eu

Page 17: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

var:b

var:changing_view

wasAssociatedWith

prov:type cas:ChangingViewtmpl:endTime var:changing_view_start_end_timetmpl:startTime var:changing_view_start_time

var:view

wasGeneratedBy

var:ui

wasAttributedTo

prov:type cas:View

prov:type cas:UserInterfacetmpl:label var:username

Figure 13: Template for changing the view on the UI, bindings for this template aregenerated when the user changes a view. Warning: The graphical version of templates areincluded in the deliverable for illustrative purposes only. Given the size of the graph, thereader is expected to use the electronic version, which can be rescaled, which is accessibleat change view template.

Change View Template, see Figure 13Variable Type Descriptionvar:ui cas:UserInterface The UI.var:changing view cas:ChangingView The actctivity that changed the view

in the UI.var:view cas:View The view that was changed in the UI.

Figure 14: Table describing the variables for the change view template

c© SmartSociety Consortium 2013-2017 17 of 65

Page 18: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

var:b

var:sending_request

var:identity

used

var:view

used

var:request

used wasAssociatedWith

prov:type cas:SendingRequesttmpl:endTime var:sending_request_end_timetmpl:startTime var:sending_request_start_time

var:ui

wasAttributedTo

prov:type cas:Identity

wasAttributedTo

prov:type cas:View

wasAttributedTo

prov:type cas:Request

prov:type cas:UserInterfacetmpl:label var:username

Figure 15: Template for the submission of data via the UI. It is used when a user performsan action that results in a request or the submission of data via the UI. Warning: Thegraphical version of templates are included in the deliverable for illustrative purposes only.Given the size of the graph, the reader is expected to use the electronic version, which canbe rescaled, which is accessible at submit request template.

Submit Data Template, see Figure 15Variable Type Descriptionui cas:UserInterface The User Interface.identity cas:Identity The identity that was used to submit a re-

quest.request cas:Request The request that was sent via the UI.sendingRequest cas:sendingRequest The activity that submitted a request.var:view cas:View The view that the sending request is asso-

ciated with.

Figure 16: Table describing the variables for the submit data template

18 of 65 http://www.smart-society-project.eu

Page 19: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

3.2 Vocabulary

In addition to the vocabulary defined for HDA-CAS applications (see Appendix A, Sec-

tion 3), we have defined subtypes defining Ride Share specific agents and activities (see

Figure 17 and Appendix B (http://smartsociety-project.github.io/cas/)). These

additional subtypes enables the explanation peer to provide individualised descriptions of

Ride Share agents and activities.

3.3 End to End Provenance Integration

In this section, we show the provenance that is generated when a task request is submitted,

a task negotiation, and the generation of reputation when a feedback report is submitted.

The namespaces used by the Ride Share demonstrator are presented and described in

Table 2.

Prefix URI Namespace Descrip-tion

cas http://smartsociety-project.github.io/cas/#

The cas vocabulary.

ui file:/tmp/tmpdMwCmX/168.144.152.202/ The UI.openride file:/tmp/tmpdMwCmX/168.144.152.202/

OpenRideServer-RS/The UI’s service.

view file:/tmp/tmpdMwCmX/168.144.152.202/OpenRideServer-RS/view/

The UI’s views.

orchestrator http://168.144.202.152:3000/ The orchestration peer.request http://168.144.202.152:3000/rideRequests/ Ride requests.plans http://168.144.202.152:3000/ridePlans/ Ride plans.

reputation http://pat.ecs.soton.ac.uk/ The reputation man-ager.

feedback http://pat.ecs.soton.ac.uk/application/1/feedback/

Feedback reports.

usr http://pat.ecs.soton.ac.uk/rs/subject/byURI/

The users describedby the reputationmanager.

Table 2: Namespaces used in the Ride Share demonstrator.

The provenance graph presented in Figure 19 shows the provenance generated from

the UI and orchestration peer when two users submit a ride request. When a user submits

a ride request via the UI, it submits provenance bindings for any changes of view in the UI

and the submission of the request, using the templates in Figures 13 and 15, respectively.

c© SmartSociety Consortium 2013-2017 19 of 65

Page 20: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

prov:En

tity

cas:Re

cord

cas:Iden

tity

cas:Re

putationRe

port

cas:Feed

backR

eport

cas:Message

cas:Protocol

cas:Plan

cas:Task

cas:Cap

ability

cas:Acknow

ledgem

ent

cas:Call

cas:Re

quest

cas:Re

sponse

cas:API

cas:View

prov:Agen

t

cas:Re

putationMan

ager

cas:OrchestrationMan

ager

cas:CompositionMan

ager

cas:Pe

er

cas:User

cas:Agen

t

cas:Collective

cas:Neg

otiationMan

ager

cas:UserInterface

cas:IncentiveMan

ager

prov:Activity

cas:Su

bmittingFeed

back

cas:Activitycas:StoringFeed

back

cas:Gen

eratingRe

putation

cas:Authen

ticatingIden

tity

cas:StoringTask

cas:ComposingTasks

cas:Neg

otiatingTasks

cas:Po

stingTaskR

equest

cas:SendingRe

sponse

cas:Gen

eratingComposition

cas:Chan

gingView

cas:Su

bmittingRe

quest

cas:SendingRe

squest

Figure 17: CAS Vocabulary for the Ride Share demonstrator. The yellow nodes denoteprov d-m terms, the pink nodes with black text are core CAS are defined in Appendix A,Section 3, the dark red nodes denote terms used by the reputation manager, the dark bluenodes denote terms used by the orchestration peer, the green nodes denote terms that areused by the UI, and the pink nodes with white text are terms that are non specific topeers but are not in the core vocabulary presented in Appendix A, Section 3.

20 of 65 http://www.smart-society-project.eu

Page 21: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

Figure 20 shows that ido submitted a request, and these submissions are authenticated

using their Ride Share identities.

When a ride request is submitted via the UI, the ride manager peer stores the request

and then attempts to generate plans for potential rides (see Figure 21). This interaction

causes the rideshareapp to generate provenance bindings for the post task template and

the composition template (see Figures 1 and 3, respectively). During the composition

generation the rideshareapp requests opinion reports from the reputation service. The

reputation manager then retrieves opinion reports about the subjects of the potential

ride (see Figure 22) and generates the provenance bindings for the get provenance items

template (see Figure 11).

The provenance graph presented in Figure 24 shows the provenance generated when a

user submits a negotiation offer on a potential ride plan.

When a user submits an offer via the UI, the UI submits provenance bindings for the

changing of view in the UI and the submission of the request, using the templates in

Figures 13 and 15, respectively. Figure 25 shows that the user ido submits an offer offer:t1

where the rideservice, authenticates the user with the activity authenticatingIdentity-3

using their Ride Share identity identity-1. The ride service then generates ride plan:3

which was derived from ride plan:1, rideplan:2 and rideplan:1a. The ride manager peer

submits provenance bindings for the negotiation template shown in Figure 5.

The provenance graph presented in Figure 24 shows the provenance generated when

a user submits feedback for a ride. When a user an submits the feedback reputa-

tion:application/1/feedback/0/ via the UI, the UI submits provenance bindings for the

changing of view in the UI and the submission of the feedback, using the templates in

Figures fig:changeview and fig:uisubmit, respectively.

The reputation manager then generates a reputation and opinion reports reputa-

tion:application/1/reputation/1/ and reputation:application/1/opinion/1/, respectively,

which are based on the feedback submitted reputation:application/1/feedback/0/. In this

case, the reputation report is consumed by users and contains aggregate values from feed-

back reports about a subject, and opinion report is consumed by another peer and contains

one aggregate value representing one user’s opinion about another user. The reputation

manager submits the provenance bindings for the generate reputation template shown in

Figure 9.

c© SmartSociety Consortium 2013-2017 21 of 65

Page 22: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

orchestrator:sendingResponse-2

orchestrator:submittingTask-2

wasInform

edBy

wasAssociatedWith

prov:typecas:SendingResponse

orchestrator:sendingResponse-1

orchestrator:submittingTask-1

wasInform

edBy

wasAssociatedWith

prov:typecas:SendingResponse

ui:OpenRideServer-RS/submittingRequestButton-1

orchestrator:rideRequests/t1

used

orchestrator:identity-1

used

wasAssociatedWith

prov:typecas:SendingTaskRequest

ui:PostingTaskRequest-2

wasAssociatedWith

prov:typecas:PostingTaskRequest

ui:PostingTaskRequest-1

wasAssociatedWith

prov:typecas:PostingTaskRequest

ui:OpenRideServer-RS/submittingRequestButton-2

orchestrator:identity-2

used

orchestrator:rideRequests/t2

used

wasAssociatedWith

prov:typecas:SendingTaskRequest

wasAssociatedWith

prov:type

cas:SubmitingTask

dct:hasPartorchestrator:storingTask-1

wasAssociatedWith

prov:type

cas:SubmitingTask

dct:hasPartorchestrator:composingTasks-1

dct:hasPartorchestrator:storingTask-2

ui:OpenRideServer-RS/submittingRequestView-2

wasAssociatedWith

prov:typecas:ChangingView

ui:OpenRideServer-RS/submittingRequestView-1

wasAssociatedWith

prov:typecas:ChangingView

reputation:generatingResponse-1

opinions:requestingOpinion-1

wasInform

edBy

wasAssociatedWith

prov:typecas:GeneratingResponse

orchestrator:generatingComposition-1

opinions:2

used

orchestrator:ridePlans/0

used

opinions:1

used

orchestrator:rideRequests/2

used

used

orchestrator:rideRequests/1

used

used

wasAssociatedWith

prov:typecas:GeneratingComposition

wasInform

edBy

orchestrator:identity-0

used

wasAssociatedWith

wasAssociatedWith

prov:typecas:SendingRequest

orchestrator:storingTask-1

used

wasAssociatedWith

prov:typecas:StoringTask

orchestrator:composingTasks-1

wasInform

edBy

wasAssociatedWith

prov:type

cas:ComposingTasks

dct:hasPartorchestrator:generatingComposition-1

orchestrator:storingTask-2

used

wasAssociatedWith

prov:typecas:StoringTask

ui:OpenRideServer-RS-2

wasAttributedTo

prov:typecas:Identity

orchestrator:acknowledgement-2

wasG

eneratedBy

prov:typecas:Acknowledgement

orchestrator:rsa

wasAttributedTo

prov:typecas:Identity

wasG

eneratedBy

reputation:rs

wasAttributedTo

prov:typecas:ReputationReport

wasAttributedTo

wasD

erivedFrom

prov:typecas:Task

wasG

eneratedBy

wasAttributedTo

prov:typecas:ReputationReport

wasG

eneratedBy

wasAttributedTo

wasAttributedTo

prov:typecas:Task

orchestrator:acknowledgement-1

wasG

eneratedBy

prov:typecas:Acknowledgement

wasG

eneratedBy

ui:OpenRideServer-RS-1

wasAttributedTo

wasAttributedTo

prov:typecas:TaskRequest

ui:OpenRideServer-RS/view-1

wasG

eneratedBy

wasAttributedTo

prov:typecas:View

orchestrator:ridePlans/1

wasG

eneratedBy

wasD

erivedFrom

wasD

erivedFrom

prov:typecas:Task

wasG

eneratedBy

wasAttributedTo

prov:typecas:Identity

wasG

eneratedBy

wasAttributedTo

wasAttributedTo

wasAttributedTo

wasD

erivedFrom

prov:typecas:TaskRequest

wasG

eneratedBy

wasAttributedTo

wasAttributedTo

wasAttributedTo

wasD

erivedFrom

prov:typecas:TaskRequest

ui:OpenRideServer-RS/view-2

wasG

eneratedBy

wasAttributedTo

prov:typecas:View

reputation:response-1

wasG

eneratedBy

wasAttributedTo

wasD

erivedFrom

wasD

erivedFrom

prov:typecas:Response

prov:typecas:ReputationManager

prov:typecas:OrchestratorManager

prov:labelusr:avi

prov:typecas:UserInterface

prov:label'usr:ido'

prov:labelusr:ido

prov:typecas:UserInterface

Figure 18: The provenance data recorded from the submission of a ride request. Warn-ing: The graphical version of the provenance traces are included in the deliverable forillustrative purposes only. Given the size of the graph, the reader is expected to use theelectronic version, which can be rescaled, which is accessible at generate rides.22 of 65 http://www.smart-society-project.eu

Page 23: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

orchestrator:sendingResponse-2

orchestrator:subm

ittingTask-2

wasInform

edBy

wasAssociatedW

ith

prov:typecas:SendingResponse

orchestrator:sendingResponse-1

orchestrator:subm

ittingTask-1

wasInform

edBy

wasAssociatedW

ith

prov:typecas:SendingResponse

ui:O

penRideServer-RS/subm

ittingRequestButton-1

orchestrator:rideRequests/t1

used

orchestrator:identity-1

used

wasAssociatedW

ith

prov:typecas:SendingTaskRequest

ui:PostingTaskRequest-2

wasAssociatedW

ith

prov:typecas:PostingTaskRequest

ui:PostingTaskRequest-1

wasAssociatedW

ith

prov:typecas:PostingTaskRequest

ui:O

penRideServer-RS/subm

ittingRequestButton-2

orchestrator:identity-2

used

orchestrator:rideRequests/t2

used

wasAssociatedW

ith

prov:typecas:SendingTaskRequest

wasAssociatedW

ith

prov:type

cas:SubmitingTask

dct:hasPartorchestrator:storingTask-1

wasAssociatedW

ith

prov:type

cas:SubmitingTask

dct:hasPartorchestrator:com

posingTasks-1

dct:hasPartorchestrator:storingTask-2

ui:O

penRideServer-RS/subm

ittingRequestView-2

wasAssociatedW

ith

prov:typecas:ChangingV

iew

ui:O

penRideServer-RS/subm

ittingRequestView-1

wasAssociatedW

ith

prov:typecas:ChangingV

iew

reputation:generatingResponse-1

opinions:requestingO

pinion-1

wasInform

edBy

wasAssociatedW

ith

prov:typecas:GeneratingResponse

orchestrator:generatingC

omposition-1

opinions:2

used

orchestrator:ridePlans/0

used

opinions:1

used

orchestrator:rideRequests/2

used

used

orchestrator:rideRequests/1

used

used

wasAssociatedW

ith

prov:typecas:GeneratingC

omposition

wasInform

edBy

orchestrator:identity-0

used

wasAssociatedW

ith

wasAssociatedW

ith

prov:typecas:SendingRequest

orchestrator:storingTask-1

used

wasAssociatedW

ith

prov:typecas:StoringTask

orchestrator:com

posingTasks-1

wasInform

edBy

wasAssociatedW

ith

prov:type

cas:Com

posingTasks

dct:hasPartorchestrator:generatingC

omposition-1

orchestrator:storingTask-2

used

wasAssociatedW

ith

prov:typecas:StoringTask

ui:O

penRideServer-RS-2

wasAttributedTo

prov:typecas:Identity

orchestrator:acknow

ledgem

ent-2

wasGeneratedBy

prov:typecas:Acknowledgem

ent

orchestrator:rsa

wasAttributedTo

prov:typecas:Identity

wasGeneratedBy

reputation:rs

wasAttributedTo

prov:typecas:ReputationReport

wasAttributedTo

wasDerivedFrom

prov:typecas:Task

wasGeneratedBy

wasAttributedTo

prov:typecas:ReputationReport

wasGeneratedBy

wasAttributedTo

wasAttributedTo

prov:typecas:Task

orchestrator:acknow

ledgem

ent-1

wasGeneratedBy

prov:typecas:Acknowledgem

ent

wasGeneratedBy

ui:O

penRideServer-RS-1

wasAttributedTo

wasAttributedTo

prov:typecas:TaskRequest

ui:O

penRideServer-RS/view-1

wasGeneratedBy

wasAttributedTo

prov:typecas:View

orchestrator:ridePlans/1

wasGeneratedBy

wasDerivedFrom

wasDerivedFrom

prov:typecas:Task

wasGeneratedBy

wasAttributedTo

prov:typecas:Identity

wasGeneratedBy

wasAttributedTo

wasAttributedTo

wasAttributedTo

wasDerivedFrom

prov:typecas:TaskRequest

wasGeneratedBy

wasAttributedTo

wasAttributedTo

wasAttributedTo

wasDerivedFrom

prov:typecas:TaskRequest

ui:O

penRideServer-RS/view-2

wasGeneratedBy

wasAttributedTo

prov:typecas:View

reputation:response-1

wasGeneratedBy

wasAttributedTo

wasDerivedFrom

wasDerivedFrom

prov:typecas:Response

prov:typecas:ReputationM

anager

prov:typecas:OrchestratorManager

prov:labelusr:avi

prov:typecas:UserInterface

prov:label'usr:ido'

prov:labelusr:ido

prov:typecas:UserInterface

Figure 19: The provenance data recorded from the submission of a ride request withoverlays showing different templates. Where, blue is the change view template, pink is thesubmit request template, orange is the post task template, grey is the composition andgreen is the api call template.

c© SmartSociety Consortium 2013-2017 23 of 65

Page 24: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

Figure 20: Close up of the provenance graph in Figure 19 showing the change of view andsubmission of a ride request.

Figure 21: Close up of the provenance graph in Figure 19 showing storing of a ride request.

Figure 22: Close up of the provenance graph in Figure 19 showing the retrieval of opinionsvia the reputation manager.

24 of 65 http://www.smart-society-project.eu

Page 25: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

negotiation:sendingResponse-3

negotiation:negotiatingTasks-1

wasInform

edBy

wasAssociatedWith

prov:typecas:SendingResponse

negotiation:submittingOpinion-2

negotiation:generatingComposition-2

wasInform

edBy

wasAssociatedWith

prov:typecas:SubmittingRequest

negotiation:generatingInvalidTasks-2

wasInform

edBy

negotiation:ridePlans/3

used

wasAssociatedWith

wasAssociatedWith

prov:typecas:GeneratingInvalidTasks

ui:OpenRideServer-RS/view/activeOffersView-1

wasAssociatedWith

prov:typecas:ChangingView

negotiation:storingTask-2

wasInform

edBy

negotiation:ridePlans/1a

used

reputation:application/1/opinionOf/1/aboutSubject/24

used

reputation:application/1/opinionOf/1/aboutSubject/23

used

negotiation:rideRequests/3

used

negotiation:rideRequests/2

used

negotiation:rideRequests/1

used

wasAssociatedWith

prov:typecas:GeneratingComposition

wasAssociatedWith

prov:type

cas:NegotiatingTasks

dct:hasPartnegotiation:generatingComposition-2

dct:hasPartnegotiation:generatingInvalidTasks-2

dct:hasPartnegotiation:storingTask-2

ui:OpenRideServer-RS/view/submittingTaskNegotiation-1

negotiation:authenticate-1

used

negotiation:offers/t1

used

wasAssociatedWith

prov:typecas:SendingRequest

negotiation:composingTasks-2

wasAssociatedWith

prov:type

cas:ComposingTasks

dct:hasPartnegotiation:generatingComposition-2

dct:hasPartnegotiation:generatingInvalidTasks-2

used

wasAssociatedWith

prov:typecas:StoringTask

negotiation:ridePlans/4

wasG

eneratedBy

negotiation:rsa

wasAttributedTo

wasD

erivedFrom

prov:typecas:Task

negotiation:ridePlans/2

wasAttributedTo

wasD

erivedFrom

wasD

erivedFrom

prov:typecas:Task

wasG

eneratedBy

wasAttributedTo

wasD

erivedFrom

wasD

erivedFrom

wasD

erivedFrom prov:typecas:Task

ui:OpenRideServer-RS-1

wasAttributedTo

prov:typecas:Identity

wasAttributedTo

wasAttributedTo

wasD

erivedFrom

prov:typecas:Task

wasG

eneratedBy

prov:typecas:Task

prov:typecas:ReputationReport

ui:OpenRideServer-RS/view-3

wasG

eneratedBywasAttributedTo

prov:typecas:View

prov:typecas:ReputationReport

negotiation:ridePlans/1

wasAttributedTo

wasD

erivedFrom

wasD

erivedFrom

prov:typecas:Task

wasAttributedTo

wasAttributedTo

prov:typecas:TaskRequest

wasAttributedTo

ui:OpenRideServer-RS-2

wasAttributedTo

prov:typecas:TaskRequest

wasAttributedTo prov:typecas:TaskRequest

negotiation:response-3

wasG

eneratedBy

prov:typecas:Acknowledgement

prov:typecas:NegotiationManager

prov:labelusr:avi

prov:typecas:UserInterface

prov:labelusr:ido

prov:typecas:UserInterface

Figure 23: The provenance data recorded from the submission of a negotiation offer.Warning: The graphical version the provenance traces are included in the deliverable forillustrative purposes only. Given the size of the graph, the reader is expected to use theelectronic version, which can be rescaled, which is accessible negotiation.c© SmartSociety Consortium 2013-2017 25 of 65

Page 26: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

negotiation:sendingResponse-3

negotiation:negotiatingTasks-1

wasInform

edBy

wasAssociatedW

ith

prov:typecas:SendingResponse

negotiation:subm

ittingO

pinion-2

negotiation:generatingC

omposition-2

wasInform

edBy

wasAssociatedW

ith

prov:typecas:SubmittingRequest

negotiation:generatingInvalidTasks-2

wasInform

edBy

negotiation:ridePlans/3

used

wasAssociatedW

ithwasAssociatedW

ith

prov:typecas:GeneratingInvalidTasks

ui:O

penRideServer-RS/view/activeOffersView-1

wasAssociatedW

ith

prov:typecas:ChangingV

iew

negotiation:storingTask-2

wasInform

edBy

negotiation:ridePlans/1a

used

reputation:application/1/opinionOf/1/aboutSubject/24

used

reputation:application/1/opinionOf/1/aboutSubject/23

used

negotiation:rideRequests/3

used

negotiation:rideRequests/2

used

negotiation:rideRequests/1

used

wasAssociatedW

ith

prov:typecas:GeneratingC

omposition

wasAssociatedW

ith

prov:type

cas:NegotiatingTasks

dct:hasPartnegotiation:generatingC

omposition-2

dct:hasPartnegotiation:generatingInvalidTasks-2

dct:hasPartnegotiation:storingTask-2

ui:O

penRideServer-RS/view/subm

ittingTaskN

egotiation-1

negotiation:authenticate-1

used

negotiation:offers/t1

used

wasAssociatedW

ith

prov:typecas:SendingRequest

negotiation:com

posingTasks-2

wasAssociatedW

ith

prov:type

cas:Com

posingTasks

dct:hasPartnegotiation:generatingC

omposition-2

dct:hasPartnegotiation:generatingInvalidTasks-2

used

wasAssociatedW

ith

prov:typecas:StoringTask

negotiation:ridePlans/4

wasGeneratedBy

negotiation:rsa

wasAttributedTo

wasDerivedFrom

prov:typecas:Task

negotiation:ridePlans/2

wasAttributedTo

wasDerivedFrom

wasDerivedFrom

prov:typecas:Task

wasGeneratedBy

wasAttributedTo

wasDerivedFrom

wasDerivedFrom

wasDerivedFrom

prov:typecas:Task

ui:O

penRideServer-RS-1

wasAttributedTo

prov:typecas:Identity

wasAttributedTo

wasAttributedTo

wasDerivedFrom

prov:typecas:Task

wasGeneratedBy

prov:typecas:Task

prov:typecas:ReputationReport

ui:O

penRideServer-RS/view-3

wasGeneratedBywasAttributedTo

prov:typecas:View

prov:typecas:ReputationReport

negotiation:ridePlans/1

wasAttributedTo

wasDerivedFrom

wasDerivedFrom

prov:typecas:Task

wasAttributedTo

wasAttributedTo

prov:typecas:TaskRequest

wasAttributedTo

ui:O

penRideServer-RS-2

wasAttributedTo

prov:typecas:TaskRequest

wasAttributedTo prov:typecas:TaskRequest

negotiation:response-3

wasGeneratedBy

prov:typecas:Acknowledgem

ent

prov:typecas:NegotiationM

anager

prov:labelusr:avi

prov:typecas:UserInterface

prov:labelusr:ido

prov:typecas:UserInterface

Figure 24: The provenance data recorded from the submission of a negotiation offer withoverlays showing different templates. Where, blue is the change view template, pink is thesubmit request template, and red is the api call template.

26 of 65 http://www.smart-society-project.eu

Page 27: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

Figure 25: Close up of the provenance graph in Figure 24 showing submission of a nego-tiation offer.

3.4 APIs

The APIs for the reputation and explanation peers are described in Tables 3 and 4. These

APIs support access to the services’ resources for the Ride Share demonstrator and other

applications. The supported API calls were designed with feedback from WP5 and 6, so

that they supported their requirements for the demonstrator.

4 Rideshare Demonstrator and Accountability

The explanation peer is designed to provide transparency and accountability for users

of HDA-CASs. It provides a narrative about a single provenance element (either an

entity, activity or agent) in either a provenance document held by ProvStore or a set

of provenance documents related to a specific application. It uses sentence templates to

explain the provenance data about a subject (see Appendix A, Sections 4.3 and 5.3).

Concretely, it can be used to explain a subject in provenance data generated by the

Ride Share demonstrator (for more details see Appendix A, Section 4.3). For example,

the subject plan:1 can be explained from the provenance data presented in Section 3.3,

with the following explanation:

The ride plan plan:1 was generated by the orchestrator:composition-1 ac-

tivity. It details the attributes of a ride including its date and time, the origin

and destination, and its potential participants and their roles. It was derived

c© SmartSociety Consortium 2013-2017 27 of 65

Page 28: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

reputation:reputation_peer

prov:typecas:ReputationPeer

ui:OpenRideServer-RS-1

prov:labelusr:ido

prov:typecas:Peer

ui:OpenRideServer-RS/view/submittingFeedbackButton-1

orchestrator:authenticate-1

used

ui:OpenRideServer-RS/feedback/t1

used

wasAssociatedWith

prov:typecas:SubmitingFeedback

ui:OpenRideServer-RS/view/submittingFeedbackView-1

wasAssociatedWith

prov:typecas:ChangingView

reputation:generating_opinion-1

reputation:storing_feedback-1

wasInform

edBy

wasAssociatedWith

prov:typecas:GeneratingReputation

wasInform

edBy

wasAssociatedWith

prov:typecas:StoringFeedback

reputation:generating_reputation-1

wasInform

edBy

wasAssociatedWith

prov:typecas:GeneratingReputation

wasAttributedTo

prov:typecas:identity

ui:OpenRideServer-RS/view-4

wasAttributedTo

wasG

eneratedBy

reputation:application/1/opinion/1/

wasAttributedTo

wasG

eneratedBy

wasD

erivedFrom

prov:typecas:ReputationReport

feedback:0/

wasAttributedTo

wasG

eneratedBy

wasD

erivedFrom

prov:typecas:FeedbackReport

wasAttributedTo prov:typecas:FeedbackReport

reputation:application/1/reputation/1/

wasAttributedTo

wasG

eneratedBy

wasD

erivedFrom

prov:typecas:ReputationReport

Figure 26: The provenance data recorded from a submitting feedback. Warning: Thegraphical version of provenance traces are included in the deliverable for illustrative pur-poses only. Given the size of the graph, the reader is expected to use the electronic version,which can be rescaled, which is accessible at generate reputation.28 of 65 http://www.smart-society-project.eu

Page 29: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

reputation:reputation_peer

prov:typecas:ReputationPeer

ui:O

penRideServer-RS-1

prov:labelusr:ido

prov:typecas:Peer

ui:O

penRideServer-RS/view/subm

ittingFeedbackB

utton-1

orchestrator:authenticate-1

used

ui:O

penRideServer-RS/feedback/t1

used

wasAssociatedW

ith

prov:typecas:SubmitingFeedback

ui:O

penRideServer-RS/view/subm

ittingFeedbackV

iew-1

wasAssociatedW

ith

prov:typecas:ChangingV

iew

reputation:generating_opinion-1

reputation:storing_feedback-1

wasInform

edBy

wasAssociatedW

ith

prov:typecas:GeneratingReputation

wasInform

edBy

wasAssociatedW

ith

prov:typecas:StoringFeedback

reputation:generating_reputation-1

wasInform

edBy

wasAssociatedW

ith

prov:typecas:GeneratingReputation

wasAttributedTo

prov:typecas:identity

ui:O

penRideServer-RS/view-4

wasAttributedTo

wasGeneratedBy

reputation:application/1/opinion/1/

wasAttributedTo

wasGeneratedBy

wasDerivedFrom

prov:typecas:ReputationReport

feedback:0/

wasAttributedTo

wasGeneratedBy

wasDerivedFrom

prov:typecas:FeedbackReport

wasAttributedTo pr

ov:typecas:FeedbackReport

reputation:application/1/reputation/1/

wasAttributedTo

wasGeneratedBy

wasDerivedFrom

prov:typecas:ReputationReport

Figure 27: The provenance data recorded from a submitting feedback with overlays show-ing different templates. Where, blue is the change view template, pink is the submitrequest template, and red is the submit feedback template, and yellow is the negotiationtemplate.

c© SmartSociety Consortium 2013-2017 29 of 65

Page 30: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

Reputation Manager

URI Description

/subject/byURI/:subject uri/ A collection resources held by thereputation manager that reference asubject, including of feedback andreputation reports.

/application/:app/subject/:subject/ A collection of subjects associatedwith an application.

/application/:app/subject/:subject/feedback/ A collection of feedback report re-sources associated with a subject re-source.

/application/:app/feedback/ A feedback report to the feedbackreport collection.

/application/:app/feedback/:feedback/ A feedback report resource with aspecific id.

/application/:app/subject/:subject/reputation/ A collection of reputation reportsabout a subject resource.

/application/:app/reputation/:reputation/ A reputation report with a specificid.

/application/:app/opinion/:opinion/ An opinion report with a specific id./application/:app/opinions/ A collection of opinion reports

about subject resources.

Table 3: API calls for the reputation manager

Reputation Manager

URI Description

/application/:app/subject/:subject A narrative resource about a subject with re-spect to an application.

Table 4: API calls for the explanation peer

30 of 65 http://www.smart-society-project.eu

Page 31: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

from the ride requests with the ids 1 and 2. The ride request request:1 was

submitted by usr:ido. It includes information about a requested rides date

and time, the origin and destination, and the role played by the usr:ido.

The ride request request:2 was submitted by usr:avi and it was generated

by view:submitRequestButton-2. It includes information about a requested

rides date and time, the origin and destination, and the role played by the

usr:avi and it was generated by view:submitRequestButton. The compute

composition activity orchestrator:composition-1 was performed by orches-

trator:rsa, it generates potential ride matches between current ride requests

and matches on a requests origin, destination and time. The following ride

requests with the ids 1 and 2 were matched using this activity.

5 Links with Other Work Packages

WP2 has been influential and influenced by other work packages in Smart Society. Pre-

dominantly, WP2 has links to WP 4, 5 and 6 because they hinge on the development of

the Ride Share demonstrator, but we have also collaborated with them over modelling

HDA-CAS, and privacy and provenance. Concretely, WP2 has collaborated with:

1. WP1, 4, 5 and 6 on the Ride Share demonstrator, which we met weekly to discuss the

following Ride Share issues: architecture, implementation, integration and user stud-

ies. We collaborated with WP6 to design the orchestrator peer templates (see Section

3.1). WP5 and 6 have also influenced design decisions about the reputation’s API

and the data structures it returns. For example, WP6 required helper methods for re-

turn a set of opinions, and the data returned by the application/:app/bySubject/:sub

call to support UI calls. We collaborated with WP5 and 6 with the integration of

provenance into the UI and the orchestrator peer through the use of provenance

templates and bindings, respectively.

2. WP6 to design a model for accountability, at a face-to-face meeting held in Southamp-

ton. Initially we focused on modelling the Ride Share demonstrator, including peers,

ride requests, and ride tasks, and then we broadened it and included orchestration

and Smart Society concepts for different HDA-CASs. Specifically, we discussed what

is peer is and its constituents, how to model a collective and the role they can play

in social computations, and how tasks are model and what information they contain.

c© SmartSociety Consortium 2013-2017 31 of 65

Page 32: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

3. WP4 through discussion during the project meeting in Oxford, about the vocabulary

described in WP4-MS8. There are concepts that align with WP4’s vocabulary and

the accountability vocabulary. It is not currently used in the Ride Share demon-

strator, however in the future the concepts in the provenance templates which align

will be marked up with WP4’s formal model. Concretely, WP4’s formal model

will be expressed as attributes of a provenance type. For example, a prov:Agent

Joe has the attributes prov:type=‘sscore:Person’, sscore:gender=‘sscore:Male’, ss-

core:dob =“1972-05-30T09:30:10.5”, where sscore is the namespace for the smart

society core ontology.

4. WP1 and 4 through discussions on privacy, primarily these discussion were held in

Stockholm between UoS and KAU. Where we presented prov d-m and the rep-

utation manager. We discussed how to hide the presence of a participant with

anonymisation or pseudonymisation. We planned to work on aligning privacy and

provenance, investigate how the explanation peer can be used interactively to sup-

port access control to address privacy issues, and also explain access control with

the context and the effect of how smart society applications controlled data.

6 Future Work

There are a number of critical issues to be investigated to develop successful HDA CASs.

We now discuss future work and their associated research challenges:

1. Investigate how the model of accountability can better support transparency and

accountability. We will continue to refine the cas vocabulary, so that it defines and

reflects the concepts used with SmartSociety, so that it can support the recording of

provenance data for social computations. We will continue to collaborate with work

packages 1, 4, 5 and 6. We will develop the explanation service so that it leverages

the model for accountability and describes access control and privacy policies.

2. Investigate how to allow users to explore provenance data while supporting anonymity

and pseudonymity for both privacy and transparency. We will add access control to

address privacy issues, and explain with the context of provenance descriptions how

it uses them in the ride share application.

3. Design and perform a user study to investigate the effectiveness of the reputation

and explanation peers, with an HDA CAS. In more detail, we will investigate the

32 of 65 http://www.smart-society-project.eu

Page 33: D2.2 - Provenance, Trust, Reputation and Big Data

Deliverable D2.2 c© SmartSociety Consortium 2013-2017

quality of explanations for reputation reports, how they were used to make decisions,

and if they changed a users decision process.

4. Our contribution to scalability is our summarisation technique (see Section 3.3 and

Appendix 2, Milestone MS2), the template mechanism (see Section 3.1 and Appendix

1, Milestone MS2), and the deployment of the template mechanism in Ride Share. As

far as costing of scalability is concerned, the goal is to adopt simple data size metrics

(e.g. size of provenance graph), and evaluate the performance of summarisation,

templates, and explanations with respect to the data generated by the Ride Share

deployment. As Ride Share will not generate data before the fourth quarter, we were

not able to present and evaluate the summarisation techniques for the Ride Share

demonstrator.

c© SmartSociety Consortium 2013-2017 33 of 65

Page 34: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

A Submitted paper: Semantics and Provenance for Ac-countable Smart City Applications

34 of 65 http://www.smart-society-project.eu

Page 35: D2.2 - Provenance, Trust, Reputation and Big Data

Undefined 1 (2009) 1–5 1IOS Press

Semantics and Provenance for AccountableSmart City ApplicationsEditor(s): Name Surname, University, CountrySolicited review(s): Name Surname, University, CountryOpen review(s): Name Surname, University, Country

Heather S. Packer, a Dimitris Diochnos, b Michael Rovatsos, b Ya’akov Gal, c and Luc Moreau a

a Electronics and Computer Science, University of Southampton, Southampton, SO17 1BJ, UKE-mail: {hp3, L.Moreau}@ecs.soton.ac.ukb School of Informatics, The University of Edinburgh, 33 Buccleuch Place, Edinburgh, EH8 9JS, UKE-mail: {D.Diochnos, mrovatso}@ed.ac.ukc Department of Information Systems Engineering, Ben-Gurion University of the Negev, Be’er Sheva, IsraelE-mail: [email protected]

Abstract. The recent media focus on Smart City services, particularly ride sharing, that provide ordinary users with the abilityto advertise their resources has highlighted society’s need for transparent and accountable systems. Current systems offer littletransparency behind their processes that claim to provide accountability to and for their users. To address such a concern, someapplications provide a static, textual description of the automated algorithms used, with a view to promote transparency. However,this is not sufficient to inform users exactly how information is derived. These descriptions can be enhanced by explaining theactual execution of the algorithm, the data it operated on, and the parameters it was configured with. Such descriptions abouta system’s execution and its information flow can be expressed using PROV, a standardised provenance data model. However,given its generic and domain-agnostic nature, PROV only provides limited information about the relationship between provenanceelements. Combined with semantic information, a PROV instance becomes a rich resource, which can be exploited to provideusers with understandable accounts of automated processes, thereby promoting transparency and accountability. Thus, this papercontributes, a vocabulary for Smart City resource sharing applications, an architecture for accountable systems, and a set of usecases that demonstrate and quantify how the semantics enrich an account in a ride share scenario.

Keywords: Provenance, Semantic, Accountability, Transparency, Ride Share

1. Introduction

A Smart City1 is an emerging conceptual view ofa city that promotes the use of information and com-munication technologies to engage with citizens to de-velop social capital and intellectual capital, to makebetter use of hard infrastructure, to reduce usage ofenvironmental capital, and to support smart growth.In this context, a class of promising online applica-tions seek to enable citizens to share services in smart

1http://en.wikipedia.org/wiki/Smart_city

cities. This class of applications, which is referred toas smart sharing, are varied and include sharing2 caresharing (Uber, Blablacar, Lyft), bus routes (Chariot),parking space (JustPark), spare rooms (airbnb), andcleaning services (HomeJoy). Smart sharing servicesallow citizens to benefit from customised and finan-cially advantageous offerings, potentially reducing en-vironment impact.

2Uber: www.uber.com/, Blablacar: www.blablacar.com,Lyft: www.lyft.com, Chariot (chariotsf.com), JustPark:www.justpark.com, airbnb: www.airbnb.co.uk, andHomejoy: www.homejoy.com

0000-0000/09/$00.00 c© 2009 – IOS Press and the authors. All rights reserved

Page 36: D2.2 - Provenance, Trust, Reputation and Big Data

2

Smart sharing services are not just online platformssince they mediate access to real people and physi-cal resources.3 It is recognized that smart sharing ser-vices have inherent entry barriers [22], because they“rely on customers and hosts overcoming their fearof strangers.”4 Thus, smart sharing services attemptto belay their users’ fears through a variety of tech-niques, including screening processes, security mea-sures, reputation systems5, and incentive mechanisms.For instance, due to heavy media attention, some rideshare applications have been banned in various loca-tions around the world because they “do not enough toprotect their passengers from unlicensed drivers.”6. Inresponse, they further provided driver screening, insur-ance, feedback and reputation systems7

Two strong characteristics are now commonly sup-ported by smart share services: transparency and useraccountability. Transparency is operating in such away that when a shared resource is offered to a user, itis required that all details of the resource are exposedto its potential consumers so that they can make in-formed decision as to whether to use the resource ornot. By making users accountable for their actions (orthe quality of their resources), it is believed that usersare less likely to make mistakes or take actions thatmay affect the quality of the service. User accountabil-ity is usually a by product of a reputation system andtransparency, which act as an incentive mechanism [3]for users to provide good quality services.

Generally companies offering smart sharing ser-vices rely on automated processes, from matchingusers to services, to “algorithms that identify suspi-cious behavior.”8 Automated processes can seem likea black box to users. Typically, these service-orientedsystems rely on feedback from users, which may beviewed by other users or to compute reputation recom-

3http://www.nytimes.com/2014/10/19/upshot/when-uber-lyft-and-airbnb-meet-the-real-world.html?_r=2&abt=0002&abg=1.

4http://www.bbc.co.uk/news/magazine-21339891

5http://blog.uber.com/uberpopfactsbxl6The Guardian - Uber taxi service banned

in Berlin on safety grounds http://www.theguardian.com/technology/2014/aug/14/uber-taxi-service-banned-berlin-safety-grounds

7http://blog.uber.com/uberpopfactsbxl,https://www.lyft.com/safety, and http://www.blablacar.com/trust-safety-insurance

8http://www.nytimes.com/2014/10/19/upshot/when-uber-lyft-and-airbnb-meet-the-real-world.html?_r=1&abt=0002&abg=1

mendations. Some applications may provide a staticdescription of the algorithm used to compute reputa-tion in order to be transparent. However, this is not suf-ficient to inform users exactly how a reputation mea-sure is derived. Thus, in other words, there is still alack of accountability and transparency about the pro-cesses used by smart share applications: have due pro-cesses been followed, has screening been applied, howare resources matched to consumer’s preferences, howis reputation computed, and how does feedback affectreputation? These issues have been reported in a num-ber of news articles.9

It is important that not just users are held account-able for their action but the systems are too. Thereare two reasons for this: (1) transparent and account-able systems increase a user’s understanding of its pro-cesses, and therefore can increase the user’s trust ofthe system; and (2) accessible accounts enable user’sto feel that their actions can be monitoring, thus incen-tivising them to conduct themselves in a respectablemanner. Weitzner et al. [26] advocate new governanceand frameworks to hold people accountable for themisuse of data, and suggest that provenance [19] canhelp towards this aim. Specifically, provenance [20]is a record that describes the people, institutions, en-tities, and activities involved in producing, influenc-ing, or delivering a piece of data or a thing. PROV [20]is a W3C standard for provenance, which providesa domain-agnostic information about the relationshipbetween provenance elements, which can be a PROV

entity, activity or agent. However, combined with se-mantics, PROV becomes a rich resource which can beexploited to provide users understandable accounts ofautomated processes, promoting transparency and ac-countability of smart sharing services themselves.

Provenance data can be hard for both expert andnon-expert users to understand because of its technicalcontent, and its potential scale and complexity. How-ever, PROV [20] provenance, given its well-defined na-ture, is well suited to construct narratives. The role ofnarratives is to provide an account of connected events,which can be organised in a number of different cat-egories [2]. Textual narratives can be used to improve

9http://www.bbc.co.uk/news/technology-29740296 http://edition.cnn.com/2011/TRAVEL/08/01/online.rental.horror.stories/index.html http://nymag.com/daily/intelligencer/2014/09/silicon-valleys-contract-worker-problem.html

Page 37: D2.2 - Provenance, Trust, Reputation and Big Data

3

transparency because they explain who performed pro-cesses and their inputs and outputs.

This paper posits that using semantics to enrichPROV D-M [20] to automatically generate sentences us-ing templates, improves PROV’s supports both systemstransparency and accountability. It presents a frame-work for accountability, which is comprised of ser-vices, one of which is a provenance enabled reputationservice, and an explanation service which provides anarrative of a provenance subject. This work is the firstto use provenance, semantics, and narratives, to pro-vide an account of how documents, data, and informa-tion are used, modified, and created by both users andservices. Extant state-of-the-art frameworks tend to fo-cus on logging this information, but do not present itin an easy to understand format to users. Presenting in-formation in an accessible format allows all types ofusers to audit and become aware of their actions withina system. This paper argues that the role of provenanceand its semantic markup is critical in building account-able Smart City applications. Specifically, this papercontributes towards the state-of-the-art:

1. A vocabulary specifically designed to support themarkup of provenance to support accountabil-ity. It describes services, activities, and entitieswithin a Smart City application.

2. A framework that supports accountability as aservice, and includes the following components:(1) The reputation service, a PROV-enabled rep-utation system that uses the Smart City vocab-ulary to markup its provenance; (2) The expla-nation service, which provides a narrative on theprovenance of a give piece of information usingthe terms defined in the Smart City applicationvocabulary.

3. Provenance explanation examples that demon-strate the benefits of using semantics to providean account of provenance.

The remainder of this paper is organised as follows.Section 2 describes the background literature on ac-countable frameworks for distributed services and nar-rative for accountability. Section 3 then presents a vo-cabulary for Smart City applications. Following that,Section 4 describes an accountable framework andhow it uses the vocabulary. Then, Section 5 presentsa ride sharing scenario using the framework and vo-cabularies. Succeeding that, Section 6 details examplesfrom the ride sharing scenario and narrative examples.Finally Section 7 provides conclusions.

2. Background Work

There have been a variety of frameworks proposedto support accountability in online services and sys-tems.Huang et al. [13] present PlanetFlow a networkauditing service designed specifically for PlanetLab,which is a geographically distributed platform de-signed to support the deployment and evaluation ofplanetary-scale network services. It provides perma-nent accountability for all traffic generated by Plan-etLab services, in accordance with common Inter-net practice and terms of the PlanetLab AcceptableUse Policy. Their auditing service collects IP packetswhich are then stored in a database and they furtherprovide an interface for querying the database. Due tothe large scale of PlanetLab they encountered prob-lems, such as filesystem corruption, database corrup-tion, process termination, bugs, and race conditionscaused by system load. This system only logs the flowdata, whereas this paper proposes marking up prove-nance data with additional semantics and presenting anaccount of data elements in a narrative form so it canbe easily digested by end users.

Accountability in distributed systems is proposed byYumerefendi et al. [28] as a general design goal for de-pendable network systems. They present an account-ability framework which preserves digitally signedrecords of actions and internal states of a services.Their framework detects tampering and verifies theconsistency of actions and behaviour, thus proving theresponsibility for actions and states. In contrast, theframework presented in this paper focuses on describ-ing an accessible account to users which may or maynot expose tampering or consistencies of behaviour.Similarly, Chun et al. [5] describes a layered archi-tecture for addressing the end-to-end trust manage-ment and accountability problems in federated sys-tems. They leverage trust relationships for accountabil-ity, along with authentication and anomaly detection,and use third party services for monitoring lower levelsystem resources.

Weitzner et al. [27] present the Policy Aware Webinfrastructure, which supports transparent and ac-countable data for use on the World Wide Web. Theyalso describe elements of a new legal and regulatoryregime aimed to support privacy through provable ac-countability to usage rules, instead of merely enforc-ing data access restrictions. A described example in-frastructure has a proof generator which “constructsproofs that critical transitions and adverse uses of per-sonal information are justified by facts and permissible

Page 38: D2.2 - Provenance, Trust, Reputation and Big Data

4

under applicable rules.” They identify considerationsfor legal rules for accountable systems, including “(1)what degree of transparency rights should those sub-ject to data mining have, (2) what will be the mecha-nism for the correction of data found to be incorrect,and (3) will there be legal recourse in the event agen-cies rely on incorrect information after the error hasbeen pointed out by the subject”. This work highlightsthe need for users to be able to understand which in-formation held is about them and how it is used.

Provenance data can be used for accountability [11,19], provided that users can rely on the provenancerecord and authenticate its sources so that it can beused to assign credit or blame. Halpin [12] argues thatprovenance information can be used as the founda-tion for a model of privacy and trust in the context ofthe Semantic Web. Ruth et al. [24] discuss the use ofprovenance in a layered architecture for accountabilityin cloud computing. However, because of the limits ofcloud computing, provenance techniques such as audittrails were not possible because it was not feasible tostore all the versions of the resources referenced in theprovenance records.

Existing work on building accountability into elec-tronic commerce protocols bears some similarity ac-countability in Smart City applications. For example,Crispo et al. and Kailar et al. [7,15] describe frame-works for analysing accountability in communicationprotocols; [6] discusses the delegation of trust withfull accountability for electronic commerce applica-tions. The models presented in this work influence thevocabulary for accountable Smart City applications .Similarly, [23] introduces social computations, whichaligns with the social component of Smart City appli-cations. They introduce an abstract model for socialcomputation, and relevant terms. These models andterms influence the proposed Smart City vocabulary.

Narratives are potentially the most accessible wayto communicate information, they provide an accountof connected events, which can be organised in a num-ber of different categories. Research has shown thatit is how users make sense of their own information[4,16,18], and it is effective to communicate with com-munities and individuals [8,17]. It is well suited to de-scribing provenance data because of the well definedPROV.

Previously, Semantic Web technologies have beenused to generate narratives [25,14,10]. In more detail,Tuffield et al. [25] and Jewell et al. [14] describe theOntoMedia ontology, which supports the generationof narratives. The work presented in [25] discuss ap-

proaches to generate narratives from a vocabulary, theapproaches included are based on character, plot anduser modelling. While, the work presented in [14] de-scribes how OntoMedia is used to annotate the vastcollection of heterogeneous media. The work [10] useontological domain knowledge to select and organise anarrative discourse on an interest topic to a user.

3. Smart City Vocabulary

A vocabulary to describe Smart City actors, activi-ties and entities is required to provide types to prove-nance elements, so that the types can be exploited byother services. The type information allows servicesto apply their own constraints, facilitating the leveragethe information in the provenance.

The class of Smart Share applications envisaged forthe Smart City involve agents, humans or otherwise,having capabilities they wish to offer as a service toother agents, typically humans those having specificrequirements, in terms of baby-sitters, car space, orrides. For instance, the agents have been abstract usingthe notions of peers. Resolving a Smart Share prob-lem involves the use of an orchestrator responsible formatching tasks to peers and scheduling their execu-tion, resulting in the desired allocations of baby-sittersto families, or assignments of car spaces to drivers. Tobecome accountable, a Smart City application needs tobe able to describes how this allocation of tasks andtheir scheduling are achieved, and hence, it requires avocabulary that involves notions of peers, capabilities,tasks.

Services shared via Smart City applications rely onreputation to set them apart from on another. Reputa-tion is created by word of mouth or feedback from con-sumers of the service, and can be viewed by the com-munity of a Smart City application. Reputation canalso be provided by a set of consumers, a collectivewhich represents a groups’ view on a service. To sup-port services in managing feedback and reputation thevocabulary for Smart City provides notions of reputa-tion reports, feedback reports, collectives, and a repu-tation peer.

Concretely, the Smart City vocabulary focuses ondescribing three components: (1) agents within aSmart City application, including users, peers, andcollectives and their properties; (2) activities; and,(3) entities describing plans, tasks and messages.The namespace used for the vocabulary is http://

Page 39: D2.2 - Provenance, Trust, Reputation and Big Data

5

smartsociety-project.github.io/cas/ andit defines the following terms:

– An agent is anything that can perform an activity;alternatively, anything that has capabilities.

– A user is a person who is using a SmartSocietysystem.

– A peer is a software agent in a SmartSociety sys-tem that represents another agent.

– Agents, users, peers all have identities; an unau-thenticated user gets an assigned identity.

– A collective is an agent that consists of multiplemember agents.

– An activity is the condition in which things arehappening or being done.

– A capability is a prospective, though not neces-sarily planned or agreed, activity.

– A task is something that involves capabilities, po-tentially contributed by several agents.

– A plan is a specification for the execution of atask.

– A protocol is a collection of plans that involvecommunications between peers.

– A message is a piece of information exchangedbetween agents.

– A messaging action is the constituent of a proto-col: it involves information exchange and subse-quent action.

– A feedback report is a report about a subject thatcontains a set of value rating categories. For ex-ample, "star rating = 4.3".

– A reputation report is a report about a subjectthat contains a set of value rating categories. Forexample, a subject has been rated with a set ofstar ratings, and the average of those star ratingsare "average star rating = 4.3".

– A reputation peer is a peer that specialises instoring feedback about subjects and generatingreputation about subjects.

4. Accountability as a Service

To make an application accountable, several keypieces of functionality need to be available: trackingapplication’s actions and decisions; providing explana-tions for all aspects of the system; managing feedbackabout all its components; and calculating their repu-tation. Such accountability functionality is non-trivialand requires substantial design and implementation ef-forts. It is therefore critical to make it reusable, so that

it can easily be deployed in multiple Smart City appli-cations.

Therefore, embracing service-oriented architec-tures [9], the concept of accountability as a service isproposed, which consists of exposing accountability-related functionality into a set of well-defined andreusable APIs (Application Programming Interfaces).Such APIs are intended to be application and domain-independent, and they can be deployed in Smart Cityapplication. These APIs can be held peers account-able for their actions; thus, this increases user’s trustand adoption of the system, and it also increase user’sawareness that their actions matter.

The role of the accountability service is to provideaccounts of actions performed by Smart City applica-tion’s peers who are identified, and how entities arecreated, modified and viewed. It is important that or-der to support this, the framework has the followingrequirements:

1. Provide a record of peers, entities, and activi-ties involved in Smart City applications, in par-ticularly pertaining to the generation of auto-mated processes such as reputation generationand matching users to services;

2. Provide a reputation service that manages feed-back and reputation;

3. Provide accessible accounts to users to explainautomated processes.

The framework to support accountability as a ser-vice is designed to support the above requirements, andit is comprised of the components (see Figure 1):

1. ProvStore which is a specialised service for stor-ing provenance. It supports the first require-ment by storing the provenance records detail thepeers, entities and activities in Smart City Appli-cations.

2. A set of peers which submits provenance to Prov-Store detailing who performed which activitiesand where entities are derived from. This compo-nent also supports the first requirement, by pro-viding provenance.

3. The reputation peer which stores feedback re-ports on subjects and computes the reputation re-ports based on feedback reports. It also submitsprovenance to ProvStore. This component sup-ports the second requirement by providing a ser-vice to manage feedback and reputation.

4. The explanation peer uses provenance fromProvStore to generate a textual explanation of a

Page 40: D2.2 - Provenance, Trust, Reputation and Big Data

6

provenance element. This component supportsthe third requirement by generating narrativesabout a provenance subject.

Fig. 1. Layered model of the components in the smart cities account-ability framework.

The provenance submitted to ProvStore is describedusing PROV, which uses the PROV-DM conceptual datamodel. The type of a provenance element is defined us-ing prov:type whose value is from the vocabulary de-fined in Section 3. These types are used by the expla-nation peer to provide more detailed information in thetextual description of a provenance element.

The section is organised as follows, in Sections 4.1,4.2 and 4.3 introduce ProvStore, Reputation Peer andthe Explanation Peer, respectively.

4.1. ProvStore

ProvStore is a specialised service for storing PROV.It also enables users to query provenance and gen-erates visualisations allowing users to analyse prove-nance data. ProvStore’s API10 provides a RESTfulweb service for the storage and access of provenancedocuments in various representations. Via the API,any client can manipulate documents contained in thestore and explore and retrieve information from them.ProvStore stores documents containing provenance de-scriptions. A document can contain bundles whichmay be added via the API. A PROV bundle is mecha-nism by which provenance of provenance can be ex-pressed.

4.2. The Reputation Peer

The reputation peer provides Smart City applica-tions, with a service that manages a subject’s reputa-tion. It stores feedback reports, computes and storesreputation reports. Once the reputation peer receives afeedback report it generates reputation reports. Feed-

10ProvStore’s REST API: https://provenance.ecs.soton.ac.uk/store/help/api/

back reports are comprised of key-value pairs describ-ing attributes about a subject, and meta-informationabout feedback which includes who or what it is about,the authors, and associated events (see Figure 2 for anexample).

{"feedback_id": 325,"application_id" : 1,"event_id" : 24,"subjects" : {"subject_1": 4},"authors" : {"author_1": 1},"feedback": {

"category_1": 5,"category_2": 5,

..."category_n": 5

}}

Fig. 2. An Example of a Feedback Report

The reputation report about a subject is derived fromall the feedback reports posted to the peer. The cat-egories in which a subject is rated is dependant onthe categories are defined in the feedback value aboutthat subject. The reputation peer calculates the averagevalue of a category given a set of feedback reports (seeFigure 3).

{"reputation_id": 135,"application_id" : 1,"subject" : 4,"feedback": {

"average_category_1": 5,"average_category_2": 5,

..."average_category_n": 5

}}

Fig. 3. An Example of a Reputation Report

The provenance submitted by this peer will supportthe accountability of:

1. Which feedback report was related to whichevent and who;

Page 41: D2.2 - Provenance, Trust, Reputation and Big Data

7

2. Which feedback reports were used to generatereputation and opinion reports;

3. Who accessed feedback, reputation, and opinionreports;

4. The security and privacy policies used to protectuser’s information.

The reputation peer’s resources are exposed via aREST API. Specifically, the API allows the submis-sion of feedback reports about a subject or collectiveof subjects, from an author or collective of authors.

4.3. The Explanation Peer

This peer provides a service that provides a narra-tive about a single provenance element (either an en-tity, activity or agent) in either a provenance documentheld by ProvStore or a set of provenance documentsrelated to a specific application.

It uses sentence templates to explain the provenancedata about a subject. These sentence templates useboth the types defined in: the PROV D-M [21]; and, thesmart cities vocabulary for provenance (see Section 3).If the provenance data is not marked up with the smartcities vocabulary, the peer by default reverts back tousing sentence templates based on the PROV’s types,which are described in Table 1.

The templates P4-P13 in Table 1 use the relation-ship specified in the second column to identify thebindings for the sentence template variables. For ex-ample, if a subject is a prov:activity and has an as-sociation with a agent then the template p5 is used.It exploits the PROV’s Association relationship anduses the activity as the subject and the agent de-fined in this relationship to as variable binding to theP5 template, where wasAssociatedWith(subject, peer-1) is used to create the sentence “It was associatedwith agent/s peer-1” where “It” refers to the subject.Otherwise, it overrides these default sentences usingthe templates in Table 2. These templates differ fromthe those presented in Table 1 because they can usethe semantics in the sentence template to define apath of relationships to connect two provenance el-ements. For example, the explanation peer given thesubject feedback-1 uses the feedback report templatein Table 2. First, it identifies the Smart City typeas a feedback report using the provenance statement(feedback-1, [prov:type=’provsm:feedback report’]).Second, it identifies generation relationships refer-ring to that entity, where wasGeneratedBy(feedback-1, feedback_submission-1, -). Third, it then iden-

tifies which agent was associatedWith the activ-ity, where wasAssociatedWith(feedback_submission-1, peer). This chain of relationships is used toidentify the bindings for the feedback report’s sen-tence template, for example the template The {sub-ject} is a feedback report, the feedback was leftby the {peer/user/collective}. It was submitted usingthe {activity}. has the following bindings subject =feedback-1, {peer/user/collective} =peer, and {activ-ity} = feedback_submission-1. If the provenance doesnot contain the required fields than it reverts back tousing the template in Table 1. The Table 2 does notmake the provenance paths used to bind the variablesexplicit because of conciseness, and instead uses thepossible variable’s types for the bindings.

Specifically, in order to generate a narrative the ex-planation peer:

1. Identifies the template for the subject by usingthe type defined either in the PROV or by a SmartCity type. If it uses the PROV type then it:

(a) Identifies all the provenance elements thatare connected to it by provenance relations.

(b) Identifies the templates for the provenanceelements that connect to the subject usingtheir PROV type.

Or if it uses a Smart City type then:

(a) Identifies all the provenance elements thatare connected to the provenance subject de-scribed in the smart cities sentence templateabout the subject.

(b) Identifies the templates from the Smart Citytemplates to described the connect prove-nance elements.

2. The sentences about the subject and connectedprovenance elements are strung together to forma paragraph.

4.4. APIs Outline

The frameworks adopts a REST approach [1] for ac-countability as a service. Tables 3 summarises the keyresources related to provenance, reputation, and expla-nations, as well as the REST Method allowed on them.

5. Ride Share

Ride Share is an application that enables car sharingfor workplace workers, university students and simi-

Page 42: D2.2 - Provenance, Trust, Reputation and Big Data

8

Number Prov Types Sentence templateP1 Entity The {subject} is a {provtype}P2 Agent The {subject} is a {provtype}P3 Activity The {subject} is a {provtype}

Prov Relations Sentence templateP4 Alternate It was an alternate of {alternate/s}P5 Association It was associated with agent/s {agent/s}P6 Attribution It was attributed to agent/s {agent/s}P7 Collections It was a member of the {collection/s} collection/sP8 Communication It was informed by {agent/s}P9 Delegation It acted on behalf of {agent/s}P10 Derivation The {subject} was derived from the entity/ies {entity/ies}P11 Specialisation and Revision The {subject} was a specialisation of the entity {entity}, and is a revi-

sion of {entity/ies}P12 Generation It was generated by the activity {activity/ies}P13 Usage It was used by the activity/ies {activity/ies}

Table 1

PROV Template Sentences, where items in {} are variables whichcan be either a single item or a list.

lar large community members living in and around theSmart City. For example, at Ben-Gurion University,there are thousands of students coming from all overthe country which has created a vivid car sharing com-munity based on actual and acute travel needs. The ap-plication allows both drivers and commuters to offerand request rides. These offers and ride requests in-clude details about required travels, timing, locations,capacity, prices, and other details relevant for car shar-ing. It performs automatic matching of commuters toavailable cars, by considering origin and destination,routes, capacity and other available information. In-centives are used to influence participant behavioursand maximise the global system goals.

Ride Share has been chosen because it uses auto-mated algorithms for matching users in rides and gen-erating reputation reports. The execution of these au-tomated algorithms is documented using provenance,which is marked up with the smart cities vocabulary;provenance is exposed to users via the explanationpeer. Without recorded provenance, smart cities vocab-ulary, and explanation peer, these automated processwould be a black box to users.

The architecture of Ride Share is based on five corecomponents (see Figure 4): a view, ride matching peer,reputation peer, and ProvStore, organised according tothe layered architecture of Figure 1. The view providesthe user with the graphical components with which toenter their ride requests, and to view and select poten-tial rides. The matching peer provides matches con-

taining drivers and commuters, which the users can se-lect. The reputation peer and ProvStore are describedin Section 4.

Fig. 4. Layered Model of Ride Share

5.1. Feedback and Reputation Reports

Feedback reports can be submitted by both ridersand drivers after a ride has been completed. Table 4describes the feedback categories supported by RideShare, in feedback reports.

A reputation report is a rating of a user structuredaccording to reputation categories; such reputation cat-egories are defined from the categories comprised infeedback reports submitted about the user. Each rep-utation category value is calculated by a simple func-tion, averaging the values associated with the corre-sponding feedback category in feedback reports aboutthe user (see Table 5). At this stage, the focus of this

Page 43: D2.2 - Provenance, Trust, Reputation and Big Data

9

Smart City Type Prov Type Sentence template

agent prov:Agent The {subject} is an agent within a Smart City framework, that has thecapabilities {capabilities}. It performed the following activities {activi-ties}.

user prov:Agent The {subject} is a human user that uses the Smart City framework. Ithas the capabilities {capabilities}. It is identified by {identities}, whichis maintained by the framework. It is the member of the collective/s{collectives}. It performed the following activities {activities}.

peer prov:Agent The {subject} is a software agent in the Smart City framework. It hasthe capabilities {capabilities}. It is identified by {identities}, which ismaintained by the framework. It is the member of the collective/s {col-lectives}. It performed the following activities {activities}.

identities prov:Agent The {subject} is the identify for the {agent/user/peer} and is main-tained by the Smart City framework. It was used to identify the{agent/user/peer} in the following activities {activities}.

collective prov:Agent The {subject} is a collective, who has the following members{agents/users/peers}. It is an agent with the Smart City framework, thathas the capabilities {capabilities}. It performed the following activities{activities}.

activity prov:Activity The {subject} is an activity performed by the{agent/user/peer/collective}.

capability prov:Entity The {subject} is a capability, specifically in this context it describes thecapability of the {agent/user/peer/collective}.

task prov:Entity The {subject} is a task, it describes the capabilities {capabilities} pos-sibly involving the following agents {agents/users/peers/collectives}.

plan prov:Entity The {subject} is a plan, it describes the a task that has thecapabilities {capabilities} which involves the following agents{agents/users/peers/collectives}.

protocol prov:Entity The {subject} is a protocol that describes the a task that has the capabil-ities {capabilities} which involves communication between the follow-ing peers {peers}.

message prov:Entity The {subject} is a message that describes the a task that has the capa-bilities {capabilities} which involves communication between the fol-lowing peers {peers}.

messaging action prov:Activity The {subject} is an activity that sends the message {message} betweenthe following peers {peers}. The peer {peer} was responsible for send-ing the message to {peer}.

feedback report prov:Entity The {subject} is a feedback report, the feedback was left by the{peer/user/collective} about {agent/peer/user/collective/task/plan}. Itwas submitted using the {activity}.

reputation report prov:Entity The {subject} is a reputation report, it was derived from the feedbackreports {feedback reports}. It was generated by the {activity} and wasleft by the {peer/user/collective}.

Table 2Template Sentences, where items in {} are variables which can be either a single item or a list.

Page 44: D2.2 - Provenance, Trust, Reputation and Big Data

10

Reputation Peer

REST Method URI DescriptionGET /subject/byURI/:subject_uri Retrieves feedback and reputation reports associated

with a subject.GET /application/:app/subject/:subject/ Retrieves the set of subjects associated with an appli-

cation.GET /application/:app/subject/:subject/feedback/ This calls returns all feedback id’s about a subject.

POST /application/:app/feedback/ Save a feedback report.GET /application/:app/feedback/:feedback/ Retrieves a feedback report with a specific id.GET /application/:app/subject/:subject/reputation/ Retrieves the set of reputation reports about a subject.GET /application/:app/reputation/:reputation/ Retrieves a reputation report with a specific id.

POST /application/:app/opinions/ Retrieves the set of opinion reports about subjects.

Explanation Peer

GET /application/:app/subject/:subject Retrieve a narrative about a subject.

Provenance Store

GET /store/api/v0/documents/ Retrieve a list of documents visible to the authenti-cated user or public.

POST /store/api/v0/documents/ Save a new document.

Table 3API calls for the reputation, explanation and provenance peers

Category Subcategory Description

Overall Star Rating - A five star rating for the ride

Ride Price A five star rating for the price of the rideRoute A five star rating for the route of the rideTimeliness A five star rating indicating whether the commuter was ready on

time

Individual Reliability A five star rating indicating the reliability of the commuter.Communication A five star rating indicating the communication during the ride.Friendliness A five star rating indicating the commuter’s friendliness.

Table 4Categories and Descriptions for User Feedback.

work is to explain to users how their ratings are com-puted; over time, there will be an investigate into morecomplex functions to compute reputation category val-ues.

5.2. Ride Share Vocabulary

In addition to the vocabulary defined for Smart Cityapplications, the following subtypes for Ride Shareare used and the hierarchy of the model is shownin Table 6. This vocabulary focuses on describingthe activities in Ride Share. Providing precise typingabout these different activities then enables the expla-nation peer to provide individualised descriptions ofRide Share activities. The namespace used for the vo-cabulary is http://smartsociety-project.github.io/cas/ and it defines the following terms:

1. A driver is a user that has a role as a driver.2. A rider is a user that has a role as a rider.3. ride_feedback_report is a feedback report that

pertains to a ride.4. submitting_feedback is an activity that submits

a feedback report to the reputation peer.5. storing_feedback is an activity used by reputa-

tion peer to store a feedback report within it.6. ride_request is a task that describes a ride re-

quest and contains information about a proposedride including, date and time, origin and destina-tion, and the role of the user submitting the task.

7. A reputation_item is a JSON object that is re-turned from a GET request to the reputation peer.

8. authenticating_activity is an activity which au-thenticates a user.

Page 45: D2.2 - Provenance, Trust, Reputation and Big Data

11

Category Subcategory Formula

Average Overall Star Rating - average(overall_star_rating)

Ride Average Price average(price)

Average Route average(route)

Average Timeliness average(timeliness)

Individual Average Reliability average(reliability)

Average Communication average(communication)

Average Friendliness average(friendliness)

Table 5Reputation categories and formula for summary driver and commuter reports

9. storing_task is an activity that stores a task lo-cally.

10. computing_composition is an activity that com-putes a set of valid tasks given constraints or ne-gotiation inputs.

11. computing_task_complement is an activity thatidentifies which set of tasks that are no longervalid.

12. sending_request is an activity that sends a re-quest to peer.

13. sending_negotiation_response is an entity thatcontains the response to a negotiation activity.

14. posting_task_request is an activity that posts atask to orchestration peer.

15. changing_view is an activity that changes theview in a UI.

16. composing_activity is an activity that may becomprised of the following activities authenti-cate, compute_composition and compute_task_complement.

17. negotiating_activity is an activity which sub-mits a task that may be used to modify anothertask, it may comprise of an authenticate and stor-ing_task activities.

18. submitting_activity is an activity which submitsa task, it may comprise of an authenticate andstoring_task activities.

19. computing_reputation is an activity that is runby the reputation peer when a feedback report issubmit, it computes a reputation report for all thesubjects referred to by the submitted feedback re-port.

5.3. Sentence Templates for Ride Share

The Ride Share vocabulary enables the explanationpeer to tailor the sentences it generates, with descrip-tions of the specific activities in Ride Share. Table

Prov type SmartCitytype

Ride Share type

prov:Entity entity ride_feedback_reportprov:Activity activity submitting_feedbackprov:Activity activity storing_feedbackprov:Activity activity computing_reputationprov:Activity activity composing_activityprov:Activity activity authenticating_activityprov:Activity activity storing_taskprov:Activity activity computing_task_complementprov:Activity activity submitting_activityprov:Activity activity sending_negotiation_responseprov:Activity activity negotiating_activityprov:Activity activity posting_task_requestprov:Activity activity sending_requestprov:Activity activity changing_viewprov:Entity plan ride_plan

Table 6The hierarchy of the Ride Share vocabulary.

7 details the sentence templates exploiting the RideShare vocabulary, similar to Table 2 it does not makethe provenance paths used to bind the variables explicitbecause of conciseness, and instead uses the possiblevariable’s types for the bindings.

The explanation peer is used to explain the prove-nance data stored by Ride Share to its users. Specifi-cally, it can describe:

1. The generation of reputation and opinions re-ports;

2. The generation of ride plans;3. The negotiation process among users for select-

ing ride plans.

Page 46: D2.2 - Provenance, Trust, Reputation and Big Data

12

Id Ride Share type SentencesRS1 reputation_report The {subject} is a reputation report. It was generated by the {comput-

ing_reputation} activity and by the {peer}.RS2 submitting_feedback The submit feedback activity {subject} was performed by the {peer}. This

activity submitted the feedback {ride_feedback_report} to the {reputa-tion_peer}.

RS3 storing_feedback The store feedback activity {subject} was performed by {reputation_peer}.This activity was used to store the feedback {ride_feedback_report} in the{reputation_peer}’s store.

RS4 computing_reputation The compute reputation activity {subject} was performed by {reputa-tion_peer}.This activity generated the reputation report {reputation_report}for the {user}, and was derived from the following feedback reports {feed-back_reports}, it averaged the ratings for each of the categories in the feed-back reports.

RS5 composing_activity The composition activity {subject} was performed by {peer}. Thecomposition activity is comprised of the following activities {com-puting_composition}, {computing_task_complement} and {send-ing_response}, it triggered the activity {sending_response}.

RS6 authenticating_activity The authenticate activity {subject} was performed by {peer}, uses the{peer}’s identity to authenticate it.

RS7 storing_task The store task activity {subject} was performed by {peer}, and it stored thetask {task} in its store.

RS8 computing_composition The compute composition activity {subject} was performed by {peer}, itgenerates potential ride matches between current ride requests and matcheson a requests origin, destination and time. The following ride requests{tasks} were matched using this activity.

RS9 computing_task_complement The compute task complement activity {subject} was performed by {peer},it generates the complement set to potential ride matches and contains rideplans that are no longer valid or that weren’t feasible based on ride request’sorigin, destination and time. The following rides were classified as comple-mentary {task}.

RS10 submitting_activity The submit activity {subject} was performed by {peer}, it is a com-position of activities that include {authenticating_activity}, a {comput-ing_composition} and {storing_task}, it triggered the activity {send-ing_response}.

RS11 sending_negotiation_response The sending negotiation response {subject} activity was performed by{peer} and it sent the {task}.

RS12 negotiating_activity The negotiation activity {subject} was performed by {peer}. The negotiationactivity is comprised of the following activities {authenticating_activity},{computing_composition}, {storing_task}, it triggered the activity {send-ing_response}.

RS13 posting_task_request The post task request activity {subject} was performed by {peer}.RS14 sending_request The send request request activity {subject} was performed by {peer}, by a

user with the identity {identity} via the {peer}.RS15 changing_view The change view activity {subject} was performed by {peer}, by a user with

the identity {identity} via the {peer}.RS16 ride_plan The ride plan {subject} was generated by the {computing_composition} ac-

tivity. It details the attributes of a ride including its date and time, the originand destination, and its potential participants and their roles. It was derivedfrom the ride requests {ride_requests}. It was generated by the {activity}.

RS17 ride_request The ride request {subject} was submitted by {user} and it was generated by{sending_request}. It includes information about a requested rides date andtime, the origin and destination, and the role played by the {user}.

RS18 sending_response The sending response task {subject} sends an acknowledgement to the{peer} to say that the {activity} has completed.

RS19 feedback_report The feedback report {subject} was generated by the {submitting_feedback}activity. It contains the reputation left by {user}.

Table 7

Ride Share Template Sentences, where items in {} are variableswhich can be either a single item or a list.

Page 47: D2.2 - Provenance, Trust, Reputation and Big Data

13

6. Ride Share Accountability Use Cases

This section expands on the three use cases identi-fied in Section 5.3 by providing examples of relevantprovenance collected from the different peers withinRide Share. For each use case, the explanation peer togenerate two narratives: the first narrative exploits thesemantics provided by the Smart City/Smart Share vo-cabularies, whereas the second narrative simply relieson the domain-agnostic types and relations providedby PROV. Presenting these two narratives demonstratesthe benefits of decorating provenance with application-specific semantics.

6.1. Accountability for Ride Plans

Ride Share generates ride plans when the ridematching peer receives a ride request. The prove-nance recorded for such ride plans includes descrip-tions about: which views the user viewed; the submis-sion of the ride request via the UI; the ride matchingpeer storing and generating ride plans; and the requestthat the ride matching peer sends the reputation peerfor opinion reports. An example of the provenance datacollected can be seen in Figure 5.

This use case is required to provide systems ac-countability for the generation of ride plans, thereforethe ride plan rideplan:1 is used as the subject. The fol-lowing narrative was generating using the semanticsdefined by the Smart City and Ride Share vocabular-ies:

Ride Share Narrative: The ride plan rideplan:1was generated by the rideshareapp:composition-1activity. It details the attributes of a ride includingits date and time, the origin and destination, andits potential participants and their roles. It was de-rived from the ride requests with the ids 1 and 2.The ride request riderequest:1 was submitted byusr:ido. It includes information about a requestedrides date and time, the origin and destination,and the role played by the usr:ido. The ride re-quest riderequest:2 was submitted by usr:avi andit was generated by view:submitRequestButton.It includes information about a requested ridesdate and time, the origin and destination, and therole played by the usr:avi and it was generatedby view:submitRequestButton. The compute com-position activity rideshareapp:composition-1 wasperformed by rideshareapp:rsa, it generates po-tential ride matches between current ride requests

and matches on a requests origin, destination andtime. The following ride requests with the ids 1 and2 were matched using this activity.

In contrast, the following narrative was generatedabout the same subject (rideplan:1) using sentencetemplates relying on the PROV semantics but ignoringthe Ride Share types.

PROV Narrative: The rideplans:1 is a prov:Entity.Entity rideplans:1 was derived from riderequestwith the ids 1 and 2. It was associated withagent/s rideshareapp: rsa. It was generated bythe activity rideshareapp:composition-1. The rid-erequest:1 is a prov:Entity. It was associated withagent/s rideshareapp:rsa. It was generated bythe activity view:submitRequestButton. The rid-erequest:2 is a PROV:entity. It was associated withagent/s rideshareapp:rsa. It was generated by theactivity view:submitRequestButton.

In order to compare the two narratives, the sentencesabout the same provenance elements and relationshipsfrom both narratives are presented side by side (seeTable 8). The table shows that the Ride Share Nar-rative provides additional information about activitiesin the form of summary description (see RS8 in Ta-ble 8). In contrast, the PROV Narrative was unable toprovide this information, because this information notavailable via the provenance: the provenance only ex-poses who performed an active and any inputs or out-puts. The narratives also differ when describing whois associated with the generating ride requests. TheRide Share Narrative describes the user submitting arequest via an agent (see RS17 in Table 8). In contrast,the PROV Narrative only details the agent (see P5 inTable 8), because it could exploit more data from theprovenance because of the specialised sentence tem-plates. In general, the sentences in PROV Narrativelack clarity about the relationships and roles of theprovenance elements, while the Ride Share Narrativewas able to provide it because of the additional seman-tics in the Ride Share vocabulary.

6.2. Accountability for Negotiation Processes

The negotiation process among users for selectingride plans requires a potential user agreeing to a partic-ular ride plan. The provenance recorded during a ne-gotiation includes descriptions about: which views theuser viewed; the submission of the negotiation offervia the UI; the ride matching peer using the offer to

Page 48: D2.2 - Provenance, Trust, Reputation and Big Data

14

Fig. 5. The provenance data recorded from the submission of a ride request (for more detailshttps://provenance.ecs.soton.ac.uk/store/documents/33414/).

Page 49: D2.2 - Provenance, Trust, Reputation and Big Data

15

Fig. 6. The provenance data recorded from the submission of a negotiation offer (for more detailshttps://provenance.ecs.soton.ac.uk/store/documents/33415/)

Page 50: D2.2 - Provenance, Trust, Reputation and Big Data

16

Table 7 Id Sentence Table 1 Id Sentence

RS16 The ride plan rideplan:1 was generated bythe rideshareapp:composition-1 activity.

P1, P6 The rideplans:1 is a prov:Entity. It was at-tributed to rideshareapp:composition-1.

RS16 It details the attributes of a ride including itsdate and time, the origin and destination, andits potential participants and their roles.

- -

RS16 It was derived from the ride requests with theids 1 and 2.

P10 Entity rideplans:1 was derived from rid-erequest with the ids 1 and 2.

RS17 The ride request riderequest:1 was submit-ted by usr:ido and it was generated by theview:submitRequestButton.

P1, P5, P12 The riderequest:1 is a prov:Entity. It wasassociated with agent/s rideshareapp:rsa.It was generated by the activityview:submitRequestButton

RS17 It includes information about a requestedrides date and time, the origin and destina-tion, and the role played by the usr:ido.

- -

RS17 The ride request riderequest:2 was submit-ted by usr:avi and it was generated byview:submitRequestButton.

P1, P5, P16 The riderequest:2 is a prov:Entity.It was associated with agent/srideshareapp:rsa. It was attributed toview:submitRequestButton.

RS17 It includes information about a requestedrides date and time, the origin and destina-tion, and the role played by the usr:avi.

- -

RS8 The compute composition activityrideshareapp:composition-1 was performedby rideshareapp:rsa, it generates potentialride matches between current ride requestsand matches on a requests origin, destinationand time. The following ride requests withthe ids 1 and 2 were matched using thisactivity.

- -

Table 8Comparison Table for Ride Plans Narratives

generate valid and invalid ride plans. An example ofthe provenance data can be seen in Figure 6.

This use case is required to provide systems ac-countability about how Ride Share handles negotia-tions and how it uses the negotiation to generate validand invalid ride plans. Therefore, an explanation ofthe negotiation rideshareapp:negotiation-1 is used asthe explanation subject. The generated sentences arepresent in Table 9, sentences about the same prove-nance elements and relationships from both narrativesare presented side by side. As in the previous use casethe table shows that the Ride Share Narrative pro-vides more detailed information about activities thanthe PROV Narrative. With the addition of the smartshare vocabulary the Ride Share Narrative was awarethat the negotiation was a composed of a set of activ-ities, whereas the PROV Narrative could not leveragethe provenance for this information because it is notexpressed using PROV. Therefore the Ride Share Nar-rative could describe the set of activities that the PROVNarrative could not.

6.3. Accountability for Reputation Reports

Ride Share generates reputation and opinion reportswhen the reputation peer receives a feedback report.The provenance recorded for the submission of feed-back includes descriptions about: which views the userviewed; the submission of the feedback report via theUI; the reputation peer storing and generating repu-tation and opinion reports. An example of the prove-nance data can be seen in Figure 7.

The generated sentences are present in Table 10,sentences about the same provenance elements and re-lationships from both narratives are presented side byside. As in the previous two use cases the table showsthat the Ride Share Narrative provides more detailedinformation about activities than the PROV Narrative.

6.4. Analysis

The aim of the analysis is to contrast Ride ShareNarratives and PROV Narratives, by identifying dis-

Page 51: D2.2 - Provenance, Trust, Reputation and Big Data

17

Table 7 Id Sentence Table 1 Id Sentence

RS12 The negotiation activityrideshareapp:negotiation-1 was performedby rideshareapp:rsa.

P3, P5, P8 The rideshareapp:negotiation-1is a prov:Activity. It was associ-ated with agent/s rideshareapp:rsa.rideshareapp:negotiation-1 was informedby rideshareapp:sendResponse-2.

- - P2 The rideshareapp:rsa is a prov:Agent.

RS18 The sending response taskrideshareapp:sendResponse-2sends an acknowledgement to therideserver:OpenRideServer-RS/ to saythat the rideshareapp:negotiation-1 hascompleted.

P3, P5, P12, P8 The rideshareapp:sendResponse-2 is a prov:Activity. It was associ-ated with agent/s rideshareapp:rsa.rideshareapp:200 was generated by theactivity rideshareapp:sendResponse-2.rideshareapp:sendResponse-2 was in-formed by rideshareapp:negotiation-1.

RS12 The negotiation activity is com-prised of the following activi-ties rideshareapp:authentication-2,rideshareapp:generateComposition-2,rideshareapp:generateTaskComplement-2,and rideshareapp:storeTask-1.

- -

R6 The authenticate activityrideshareapp:authentication-2 was per-formed by rideshareapp:rsa, uses theusr:ido’s identity to authenticate it.

- -

RS8 The compute composition activityrideshareapp:generateComposition-2 wasperformed by rideshareapp:rsa, it generatespotential ride matches between current riderequests and matches on a requests origin,destination and time. The following riderequests riderequest:1 were matched usingthis activity.

- -

RS9 The compute task complement activityrideshareapp:generateTaskComplement-2was performed by rideshareapp:rsa, itgenerates the complement set to potentialride matches and contains ride plans that areno longer valid or that weren’t feasible basedon ride request’s origin, destination andtime. The following rides were classified ascomplementary ride plan:1 and ride plan:2.

- -

RS7 The store task activityrideshareapp:storeTask-1 was performedby rideshareapp:rsa, and it stored the taskrideshareapp:offeres/t1 in its store.

- -

Table 9Comparison Table for Negotiation Processes Narratives

Page 52: D2.2 - Provenance, Trust, Reputation and Big Data

18

Fig. 7. The provenance data recorded from a submitting feedback (for more details https://provenance.ecs.soton.ac.uk/store/documents/33416/)

Page 53: D2.2 - Provenance, Trust, Reputation and Big Data

19

Table 7 Id Sentence Table 1 Id Sentence

RS1 The ride_manager:application/1/reputation/1/is a reputation report, it was derived fromthe feedback reports with ids 0, it averagedthe ratings for each of the categories in thefeedback reports.

P1, P10 The ride_manager:application/1/reputation/1/is a prov:Entity. It was derived fromfeedback with the ids 0.

RS1 It was generated by theride_manager:generate_reputation-1activity and was left by usr:ido.

P5, P12 It was associated with agent/srideshareapp: rsa. It wasgenerated by the activityride_manager:generate_reputation-1.

RS4 The compute reputation ac-tivity was performed byride_manager:reputation_peer.This ac-tivity generated the reputation reportride_manager:application/1/reputation/1/,and was derived from the feedback reportswith ids 1 and 2.

- -

RS19 The feedback reportride_manager:application/1/feedback/0/was generated by theride_manager:storing_feedback-1 activity.It contains the reputation left by usr:ido

P1, P5 and P12 The feedback:0 is a prov:Entity. It wasassociated with agent/s rideshareapp:rsa.It was generated by the activityview:submitFeedbackButton.

Table 10Comparison Table for Reputation Reports

number of number of number ofuse case generic sentences specialised sentences resources exploited1: Ride Share Narrative 0 9 91: PROV Narrative 8 0 6

2: Ride Share Narrative 0 10 132: PROV Narrative 7 0 4

3: ride share narrative 0 6 73: PROV narrative 7 0 3

Table 11Summary statistics for the use case narratives

criminating characteristics of these narratives. To thisend, sentences are categorised as either generic orspecialised. Generic sentences are generated by mak-ing use of PROV concepts only, as per Table 1,whereas specialised sentences are those constructedwith knowledge of Ride Share types, as per Table 7.Furthermore, given that the sentence template vari-ables are placeholders for resources to be extractedfrom the provenance, and quantify the number of re-sources that each narrative exposes.

Table 11 shows that the explanation successfullyuses the Smart City vocabulary and that the vocabu-lary has good coverage of the terms used in the prove-nance for Ride Share. Specifically, the Ride Share nar-ratives all use specialised sentences, whereas the PROVnarratives use generic sentences. Also because of the

specialised semantics for the Ride Share application,the explanation peer was able to expose more of theresources that were relevant to the provenance subject.In more detail, the explanation peer could not identifyall the activities that were related to composite activi-ties in the second use case. Therefore, the Ride Sharenarrative exposed nine more resources than the PROV

narrative. In the third use case, the PROV narrativesuses more sentences to describe fewer resources, thanthe Ride Share narrative. This is because the sentencetemplates leveraged by the semantics in the Smart Cityvocabulary explicitly define associations between theprovenance elements and therefore can explain moreresources in fewer sentences.

Page 54: D2.2 - Provenance, Trust, Reputation and Big Data

20

7. Conclusion

The paper presents a vocabulary for Smart Cityapplications that supports an accountable framework.The framework uses provenance to provide an ac-count about how documents, data, and information ina Smart City application are used, modified, and cre-ated by both users and peers. The role of provenanceand its semantic markup is critical to build accountableSmart City applications. The framework also providesusers with narratives generated to support the trans-parency of automated processes. Specifically, this pa-per contributes to the state-of-the-art: A Smart City vo-cabulary specifically designed to support the markupof provenance to support accountability. The vocabu-lary is designed to support a board class of applica-tions, however, it is beneficial to expand these terms toinclude information about how specific types of activ-ities function; A framework that supports transparencyand accountability using PROV, including the:

1. The reputation peer, a provenance enable reputa-tion system that uses the Smart City vocabulary;

2. The explanation peer, which provides a narrativeabout a specified provenance element using theterms defined in the Smart City application vo-cabulary.

; and, provenance explanation examples that demon-strate the benefits of using semantics to provide an ac-count of provenance. The uses case discussed in Sec-tion 6 show that the explanation generated based onthe Smart City vocabulary were able to exploit moredata from the provenance, and could provide more spe-cialised sentences describing a provenance subject.

This work will be extended in four ways, it will :Firth, investigate how provenance data and the SmartCity vocabulary can be extended or used to generatenarratives for collectives, and how a narrative can becondensed while identifying commonalities and out-liers in collectives. Second, support privacy by usingprovenance data that has been transformed to obfus-cate and remove concepts that refer to sensitive in-formation or are private because of privacy policies.Third, evaluate the explanation service’s narrative viaa user study to validate how effect narrative to supportdecision making processes. Fourth, extend the jsonused in the serialisations so that they support json-DL.

8. Acknowledgments

The research leading to these results has receivedpartially funding from the European Community’sSeventh Framework Program (FP7/2007-2013) un-der grant agreement n. 600854 Smart Society: hy-brid and diversity-aware collective adaptive systems:where people meet machines to build smarter societieshttp://www.smart-society-project.eu/.

References

[1] Subbu Allamaraju. RESTful Web Services Cookbook. O’Reilly,2010.

[2] Ruth A Berman and Dan Isaac Slobin. Relating events innarrative: A crosslinguistic developmental study. PsychologyPress, 2013.

[3] Alessandro Bogliolo, Paolo Polidori, Alessandro Aldini,Waldir Moreira, Paulo Mendes, Mursel Yildiz, C Ballester, andJ Seigneur. Virtual currency and reputation-based cooperationincentives in user-centric networks. In Wireless Communica-tions and Mobile Computing Conference (IWCMC), 2012 8thInternational, pages 895–900. IEEE, 2012.

[4] Andrew D Brown, Michael Humphreys, and Paul M Gur-ney. Narrative, identity and change: a case study of laska-rina holidays. Journal of organizational change management,18(4):312–326, 2005.

[5] Brent N Chun and Andy Bavier. Decentralized trust manage-ment and accountability in federated systems. In System Sci-ences, 2004. Proceedings of the 37th Annual Hawaii Interna-tional Conference on, pages 9–pp. IEEE, 2004.

[6] Bruno Crispo. Delegation protocols for electronic commerce.In Computers and Communications, 2001. Proceedings. SixthIEEE Symposium on, pages 674–679. IEEE, 2001.

[7] Bruno Crispo and Giancarlo Ruffo. Reasoning about account-ability within delegation. In Information and CommunicationsSecurity, pages 251–260. Springer, 2001.

[8] Olivier Ferret. How to thematically segment texts by using lex-ical cohesion? In Proceedings of the 36th Annual Meeting ofthe Association for Computational Linguistics and 17th Inter-national Conference on Computational Linguistics-Volume 2,pages 1481–1483. Association for Computational Linguistics,1998.

[9] Roy Thomas Fielding. Architectural Styles and the Design ofNetwork-based Software Architectures. PhD thesis, Universityof California, Irvine, 2000.

[10] Joost Geurts, Stefano Bocconi, Jacco Van Ossenbruggen, andLynda Hardman. Towards ontology-driven discourse: From se-mantic graphs to multimedia presentations. Springer, 2003.

[11] Paul Groth, Yolanda Gil, James Cheney, and Simon Miles. Re-quirements for provenance on the web. International Journalof Digital Curation, 7(1):39–56, 2012.

[12] Harry Halpin. Provenance: The missing component of the se-mantic web for privacy and trust. In Trust and Privacy on theSocial and Semantic Web (SPOT2009), workshop of ESWC,2009.

Page 55: D2.2 - Provenance, Trust, Reputation and Big Data

21

[13] Mark Huang, Andy Bavier, and Larry Peterson. Planet-flow: maintaining accountability for network services. ACMSIGOPS Operating Systems Review, 40(1):89–94, 2006.

[14] Michael O. Jewell, K. Faith Lawrence, Mischa M. Tuffield,Adam Prugel-Bennett, David E. Millard, Mark S. Nixon, m.c.schraefel, and Nigel R. Shadbolt. Ontomedia: An ontology forthe representation of heterogeneous media. In Multimedia In-formation Retrieval Workshop (MMIR 2005) SIGIR. ACM SI-GIR, 2005. Event Dates: 08/05.

[15] Rajashekar Kailar. Reasoning about accountability in protocolsfor electronic commerce. In Security and Privacy, 1995. Pro-ceedings., 1995 IEEE Symposium on, pages 236–250. IEEE,1995.

[16] Allan Kuchinsky, Celine Pering, Michael L Creech, DennisFreeze, Bill Serra, and Jacek Gwizdka. Fotofile: a consumermultimedia organization and retrieval system. In Proceedingsof the SIGCHI conference on Human Factors in ComputingSystems, pages 496–503. ACM, 1999.

[17] Claude Lévi-Strauss. Structural anthropology. Basic Books,2008.

[18] Yutaka Matsuo and Mitsuru Ishizuka. Keyword extractionfrom a single document using word co-occurrence statisticalinformation. International Journal on Artificial IntelligenceTools, 13(01):157–169, 2004.

[19] Luc Moreau and Paul Groth. Provenance: An introduction toprov. Synthesis Lectures on the Semantic Web: Theory andTechnology, 3(4):1–129, 2013.

[20] Luc Moreau and Paolo Missier. Prov-dm: The prov data model.2013.

[21] Luc Moreau, Paolo Missier (eds.), Khalid Belhajjame, RezaB’Far, James Cheney, Sam Coppens, Stephen Cresswell,Yolanda Gil, Paul Groth, Graham Klyne, Timothy Lebo, Jim

McCusker, Simon Miles, James Myers, Satya Sahoo, and CurtTilmes. PROV-DM: The PROV Data Model. W3C Recom-mendation REC-prov-dm-20130430, World Wide Web Con-sortium, October 2013.

[22] Helen L Partridge. Developing a human perspective to the dig-ital divide in the’smart city’. 2004.

[23] Michael Rovatsos. Multiagent systems for social computation.In Proceedings of the 2014 international conference on Au-tonomous agents and multi-agent systems, pages 1165–1168.International Foundation for Autonomous Agents and Multia-gent Systems, 2014.

[24] Paul Ruth, Dongyan Xu, Bharat Bhargava, and Fred Reg-nier. E-notebook middleware for accountability and reputationbased trust in distributed data sharing communities. In TrustManagement, pages 161–175. Springer, 2004.

[25] Mischa M Tuffield, Dave E Millard, and Nigel R Shadbolt. On-tological approaches to modelling narrative. In 2nd AKT DTASymposium, 2006. Event Dates: January 2006.

[26] Daniel J Weitzner, Harold Abelson, Tim Berners-Lee, JoanFeigenbaum, James Hendler, and Gerald Jay Sussman. Infor-mation accountability. Communications of the ACM, 51(6):82–87, 2008.

[27] Daniel J Weitzner, Harold Abelson, Tim Berners-Lee, ChrisHanson, James Hendler, Lalana Kagal, Deborah L McGuin-ness, Gerald Jay Sussman, and K Krasnow Waterman. Trans-parent accountable data mining: New strategies for privacyprotection. 2006.

[28] Aydan R Yumerefendi and Jeffrey S Chase. Trust but ver-ify: accountability for network services. In Proceedings of the11th workshop on ACM SIGOPS European workshop, page 37.ACM, 2004.

Page 56: D2.2 - Provenance, Trust, Reputation and Big Data

c© SmartSociety Consortium 2013-2017 Deliverable D2.2

B HDA-CASs Vocabulary

56 of 65 http://www.smart-society-project.eu

Page 57: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 1/9

The SmartSociety CAS NamespaceUnofficial Draft 22 December 2014Editors:

Heather Packer, University of SouthamptonLuc Moreau, University of Southampton

This document is licensed under a Creative Commons Attribution 3.0 License.

IntroductionThe namespace name http://purl.org/cas/ns# defines terms for theSmartSociety Collective Adaptive Systems (CAS).

The index below provides links directly to the definition of the terms within theabove specifications.

IndexA | C | F | I | K | L | M | O | P | Q | R | S | U | V | W

AAcknowledgement

An acknowledgement is a message that is passed between two agents to signifyacknowledgement, or receipt of a response, which is part of a communicationsprotocol.

cas: Acknowledgement

Activity

An activity is the condition in which things are happening or being done.

cas: Activity

Agent

Page 58: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 2/9

An agent is anything that can possibly perform an activity. Alternatively, anythingthat has capabilities.

cas: Agent

API

A api is a set of specifications for calls that can be processed by a peer.

cas: API

AuthenticatingIdentity

Authenticating identity is an activity that authenticates a user.

cas: AuthenticatingIdentity

CCall

A call is a signal transmitted to a peer over a computer network.

cas: Call

Capability

A capability is a prospective, though not necessarily planned or agreed, activity.

cas: Capability

ChangingView

Changing view is an activity that changed the view of a user interface.

cas: ChangingView

Collective

A collective is an agent that consists of multiple member agents.

cas: Collective

ComposingTasks

Page 59: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 3/9

Composing tasks is an activity that may be comprised of the following activitiesauthenticating identity, computing composition and computinginvalidtasks.

cas: ComposingTasks

CompositionManager

A Composition Manager A composition manager is a peer which specialises incomposing tasks by searching and matching relevant peers and computing plansfor a task.

cas: CompositionManager

ComputingComposition

Computing composition is an activity that computes a set of valid tasks givenconstraints or negotiation inputs.

cas: ComputingComposition

ComputingReputation

Computing reputation is an activity that is run by the reputation manager when afeedback report is submitted, it computes a reputation report for all the subjectsreferred to by the submitted feedback report.

cas: ComputingReputation

FFeedbackReport

A feedback report is a report about a subject that contains a set of value ratingcategories. For example, "star rating = 4.3".

cas: FeedbackReport

IIdentity

Page 60: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 4/9

Agents, users, peers all have identities. An unauthenticated user gets assignedan identity automatically.

cas: Identity

IncentivesManager

A incentives manager is a peer that specialises in providing incentives for peersto participate in tasks.

cas: IncentivesManager

MMessage

A message is a piece of information exchanged between agents.

cas: Message

NNegotiatingtask

Negotiating task is an activity that submits a task which may alter other tasks, itmay comprise of an authenticating identity and storing task activities.

cas: Negotiatingtask

NegotiationManager

cas: NegotiationManager

O

Page 61: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 5/9

Opinion

An opinion is a quantitive value of the estimation of a subjects worth based onfeedback categories about it. either an activity, agent, peer, user, or collective, thatis being discussed, described, or dealt with in the context of feedback reports andreputation reports.

cas: Opinion

OpinionReport

An opinion report is a reputation report, which contains a single key value pairand binds an opinion to a value. The value is an aggregation of ratings from a setof reputation topics.

cas: OpinionReport

OrchestrationManager

An orchestration manager is a peer, which specialises in coordinating theinteraction between other peers.

cas: OrchestrationManager

PPeer

A peer is a software agent in a SmartSociety system that represents anotheragent.

cas: Peer

Plan

A plan is a specification for the execution of a task.

cas: Plan

PostingTaskRequest

Posting task request is an activity that posts a task to orchestration manager.

cas: PostingTaskRequest

Page 62: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 6/9

Protocol

A protocol is a collection of plans that involve communications between peers.

cas: Protocol

RReputationManager

A reputation manager is a peer, which specialises in storing feedback aboutsubjects and generating reputation and opinion reports about subjects. A view isan entity pertaining to a view of a user interface.

cas: ReputationManager

ReputationReport

A reputation report is a report about a subject that contains a set of value ratingcategories. For example, a subject has been rated with a set of star ratings, andthe average of those star ratings are "average star rating = 4.3".

cas: ReputationReport

RequestingOpinion

Requesting opinion is an activity that requests a opinion report from thereputation manager.

cas: RequestingOpinion

Request

A request is a call that is used to request information from a service.

cas: Request

Respond

A respond is an activity that is used to respond to an API call.

cas: Respond

Response

Page 63: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 7/9

A response is an entity that is computed in response to a request.

cas: Response

SSendingMessage

A sending message is the constituent of a protocol: it involves informationexchange.

cas: SendingMessage

SendingNegotiationResponse

Sending negotiation response is an entity that contains the response to anegotiating tasks.

cas: SendingNegotiationResponse

SendingRequest

Sending request is an activity that sends a request to peer.

cas: SendingRequest

SendingResponse

Sending response is an activity that sends a response to peer.

cas: SendingResponse

StoringFeedback

Storing feedback is an activity used by reputation manager to store a feedbackreport within it.

cas: StoringFeedback

StoringTask

Storing task is an activity that stores a task locally.

cas: StoringTask

Page 64: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 8/9

SubmittingTaskRequest

Submitting task request is an activity that submits a task, it may comprise of anauthenticating identity and storing task activities.

cas: SubmittingTaskRequest

SubmittingFeedback

Submitting feedback is an activity that submits a feedback report to thereputation manager.

cas: SubmittingFeedback

Subject

A subject is either an activity, agent, peer, user, or collective, that is beingdiscussed, described, or dealt with in the context of feedback reports andreputation reports.

cas: Subject

TTask

A task is a potential activity that involves capabilities, potentially contributed byseveral agents.

cas: Task

TaskRequest

A task request is a request for a potential activity that involves capabilities,potentially contributed by several agents.

cas: TaskRequest

U

Page 65: D2.2 - Provenance, Trust, Reputation and Big Data

12/22/2014 The SmartSociety CAS Namespace

file:///Users/heatherpacker/cas/landing-page.html 9/9

User

A user is a person who is using a SmartSociety system.

cas: User

UserInterface

A user interface is a software component that allows a user to view information ina peer and interact with it through API calls.

cas: UserInterface

email address here $Revision: 1.1 $ of $Date: 2013/04/29$