Skip to main content
Jump to: navigation, search

Difference between revisions of "Google Summer of Code 2009 Ideas"

Line 466: Line 466:
| DSL and Model-Driven Generator for EclipseLink
| DSL and Model-Driven Generator for EclipseLink
| [ EclipseLink], [ Xtext], [ Xpand]
| [ EclipseLink], [ Xtext], [ Xpand]
| The goal of this project is to define a (textual) DSL for EclipseLink and create an Xpand-based code generator that generates best-practice EclipseLink code.
| The goal of this project is to define a (textual) DSL for EclipseLink and create an Xpand-based code generator that generates best-practice EclipseLink code. The project will be mentored by two mentors (from Xtext/Xpand and EclipseLink) to ensure best-practice use of the technologies.
| [ Peter Friese]
| [ Peter Friese]
| Peter Friese (Xtext, itemis), Douglas Clarke (EclipseLink, Oracle)
| Peter Friese (Xtext, itemis), Douglas Clarke (EclipseLink, Oracle)

Revision as of 10:30, 20 March 2009


  • Be creative
  • Be specific: what do you want to be implemented
  • If you are willing to mentors those ideas, add your name and email to the idea.
  • It is ok to have a project idea without parent project
  • If you're an interested student, add your name and email next to the idea. It is ok to have several students interested by one idea.


