Skip to content

Experimental visualization and editing capability for EMV2 flow propagations #1546

Description

@philip-alldredge

This issue has been revised multiple times to more accurately describe the changes being made

  • Type Library:
    • Rework current implementation. Remove GE dummy model object. No separate graphical element. Types will be contained directly in packages.
    • Palette commands. Automatically add imports as needed.
      • Error type.
      • Error type alias. Prompt on create.
      • Error type set. Can't be empty. Prompt for type contents when settings.
      • Error type set alias. Prompt on create.
    • Basic diagram support
    • Property section.
      • Allow setting extended type libraries.
      • Set type extension
      • Set error type set type tokens
      • Change alias for error type
      • Change alias for error type set
  • Implement visualizations
    • Implement mechanism for business object providers or business object handlers to contribute dependent objects. For now, just assume that an object with the same container is being contributed. Use relative references. This is needed to ensure that things like the diagram element for keywords exist when they are referenced.
    • Keyword Propagation Point(Internal enumeration) - Classifiers and Subcomponents. Shape TBD. These are elements for keywords that "any", "access, "binding", etc that act similar to propagation points.
    • Propagation Point - Classifiers and Subcomponents. Shape TBD.
    • Propagation and Containment - Keyword Propagation Point, Feature, Propagation Point - Label
    • Error Propagation Paths - Classifiers and Subcomponents - Connection. This only includes explicitly modeled error propagation paths.
    • Error Flow Declaration - Classifiers and Subcomponents - Connection
    • Investigate layout issues. Layout of cycles for error flow declaration. All -> All.
  • Creation and editing
    • Propagation Point - Renaming, Deletion, Palette.
    • Propagation and Containment - Palette. Deletion. Property Section on propagation point. Consider. Adjusting flags will update references since they do not have names.
    • Error Propagation Paths - Renaming, Deletion, Palette
    • Error Flow Declaration - Renaming, Deletion, Palette and Property Section
    • Automated tests
  • Other
    • Consider adding tooltips
    • Ensure copy and paste works for EMV2 elements.
    • Consider adding diagram types. Error Type Library, Error Flow, etc.
    • Add additional filters as needed. Could track whether a keyword and are referenced and have a referenced keyword filter?
    • Review labels for filters
    • Review palette
    • Review state machine support. While state machine support is outside the scope of this task, it needs to be stable enough to be included with the plugin. Otherwise, it needs to be removed.
    • Review all used graphics and annotations and refine. It would be preferred to not use "Annotation" labels as these cannot be removed and may clutter up the diagram. However, in cases of ambiguity, there needs to be a way to distinguish from exciting model elements.

References

  • Error Propagation and Error Containment Declarations(E.7.1)
  • Error Propagation Paths and User-defined Propagation Points and Paths(E.7.3)
  • Error Flow Declarations(E.7.2)

Examples

Metadata

Metadata

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions