180 likes | 310 Views
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
E N D
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 • 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 • 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 • 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.
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).
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 • 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.
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.
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 For all users
Interaction Model Publishing Window For developers
OKC Creation Window For developers
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 • Distributing the coordination task. • Implementation of interpreters for other languages (e.g. BPEL). • Interaction model composition.