AF3 issueshttps://git.fortiss.org/af3/af3/-/issues2023-09-11T09:12:48Zhttps://git.fortiss.org/af3/af3/-/issues/4151Add PersistencyService to the reuse concept/plugin to enable easy undo?2023-09-11T09:12:48ZSebastian BergemannAdd PersistencyService to the reuse concept/plugin to enable easy undo?Related to #4125
Currently, the reuse functionality is completely based on the locally stored reuse libraries. Every time something is updated, it will be directly performed on the local folder/files.
This means that e.g. und and redo...Related to #4125
Currently, the reuse functionality is completely based on the locally stored reuse libraries. Every time something is updated, it will be directly performed on the local folder/files.
This means that e.g. und and redo is not possible.
Maybe it would be better to add a PersistencyService for the reuse plugin (with a DummyTopLevelElement where all stored libraries will be attached to in the beginning and then a stack will be automatically be used in the background which should allow undo/redo.
Keep in mind: all actions like deleteElement, deleteLibrary, etc. need to be executed then within this new context, e.g.:
ICommandStackService css = ICommandStackService.getInstance();
css.runAsCommand(target, () -> {
deleteReuseLibrary((ReuseLibrary) target);
viewController.updateReuseLibraryView();
});
// target will lead then to the context rootBacklogSebastian BergemannSebastian Bergemannhttps://git.fortiss.org/af3/af3/-/issues/4150Automatically store and update also all external references connected to a re...2023-11-22T13:50:44ZSebastian BergemannAutomatically store and update also all external references connected to a reuse element in case of adding/updating the latterRelated to #4125
Currently, when adding/updating reuse elements to/in libraries, it will be checked if the reuse element has some external references (e.g. a enumeration that is defined externally in the data dictionary). These referen...Related to #4125
Currently, when adding/updating reuse elements to/in libraries, it will be checked if the reuse element has some external references (e.g. a enumeration that is defined externally in the data dictionary). These references will be displayed to the user.
It would be more comfortable if the external references are automatically added to the library or updated in it (or in the new project if their connected resue element is reused again). For this purpose it is needed that the external references are found (e.g. in the data dictionary), completely stored (with all information) in the same library as the connected reuse element, and there needs to be trace/reference to these stored external references so that they are added/updated at the same time as the connected reuse element (if it is reused again in a new project).
This is connected to https://git.fortiss.org/af3/af3/-/issues/4208 and might get solved together.
(Maybe copyToRefMap() can help)BacklogSebastian BergemannSebastian Bergemannhttps://git.fortiss.org/af3/af3/-/issues/4144AnnotationView / DynamicTextFieldTreeTableCell: Avoid exception when losing f...2023-01-26T13:48:00ZSimon BarnerAnnotationView / DynamicTextFieldTreeTableCell: Avoid exception when losing focus (but apply value)Steps to repeat
- Open ACC example
- Open Task Architecture
- Change "Flash size" annotation of any Task
- Click on Component Architecture
- Observe error box stating a "Problem during setting an AnnotationValue" (stemming from ``org.fo...Steps to repeat
- Open ACC example
- Open Task Architecture
- Change "Flash size" annotation of any Task
- Click on Component Architecture
- Observe error box stating a "Problem during setting an AnnotationValue" (stemming from ``org.fortiss.tooling.base.ui.annotation.view.fx.AnnotationViewFXController.setAnnotationEntryValue()``
Note that annotation values are applied only when clicking into an annotation view row of a different model element. Otherwise, a the text edit field remains opened, the value is not applied, and the problem above will arise when clicking somewhere else.![annotation-edit-error](/uploads/f352f394e60f22ef7c3e59288430ea67/annotation-edit-error.PNG)Backloghttps://git.fortiss.org/af3/af3/-/issues/4136Improved useability for connections in logical architecture2023-01-26T09:45:41ZAndreas BayhaImproved useability for connections in logical architectureAt the moment, the fx editor for the logical architecture does only permit to connect (existing) OutputPorts with InputPorts.
The useability of this editor could be improved by adding the following possibilities:
- [ ] Input<-Output (st...At the moment, the fx editor for the logical architecture does only permit to connect (existing) OutputPorts with InputPorts.
The useability of this editor could be improved by adding the following possibilities:
- [ ] Input<-Output (start dragging from an input port)
- [ ] Component -> InputPort (output port is automatically created)
- [ ] OutputPort -> Component (input port is automatically created)
- [ ] Component -> Component (both ports are automatically created)
Part of this issue is to evaluate how much effort it would be to implement each of these options. Based on this estimation a decision shall be made which options shall actually implemented.
This Implementation of SystemFocus might be reused or at least be helpful:
https://git.fortiss.org/systemfocus/upstream-clone/-/blob/master/bundles/org.eclipse.systemfocus.examples.function.architecture/src/org/eclipse/systemfocus/examples/function/architecture/compositors/connection/PortToPortConnectionCompositor.javaBackloghttps://git.fortiss.org/af3/af3/-/issues/4100[Hierarcharchical Platform] Account for clusters when deriving the type size2023-03-22T13:27:25ZTiziano Munaro[Hierarcharchical Platform] Account for clusters when deriving the type sizeWhen calculating the architecture-specific type size (e.g. `int` on ARM; c.f. https://developer.arm.com/documentation/dui0491/c/C-and-C---Implementation-Details/Basic-data-types) in `org.fortiss.af3.platform.model.annotation.impl.TypeSiz...When calculating the architecture-specific type size (e.g. `int` on ARM; c.f. https://developer.arm.com/documentation/dui0491/c/C-and-C---Implementation-Details/Basic-data-types) in `org.fortiss.af3.platform.model.annotation.impl.TypeSizeStaticImpl.getDerivedValue(TypeSize)` a NPE is thrown.
## Description
If the current `IHierarchicElement` defines type sizes, then these are taken, otherwise the parent element is checked.
This is repeated until the termination condition for this recursion is fulfilled: When the `PlatformArchitecture` is reached.
This is fine if no clusters are used. However, if the architecture includes clusters the recursive methods breaks as type sizes cannot be defied for clusters and the clusters != platform architectures.
## Note:
This behavior is implemented in `org.fortiss.af3.platform`, so the algorithm cannot know about elements defined in `org.fortiss.af3.platform.hierarchic`, likely requiring a generic solution.BacklogTiziano MunaroTiziano Munarohttps://git.fortiss.org/af3/af3/-/issues/4091Enable multiselect context menus for JFX Tables/Graphical Editors and adapt A...2023-01-26T10:16:36ZAlexander DiewaldEnable multiselect context menus for JFX Tables/Graphical Editors and adapt AF3 implementationsIn AF3, a context menu service exists such that each plugin can add contributors to the context menu of model elements. This service also handles multiselections.
For TreeViewers, the support shall be implemented in #3922.
However, for...In AF3, a context menu service exists such that each plugin can add contributors to the context menu of model elements. This service also handles multiselections.
For TreeViewers, the support shall be implemented in #3922.
However, for JFX-based tables and Graphical Editors, the support is for the service to build context menus is missing. To resolve the ticket, it must be clarified if the context menu service shall be used in future at all (and all context menu contributions must be migrated). If so, the base class for tables "DynamicTreeTableViewer" and the corresponding factories of the graphical editor elements must be adjusted.Backloghttps://git.fortiss.org/af3/af3/-/issues/4088Show a signal's sender and receiver in the schedule view's tool-tip2023-01-17T15:09:32ZDummy AF3-DevShow a signal's sender and receiver in the schedule view's tool-tipThere is currently no way of knowing which task sends a given signal and
which one is the receiver.
The tool-tip shown upon hovering over the resource allocation (or
fragment thereof) might be a good place to include this information.
...There is currently no way of knowing which task sends a given signal and
which one is the receiver.
The tool-tip shown upon hovering over the resource allocation (or
fragment thereof) might be a good place to include this information.
*(from redmine: issue id 4088, created on 2020-12-02)*
* Relations:
* relates #4085BacklogTiziano MunaroTiziano Munarohttps://git.fortiss.org/af3/af3/-/issues/4085Modify the exploration backend to support multi-rate schedules2022-03-09T15:24:33ZDummy AF3-DevModify the exploration backend to support multi-rate schedulesWhile the Z3-backend does not support multi-rate schedules as of now
others do.
Hence, any restrictions limiting the calculation of multi-rate schedules
shall be moved from backend-agnostic parts of the exploration backends
to the resp...While the Z3-backend does not support multi-rate schedules as of now
others do.
Hence, any restrictions limiting the calculation of multi-rate schedules
shall be moved from backend-agnostic parts of the exploration backends
to the respective backends.
The `ExplorationTimingConstraintUtils`, for instance, overwrites the
periods of all tasks to equal. This shall be done in the Z3-backend
(with an appropriate notification for the user), while leaving the
periods unchanged for other backends.
*(from redmine: issue id 4085, created on 2020-11-19)*
* Relations:
* relates #4088BacklogTiziano MunaroTiziano Munarohttps://git.fortiss.org/af3/af3/-/issues/4083AF3 Help is entirely broken under Linux2024-01-11T09:39:12ZAlexander DiewaldAF3 Help is entirely broken under LinuxObserved Behavior
-----------------
The help view just hangs and cannot be closed. AF3 crashes as a whole
and must be force closed after opening the hel This bug was already
present in the 2.17 release and was filed as a nofix.
The iss...Observed Behavior
-----------------
The help view just hangs and cannot be closed. AF3 crashes as a whole
and must be force closed after opening the hel This bug was already
present in the 2.17 release and was filed as a nofix.
The issue has been reported upstream to eclipse and seems related to
JFX: https://bugs.eclipse.org/bugs/show_bug.cgi?id=564911
Proposed Solution
-----------------
Do not use the built-in eclipse mechanism for displaying the help, but a
custom one like for the DSE perspective hel
*(from redmine: issue id 4083, created on 2020-11-04)*AF3 2.25 - Release HackathonTiziano MunaroTiziano Munarohttps://git.fortiss.org/af3/af3/-/issues/4076Reintegrate the Tutorial Service2023-01-26T15:52:46ZAlexander DiewaldReintegrate the Tutorial ServiceIn the course of implementing \#3922, the TutorialService was disabled
due to strong dependencies in the ContextMenuService on JFace classes.
In order to keep the effort for \#3922 reasonable, some of the code
paths were commented out an...In the course of implementing \#3922, the TutorialService was disabled
due to strong dependencies in the ContextMenuService on JFace classes.
In order to keep the effort for \#3922 reasonable, some of the code
paths were commented out and marked with the ticket id.
The architecture and the class structure should also be reconsidered.
The tutorial service was disabled in \#3922 in the RCP, too.
The entry points for reenabling the Tutorial Services are the classes
- ITutorialUIWhitelistProvider (—>see the Deprecated method) and
- GenericNewMenu.
*(from redmine: issue id 4076, created on 2020-10-21)*
* Relations:
* relates #3922Backloghttps://git.fortiss.org/af3/af3/-/issues/4069Refresh AF3 examples for release2023-01-26T10:48:51ZSimon BarnerRefresh AF3 examples for releaseThe following is a suggestion to update the existing examples:
1. Critically review the examples in the file menu: Are they still
needed given the current feature set of AF3?
- Maybe the tutorial contains useful information
...The following is a suggestion to update the existing examples:
1. Critically review the examples in the file menu: Are they still
needed given the current feature set of AF3?
- Maybe the tutorial contains useful information
https://download.fortiss.org/public/projects/af3/AF3-Tutorial\_v1.0.pdf
- There is also a formal methods tutorial:
https://download.fortiss.org/public/projects/af3/Tutorial\_FormalVerification\_TrafficLight.pdf
2. Load all (remaining) examples into a fresh runtime workspace, and
update the models in the RCP with the models (that might be updated
by migrators etc.)
3. As soon as \#4070 has been merged: List all examples in the file
menu in the following help file:
`org.fortiss.af3.rchelp/html/examples.MainPage.html`
- Just add the name and a few words
- No dedicated subpage as for the FMI example is needed
4. Link FMI example in Co-Simulation documentation
(`ModandSim/cosimulation_with_af3.html`)
- E.g., add the following directly after the first introductory
sentence
(`The following sections provide introduction and discuss cosimulation functionality in detail.`):
-
`See the inverted pendulum use case for an illustrative example.`
(with a link to `example_co-simulation.html`).
*(from redmine: issue id 4069, created on 2020-10-09)*
* Relations:
* blocks #4070Backloghttps://git.fortiss.org/af3/af3/-/issues/4045Function Architecture2023-03-29T06:48:01ZSimon BarnerFunction ArchitectureGoal: Create minimal *Functional Architecture* as dedicated viewpoint
- Definitions of functions
- Decomposition of functions
- Mapping of (atomic) functions to (logical components)
*(from redmine: issue id 4045, created on 20...Goal: Create minimal *Functional Architecture* as dedicated viewpoint
- Definitions of functions
- Decomposition of functions
- Mapping of (atomic) functions to (logical components)
*(from redmine: issue id 4045, created on 2020-07-22)*
* Relations:
* child #4046AF3 2.24 - Feature FreezeSimon BarnerSimon Barnerhttps://git.fortiss.org/af3/af3/-/issues/4044Simulation OperatorPanels to JavaFX2023-01-26T10:15:21ZJohannes EderSimulation OperatorPanels to JavaFXTransformation of the Simulation Operator Panels
(org.fortiss.af3.operatorpanel.ui) to JavaFX.
*(from redmine: issue id 4044, created on 2020-07-20)*
* Relations:
* child #4082Transformation of the Simulation Operator Panels
(org.fortiss.af3.operatorpanel.ui) to JavaFX.
*(from redmine: issue id 4044, created on 2020-07-20)*
* Relations:
* child #4082Backloghttps://git.fortiss.org/af3/af3/-/issues/4040CPU load constraint.2023-03-29T07:07:02ZSimon BarnerCPU load constraint.As \#4038, but for Tasks and ECUs.
*(from redmine: issue id 4040, created on 2020-07-01)*
* Relations:
* relates #4047As \#4038, but for Tasks and ECUs.
*(from redmine: issue id 4040, created on 2020-07-01)*
* Relations:
* relates #4047AF3 2.24 - Feature FreezeSimon BarnerSimon Barnerhttps://git.fortiss.org/af3/af3/-/issues/4039Bus load constraint2023-03-29T07:07:24ZSimon BarnerBus load constraintThe DSE should provide a bus load constraint that puts a limit onto the
maximum admissible bus load for deployments.
Possibly based on formalization of bus bandwidth optimization objective.
*(from redmine: issue id 4039, created on 20...The DSE should provide a bus load constraint that puts a limit onto the
maximum admissible bus load for deployments.
Possibly based on formalization of bus bandwidth optimization objective.
*(from redmine: issue id 4039, created on 2020-07-01)*AF3 2.24 - Feature FreezeSimon BarnerSimon Barnerhttps://git.fortiss.org/af3/af3/-/issues/4036Online help: improve header layout and navigation2021-06-21T12:18:12ZSimon BarnerOnline help: improve header layout and navigationThe following is a suggestion:
- Header
- Make it sticky
- Add “AutoFOCUS3” name and logo
- Move “Report a problem to the footer?” (next to imprint?)
<!-- -->
- “Top” button (that appears when you scroll down)
...The following is a suggestion:
- Header
- Make it sticky
- Add “AutoFOCUS3” name and logo
- Move “Report a problem to the footer?” (next to imprint?)
<!-- -->
- “Top” button (that appears when you scroll down)
- Maybe use an up carret instead?
*(from redmine: issue id 4036, created on 2020-07-01)*AF3 2.20 - User Documentation UpdatedJohannes EderJohannes Ederhttps://git.fortiss.org/af3/af3/-/issues/4013[UI] Collection task SWT based views -> JavaFX-based views2023-01-26T09:41:20ZJohannes Eder[UI] Collection task SWT based views -> JavaFX-based views
*(from redmine: issue id 4013, created on 2020-05-12)*
* Relations:
* child #3434
* child #3922
* child #4014
* child #4015
* child #4016
* child #4017
* child #4018
* child #4019
* child #4020
* child #4075
*(from redmine: issue id 4013, created on 2020-05-12)*
* Relations:
* child #3434
* child #3922
* child #4014
* child #4015
* child #4016
* child #4017
* child #4018
* child #4019
* child #4020
* child #4075Backloghttps://git.fortiss.org/af3/af3/-/issues/4002[FMI] Usability improvements2023-03-22T13:28:13ZDummy AF3-Dev[FMI] Usability improvements- The dialog for selecting the target folder of an FMU file (export)
does provide UI elements for creating folders. Thus, one has to
manually navigate to the runtime workspace to create one. This is
quite inconvenient.
- ...- The dialog for selecting the target folder of an FMU file (export)
does provide UI elements for creating folders. Thus, one has to
manually navigate to the runtime workspace to create one. This is
quite inconvenient.
- The FMU specification editor opens the home folder of the user to
select a FMU. The dialog should point to the runtime workspace
instead.
- The selected file should be imported to a subfolder of the AF3
project directory and referenced. By that, AF3 projects are quasi
self-contained and machine-independent. Another idea could be some
FMU importing and restricting the selection dialog to the AF3
runtime workspace. The dialog for the FMU export can serve as an
inspiration.
- In line with the item above, only relative paths to the AF3-runtime
folder and folders below it shall be allowed to be referenced.
Reason: Self-containment and machine-independence.
*(from redmine: issue id 4002, created on 2020-04-20)*BacklogTiziano MunaroTiziano Munarohttps://git.fortiss.org/af3/af3/-/issues/3988MIRA: Validator duplicated IDs in FX editor2023-01-16T14:19:17ZAndreas BayhaMIRA: Validator duplicated IDs in FX editorThe validator is still pending.
See parent issue \#3940
*(from redmine: issue id 3988, created on 2020-04-03)*
* Relations:
* parent #3940The validator is still pending.
See parent issue \#3940
*(from redmine: issue id 3988, created on 2020-04-03)*
* Relations:
* parent #3940BacklogAndreas BayhaAndreas Bayhahttps://git.fortiss.org/af3/af3/-/issues/3978[UI] Resolve code duplication in the link-method of link visuals2023-01-17T12:25:21ZDummy AF3-Dev[UI] Resolve code duplication in the link-method of link visualsThe \`link\` methods of the
\`CurvedLinkLayoutedContentAnchorangeController\` and
\`CurvedLinkLayoutedDiagramAnchorangeController\` are currently
identical. However, as the division in the class hierarchy of anchorage-
and diagram contro...The \`link\` methods of the
\`CurvedLinkLayoutedContentAnchorangeController\` and
\`CurvedLinkLayoutedDiagramAnchorangeController\` are currently
identical. However, as the division in the class hierarchy of anchorage-
and diagram controllers comes before the one of lines and curves, the
removal of this code duplication by moving it to a common subclass is
not trivial. A utility method is not ideal either, as the method
contains a \`super\` call to a protected method.
In the following illustration the code dupliction is between CAC and
CDC:
CB
/ \
AC DC
/ \ / \
LAC CAC LDG CDC
*(from redmine: issue id 3978, created on 2020-03-27)*BacklogTiziano MunaroTiziano Munaro