The openknowledge kernel i e coding openknowledge
1 / 18

The OpenKnowledge Kernel (i.e. coding OpenKnowledge) - PowerPoint PPT Presentation

  • Uploaded on

George Anadiotis , Vrije Universiteit Amsterdam, The Netherlands Paolo Besana , University of Edinburgh, UK David de la Cruz , IIIA-CSIC, Barcelona, Spain David Dupplaw , University of Southampton, UK Spyros Kotoulas , Vrije Universiteit Amsterdam, The Netherlands

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'The OpenKnowledge Kernel (i.e. coding OpenKnowledge)' - hedya

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
The openknowledge kernel i e coding openknowledge

George Anadiotis, Vrije Universiteit Amsterdam, The Netherlands Paolo Besana, University of Edinburgh, UKDavid de la Cruz, IIIA-CSIC, Barcelona, Spain

David Dupplaw, University of Southampton, UK Spyros Kotoulas, Vrije Universiteit Amsterdam, The Netherlands

Adrian Perreau de Pinninck, IIIA-CSIC, Barcelona, Spain

Ronny Siebes, Vrije Universiteit Amsterdam, The Netherlands

The OpenKnowledge Kernel(i.e. coding OpenKnowledge)

Openknowledge system
OpenKnowledge System

  • Peer-to-peer network for distributed application sharing and execution.

    • Peers can search and download programs from other peers.

    • Developers can publish applications and their interaction specifications.

  • Provides a framework to execute and coordinate the programs in each peer.

  • Anyone with a computer and internet access may join the system.

  • No central organization.

Openknowledge kernel
OpenKnowledge Kernel

  • The kernel is the software that gives users access to the OK System.

  • It can be downloaded and installed on any computer.

  • It is open source software.

  • The kernel glues together the services needed to achieve the OK System’s functionality.

  • It implements the protocols for downloading and managing applications.

  • It implements a peer-to-peer communication layer.

Interaction models
Interaction Models

  • Interactions between peers are represented by protocols, based on Lightweight Coordination Calculus (LCC).

  • LCC is an executable specification language adapted for peer-to-peer workflows.

  • LCC is based on process calculus: protocols are declarative scripts written in a Prolog-like language.

    • It uses roles and constraints on message sending to enforce social norms.

    • The basic behaviours are to send or to receive messages.

    • More complex behaviours are expressed using connectives: then creates sequences, or creates choices.

The openknowledge kernel i e coding openknowledge

  • They are plug-ins.

    • They can be downloaded and installed on any peer.

    • Implement the functionality of roles in an interaction model.

    • Developed by users, stored in the system and downloaded by users.

    • Are subscribed by users to play a role in an interaction model (i.e. solve contraints in LCC).

Discovery service
Discovery Service

  • A peer-to-peer network responsible for storing and discovering:

    • Interaction Models

    • OKC descriptions

    • OKC implementations

    • OKC instance advertisements (i.e. Subscriptions)

    • Coordinator advertisements

  • Push and pull-based.

Bootstraping an interaction
Bootstraping an interaction

  • The discovery service selects a coordinator and sends it an Interaction Model, together with a list of OKCs that are advertised for the roles.

  • A mutual exclusion mechanism is used to handle the interaction bootstrap.

    • To bootstrap, the coordinator sequentially contacts the managers of the OKCs, asking if they want to take part in the interaction:

      • If enough participants want to take part, the coordinator starts the interaction.

      • else, the process is aborted.


  • LCC Protocols are executed by coordinator peers.

  • Some peers volunteer to be coordinators.

  • For each interaction, there exists one coordinator.

  • The coordinator creates a local proxy for each of the roles in the protocol.

  • The local role proxies parse the LCC clauses of the corresponding roles:

    • They can send messages to the other proxies.

    • They can wait for the reception of messages from other proxies.

    • They can ask the remote OKCs to solve a constraint in the protocol.

Graphical user interface
Graphical User Interface

  • The OK system’s functionality is accessed through a graphical user interface with the following windows:

    • Main - IM and OKC search fields and result panel, OKC subscription, local peer information.

    • IM Modeling - IM editing (LCC and a semantic description), and IM publishing.

    • OKC Creation - IM viewing, role constraint information, semantic description editing, OKC packaging and publishing.

Main window
Main Window

For all users

Okc creation window
OKC Creation Window

For developers

Currently working on
Currently Working on

  • Moving from version 0 to version 1.0beta.

    • Two-step peer negotiation

    • Including ontology mapping modules

    • Dynamic peer recruitment for interactions

    • Adding trust and reputation modules

    • Integration of rich discovery mechanisms

    • Revamping the communication layer

Future work
Future Work

  • Distributing the coordination task.

  • Implementation of interpreters for other languages (e.g. BPEL).

  • Interaction model composition.