1 / 18

The OpenKnowledge Kernel (i.e. coding OpenKnowledge)

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

hedya
Download Presentation

The OpenKnowledge Kernel (i.e. coding OpenKnowledge)

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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)

  2. 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.

  3. 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.

  4. 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.

  5. Example Interaction Model

  6. OKCs • 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).

  7. 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.

  8. 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.

  9. Coordination • 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.

  10. 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.

  11. Main Window For all users

  12. Interaction Model Publishing Window For developers

  13. OKC Creation Window For developers

  14. System Architecture

  15. Kernel Architecture

  16. 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

  17. Future Work • Distributing the coordination task. • Implementation of interpreters for other languages (e.g. BPEL). • Interaction model composition.

  18. Questions ?

More Related