Google Summer of Code 2009 Ideas

From Eclipsepedia

Jump to: navigation, search

Rules

  • 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.
  • Aspiring students and mentors need to register and submit their proposals or request on the Soc app

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
Write Eclipse plug-ins in Python or Jython e4/Languages Leverage one of existing Python/Java bridges or Jython (which now supports Python 2.5x) to add Python support into e4. Ideally this would include a guide to do it step by step in the current version of Eclipse, glue code and plugins to support Python bundles, a sample application and possibly some wizards and add-ons to PDE to make the experience smooth. Philippe Ombredanne Philippe Ombredanne None
Rewrite PHP grammar in ANTLR PDT Reasons: Michael Spector Michael Spector, Anton Safonov None Zach Habersang from Texas A&M Univ., USA Renjie Xu from University of San Francisco., USA [mailto: dogeen@gmail.com Ozgur D Ugurlu] 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 and this wiki page for some initial buildfile refactoring ideas. Darin Swanson Darin Swanson None 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, Anton Safonov 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 Dhanuka Lakmal Kodikara, University of Moratuwa, Sri Lanka
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 Dhanuka Lakmal Kodikara, University of Moratuwa, Sri Lanka
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 Benjamin Muskalla from University of Cooperative Education, Germany
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 (brianf@sybase.com)
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 https://bugs.eclipse.org/bugs/show_bug.cgi?id=241385.

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 http://code.google.com/intl/fr/apis/protocolbuffers/

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.

Solution

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

Sajith Vimukthi from the University of Moratuwa, Sri Lanka

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
Power-user p2 views Equinox p2 User Interface The current Eclipse p2 Update UI is targeted to both Eclipse SDK users and end-users of Eclipse-based products. Since the UI must support users with less knowledge than the typical Eclipse SDK user, the end result is a wizard-style (modal), task-based approach. Many power users, in particular Linux users, prefer a modeless, "dashboard" style of interaction. The current p2 "Admin UI" is targeted toward p2 developers who need to see every detail of the underlying p2 model objects. There is a need for something in between these two extremes. Users have mentioned Linux package management front ends such as Synaptic Package Manager as appropriate UIs for this audience. If appropriate, this UI could replace the p2 admin UI, but it's not clear if that should be the goal. Susan McCourt Susan McCourt
Web triggered installation Equinox p2 User Interface The goal of this project is to develop a mechanism by which the installation of a plug-in can be triggered from a single click on a webpage, thus facilitating the extension of eclipse for non typical users. Some of the challenges of this project are: communication with the running instances of eclipse, identification and presentation of running eclipse instances, "security". Pascal Rapicault Pascal Rapicault
Provisioning OSGi clouds Equinox p2 With very clearly defined boundaries between its different components, p2 offers a lot of possibilities when it comes to set it up in a multi-tiered provisioning system. The goal of this project is to provide a configuration of p2 that can be used to deploy OSGi-based applications on the cloud. This will include the creation of an Equinox EC2 image, exploration on how configurations can be managed, and also how to leverage the cloud storage capabilities. Pascal Rapicault Pascal Rapicault
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. See this wiki page for some initial ideas. Christopher Daniel Christopher Daniel, Tomasz Zarna Ali created quite a good vision CVS_Search Ali Ok, Istanbul Technical University, Turkey,
Ricardo N. Miranda, University of Campinas – UNICAMP, Brazil,
Krzysztof Nirski, AGH University of Science and Technology in Cracow, Poland
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 EmpLocalhome.java 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 EmpLocalHome.java 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 Renat Zubairov 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

Liu Cong, Beijing University of Aeronautics & Astronautics, China

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 Rafael Ochoa from Western Institute of Technology and Higher Education, Mexico

