Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add graphical editing support for prototypes #1540

Closed
lwrage opened this issue Sep 21, 2018 · 7 comments · Fixed by #2277
Closed

Add graphical editing support for prototypes #1540

lwrage opened this issue Sep 21, 2018 · 7 comments · Fixed by #2277

Comments

@lwrage
Copy link
Contributor

lwrage commented Sep 21, 2018

No description provided.

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Oct 15, 2018

@lwrage by graphical editing support, is it intended to provide a diagram notation for editing prototypes or just display prototypes on the diagram,potentially textually, and provide a GUI such as a property section for editing it?

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Mar 11, 2020

Support: should include the ability to edit prototypes and prototype bindings via the properties view. The graphical view should reflect the affect of prototype bindings.

  • Support editing prototype and prototype refinements in component types, component implementations, and feature group types via the properties view.
    • component
    • feature group
    • feature
  • Support prototype bindings for the following cases via the properties view/dialogs:
    • classifiers
    • subcomponent and subcomponent refinements. Should be supported as part of selecting classifier?
    • prototype actuals. Should be supported as part of selecting classifier?
  • Support referencing prototypes via the properties view/selection dialogs.
    • Abstract prototype feature
    • Feature classifier
    • Subcomponents
    • Called subprogram
  • Graphical views should reflect the prototypes. Partial support is already available. Need to review and ensure all cases for which editing is supported work properly. That is if a feature or subcomponent references a prototype, it should be represented as referencing the bound type.
  • Update user guide

Prototype bindings will not be supported in array element implementation lists. In general, Array element implementation lists are not supported in OSATE or the OSATE graphical editor.

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Mar 12, 2020

@lwrage is the above implementation in line with your original intent? This proposed initial implementation focuses on being able to edit and work with prototypes but not really representing the bindings in the diagrams. It seems to me that representing the bindings in the diagrams would clutter the diagram. However, the diagrams will adapt based on the prototype bindings.

@lwrage
Copy link
Contributor Author

lwrage commented Mar 12, 2020

Looks good to me.

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Mar 18, 2020

I went down the rabbit hole of protoype resolution. I was heading down resolving prototypes up the hierarchy. However, upon further consideration, this seems needless and a bit counter productive. The graphical editor should only apply prototype bindings to the extent that the text editor supports them. It should not be equivalent to the instance model. Such application of bindings would result in ports that couldn't actually be referenced in the instance model.

In other words, when working with the declarative model, the graphical editor should only apply model elements necessary for full editing functionality. It should not show model elements that could not be legally referenced in connections, etc.

@philip-alldredge
Copy link
Collaborator

philip-alldredge commented Mar 19, 2020

@lwrage should the square bracket/component classifier list prototypes be supported? I believe they are called arrays in the metamodel. From reading the standard it seems related to subcomponents arrays with elements with different types of classifiers which isn't supported in instantiation.

Component prototypes declared with square brackets specify that they expect a list of component classifiers. These prototypes can only be referenced in subcomponent array declarations. The component classifier list supplies the classifiers for each of the elements in the component array.

@lwrage
Copy link
Contributor Author

lwrage commented Mar 20, 2020

@philip-alldredge There's no need to support array prototypes at this time.

@philip-alldredge philip-alldredge added this to the 2.8.0 milestone Apr 29, 2020
Graphical Editor Enhancements automation moved this from Increment 2 - 2020-05-29 to Done May 4, 2020
philip-alldredge added a commit that referenced this issue May 4, 2020
Implement prototype support in graphical editor. Closes #1540
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

2 participants