Jump to: navigation, search

Difference between revisions of "Technology/Ten Eclipse Projects You Haven't Heard Enough About"

(Eclipse IDE Meta-tooling Platform (IMP))
(Add Linux Tools project)
Line 97: Line 97:
** Real-time situation awareness
** Real-time situation awareness
** Disaster planning
** Disaster planning
=Eclipse Linux Tools Project=

Revision as of 08:36, 7 April 2009

This page is intended to be run as a slide show using the Eclipse Slideshow Example.


.You probably know about Eclipse Java development tools. You may even know about plug-ins, the community and ecosystem, and some of the other excitement around Eclipse. But do you know about the many projects at Eclipse targeting everything from tools and frameworks, to runtimes and systems engineering? During this talk, we will present ten projects that you may not know very much about, but probably should.

Adding slides is easy. Every heading tag contains a slide title. Level 1 headings are for "title" slides and level 2+ headings are for content. The contents follow that. Bullets are prefixed with a star (just like standard MediaWiki format). You can also add images using the standard MediaWiki tags. Don't worry about formatting; Slideshow is supposed to take care of that for you (it'll automatically position graphics and such for you).

Everything after the Contents section below will render as slides.

{Copyright:Copyright © 2009 Eclipse Foundation, Inc., Made available under the Eclipse Public License v 1.0}

Ten Eclipse Projects You Haven't Heard Enough About

Wayne Beaton, Eclipse Foundation, Evangelist


Survey projects that you probably haven't heard enough about

  • Runtime Technology
  • Frameworks
  • Tools

Eclipse Examples Project

Eclipse Business Expense Reporting Tool


  • Capture Expense information
  • Works on RCP, eRCP, and RAP
    • Many common components
    • Some platform-specific components

Technologies at Work

  • Eclipse RCP, eRCp, and RAP
  • Dependency-Injection using Equinox/OSGi Declarative Services
  • Nebula Widgets
  • User state
  • View Model

Eclipse IDE for Education

Eclipse IDE for Education

  • Eclipse-based IDE streamlined for students
    • Tasked to make the adoption of Eclipse technologies easier for first time adopters
    • Primarily targeting undergraduates
  • Streamlined Java development tools
  • Scheme, Prolog language support
  • Assignment workflow
    • Obtain/hand in assignments directly from environment

Eclipse IDE Meta-tooling Platform (IMP)

Motivation for IDE Meta-tooling

  • Many languages still don't enjoy full-featured IDE support in Eclipse.
  • Modifying existing concrete IDEs (like the JDT) not cost-effective.
    • They're huge, and not designed for extensibility.
  • Other existing frameworks (DLTK, xText) make assumptions about the type of language or its AST (Abstract Syntax Tree) representation.
  • Other frameworks tend to produce a "one-size-fits-all" (lowest-common-denominator) experience.
    • Provide little opportunity for customizing the IDE behavior to suit the language.

Enter: Eclipse IMP Technology Project

  • Eclipse-based meta-IDE for building feature-rich language-specific IDEs
  • Support for many IDE features: syntax highlighting, source code folding, outlining, source annotations, hover help, source hyperlinking from references to declarations, content assist, context-specific help, occurrence marking, incremental building with dependency tracking, auto-edit strategies, rule-based source code formatting, refactoring (in progress)
  • Implement support for the IDE features you most want
    • IMP will do the most it can with whatever you've implemented
  • Supports extensive customization of the IDE appearance and behavior - not a one-size-fits-all experience for your IDE's users
  • No bias toward any particular kind of language
  • Use any parsing/compiling technology you want (including rolling your own)
  • Already in use for nontrivial languages with a wide variety of purposes:
    • Grammar specification
    • Domain-specific languages (DSLs)
    • Modeling
    • General-purpose programming languages (X10, COBOL, etc.)
  • We eat our own dog food: we've built several IDEs using IMP that are in daily use as part of IMP

Eclipse GEF3D


  • 3D extension of GEF, enables full-featured 3D editors
  • existing 2D editors can easily be adapted to be used in a 3D scene
  • GEF and Draw2D programming style preserved (only little or even now 3D programming knowledge is required)
  • custom 3D figures and shapes can be created using an OpenGL like API
  • use cases:
    • visualization of inter-model relationships, e.g. mappings (see example screenshot)
    • annotation of 2D diagrams using the 3rd dimension, e.g. metrics
    • 3D notations for domain specific languages

Spatio-Temporal Epidemiological Modeler


  • Extensible, collaborative, framework for creating computational models for the spread of infectious disease.
  • Extensive data sets
    • Geographic and demographic data for entire planet
    • Transportation infrastructure
  • Geographic visualizations
  • Models can be composed, shared and reused
  • Built-in components
    • Sophisticated mathematical models
    • Scenarios for every country
  • Can be used for other kinds of modeling
    • Real-time situation awareness
    • Disaster planning

Eclipse Linux Tools Project