Lingjun Kong from Chinese Academy of Sciences, China

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 Arun Reddy from BITS Pilani-Goa Campus, India
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? Harshana Martinfrom University of Moratuwa, Sri Lanka.
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 India. [GSoC Proposal]
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? K.S Abeywickrama from University of Moratuwa – Moratuwa, Sri Lanka
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
Builder mechanism for STP Intermediate Model STP Intermediate Model Implement a solution to mantain a single instance of the STP Intermediate Model for each STP project. The need came up during the development of model transformations, and was initially conceived as a model builder, which uses the Eclipse platform's builder mechanism to trigger automatic transformations after changes in any model. Juan Cadavid Adrian Mos, STP-IM Component Lead Juan Cadavid from Medellin, Colombia
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 Krzysztof Kowalczyk from Wrocław University of Technology, Poland / Blekinge Institute of Technology, Sweden
Forms-based editors for Ecore models EMF Given any Ecore model, you can create a basic editor for this model. This editor, in conjunction with the properties panel, is quite functional, but not something you could integrate in your application without spending some time polishing it. would be great to have EMF generate a Forms-based Editor for a given Ecore model. See http://ekkes-corner.blogspot.com/2009/03/using-rcp-views-to-view-uml-diagrams.html for an example. Of course, it would even be cooler if we could dynamically build up UIs like that, but that's maybe a second step (or a second GSoC project). Peter Friese Marcelo Paternostro (EMF), Ed Merks (EMF) None (Student name here)
Semantic Highlighting Editor for PHP Developers PDT Following the improvements done by the Web tools project (233505) on semantic highlighting, the PHP Source Editor can now set semantic rules for better coloring techniques that will improve its performance and functionality. For example, currently, all variables are highlighted in the same color. Although members / static / constants variables should be colored in separate colors just like the Java editor does.

Each semantic rule should have a preference page which describes its rule color and functionality.

Roy Ganor Roy Ganor None Zhongwei Zhao from the Heilongjiang University(china)
A thin-client, web-based visual editor for Ecore models EMF The main idea is to expose a thin-client, web-based, visual editor for manipulating graph-like, Ecore-based models, as opposed to the SWT-based editor that lives inside of Eclipse. This is desirable, because a browser-based editor can go many places that Eclipse and SWT cannot go, like being embedded in a web page. There are many possible applications that could then be built using this technology, that would not otherwise be possible, for example a wiki for collaborating on models. I'd therefore like to propose a project that would be divided into two parts.

The first part would be infrastructure-related, and would entail the following tasks:

  • Develop a concrete syntax layer that would be implemented using Open Web technologies, and could thus be purely browser-based.
  • Expose models based on Ecore so that they are remotely accessible via web services.
  • Bind the (client-side, browser-based) concrete syntax layer and the (server-side, Eclipse-based) abstract syntax layers together.

The second part of the project might be to ensure that some existing formalisms based on EMF work well in the new editor. UML Class Diagrams seem like a good first target, and I believe it should be possible to reuse the work from the UML2 project directly here. I would also like to see a Finite State Machine/Statechart editor running in the browser. For an idea of what this might look like, please see the (very rough) prototype here. (Firefox 3+ only, at the moment).

Jacob Beard Ed Merks (EMF) None Jacob Beard from the McGill University Modeling, Simulation, and Design Lab
Towards a Web-based IDE with RAP RAP RAP offers almost single-source support for building RCPs that can be deployed as destkop or web-based applications. However there are some areas that would need enhancement to be able create a fully-web based IDE type application. One area is the support for text editing and another is comparison (eclipse.text and eclipse.compare). Getting properly working read-only editors would be a great start, and is not trivial since those core bundles may make heavy use of the GC. The prize is full read-write and is not trivial. Another area is to support multi-users workspaces or something similar where many web based users access the tool, which would be needed too. Some work exists at Mozilla with bespin that could be either source of inspiration or integration too. Several students project could be proposed in each of those areas and beyond to help grow RAP support towards a fully web-based IDE capability. Philippe Ombredanne Philippe Ombredanne We need some RAP committers to mentor, co-mentor. None
A Online Judge/Assignment Grading System for IDE4EDU IDE4EDU Online judges are getting a lot of acceptance and response worldwide these days. Primarily, An Online judge is something which'll accept a piece of code (sent Online), compile and execute it and run it against a set of test cases to verify the correctness of the program. Not only this, but an Online Judge also calculates other details such as Memory taken, Time of execution, Size of the Source code and so on. These judges are mostly used for conducting programming matches among a group of passionate people. But it can still be tweaked to do a lot of other stuffs. An online Judge can be used in a classrooms and make programming more exciting. It can be also use to teach basic programming concepts and carefully modified for it. In addition to this, the online judge is implmented in a group chat environment (On jabber servers). This would enhance the interaction and further increase the excitement.

