.:The Babylon's Project:.

.: Home | Framework Customization Model | Babylon Tool | Glossary | Download | References | Team:.
 .:Universities:.
University of Nice
University of Montreal


 .:Sponsor:.
Eclipse project

.:The Babylon Tool:.

Babylon is composed of 3 plugins. The babylon.core plugin implements the model, babylon.developerUI plugin for the framework developer interface and babylon.userUI for the framework user interface.

Babylon core

Since our model is language independent the core plugin exposes an extension point to allow extra language support to be plugged-in. Providing a new language consists in implementing IFactory and IReverseFactory to map elements descriptors to physical elements and vice-versa (see \ref{ahsm1-ahsm2}), and IListener to capture the creation/deletion/modification in the user code. The implementation of a few wizards may be required when no context is available for the creation of a physical element (they are generally derived from the targeted language support). Because Babylon is really language independent, no integration with language specific views is provided, and it is up to the person providing new languages to do the integration.

jBabylon

jBabylon is the name given to the plugin offering support for the java language. It extends the extension point previously described and rely on JDT. It uses a JavaCore listener to capture the java delta and the java code is manipulated thanks to the JavaCore API. However because the granularity of java delta was too big, we had to rely on some internal classes to edit elements like return type, parameters, etc. jBabylon is seamlessly integrated with the JDT views by providing contextual menus to enable the association of elements, start the verification, etc. It also reuses JDT wizards.

Conclusion and further work

In this communication we presented \Tool{} and \Model, an eclipse integrated tool and its model providing assistance when developing with frameworks. We also gave examples of how \Tool{} can help eclipse in dealing with framework, and more generally structural dependencies. We are now envisioning several directions to this work. On a model aspect, we want to study the relation with the MDA. On a implementation aspect, we would like to add support for new languages, study the advantages we could take of EMF and GMT and try to change some complex Websphere Studio wizards into "always-running wizards" by using our model. On a usability aspect, we will carry tests on users and see if the tooling really helps developers productivity and framework documentation.

previous page

.:Copyright & Designed © 2003 by www.oswd.org:.