[RSS]

Introduction

The roadmap represents the development team's latest thinking on current and future projects. Don't see you favorite feature listed? Please add it to our wishlist .

UML Meteora (October 2008 target)

  • Port to NB Graph Library
  • Standard NetBeans look and feel
  • Full open source solution
  • Mac support

Fourth quarter of 2008

First half of 2009

  • Undo/Redo
  • Compartment filtering
  • Multiple element customization
  • Source/Model Synchronization
    • option to add merge markers during reverse engineering
    • source editor actions to add/remove merge markers
  • Reverse engineering upgrade
    • Replace antlr with NB Java framework
      • provides fully qualified types and names
      • allows reverse engineering of class files
    • Modeling Libraries:
      We need to allow users to reference preexisting models. For example, when the user creates a class to extend JFrame, he/she has to create a generic DataType instance to represent the JFrame class. Instead, the user should be able to reference a Java Library that contains the Java classes, interfaces, and enumerations. We want to provide users with a standard set of libraries and also allow users to create their own.

Second half of 2009

  • Meta model upgrade
    • UML Level 1 compliance
    • scale to large projects
    • version control aware
  • UML Level 2 compliance
  • Version Control
    • Visual diff/merge
  • Profile Editor:
    In UML, users can create stereotypes to extend the UML language. A Profile is basically a library of stereotypes. We should allow users to design profiles and plug that into our template based code generation.
  • Modeling Framework
    • Public API
    • Visual meta model editor
    • Prerequisite for partner engagements

Future

Additional Languages
Currently we only support Java reverse engineering, sequence diagram reverse engineering, and code generation. We need to be able to support multiple languages. The code generation that will be added in Hydra will make it very easy to add code generation for multiple languages. We need to make reverse engineering just as easy.
  • Scripting Languages
  • C++ Support
  • Support of Generic Helper Classes
  • Support for a Source Model Classes
Model Driven Development
In NetBeans 6 we are going to start adding some model driven development support. We would want to continue to grow our model driven devleopment features.
  • Code Generation
    • State Diagram
    • Activity Diagrams
  • Mode to Model Transformation
Stereotype Faces
We should allow customization of a model element based on the applied stereotype. For example, if a WebService stereotype is applied to a class, maybe the user only want to see the operations that where tagged as web service operations. Context menus could also change based on the stereotype as well.
Sun Product Integration
As a Sun product we should tie back to Sun server products. We need to determine if there is any areas that Sun servers can benefit from modeling tools.
  • Java Enterprise Edition
  • JES support
Collaboration Integration
Add the ability to share diagrams between team members via the Collaboration server.
Advanced Code Generation
It would be nice to be able to generate code for more than the class diagram. Other diagrams that could benefit from code generation is the interaction, state, and activity diagrams.
Activity Method Body Reverse Engineering
Currently we can only create interactions when a method is reverse engineered. By reverse engineering into an activity diagram we should be able to display more details. For example better exception processing.
Model Duplication
We have the ability to duplicate a model or any part of a model. This would be useful when creating a second project that is similar to a existing model.
Logging API
Because of historical reasons, UML has it's own logging API. The new Netbeans Logging API is much more robust. We need to migrate to the new API.
Enhanced Color and Font Resource Management
<TODO: Add more Information>
Enhanced Diagram Navigator
With the new diagram, we are now able to have a navigator that shows an overview of the diagram. There are still a number of features that would be nice to add the satellite view. One would to be able to specify the viewable area of the diagram, by resizing the viewing rectangle. By resizing the viewing rectangle the zoom level of the diagram should change.
Robust Filtering
We need to be able to allow the user to specify the compartment that should be shown. The user should be able to specify that all attribute compartments should be collapsed for example.
Live Roundtrip
Automatically keep source and model in sync in real time as the user edits either.
Many to 1 reverse engineering
With template based code generation and customization, users have the ability to generate several source files from a single model element, e.g. EJB. Reverse engineering gets tricky if the user edits one or more of these files and attempt to reverse engineer.
Reverse Engineering Diagram Creation
We need to create a standard set of diagrams as the result of a reverse engineering process.