This project will add an judge for assignment grading and other programming events for IDE4EDU project. It will be Flexible Enough to judge a variety of codes ( primarily of JAVA,C/C++).

Souvik Roy from Sastra University, India Wayne Beaton Souvik Roy from Sastra University, India
Tab Property view for VE VE VE is a WYSIWYG UI editor. It provides basic visual edition features. Some features need to be improved to be more user-friendly. The propose of this project is to change the default properties by using the Tab property to separate some most used properties in Tab property view by category. Yves YANG Yves YANG. None Luoya Wang from Shenzhen University, China
Integration of e4 XWT to VE e4 XWT, VE VE is a WYSIWYG UI editor. It provides a visual edition of UI written in Java. The new UI programming paradigm in Declarative UI becomes more and more popular, particularly in Web development. e4 schedules to provide a declarative UI. XWT is a candidate of this solution, which is already accessible in e4 distribution.

The purpose of this project is to provide the visual edition of XWT on top of VE.

Yves YANG Yves YANG. None Hang Liu from Shenzhen University, China
JavaScript support in e4 XWT e4 XWT XWT is a XML-based declarative UI designed for eclipse. It is a candidate of this solution in e4, which is already accessible in e4 distribution.

The purpose of this project is to provide a JavaScript programming support in e4 XWT.

Yves YANG Yves YANG. None Luoya Wang from Shenzhen University, China
Binary serialization of e4 XWT e4 XWT XWT is a XML-based declarative UI designed for eclipse. It is a candidate of this solution in e4, which is already accessible in e4 distribution.

The purpose of this project is to provide a binary serialization mechanism to minimize the footprint and to increase the performance loading.

Yves YANG Yves YANG. None
PMF interactive editor PMF PMF is a Modeling solution for UI. It provides an infrastructure to drive the business model to transform or generate UI presentation on top of the specific UI framework such as e4 XWT.

The purpose of this project is to develop a tree-based advanced editor to simplify the UI modeling. It should be an extension EMF editor.

Yves YANG Yves YANG. None Hang Liu from Shenzhen University, China
e4 XWT generation from PMF PMF, e4 XWT PMF is a Modeling solution for UI. It provides an infrastructure to drive the business model to transform or generate UI presentation on top of the specific UI framework.

XWT is a XML-based declarative UI framework designed for eclipse. It is a candidate of this solution in e4, which is already accessible in e4 distribution. e4 declarative UI is selected as the reference implementation of PMF.

The purpose of this project is to develop a code generation engine based on JET2 to valid and show the PMF's concepts. Here is a POC based on eFace.

Yves YANG Yves YANG. None
Graphical user interface and other refactoring features for Convert Constants to Enum refactoring plugin. Convert Constants to Enum Java 1.5 introduces several new features that offer significant improvements over older Java technology, e.g., the new enum construct, which provides language support for enumerated types. Prior to Java 1.5, programmers needed to employ various patterns (e.g., static final int ...) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. The Convert Constants to Enum refactoring for Eclipse is a research prototype plugin that provides an automated approach for transforming legacy Java code to use the new enumeration construct. The semantics-preserving tool increases type safety, produces code that is easier to comprehend, removes unnecessary complexity, and eliminates brittleness problems due to separate compilation.

The current status of the plugin can be found at bug 200152. There are several facets currently lacking from the plugin which are obstacles to wide distribution, namely, a graphical user interface, test suite, conformance with other refactoring plugins in Eclipse, e.g., undo functionality, refactoring history, refactoring preview pane.

Raffi Khatchadourian Raffi Khatchadourian. Bina Patel from Ohio State University
Benjamin Muskalla from University of Cooperative Education, Germany
Custom Java refactoring with M2M E4? Aim of the project is to use existing model to model transformation language to define Java code transformation. That would potentially allow users to create custom refactorings and special purpose automatic transformations. First step would be to develop Proof of Concept e.g. using Xtend and JDT AST. Second step would involve creating UI and basic functions library that would support user in creating custom refactorings. Third step would be to implement refactorings that exists in Eclipse JDT. Based on that student should compare complexity and runtime speed of plain Java and M2M solution. Krzysztof Kowalczyk JDT? and Xpand? More info
PDE Visualization PDE homepage The goal of this project is to create a powerful visualization tool for plug-ins (bundles). The PDE Incubator contains some code already to do visualization but is very basic. For example, we only visualize bundles but would like to also visualize packages. The goal of this project would be to add enhancements to the code and get it in a state to graduate into PDE. Chris Aniszczyk Chris Aniszczyk. None
Additional Zest Views Zest homepage The goal of this project is to bring other viewers to Zest. Zest currently contains a graph (node link) viewer based on the SWT and JFace APIs. During the summer, a student would add additional viewers (such as Space Tree or Tree Map) and design an exemplary tool based on these. An example of an exemplary tool based on TreeMap would be a disk usage view. For ideas on viewers see: spacetree Ian Bull Ian Bull. None
Better debugging environment for CDT CDT homepage The goal of this project is to create more user-friendly C/C++ debugging environment. By finishing this project there will be:
  • More powerful "Watch expressions" window, which will have default formatters for STL containers (map, vector, queue, priority_queue, ...) and custom user types.
  • Support for custom user formatters.
  • Ability to inspect variables by simply hovering mouse over them.
  • Minor GUI tweaks that will reduce number of clicks needed to perform common tasks.

More detailed description can be found in dedicated wiki page: CDT/Better_Debugging_(GSoC_project).

Yuriy Znovyak N/A yet Bugzila entry 237960 for similar enhancement, which planned for CDT 6.0: /CDT/planning/6.0. Yuriy Znovyak
Scheme IDE for IDE4EDU ide4edu homepage The main goal of this project is to extend and improve the SchemeLite IDE in the ide4edu project. Improvements include implementing a debugger, providing support for code completion, a view that displays contour models, and miscellaneous user interface improvements.

Details page: Google_Summer_of_Code_2009_Ideas/SchemeIDE.

Richard Gould Dwight Deugo None Richard Gould
Prolog IDE for IDE4EDU ide4edu homepage The main goal of this project is to implement a Prolog IDE in the ide4edu project. Minimal work has been done previously, and this project mostly involves providing support from scratch, including an editor area with syntax highlighting, a query evaluator, and support for multiple interpreters.

Details page: Google_Summer_of_Code_2009_Ideas/PrologIDE.

Richard Gould Dwight Deugo None Richard Gould
JavaLite IDE for IDE4EDU ide4edu homepage JavaLite IDE is a component of IDE4EDU that provides a Java development UI for Eclipse that is streamlined specifically for students and other individuals who are new to Eclipse and will benefit from some simplification of the environment. The initial work has been very rudimentary and there is lots of opportunity to do better. There are numerous bugs that should give you some ideas of where to start.

JavaLite Bugs

Wayne Beaton Wayne Beaton None Souvik Roy from SASTRA University
OSGi monitoring PDE homepage The goal of the project is to create OSGi console which allows to monitoring external application based on OSGi. Expected functionality: connecting with external OSGi application, presenting all basic information about bundles working on it, starting and stopping installed bundles, uninstalling and installing new bundles

