OpenGEODE issueshttps://gitrepos.estec.esa.int/taste/opengeode/-/issues2023-12-15T10:25:56Zhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/16Nested state not recognised on other diagram partitions2023-12-15T10:25:56ZSteve DuncanNested state not recognised on other diagram partitionsSeen on OG 4.1.20
If a nested state is created on a diagram partition and then referenced on a second partition, it is not recognised as a nested state. Double-clicking on it gives again the "create nested state" prompt instead of navi...Seen on OG 4.1.20
If a nested state is created on a diagram partition and then referenced on a second partition, it is not recognised as a nested state. Double-clicking on it gives again the "create nested state" prompt instead of navigating to the contents.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/17Export statechart to PNG2023-12-15T10:24:43ZSteve DuncanExport statechart to PNGSeen in OG 4.1.20
It is not possible to export the statechart view to a PNG. If this is attempted (via File->Export to PNG), a PNG is created but it contains the most recently edited diagram.Seen in OG 4.1.20
It is not possible to export the statechart view to a PNG. If this is attempted (via File->Export to PNG), a PNG is created but it contains the most recently edited diagram.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/14test requirement2023-12-01T09:11:09ZMaxime Perrotintest requirementImplement something.Implement something.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/13Illegal Ada generated in transition from "any" state symbol2023-11-21T16:54:49ZSteve DuncanIllegal Ada generated in transition from "any" state symbolSeen in OpenGeode 3.11.1 and 4.1.15
![image](/uploads/d7f9e2f2516df24cc02b5a4530e9b498/image.png)
This transition generates illegal Ada:
when 4 =>
-- get_sender(sender) (1,5)
RI_0_ge...Seen in OpenGeode 3.11.1 and 4.1.15
![image](/uploads/d7f9e2f2516df24cc02b5a4530e9b498/image.png)
This transition generates illegal Ada:
when 4 =>
-- get_sender(sender) (1,5)
RI_0_get_sender(ctxt.sender);
-- EnqueueTC(newTC) (224,17)
p_0_EnqueueTC(ctxt.newTC);
-- NEXT_STATE - (226,22) at 288, 760
case ctxt.State is
when =>
trId := next_timeslot_0_START;
when others =>
trId := -1;
end case;
Note: in case it is significant, this signal may be received while the FSM is inside a nested state.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/12Ada generation failure when SDL variable initialised to SEQUENCE OF type in D...2022-12-11T13:31:14ZSteve DuncanAda generation failure when SDL variable initialised to SEQUENCE OF type in DCL blockThe attached project fails during compilation with an Ada generation failure.
If the initialised declaration of objectDictionary in ServerCANFSM is replaced with an uninitialised declaration, and instead the objectDictionary is assign...The attached project fails during compilation with an Ada generation failure.
If the initialised declaration of objectDictionary in ServerCANFSM is replaced with an uninitialised declaration, and instead the objectDictionary is assigned to the same constant in an SDL task, the generation proceeds correctly.
Seen in OpenGeode 3.13.0
[ada_gen_fail.tgz](/uploads/666bc45f375572f8758a56910a30f1ff/ada_gen_fail.tgz)https://gitrepos.estec.esa.int/taste/opengeode/-/issues/11Edit operations on nested states cause spurious duplication2022-12-11T13:16:17ZSteve DuncanEdit operations on nested states cause spurious duplicationWhen a transition passes through a nested state, edits in that transition cause the part of the transition below the nested state to be duplicated in the diagram. The duplicated transition either pushes other diagram components out of th...When a transition passes through a nested state, edits in that transition cause the part of the transition below the nested state to be duplicated in the diagram. The duplicated transition either pushes other diagram components out of the way, or appears on top of them.
Sometimes the duplication is only noticeable when the SDL file is next opened, at which point OpenGeode complains about triggers already being specified. The duplication is repeated every time the file is opened.
Seen in OpenGeode 3.13.0
![Screenshot_from_2022-12-10_11-49-19](/uploads/f0ed8f7673125759cc1339f05bb200e8/Screenshot_from_2022-12-10_11-49-19.png)https://gitrepos.estec.esa.int/taste/opengeode/-/issues/10Issues in SDL function with only nested states2022-09-04T19:22:48ZAngel Perez MuñozIssues in SDL function with only nested statesHello,
I was testing one SDL function with **nested** states and there is a problem with the autogenerated Ada code for it.
The SDL diagram has only nested states (except for the initial state):
![SDL diagram](/uploads/4fec32e6234f0240...Hello,
I was testing one SDL function with **nested** states and there is a problem with the autogenerated Ada code for it.
The SDL diagram has only nested states (except for the initial state):
![SDL diagram](/uploads/4fec32e6234f024027883b567ed2508e/Screenshot_from_2022-02-28_20-57-45.png)
[AdaGenerator.py](https://gitrepos.estec.esa.int/taste/opengeode/-/blob/master/opengeode/AdaGenerator.py#L415) generates the following Data Model in `ASN`:
```
Manager-Datamodel DEFINITIONS ::=
BEGIN
IMPORTS T-UInt16, ...
Manager-States ::= ENUMERATED {manager-has-no-state}
Manager-Context ::= SEQUENCE {
init-done BOOLEAN, -- <<<<<<< IT DOES NOT GENERATE "state Manager-States" ELEMENT!!!
current-mode Operating-Mode,
last-tc TC-Type,
idle-error-msg TM-Error-Contents,
coverage-error-msg TM-Error-Contents
}
Manager-Tm-Type-Selection ::= ENUMERATED {hello-present(1), hk-present(2), mode-present(3), err-present(4)}
END
````
This ASN file does not contain the `states` element, thereby, the Ada code generated with ASN1SCC does not contain it either. This element of the record is used in the autogenerated Ada code, that is why the compilation for the SDL function fails, e.g.:
```Ada
procedure Process_TC_Transition is
begin
case ctxt.state is -- <<<<<<<<<< HERE
when others =>
Execute_Transition (CS_Only);
end case;
end Process_TC_Transition;
```
If I add a dummy state that is not a **nested** one and does not do anything the problem is fixed, i.e.: the ASN file has the state element.
Best regards,
ÁngelMaxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/9Decision nodes containing procedure call cannot be copied2022-08-29T10:33:11ZRoberto CavadaDecision nodes containing procedure call cannot be copiedDecision nodes containing `call <procedure-name>` cannot be copied or cut from opengeode gui.Decision nodes containing `call <procedure-name>` cannot be copied or cut from opengeode gui.Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/5SDL block interface constraints2021-09-20T08:42:00ZTiago JorgeSDL block interface constraintsHi,
Is there **any constraint** related to SDL interfaces (type or number)? Apparently not.
For instance, do SDL blocks support **synchronous provided** interfaces?
Thank you for your help.Hi,
Is there **any constraint** related to SDL interfaces (type or number)? Apparently not.
For instance, do SDL blocks support **synchronous provided** interfaces?
Thank you for your help.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/8exit procedure may be called improperly2021-07-21T07:00:42ZRoberto Cavadaexit procedure may be called improperlyIn this SDL example (attached), a continuous signal is used in nested state:
![image](/uploads/7020973b438dcdd934232d51022465f8/image.png)
In this situation, `exit` procedure gets called in continuous signal processing:
```ada
...In this SDL example (attached), a continuous signal is used in nested state:
![image](/uploads/7020973b438dcdd934232d51022465f8/image.png)
In this situation, `exit` procedure gets called in continuous signal processing:
```ada
--
when 4 =>
-- val := true (55,33)
ctxt.s1_0_val := true;
-- writeln('continuous signal!') (57,33)
Put ("continuous signal!");
New_Line;
-- NEXT_STATE - (59,38) at 554, 306
trId := -1;
goto Continuous_Signals;
-- ...
<<Continuous_Signals>>
-- Process continuous signals
if ctxt.Init_Done then
Check_Queue (msgPending);
end if;
if msgPending or trId /= -1 then
goto Next_Transition;
end if;
if ctxt.State = asn1Sccs1_0_s11 then
-- Priority 1
-- DECISION not val (53,33)
-- ANSWER true (None,None)
if ((not val)) = true then
p_0_s1_0_exit; -- <=== exit called here
trId := 4;
end if;
end if;
```
I am not sure about SDL semantics on this point (CS in composite states), but the implementation may be not correct. I am attaching the .pr file and the corresponding generated .adb code.
[test.pr](/uploads/e3f08c23ac16d541d2b00a6d914c3934/test.pr)
[test_nested_states.adb](/uploads/e6029efce08d05ca242cb64e3daa3e98/test_nested_states.adb)Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/7Procedure call in decision not correctly rendered2021-07-20T07:13:24ZRoberto CavadaProcedure call in decision not correctly renderedWhen a procedure call is done within a decision node, the node is correctly saved to .pr file.
However, when reading back the .pr file, the decision node is fitted with the name of the procedure, without the `call ` prefix. This makes t...When a procedure call is done within a decision node, the node is correctly saved to .pr file.
However, when reading back the .pr file, the decision node is fitted with the name of the procedure, without the `call ` prefix. This makes the sdl file syntactically wrong.
This is what happens for example.
* Before saving:
![image](/uploads/d6cf26815ae82d128f8dc2e78fbdfe4d/image.png)
* After reading back the file:
![image](/uploads/a83359a1b996c75d902acb0282f2e1d6/image.png)
Notice that the error occurs only if the procedure has no parameters, as `foo(par, ...)` can occur in decision node, while `foo` cannot, as it requires `call foo`.https://gitrepos.estec.esa.int/taste/opengeode/-/issues/6issue with CHOICE access and index2019-09-29T15:18:42ZMaxime Perrotinissue with CHOICE access and indexThis properly reports an error:
![image](/uploads/71939d83e16ddd5e35ce7c25e504694c/image.png)
![image](/uploads/6bb1db52989f5d2fee8490d9ae4a3913/image.png)
But not this:
![image](/uploads/f2e2ad21f5a7a0c139c363b8f3ec1ed0/image.png)This properly reports an error:
![image](/uploads/71939d83e16ddd5e35ce7c25e504694c/image.png)
![image](/uploads/6bb1db52989f5d2fee8490d9ae4a3913/image.png)
But not this:
![image](/uploads/f2e2ad21f5a7a0c139c363b8f3ec1ed0/image.png)Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/4Integrating ADA generated code with the rest of the system2017-11-15T16:10:25ZTiago JorgeIntegrating ADA generated code with the rest of the systemSince OPENGEODE generates code in Ada and not in C, can you please confirm TASTE will transparently ensure that this Ada code can be called from the rest of the system (for instance, other functions in C). For instance, by generating the...Since OPENGEODE generates code in Ada and not in C, can you please confirm TASTE will transparently ensure that this Ada code can be called from the rest of the system (for instance, other functions in C). For instance, by generating the necessary import/export pragmas.
Also, could you please clarify briefly which and how other TASTE (git) modules do this?
Thank youMaxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/1Handling of syntax errors2017-05-20T21:28:46ZMaxime PerrotinHandling of syntax errorsSome syntax errors prevent the model to be parsed by antlr and therefore give the wrong impression that some work can be lost. Since syntax errors are detected by the tool on the fly, the tool shall prevent the user from saving an incorr...Some syntax errors prevent the model to be parsed by antlr and therefore give the wrong impression that some work can be lost. Since syntax errors are detected by the tool on the fly, the tool shall prevent the user from saving an incorrect model.Maxime PerrotinMaxime Perrotinhttps://gitrepos.estec.esa.int/taste/opengeode/-/issues/2PROCEDURE with no parameters parsing problem2017-05-20T21:28:45ZDaniel SilveiraPROCEDURE with no parameters parsing problemIn the OPENGEODE version of the TASTE VM from 12/01/2016, when parsing a .pr file which as a PROCEDURE declared without any parameters, it will declared with an incorrect syntax in OPENGEODE which leads to a validation error of the model...In the OPENGEODE version of the TASTE VM from 12/01/2016, when parsing a .pr file which as a PROCEDURE declared without any parameters, it will declared with an incorrect syntax in OPENGEODE which leads to a validation error of the model.
Example of such PROCEDURE declaration in a .pr file:
PROCEDURE DataProcessing_process_mode2;
ENDPROCEDURE;
Example of how it is declared in OPENGEODE:
procedure DataProcessing_process_mode2;
fpar
;
external;
The added fpar and ";" without a parameter defined in its body will throw a validation error with a message like:
[ERROR] line x:y mismatched input u';' expecting ID
https://gitrepos.estec.esa.int/taste/opengeode/-/issues/3Defining a SDL system interface with OpenGeode (input and output signals or p...2017-05-20T21:28:43ZJavier Herrero MartínDefining a SDL system interface with OpenGeode (input and output signals or procedures)Hello,
I have tried OpenGeode when an external tool have created a complete system_structure.pr file and a DataView.asn file and it works as expected.
In VERICOCOS, in the early phases of the development, we want to define the inte...Hello,
I have tried OpenGeode when an external tool have created a complete system_structure.pr file and a DataView.asn file and it works as expected.
In VERICOCOS, in the early phases of the development, we want to define the interaction between Mission Phases using SDL but when I open OpenGeode and try to define new SIGNAL o PROCEDURE they are not stored in the sytem_structure.pr file, so an error appear when I use it in the state machine diagram.
I guess it also happens when trying to modify the DataView.asn, OpenGeode is intended to use with an interface defined in an external tool
Regard.
[IXV_Mission.pr](/uploads/98b01bb9ad10a22cfde93004f976223b/IXV_Mission.pr)
[DataView.asn](/uploads/f3966e138be8aef92d9c5eff2607aa15/DataView.asn)
[system_structure.pr](/uploads/42401dc5534b9e882c7d4483fe046b46/system_structure.pr)
Maxime PerrotinMaxime Perrotin