Model Focusing Tools

The project has been created. Please visit the project page.

Model Focusing Tools

The Model Focusing Tools project is a proposed open source project under the Mylyn Context Project.

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the Eclipse community. Please send all feedback to the Eclipse Proposals Forum.

Background

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. The project brings the productivity, integration and traceability benefits of Mylyn to Eclipse Modeling.

The tools provided by the project 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.

Scope

The scope of this project is to bring Mylyn's task-focused interface to modeling tools:

  • Diagram editors, such as for Ecore and UML models
  • Model Navigators
  • Model Outlines
  • EMF generated editors
  • Other modeling views

The scope expands to other modeling technologies as well, which could include:

  • Graphiti based editors and views supporting non-EMF based tools
  • Forms-based editors using EEF
  • Textual models using XText

It is out of scope to provide integration of modeling technologies for other Mylyn projects.

Initial Contribution

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.

Components

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:

  1. Ecore Models within the Ecore Tools diagram editor and project explorer extensions.
  2. 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:

  1. Arbitrary domain models, including EMF-based models.
  2. Generic GMF-based diagrams.

The initial contribution has been developed using the conventions and development process of the Mylyn Context project.

Legal Issues

The initial contribution is licensed under the EPL. We don't expect any problems during the IP review.

Committers

The following individuals are proposed as initial committers to the project:

Shawn Minto, Tasktop Technologies (Lead)
Shawn is the lead of the Mylyn Context project.
Benjamin Muskalla, Tasktop Technologies
Benjamin provided a proto-type of the initial contribution.
Miles Parker, Individual
Miles implemented the majority of the initial contribution.
Steffen Pingel, Tasktop Technologies
Steffen provided input to the inital contribution and will provide release engineering support for the project.
Carsten Reckord, Yatta Solutions
Manuel Bork, Yatta Solutions
Carsten and Manuel are experts for focusing models and have already integrated the code that will be submitted as the initial contribution into one of their commercial Eclipse-based applications.
Andreas Scharf, University of Kassel
Andreas was heavily involved in implementing the integration for the Yatta Solutions tools.

We welcome additional committers and contributions.

Mentors

The following Architecture Council members will mentor this project:

  • Mik Kersten
  • Steffen Pingel

Interested Parties

The following individuals, organisations, companies and projects have expressed interest in this project:

  • Tasktop Technologies
  • Obeo
  • Itemis
  • Yatta Solutions

Project Scheduling

On project approval, we will submit org.eclipse.mylyn.modeling version 0.9.0 containing all of the features listed above.

  1. 0.9 - March 2012 (Aligned with Mylyn 3.7)
  2. 1.0 - June 2012 (Aligned with Mylyn 3.8, Juno)

Future Work

There are many potential opportunities for building capabilities on top of the existing infrastructure. Please see the project wiki for more details.

Changes to this Document

Date Change
8-November-2011 Added committer Andreas Scharf
3-November-2011 Added committers Carsten Reckord, and Manuel Bork
18-October-2011 Document created