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

Instantiate action should work on .aadl files in the AADL Navigator #2272

Closed
AaronGreenhouse opened this issue Apr 6, 2020 · 7 comments · Fixed by #2286
Closed

Instantiate action should work on .aadl files in the AADL Navigator #2272

AaronGreenhouse opened this issue Apr 6, 2020 · 7 comments · Fixed by #2286

Comments

@AaronGreenhouse
Copy link
Contributor

AaronGreenhouse commented Apr 6, 2020

Currently to instantiate a model you need to either

  1. Open an .aadl file, then select the component instances in the outline view, and then choose Instantiate from the context menu, or

  2. Drill into the .aadl file in the navigator and then choose instantiate from the context menu.

Number 1 is annoying because I don't want to open the declarative model file in an editor just to instantiate.

Number 2 is annoying because I there are 2 levels to unwrap in the navigator before the system classifier nodes are uncovered.

I propose that when the instantiate command is executed on an declarative model, a dialog appears with the available component classifiers for the user to select from and instantiate.

Furthermore, I think that there should be a setting the controls the behavior: by default all system implementation classifiers in the declarative file are instantiated without showing a dialog box.

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Also, the "delete" rule that I add to the jobs is interfering with job concurrently. Need to handle deletes differently so they can be done separately at the end.

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Updated the plugin.xml to incorporate AADL files in the instantiation selection. Updated the handler to deal with aadl files in the most basic form: Grabs all the non-subprogram and non-subprogram group subcomponent implementations and adds them to the instantiation list. Works.

To do:

  • add selection dialog (pre-select only system instances)
  • add workspace preferences to
    • suppress dialog
    • only use system instances
  • update help docs

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Added basic selection dialog.

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Added preferences to the preference pane, and they successfully control the instantiation.

The check boxes in the selection dialog don't do anything yet.

There are two preferences

  • One to control whether the selection dialog appears.
  • The other, "systems only," controls which component implementations in the aadl files are selected by default. When true, and the dialog appears, only the system implementations are pre-selected. When false, and the dialog appears, all the implementations are pre-selected. When true and the dialog is hidden, then only the system implementations are instantiated. When false and the dialog is hidden, then all the component implementations are instantiated.

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Just need to update the docs now

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 15, 2020

Two things:

  1. Hard to update the docs because I need to update for for Instantiation results dialog is annoying when instantiation is successful #2274 as well, so I cannot do until we merge?
  2. Need to deal with the delete permissions so enable more concurrency.

@AaronGreenhouse
Copy link
Contributor Author

AaronGreenhouse commented Apr 16, 2020

I could fix the delete problem, but it wouldn't help, because I also need to fix the "create" problem at the start of the analysis. But I cannot do this because the file creation/modification happens in the InstantiateModel methods.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants