This is a Draft Proposal. Comments welcome and encouraged!
This proposal (will be!) in the Project Proposal Phase (as defined in the Eclipse Development Process document) and is written to declare its intent and scope. This proposal is written to solicit additional participation and input from the Eclipse community. You are invited to comment on and/or join the project. Please send all feedback to the Mylyn developer list.
The Eclipse Mylyn and Modeling projects are two of the most innovative and widely used projects within Eclipse. They both have strong communities and high-quality toolsets. Modeling provides high-level, concept-centeric tools for representing and working with complex information, and Mylyn provides user-focused, task-centric tools for organizing and contextualizing complex information. The aim of this project is to bridge the two technologies, creating a unique toolset for concept and task-focused interaction with complex information. Mylyn Context Modeling will bring the productivity, integration and traceability benefits of Mylyn to Eclipse Modeling.
Mylyn Context Modeling tools also address one of the most significant challenges to the adoption of Model-Driven Software Development (MDSD). Models are often represented in diagram form. Diagrams are much better at depicting complex relationships between entities than are traditional text-based approaches. But they have significant disadvantages as well. First, because visual models capture relationships between entities so well, those relationships tend to be deeply intertwined, making it difficult to pick out immediately relevant nodes and relationships from the surrounding clutter. Second, despite conventional wisdom, diagrams tend to be information sparse. It can take far more screen real-estate to display the same information as in text. Ideally, diagrams could self-adapt to depict just the interesting things, making the best use of available space. In the initial implementation we mainly tackle the first part of this challenge. Diagram elements that are not relevant to the task are hidden and then revealed progressively as the user draws closer to them in information space.
The initial scope of this project is to bring Mylyn task-focus support to the following areas. Of these, the first three are the focus of the initial code contribution.
- Diagram editors, such as for Ecore and UML models
- Model Navigators
- Modeling Task Management
- Model Outlines
- Other modeling views
- EMF generated editors
The scope will likely expand to other modeling technologies, which could include:
- Graphiti based editors and views supporting non-EMF based tools
- Forms-based editors using EEF
- Textual models using XText
The initial contribution work was developed by Tasktop Technologies and sponsored by Ericsson in the context of the Modeling Platform Industrial Working Group It is publicly available under the EPL v1.0 and pending contribution is hosted at https://github.com/Tasktop/Mylyn-Context-Modeling.
The initial contribution is a full-featured Mylyn bridge for EMF. It provides a focused mode for diagrams that shows only the elements related to the task-at-hand, dramatically reducing information overload for engineers working on large models. In addition, the task-focused interface extensions provide Mylyn’s one-click multitasking facilities for working with models, ensuring that developers can instantly recover from interruptions, and share model-specific expertise, when working with models in addition to what Mylyn already provides for engineers working with source code (see for details). Currently supported modeling tools include:
- Ecore Models within the Ecore Tools diagram editor and project explorer extensions.
- UML Class models using the Papyrus modeling tools.
The contribution also provides support at the API level allowing integrators to implement their own Mylyn support for existing Ecore models and GMF editors (see for details). Current service provider interfaces are extensible for:
- Arbitrary domain models, including EMF-based models.
- Generic GMF-based diagrams.
The initial contribution has been developed using the conventions and development process of the Mylyn Context project.
On project approval, we will submit org.eclipse.mylyn.modeling version 0.9.0 containing all of the features listed above.
- 0.9 – March 2012 (Mylyn 3.7)
- 1.0 – June 2012 (Mylyn 3.8, Juno)
There are many potential opportunities for building capabilities on top of the existing infrastructure. Please see the project wiki for more details.
- Shawn Minto, Lead (Tasktop Technologies)
- Miles Parker (Individual)
- Benjamin Muskalla (Tasktop Technologies)
- Steffen Pingel (Tasktop Technologies)
- Tasktop Technologies
- Yatta Solutions
Please let us know ASAP if you'd like to be included as an interested party. Or just add yourself here!
Most of the modeling related projects have some potential connection to this effort, but the following projects are the most obvious sources for potential collaboration:
- Eclipse Modeling Framework (EMF)
- Graphical Modeling Project (GMP) including GMF and Graphiti.
- Ecore Tools
- EMF Compare
- EMF Query, Validation and Transaction
- Eclipse Editing Framework (EEF)
- Connected Data Objects (CDO)
- Textual Modeling Framework (Xtext)
- Mik Kersten
There has been strong interest in the modeling community for this toolset and we anticipate that this project will have the participation and support of many members of that community, especially those who are involved in building tools for collaborative modeling. There is strong interest in the project from within the Mylyn community as well. Non-Eclipse committers have also expressed interest in extending the toolset to other modeling domains.
We encourage active participation from all users through direct contributions to the project as well as integrator implementations and extensions within the modeling project and elsewhere.
The potential user community is quite large, extending to anyone who develops EMF Ecore and UML models using Eclipse tools. We've been actively promoting use of the tool through blogs, videos and other media and will continue to do so.