Bugzilla: 243439, 198189

Wojciech Galanciak Chris Aniszczyk, Jacek Pospychala None Wojciech Galanciak from Poznan University of Technology, Poland
Extract method revival JDT homepage Eclipse already provides several very good refactorings like Extract method. Despite the fact they are behave very good there are still some unresolved bugs and open enhancement requests. The project will take the "Extract method" refactoring to the next step by resolving all (possible) bugs and trying to enhance the current functionality. As it is one of the most used refactorings in day-to-day development it really deserves some work to get all details and edge cases fixed. An overview of all open issue can be found here. See also the official proposal. Benjamin Muskalla Markus Keller None Benjamin Muskalla from Karlsruhe University of Cooperative Education, Germany
Extend feature diagram plugin for Eclipse screencast of existing plugin Michael Feathers invented the "feature diagrams" notation for his book "Working Effectively with Legacy Code". In January-August 2008, two students at the University of Toronto began building an Eclipse plugin to dynamically generate these diagrams; in September-December 2008, two other students extended the plugin to act as a graphical interface to the Eclipse refactoring engine. At present, the tool only handles a single class at a time; the aim of this project would be to extend it to display multiple classes at once, and to allow multi-class refactorings. Greg Wilson Greg Wilson None Eva Wong
Advanced new chart types in BIRT BIRT BIRT already provides several highly customizable chart types as part of their core distribution. BIRT reports can be easily created with those charts. But still there are some advanced chart types missing commonly requested by the community. One of the most requested213395 type is Venn chart.These are mostly needed when trying to display logical groups of datasets. Other interesting chart types which could be done as part of the project are radar and donut charts. The donut chart could easily be implemented as part of the existing pie chart type. Karsten Knese None None Karsten Knese from Karlsruhe University of Cooperative Education, Germany
Extend EclipseFP functionality for Haskell Proposal on Google Docs Adding on-the-fly typechecking, integrated type inference, and Cabal support to the Haskell part of the EclipseFP plugin, using the scion library to interface with GHC. Thomas ten Cate Michael Spector from Eclipse DLTK or Thomas Schilling (nominolo) from haskell.org Also submitted to the haskell.org project; see proposal for details Thomas ten Cate
Improved Refactoring Awareness for Eclipse Plug-ins GSOC Proposal Eclipse's current refactoring API is very acceptable for plug-ins developers that want to create new refactorings(Rename, inline, etc.). Unfortunatly it does not provide an elegant solution for a plug-in client that wishes to be aware of refactorings. This is true for plug-ins extending the JDT project plug-ins, and most probably for other toolkit packages such as the C/C++ development package. The project aims at improving the concerned API and creating/updating the Eclipse documentation relating to the new capabilities that will be implemented. Jean-Rémi Desjardins None yet None Jean-Rémi Desjardins
Simple Mylyn task share server and connector plugin Mylyn The goal is to create a simple Mylyn connector and server that will provide an easy way to share tasks. There are a few alternatives already on the market, but most of them are servers created for tasks like bug-reporting or the creation of an online wiki (for example Bugzilla, Trac and Jira). This creates, in most cases, an unnecessaryly complex installation if you simply want to share Mylyn tasks. For this project the server is created specifically for Mylyn and task sharing. By providing a simple installation for the server application, all that is necessary is the war-file and a web-container, it is possible to get the system up and running in a matter of minutes. No database is needed since the tasks and any additional attachments are saved in the file system on the server. Jarle Hansen None yet None Jarle Hansen from Brunel University, UK
Context-sensitive view with possible high level actions 233498, Wiki The Java EE perspective should provide a special view that guides and hints developers with the possible Java EE-specific steps they could execute. For example: "Generate Session facade for JPA entity". Ahti Kitsik Ahti Kitsik None yet None


Old ideas can be found at Google Summer of Code 2007 ideas and Google Summer of Code 2008 ideas.