Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Mylyn/Modeling/ProjectProposalDraft"

m
 
(15 intermediate revisions by 4 users not shown)
Line 1: Line 1:
'''This is a Draft Proposal''' -- Comments welcome and encouraged!
+
'''This is a Draft Proposal. Comments welcome and encouraged!'''
  
 
The Mylyn Context Modeling  project is a proposed open source project under the [http://www.eclipse.org/projects/project.php?id=mylyn.context Mylyn Context] sub-project
 
The Mylyn Context Modeling  project is a proposed open source project under the [http://www.eclipse.org/projects/project.php?id=mylyn.context Mylyn Context] sub-project
 
within the [http://www.eclipse.org/projects/project.php?id=mylyn Mylyn] top-level project.
 
within the [http://www.eclipse.org/projects/project.php?id=mylyn Mylyn] top-level project.
 +
 +
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 [https://dev.eclipse.org/mailman/listinfo/mylyn-dev developer list].
  
 
= Background =
 
= 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. The two technologies are also strongly complimentary. Modeling provides high-level, concept-centeric tools for representing and working with complex information, and Mylyn provides user-focussed, task-centric tools for organizing and contextualizing complex information. The aim of this project is to literally bridge the two technologies, creating a unique toolset for high-level, task-centric interaction with complex information.
+
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 will bring the productivity, integration and traceability benefits of Mylyn to Eclipse Modeling. These tools also address one of the most significant challenges to the adoption of Model-Driven Software Development (MDSD) approaches in general. Models are often depicted using visual artifacts such as UML. While these approaches have real advantages over text based representations in depicting complex relationships between entities, they also have significant disadvantages that have limited the adoption and usefulness of diagram-based modeling tools. First, diagrams tend to be information sparse -- it often takes considerably more screen space to display the same amount of information. Ideally, we would like diagrams to be able to adapt themselves to depict just those things that we are interested in in order to make the best use of available space. Second, and more significantly, precisely because visual models capture relationships between entities so well, they tend to be deeply intertwined, making it difficult to pick out just those nodes and relationships relevant to a particular task from within the surrounding clutter. The Mylyn Modeling diagram tools address this issue in a novel way, by hiding those diagram elements that are not relevant to the task at hand and then revealing those elements progressively as the user draws nearer to them in relationship space.
+
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.
  
 
= Scope =
 
= Scope =
  
*The initial scope of this project is to bring Mylyn task-focus support to:
+
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
+
**EMF generated editors
+
**Navigators
+
**Outlines
+
**Other modeling views
+
  
*The scope will likely expand to include other modeling technologies,which could include:
+
*Diagram editors, such as for Ecore and UML models
**Graphiti based editors and views supporting non-EMF based tools.
+
*Model Navigators
**Forms-based editors using EEF
+
*Modeling Task Management
**Textual models using XText
+
*Model Outlines
+
*Other modeling views
*While the project focus is on "Mylyn for Modeling", we may also consider the other side of the equation, that is "Modeling for Mylyn". There is great potential in enriching Mylyn using modeling approaches and this project could provide a home for some of these efforts.
+
*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
  
 
= Initial Contribution =
 
= Initial Contribution =
Line 30: Line 33:
 
=== Provenance ===
 
=== Provenance ===
  
The initial contribution work was developed by [http://tasktop.com Tasktop Technologies] and sponsored by [http://www.ericsson.com/ Ericsson] in the context of the [http://wiki.eclipse.org/ModelingPlatform Modeling Platform Industrial Working Group] It is publicly available under the EPL v1.0 and pending contribution is hosted at https://github.com/MilesParker/mylyn.incubator.
+
The initial contribution work was developed by [http://tasktop.com Tasktop Technologies] and sponsored by [http://www.ericsson.com/ Ericsson] in the context of the [http://wiki.eclipse.org/ModelingPlatform 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 ===
 
=== Components ===
  
The initial contribution is a full-featured Mylyn bridge. 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 details [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#User_Guide here].) Currently supported modeling tools include:
+
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 [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#User_Guide for details]). Currently supported modeling tools include:
  
 
#Ecore Models within the Ecore Tools diagram editor and project explorer extensions.
 
#Ecore Models within the Ecore Tools diagram editor and project explorer extensions.
 
#UML Class models using the Papyrus modeling tools.
 
#UML Class models using the Papyrus modeling tools.
  
The contribution also provides support at the API level allowing Mylyn for Modeling consumers to implement their own Mylyn support for existing GMF editors. (See details [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#Integrating_Mylyn_for_Modeling_with_custom_GMF_editors here].)
+
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 [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#Integrating_Mylyn_for_Modeling_with_custom_GMF_editors for details]). Current service provider interfaces are extensible for:
  
 
#Arbitrary domain models, including EMF-based models.
 
#Arbitrary domain models, including EMF-based models.
 
#Generic GMF-based diagrams.
 
#Generic GMF-based diagrams.
  
=== Quality ===
+
The initial contribution has been developed using the conventions and development process of the Mylyn Context project.
 
+
The initial contribution has been developed using the quality standards and development processes of existing Mylyn projects, under current Mylyn Context project leadership. It has undergone significant, if not exhaustive, testing.
+
  
 
= Plan =
 
= Plan =
Line 53: Line 54:
  
 
On project approval, we will submit org.eclipse.mylyn.modeling version 0.9.0 containing all of the features listed above.
 
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)
  
 
=== Future Work ===
 
=== Future Work ===
  
There are many potential opportunties for building capabilities on top of the existing infrastructure. Please see the project [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#Future_Work wiki] for more details.
+
There are many potential opportunities for building capabilities on top of the existing infrastructure. Please see the project [http://wiki.eclipse.org/Mylyn/Context/Modeling_Bridge#Future_Work wiki] for more details.
  
 
= Organization =
 
= Organization =
Line 62: Line 66:
 
== Initial Committers ==
 
== Initial Committers ==
  
* Miles Parker (for Tasktop Technologies)
+
* Shawn Minto, Lead (Tasktop Technologies)
 +
* Miles Parker (Individual)
 +
* Benjamin Muskalla (Tasktop Technologies)
 +
* Steffen Pingel (Tasktop Technologies)
  
 
== Interested Parties ==
 
== Interested Parties ==
  
We're collecting this now. Please let us know ASAP if you'd like to be included. Or just add your name here!
+
* Tasktop Technologies
 +
* Obeo
 +
* Itemis
 +
* Yatta Solutions
 +
 
 +
Please let us know ASAP if you'd like to be included as an interested party. Or just add yourself here!
  
 
== Related Projects ==
 
== Related Projects ==
Line 84: Line 96:
 
== Mentors ==
 
== Mentors ==
  
TBD -- Volunteers?
+
* Mik Kersten
  
 
= Developer Community =
 
= Developer Community =
  
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 involed in building tools for collaborative modeling. Of course 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 additonal consumer implementations and extensions within the modeling project and elsewhere.
+
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.
  
 
= User Community =
 
= User Community =
  
 
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.
 
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.

Latest revision as of 12:22, 14 October 2011

This is a Draft Proposal. Comments welcome and encouraged!

The Mylyn Context Modeling project is a proposed open source project under the Mylyn Context sub-project within the Mylyn top-level project.

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.

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. 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.

Scope

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

Initial Contribution

Provenance

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.

Plan

Initial Release

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 (Mylyn 3.7)
  2. 1.0 – June 2012 (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.

Organization

Initial Committers

  • Shawn Minto, Lead (Tasktop Technologies)
  • Miles Parker (Individual)
  • Benjamin Muskalla (Tasktop Technologies)
  • Steffen Pingel (Tasktop Technologies)

Interested Parties

  • Tasktop Technologies
  • Obeo
  • Itemis
  • Yatta Solutions

Please let us know ASAP if you'd like to be included as an interested party. Or just add yourself here!

Related Projects

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
  • Papyrus
  • EMF Compare
  • EMF Query, Validation and Transaction
  • Eclipse Editing Framework (EEF)
  • Connected Data Objects (CDO)
  • Textual Modeling Framework (Xtext)

Mentors

  • Mik Kersten

Developer Community

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.

User Community

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.

Back to the top