Sunday, May 16, 2010

Bissa Shaping Up

Its been almost a year we started discussing on a final year research project which was a requirement for the the completion of degree program of BSc(Eng) Hons University of Moratuwa. as our research been success and having a quite stable implementation at hand with amazing test results to prove our research i think its time to start taking about the work we have done.

Research was to implement a highly scalable model of tuple space implementation which can span across multiple environments ultimately giving a unified slandered easy to program communication infrastructure.In the current implementation "BISSA" we have implemented a highly scalable tuple space model that can span from browser applications to java applications.

Tuple space can be thought of as a shared space of tuples, where tuples can be put to the space, read from space and deleted from the space. The tuple space model provides a convenient programming model for communication between applications, compared to the general message passing models. In Message passing models, parties that communicate with each other have to be alive at the same time. The advantage of tuple space communication is that the parties that communicate using the tuple space need not to be available at the same time to engage in the communication. Furthermore the processes can coexist in space/network without knowing each others existence. These two factors sum up to making tuple space model time and space decoupled; a feature very few parallel/distributed processing architectures possess.
Our current implementation have a java script base in browser tuple space where it can be used to communicate between java script applications in a same page of a browser or between tabs.And also its exposed as a shindig feature where shindig is a gadget container.So the gadget programmers can use this feature as a inter gadget communication infrastructure. BISSA also consists of a peer to peer Tuple space for java applications. Peer 2 peer Tuple space can act as a Server for the browser space so that at the end of the day we have a tuple space that can span from browsers to java applications. In bissa peer to peer space java applications can use it as a library and join the space and use it. Every application will be contributing the the space and for them tuple space is viewed as a single space.
following are the main api features we give to the developers as tuple space operations.
  • write operation - write tuples to the tuple space
  • read operation - given a tuple template read the tuples from the space. We have both asynchronous and synchronous read operations.
  • take operation - this will delete tuple/s and give them to the user.
  • pub-sub mechanism - users can subscribe for tuple templates so that system will notify when a tuple matches to that template added to the system.
BISSA comes with several sample applications to show the users the example use cases.
Following is the screen-shot of simple console we have given to demonstrate the operations of the peer to peer space


BISSA team will announce its release soon.

No comments:

Post a Comment