- Old ideas can be found at Google Summer of Code 2007 ideas and Google Summer of Code 2008 ideas.
Title Project Abstract - links to details/bugs/etc Reporter Possible mentor(s) Comments Potential student(s)
Your project title here e.g. Cure world hunger Your project link here e.g. SoC Your project description here. Be as precise and specific as possible. Link to bugs... Your name here Your Prospective mentors here (If you're an eclipse committer + the reporter, you should leave your name here too! Your additional comments
PDE Menage A Trois PDE The goal of this project is to update PDE to use EMF and Databinding under the covers. In PDE, we have a lot of models and editors backed by custom code that has shown its age and is difficult to maintain. This is an opportunity to modernize PDE and make it more extensible. <interested student here> Chris Aniszczyk, Benjamin Cabé None
Write Eclipse plug-ins in PHP e4/Languages Leverage one of existing PHP/Java bridges for adding a PHP support into e4 Michael Spector Michael Spector None William Candillon.Zach Habersang from Texas A&M Univ., USA
Rewrite PHP grammar in ANTLR PDT Reasons: Michael Spector Michael Spector None Zach Habersang from Texas A&M Univ., USA Renjie Xu from University of San Francisco., USA
Ant buildfile refactorings Platform Ant Ant buildfiles can become large and complex and would benefit from refactoring. Currently there is no support beyond renaming within a buildfile to allow the developer to efficiently refactor Ant buildfiles. The goals would be to implement an infrastructure to support refactorings in Ant buildfiles, participate in other components refactorings and provide a starter set of Ant buildfile refactorings. See bug 89938 for some initial buildfile refactoring ideas. Darin Swanson Darin Swanson None Yin Qiu from Nanjing Univ., China
St.Shadow from BSUIR., Belarus
XSLT Refactorings Webtools XSL Tools XSL Tools provides editing and debugging support. Currently there is no refactoring support for XSLT 1.0 or XSLT 2.0 stylesheets. Refactorings could include Extract Template, Extract Call Template, etc. Refactorings should participate with the platform refactoring framework. David Carver David Carver None
External XSLT Transformations Webtools XSL Tools Implement a configuration option and launching ability for non java XSLT processors. Particularly add support so that xsltproc could be used as a processor. bug 245743 David Carver David Carver None
XQuery/XPath Parser Webtools XQuery Currently the XQuery Development Tools is using an Antlr xpath parser from the XQPretty project. However this does not currently integrate well with the editor, and a javacc implementation that expands the current XML javacc parser would be ideal. This would leverage and hook into the existing parsing framework for the Structured Source Editor and provide identification of Regions and Partitions for the editor. A bonus would be to have validation of the XQuery syntax as well. See bug 226245 for more information in regards to the XPath 2.0 support. David Carver David Carver None Jin Mingjian, Chinese Academy of Sciences, China
VEX (Visual Editor for XML) Multipage Editor support Webtools VEX VEX supports the visual editing in a word processor like feel of a variety of XML formats. With the use of CSS stylesheets for the XML, it can render a WYSIWYG presentation. VEX currently does not have a working Multipage Editor..meaning that switching from the Design view to a source view, the XML is not shown in the source view and not synchronized. The model is EMF based, and the XML editor from WTP is DOM based, this project would leverage the EMF2SSEDOM framework for providing the synchronization between the two. The project is also open to other alternatives, and will allow the candidate wide latitude in experimentation of ways to implement the synchronization. David Carver David Carver None Chelsea Bingiel, University of Chicago
RelaxNG Validator Webtools Incubator RelaxNG is an alternative schema language to the more widely known XML Schemas and DTDs. This project would implement RelaxNG valadition using the WTP validation framework. This should allow for both the as you type validation, as well as batch validation. David Carver David Carver None
RelaxNG Editor Webtools Incubator Implement a full featured editor for the RelaxNG compact syntax, with optional editing of the RelaxNG XML syntax as well. Should offer syntax highlighting, content assistance, validation against the relaxng specification, file wizards, preference pages, etc. Ideally built off and leverages the Structured Source Editor from WTP. David Carver David Carver None
VEX - Docbook 5 support Webtools VEX Implement a set of CSS stylesheets and appropriate outline views and enhancements for DocBook 5 features. This may require enhancements to the VEX model to support XML Namespaces, and displaying of images. DocBook 4.5 and Simplified Docbook 1.0 are currently supported, and can be used as a basis to provide Docbook 5 support. David Carver David Carver None Chelsea Bingiel, University of Chicago
XSLT 2.0 content assistance Webtools XSL Tools XSL Tools provides good support for the XSLT 1.0 specification in the way of content assistance. It however does not provide support for some more advance features in XSLT 2.0 like custom functions, and content assistance for these features. Custom functions can be written in xslt 2.0, and then used within the stylesheet within XPath expressions. This allows for the generation of reuseable libraries like FXSL, to be created entirely in XSLT 2.0. David Carver David Carver None Wellington Bengtson, Institut National des Sciences Appliquées de Rouen
API Tooling for the Extension Registry PDE The goal of this project is to add support to API Tools to work with the extension registry. For example, there are things in extensions that can be considered API. For example, the id of a view can be referenced by anyone. This should be considered API and changing it has the potential of breaking downstream clients. <interested student here> Chris Aniszczyk, Darin Wright None
ECF connections for JDBC and DTP [1] We'd like to find a way to bridge the gap between DTP and ECF to find a way to use a shared connection framework in E4. The idea would be to have an ECF connection for JDBC (would require jdbc url, jar list, uid/pwd, and any other properties) that could then be used to get the raw JDBC connection to be used in DTP... <interested student here> Brian Fitzpatrick, Scott Lewis Brian Fitzpatrick (
JWT View Editor JWT With JWT processes can be modeled in different views: a business view which is more abstract (e.g. in BPMN) or a technical view which includes much more execution details (e.g. using UML activity diagrams with extensions). In order to configure these views, we developed a view editor. But this view editor is currently only usable for the core metamodel. In the meanwhile we developed an aspect-oriented mechanism for vendors to extend the metamodel with their specific details. These aspects need to be considered in the views, but are currently neglected. This project shall extend the existing JWT view editor and adapt the views to the aspects. Florian Lautenbacher Florian Lautenbacher - Melanie Hesselbart, University of Augsburg, Germany
XPath 2.0 W3C Test Suite XSL Tools XSL Tools received a code contribution from the author of the PsychoPath XPath 2.0 java processor. This was developed before the finalized spec so is based on a draft version of the specification. The W3C has created a test suite that implementors of XPath 2.0 can use to verify their implementations. This project would help implement the test suite, identify, and provide patches for the XPath 2.0 processor so that it passes the tests. This is currently tracked in bug 262765. David Carver David Carver - Jin Mingjian, Chinese Academy of Sciences, China
Objective-C first class IDE Extend CDT to provide a great IDE for Objectivce-C language, see blog entry and bug 68083 Mariot Chauvin Alex Blewitt or Doug Schaefer - Ricardo Sisnett, Instituto Tecnológico de Monterrey, Mexico
3D visualization of model differences EMF Compare Thanks to GEF3D and EMF Compare, it's now possible to display diagrams,

compare the semantic model, and show the differences through a 3D representation. This project is about integrating those tools and experimenting with such visualization (one can easily imagine a "Time Machine"-like view for his diagrams.

Cédric Brun Cédric Brun
Huge Model Comparison EMF Compare EMF Compare uses an heuristic-based algorithm to compare two models, while

doing so its keeping processing data in memory (more important the models are, more memory is used). This project is about leveraging CDO and writing another implementation of match algorithm to be able to compare any size of model, even ones with millions of elements.

Cédric Brun Cédric Brun
Improve graphical comparison EMF Compare A first implementation of graphical comparison has been done, see

Several enhancements could be made, such as supporting diagrams with images.

Mariot Chauvin Cédric Brun
ProtocolBuffer EMF Serialization EMF ProtocolBuffer is binary serialization API which is smaller and faster than XML.

It would be interesting to be able to serialize EMF models with it.See

Mariot Chauvin To be defined Diego Alvarez Araujo Correia - From Instituto Tecnológico de Aeronáutica - ITA, Brazil.
Acceleo and ATL Combine Acceleo Study possibility to call model to model transformations from model to text transformations and inversely without high coupling between the two. Mariot Chauvin To be defined
Index search for Java EE metadata WTP Java EE Tools Bugzilla: 233505
Pain point

Working on huge projects is a common task for many Java EE developers. Sooner or later the developer would fall in a situation where he or she needs to find an exact Java EE artifact by just remembering a portion of the artifact's name or description, but not the its exact location. In such situation the developer should try different methods of searching, including file search, full-text search, etc. It would be much more convenient if the IDE provides a Java EE metadata search.


We are all familiar with the Open Type and Open Resource index searches in the workbench and how useful they are when we try to quickly locate our files and Java classes in the huge projects we are working with. The Java EE perspective should naturally evolve these features to Java EE metadata index search, where developers can search for certain metadata in their Java EE projects.

This new feature should introduce new dialog box that looks similar to the Open Type and Open Resource dialogs. There should be a hotkey combination available that enables users to quickly call the dialog. Typing a portion of the Java EE metadata name or description should filter the available Java EE artifacts and assist the user choice.

Examples for Java EE metadata are:

  • EJB beans
  • Web servlets
  • EJB references
  • Security roles

There is a new Eclipse project proposed - EMF Index - that could help with the realization of this idea.

Kaloyan Raev Kaloyan Raev None Georgi Dimitrov from the University of Sofia, Bulgaria
Embed OpenEJB in J2EE Preview server adapter WTP Server Tools Currently the J2EE Preview adapter, that ships with WTP, utilizes the embedded Jetty server and makes possible for users to develop and run Web application without the need to install additional J2EE runtime and servers.

It would be useful if an EJB container is embedded in the J2EE Preview adapter, too. This will make possible EJB development "out of the box" the same way as web development.

There is a suitable embeddable EJB container - OpenEJB. There is a guide how to embed OpenEJB in Tomcat. So, it should be possible to embed it in a similar way in the Jetty web container.

In the end the J2EE Preview server adapter should be able to deploy and run WEB, EJB and EAR modules.

Kaloyan Raev Kaloyan Raev None Marcelo de Oliveira Dias from the University of Campinas – UNICAMP, Brazil
Improve support for PostgreSQL in DTP Enablement Eclipse Datatools

PostgreSQL support is minimal in DTP. Only connection profile is implemented, other needed functions are derived from Generic SQL support.

Stundents job would be to implement PostgreSQL specific loaders and models and based on that the student should start implementing DDL generator.

Brian Fitzpatrick has documented how to do some parts in his blog that can be used

Ivar Meikas Ivar Meikas PostgreSQL is not the only database thats support could be improved, if the student knows some other database well and he wants to see in DTP he can implement that also.
DSL For Generating Zest Graphs Zest Zest currently provides an API for generating node-link diagrams (graphs), however, it doesn't contain any way for end users to construct their own views. Adding a DSL similar to GraphViz (DOT) would allow users to construct and render graphs on the fly. This could be accomplished by providing a language model in EMF or XText Grammar and through code generation (via JET or XPand, an equivalent Zest program could be generated). Ian Bull Ian Bull None Fabian Steeg, University of Cologne, Germany
Debugging aid for p2 installation issues Enhancement Request Debugging cases where features cannot be installed into Eclipse due to inability to reconcile requirements of existing features and the new features being installed is quite challenging. It would be useful to create a tool for capturing the details of the environment and what was being installed to aid in reporting problems. Once it is possible to generate these dumps, a graphical explorer tool that would allow the developers to trace the dependencies and see the problems would make it significantly easier to debug these problems. Pascal Rapicault Matthew Piggott, University of Ottawa, Canada
CVS Search Platform CVS The aim of this project is to provide a facility that will allow for searching commit comments. The facility should be able to scan selected CVS project, find commits that match specific query and present them using the Compare Editor. Christopher Daniel Christopher Daniel, Tomasz Zarna Additional Tab in the Search Dialog will be created. More details soon. Ali Ok, Istanbul Technical University, Turkey,
Ricardo N. Miranda, University of Campinas – UNICAMP, Brazil
Configurable "link with editor" using logical hierarchy model WTP Java EE Tools Bugzilla: 137086

Initial bugzilla proposal. ---

Customer explained how it would be nice to have a "blue-arrows" Toggle button feature parallel to the current "Yellow-arrows" Toggle button feature.Just like "Yellow-Arrows" button has the tooltip -- "link open editors with Navigator contents" , the "blue-arrows" feature can have the tool-tip "Link open editors with current logical hierarchy view item"

That feature will provide the following functionality : If the user clicks on an open editor , the focus in the project explorer will go back to the logical item in the hierarchy view under the Deployment descriptor (in its Sub-tree) rather than going to the file on the file-system in the "ejbmodule" - subtree (for eg. clicking in editor view should go to the "EmpLocalHome" logical entity being shown in the Deployment descriptor sub-tree. The Current "yellow-arrows" feature rather makes the focus go into the "ejb module" folder and focuses on the file itself. )

If the above "blue-arrows" feature is made availalbe the developer never has to leave the Deployment descriptor subtree during the entire EJB project development work flow. Currently , the "yellow-arrows" feature makes the focus go back into the "ejbmodule" folder containing the corresponding .java . In situations where the EJB project might contain 100's of EJB's inside them, "ejbmodule" might contain 1000's of files including the Deploy Code etc. The user then needs to scroll all the way up to the Deployment Descriptor sub-tree to go double-click and open any other logical view item ,say another Entity bean component (eg. LocalHome or home interface etc.) The customer complained that he ends up clicking on the "collapse-all" feature in this case there by losing the whole work-flow and then has to go back to the logical hierarchy view under the Deployment descriptor sub-tree to find a particular ejb component for editing.


This proposal opens the question for an extensible link with editor feature. There might be more then one model (eg resource model, Java EE model, WS model, Persistence Model) and the same editor could be linked to all the models. A solution is to make the whole link with editor very extensible with different models contributing to this extension. The models will have a priority and a shortcut could be defined to link with the next (by prio) model.

Even thought the feature request is in Java EE tools the solution will probably involve an "extensible part" in the platform ui and an "extension part" in Java EE tools.

Kiril Mitov Kiril Mitov
Policy Derivation tool for STP Policy Editor + WS-Policy Awareness Eclipse SOA Tools The main aim of this project is to provide integration of a policy derivation tool for WTP Policy Editor.Policy derivation tool is a component which basically reads a WS Compliant XML type message(ie:-SOAP) and derives single/multiple policies corresponding to the msg(It will be usefull in web services scenarios such as for clients to build a compatible policy reading the soap messages coming from the Service side if the web service itself don't wish to publish it's policies.. ).With the Integration of such a tool we could feed the derived policy instances to the editor itself and users can therefore edit the derived policy/policies to their liking (ie:- add, edit delete policy assertions) as policy editor supports rich functionality for such work. Among other objectives of the project are providing out the capability for correctly displaying standardized WS specs such that policy editor will be aware of different specs such as WS-SEC,WS-RM,MTOM,Addreesing,etc on the policy instances ,users are working on/ hoping to work on ,AND making Policy Editor compatible for other WS policy constructs that are currently not supported.. Oisin Hurley someone from STP None U.S.Wickramasinghe from The University of Moratuwa – Moratuwa, SriLanka
ECF and Yahoo ECF Implement a EPL'd version of the Yahoo messaging protocol and than code an ECF provider implementation for that. The baseline goal of this project is to just implement messanging for Yahoo... things like file transfer can come later or if there's time. Chris Aniszczyk Chris Aniszczyk Rajeev Sampath from University of Moratuwa, Sri Lanka
AIM Provider ECF ECF allows messaging protocols to be plugged in as providers. AIM isn't currently supported. The student can choose to implement the AIM (OSCAR) protocol themselves, or wrap an existing Java library like JOscar. Chris Aniszczyk, Remy Suen Chris Aniszczyk, Remy Suen Ali Ok, Istanbul Technical University, Turkey
QQ Provider ECF ECF allows messaging protocols to be plugged in as providers. QQ isn't currently supported. The student can choose to implement the QQ protocol themselves, or wrap an existing Java library. Chris Aniszczyk, Remy Suen Chris Aniszczyk, Remy Suen
VNC over ECF ECF Virtual Network Console is a popular screen sharing technology. It would be useful to have an implementation of VNC protocol for ECF. See mailing list entry by Marek Zawirski for a more detailed description of idea. Scott Lewis Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe
Google Calendar access using ECF ECF Google Calendar is a popular and open calendaring system. It would be useful to have an integrated ECF-based calendar for Eclipse. See mailing list entry by Marek Zawirski for a more detailed description of idea. Scott Lewis Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe, Mustafa K. Isik St.Shadow from BSUIR., Belarus
SIP VoIP implementation for ECF ECF SIP is a popular signaling protocol, widely used for setting up VoIP calls with 2 or more participiants. This project aims to create working SIP/VoIP implementation, that will provide ECF Call API. Implementation should allow VoIP calls using SIP from Eclipse and will make Eclipse a more functional softphone with an another protocol supported (already working implementations are jingle and Skype). Scott Lewis, Remy Suen, Chris Aniszczyk, Markus Kuppe?
Further ECF and Mylyn integration ECF Improvement of distributed development process is common goal of Mylyn and ECF projects. There have been some efforts of integrating these projects. However, there are still some fields where integration could be further extended. This especially covers contacting easily with other developers when doing issue-oriented development with Mylyn. Goal of this project is to extend integration between Mylyn and ECF to allow easy task-oriented communication or task exchange. Remy Suen, Scott Lewis, Chris Aniszczyk, Markus Kuppe?
REST abstraction for ECF ECF Many service providers using a REST based API to offer developers access to their services, i.e. Twitter, Facebook and so on. The result of this is that some third parties provide Java based libraries which covers this API's. The ECF team played a little bit with the Twitter API and use therefore a library called Twitter4J. The disadvantage of this technique is a dependency to the third partie library. This means a ECF container based on such a library is dependend on the diversity of this.

To decouple these dependencies an own ECF based REST abstraction would be the best. Based on this many new ECF containers can be created easily without using any other libraries.

Scott Lewis, Holger Staudacher Scott Lewis Holger Staudacher from the Hochschule Furtwangen University – Furtwangen, Germany ; Sreyansh Gandhi from Bannari Amman Institute, India
Sharing Snippets ECF A plugin using ECF to make snippet codes available on a snippet view/template view and in an organized way, snippets codes that comes from some "place"(CVS/SVN, Web Service, REST, HTTP, and others), and a way to share snippets from the eclipse editor, using ECF behind the scenes and maybe probably Equinox, OSGi Services.... For example, imagine that several snippets codes that there are on the SWT project available on a palette into the eclipse, or even several projects making important snippets code available into Eclipse, in ECF case for example code to create a container and etc. Maybe in this case the student can find some synergy with Eclipse Search feature with this "Sharing Snippets". Marcelo Mayworm Marcelo Mayworm, Scott Lewis? Mario Ponciano a.k.a Razec - From Unianhanguera, Brazil.
Video Chat ECF The goal of this project is to provide a video chat over ECF, embedded on Eclipse in synergy with DocShare for real-time shared editing, using ECF provider mechanism to deliver screen capture video probably in SWF format (focus on the compact format and low bandwidth delivery) for a remote viewer. Marcelo Mayworm James Sugrue, Marcelo Mayworm, Scott Lewis?
Google Services ECF The goal of this project is create a specific Google provider. This can extend XMPP for chat, but should also provide functionality for the new Google Voice [2], including the transcription option. James Sugrue James Sugrue, Marcelo Mayworm, Scott Lewis? N.J. Samarasekera from University of Moratuwa – Moratuwa, Sri Lanka
Integration of BPELUnit in Eclipse BPEL Designer BPEL Designer BPEL is an emerging standard for Web service compositions. Although BPEL processes are typically modeled by using graphical tools, the language is so powerful that testing is as necessary as for traditional programming languages. Apache ODE [3] is an open source BPEL engine, Eclipse offers a graphical BPEL editor [4], and BPELUnit [5] is an open source testing framework, which provides means for mocking services and for calculating test coverage. However, they haven't been integrated yet.

The goal of this project is, in conjunction with Project Apache ODE Integration in BPELUnit [6], to provide a convenient, tightly integrated “unit testing environment” for BPEL processes in Eclipse / Apache ODE. For this particular piece, the UI portion of BPELUnit must be integrated into the Eclipse BPEL Designer to enable automatic unit testing directly from the modeling environment. To support the tester/developer better, a method for visualizing test coverage shall be developed and evaluated. For instance, it could be beneficial to mark executed activities in the graphical editor to display test coverage results. If the student is interested, it is possible to evaluate methods for automatic generation of Unit Test Data and to integrate them into BPELUnit.

Simon Moser Simon Moser, Daniel Luebke (BPELUnit), Tammo van Lessen (Apache ODE) Chamith Buddhika from University of Moratuwa, Sri Lanka
Distributed testing FW based on RFC 119 OSGi ECF The recent addition of remoting and discovery capabilities to OSGI R4.2 (RFC 119) enables us to easily set up a distributed system. Combined with the well known JUnit, a testing framework for distributed application can be build on top. This test fw can then be consumed by ECF directly (eat your own dogfood) to prove its usefulness. Markus Alexander Kuppe Scott Lewis?, Jan S. Rellermeyer? None Markus Alexander Kuppe from University of Hamburg, Germany
DSL and Model-Driven Generator for EclipseLink EclipseLink, Xtext, Xpand The goal of this project is to define a (textual) DSL for EclipseLink and create an Xpand-based code generator that generates best-practice EclipseLink code. The project will be mentored by two mentors (from Xtext/Xpand and EclipseLink) to ensure best-practice use of the technologies. Peter Friese Peter Friese (Xtext, itemis), Douglas Clarke (EclipseLink, Oracle) None (Student name here)

Back to the top