venerdì 30 marzo 2012

Welcome to my Blog


Hi all!!

My name is Giacomo and welcome to my first blog. I'm studing Computer Science at the University of L'Aquila and few days ago i received the bachelor degree ;) During my bachelor thesis i developed a simple library that tries to implements concept related to software connector. This implementation is based on existing theory called Connector Algebra [Marco Autili, Chris Chilton, Paola Inverardi, Marta Kwiatkowska and Massimo Tivoli, Towards a Connector Algebra, in: 4th International Symposium on Leveraging Applications (ISoLA 2010) of Formal Methods, Verification and Validation, pages 278-292, LNCS] provided  by my supervisors, Doct. Marco Autili and Doct. Massimo Tivoli and other collegues: this theory attempts to structure the concept of software connector, treating it like a mediator, by defining a set of rules that are formalised through an algebra. 

Suppose that we have two or more application that wish to exchange information. These applications most often not talk in the same way. For example the sender application sends a single big message, while the receivers expects a set of related submessage. If we don't have the intention to change these applications, we can use a mediator that sit between these application. For example in our case we need a simple splitter that manage the incoming messages and relying on a splitting logic splits the message and sends these messages to receivers.
This algebra contains a set of base item, such as a splitter, called primitives: these primitives are related to mediator pattern introduce the first time in Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley, 1995ISBN 0-201-63361-2

During this work we noticed that the connector Algebra is strongly related  to the Enterprise Integration Pattern [http://www.eaipatterns.com/]: this algebra defines terms already introduced in this book. For example, the split term of the Connector Algebra theory has the same meaning of the Splitter introduced in EIP.

As the Eip are directly implemented in the Apache Camel project [http://camel.apache.org/], we builded a library based on this framework: the main goal is express the existing concepts present in Camel and re-expose under the structure of the algebra. The library is called CABAC (Connector Algebra Based on Apache Camel), and you can find it on googlecode: http://code.google.com/p/otf-connector/.

The main goal of this blog is show how to work with this library, and model (i hope together) some real scenario. Let me say if you're interested on this project and.. stay tuned :)

Nessun commento:

Posta un commento