Skip to content
This repository has been archived by the owner on May 17, 2018. It is now read-only.

Loosen Up Editing Rules #193

philip-alldredge opened this issue Feb 24, 2017 · 3 comments

Loosen Up Editing Rules #193

philip-alldredge opened this issue Feb 24, 2017 · 3 comments


Copy link

philip-alldredge commented Feb 24, 2017

Support for editing classifiers in the context of diagram elements representing sub-components, component implementations, and feature groups.

Since the initial version of the graphical editor there have been restrictions regarding when the user can create, edit, and delete diagram elements. These were put in place so that the graphical editor remained a 1 to 1 mapping between diagrams and the declarative model. These restrictions result in a tedious user experience and are more so when coupled with diagrams which support multiple levels of subcomponents.

The plan is to allow the user to create, editing and delete in whatever context is desired. The exact design is TBD. However, overall goal is to allow the user flexibility, but to keep the user informed and in control of the model modifications being performed. For example, if the user adds a child to a subcomponent graphically, the user should be given the option to select the model element to be modified when multiple options exist. We will want to avoid prompts when possible but they should be considered if necessary. If the user is constantly bombarded with confirmation prompts, the user is more likely to feel that the tool is fighting with them.

  • Editing type when looking at a subcomponent Edit type when seeing subcomponents #82
  • Editing refined elements when editing something other than the element which owns it.
  • Creating features from the classifier view.
  • This should include editing feature group types by editing feature groups.
  • Should be able to refine elements inside a subcomponent.


  • When creating elements which could have multiple potential owners, allow the user to select which one. In the case of subcomponents, the user will need the option to create a new classifier as well. This should include creation of flow implementations as well.
  • Option to create new implementation/feature group type menu option for subcomponents and feature group.


  • Don't allow changing contributed resources
@philip-alldredge philip-alldredge modified the milestone: Planning (Threshold) Feb 26, 2017
@philip-alldredge philip-alldredge modified the milestones: M3, Future Enhancements Aug 22, 2017
Copy link

How do you plan to handle diagram comments/annotations?

Copy link
Contributor Author

@smithdtyler this comment seems more appropriate for #187. The capability is near the end of the roadmap so we don't have a firm design at the moment. If you have particular requirements you'd like to see with that capability, please add comments to that issue.

Copy link
Contributor Author

philip-alldredge commented Jan 5, 2018


The planned capabilities are listed below.

  • Create a new implementation and type pair from the palette. Type would not be added to the diagram.
  • Add features to component implementations.
  • Add flow specs to component implementations.
  • Add features to feature groups. Notify user if classifier is not set.
  • Delete an unrefined element from any context.
  • Rename an unrefined element from any context.
  • Adjust Mode creation for component implementations.
  • Adjust Mode transition creation for component implementations.
  • Create children for subcomponents.
    • Features
    • Flow Specifications
    • Modes
    • Mode Transitions
    • Subcomponents
    • Connections
    • Flow Implementations


  • Test when types, implementations, etc are split between packages and files. Both open and closed.
  • The options which create a new classifier and update element(s) should be integrated with the properties work Eclipse Properties View Support #212. Perhaps the set classifier button should be a submenu which contains options for "New..." and "Existing..."

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
None yet
None yet

No branches or pull requests

2 participants