MODMED issueshttps://gricad-gitlab.univ-grenoble-alpes.fr/groups/modmed/-/issues2020-02-12T11:50:45+01:00https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/19Empty window for the JFileChooser2020-02-12T11:50:45+01:00Yves LedruEmpty window for the JFileChooserUsing Ubuntu 18_04, and OpenJDK Java 8_242, two groups of student have experienced a problem when executing the generated monitors for the first time (i.e. without Trace_files.txt).
The java program opens a JFileChooser to select the tra...Using Ubuntu 18_04, and OpenJDK Java 8_242, two groups of student have experienced a problem when executing the generated monitors for the first time (i.e. without Trace_files.txt).
The java program opens a JFileChooser to select the trace file or the traces directory.
Actually, for these students, the window is blank, i.e. none of the characters appears (only the structure and the icons).
A temporary solution against this bug is to manually edit a file named Trace_files.txt located at the same level as "Results", and to add the path to the trace file or the traces directory.
I was not able to reproduce the problem yet, but here are some possible explanations:
1. This is due to a different version of java (Open JDK 8.242) This should be experimented on a fresh ubuntu machine with this exact version.
2. (Most likely): the JFileChooser uses a font that is not available on these machines. Actually, it seems that the file Load_Trace_file.java which is in partrap/utils changes the font of the chooser:
```
private static void setFileChooserFont(Component[] comp)
{
Font font = new Font("SanSerif",Font.PLAIN,15);
```
In order to fix this issue, it should (a) be reproduced and (b) corrected (possibly by removing the font change in Load_Trace_file.java ; but I remember that the font change was necessary because the original font was too small).https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/18where clause must be on a single line2020-01-24T17:39:04+01:00Yves Ledruwhere clause must be on a single lineIn the following property, the where clause spans on two lines:
WherePropertyOnASingleLine : occurrence_of Foo f where (f.value == 1
|| f.value == 2);
This produces erro...In the following property, the where clause spans on two lines:
WherePropertyOnASingleLine : occurrence_of Foo f where (f.value == 1
|| f.value == 2);
This produces erroneous java code
//1
//(f.value == 1
|| f.value == 2)
IEvent event0 = new IEvent ("Foo", "f","(f.value == 1
|| f.value == 2)");
I guess that the third line should also be included in the comment (e.g. using /* ...*/) but there is also an impact on the next line.https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/17Error messages for incorrect trace file2019-10-11T10:44:47+02:00Yves LedruError messages for incorrect trace fileIf the trace does not follow the expected syntax, the generated ParTraP monitor returns an error message
For example, when evaluating a property on the following file (which does not follow the JSON syntax),
[traceIncorrecte.json](/up...If the trace does not follow the expected syntax, the generated ParTraP monitor returns an error message
For example, when evaluating a property on the following file (which does not follow the JSON syntax),
[traceIncorrecte.json](/uploads/bf8205824db1e4c570446861d66e975d/traceIncorrecte.json)
we get the following message, which does not clearly refer to the trace file (and moreover which finally provides an evaluation for the monitor.
```
> Unexpected character (s) at position 0.
> at org.json.simple.parser.Yylex.yylex(Yylex.java:610)
> at org.json.simple.parser.JSONParser.nextToken(JSONParser.java:269)
> at org.json.simple.parser.JSONParser.parse(JSONParser.java:118)
> at org.json.simple.parser.JSONParser.parse(JSONParser.java:92)
> at partrap.util.Convertjsonlist.convert(Convertjsonlist.java:26)
> at ScanetteProperties.PasDeCaisse4.execute_on_tree(PasDeCaisse4.java:183)
> at ScanetteProperties.PasDeCaisse4.main(PasDeCaisse4.java:153)
> 10:35:29.724 [INFO] *********** Evaluating property : 'PasDeCaisse4'**********
> ----- Trace file : 'traceIncorrecte.json' :
> after composite :
> resultspath : C:/Users/ledru/workspaces/EclipsePhotonPartrap/ScanetteProperties/results/ScanetteProperties/PasDeCaisse4/PasDeCaisse4_traceIncorrecte.txt
> 10:35:29.797 [INFO] Final verdict for trace : traceIncorrecte.json is : true
> PasDeCaisse4: absence_of connexion c where c.obj == caisse4;
> The property 'PasDeCaisse4' is executed on trace 'C:/Users/ledru/Documents/ProjetsEnCours/Philae/scanette/traces/traceIncorrecte.json'
> The property 'PasDeCaisse4' is true Scope from 1 to 0 with the environment null
> No event c of type 'connexion' and satisfying the condition 'c.obj == caisse4' is found
```https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/16Java code generated from property2019-03-08T16:33:20+01:00Salim CHEHIDAJava code generated from propertyErrors in java code generated from properties combined using propositional logic connectors (when one part is a scoped property).
Example:
"after last A e1 where e1.p1>2.0, occurrence_of B e2 where e2.p2>3.0 and occurrence_of C e3 ...Errors in java code generated from properties combined using propositional logic connectors (when one part is a scoped property).
Example:
"after last A e1 where e1.p1>2.0, occurrence_of B e2 where e2.p2>3.0 and occurrence_of C e3 where e3.p3>=4.0;"https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/15need for more static semantics2019-02-28T11:27:37+01:00Yves Ledruneed for more static semanticsThe following property features a static semantics problem: param0=='NS' should be r.param0=='NS'
```
prop03_NoDoubleGreenAfterLastRedonNS :
(after last Red_ENT r where param0=='NS', after first Green_Ent g where g.param0==r.param0, abs...The following property features a static semantics problem: param0=='NS' should be r.param0=='NS'
```
prop03_NoDoubleGreenAfterLastRedonNS :
(after last Red_ENT r where param0=='NS', after first Green_Ent g where g.param0==r.param0, absence_of Green_ENT g2 where g.param0 != g2.param0);
```
The IDE does not detect this problem and the property is vacuously truehttps://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/14extraneous input s2019-02-19T14:46:58+01:00Yves Ledruextraneous input sThe following property is not syntactically correct
propBug : occurrence_of AA s ;
The IDE says "extraneous input 's' expecting ';'"
But if you substitute s by x, it is correct!
It looks like a bug because s is not a keyword of the l...The following property is not syntactically correct
propBug : occurrence_of AA s ;
The IDE says "extraneous input 's' expecting ';'"
But if you substitute s by x, it is correct!
It looks like a bug because s is not a keyword of the language.https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/13Local variables with same name2019-03-04T10:49:45+01:00Yves LedruLocal variables with same nameIn the following property, g is used twice as a local variable :
```
bug : (occurrence_of Green_ENT g where g.param0=='NS')
and
(occurrence_of Green_ENT g where g.param0=='EW');
```
This property is accepted by Part...In the following property, g is used twice as a local variable :
```
bug : (occurrence_of Green_ENT g where g.param0=='NS')
and
(occurrence_of Green_ENT g where g.param0=='EW');
```
This property is accepted by Partrap-IDE but it fails to generate a correct
java code because two methods have the same name "evaluateExprg".
The pragmatic solution is to use different names : g1 and g2.
But this bug raises two questions:
1. Is the above property compliant with the static semantics of ParTraP?
2. If it is compliant, then there is a bug in the generator.https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/12Missing previous trace file2019-02-05T18:12:16+01:00Yves LedruMissing previous trace fileIf a trace was selected, and later deleted, the next call to the monitor will crash:
Exception in thread "main" java.lang.NullPointerException
at TANPartrap.Prop2_absence.execute_on_tree(Prop2_absence.java:173)
at TANPartrap.Prop2_abs...If a trace was selected, and later deleted, the next call to the monitor will crash:
Exception in thread "main" java.lang.NullPointerException
at TANPartrap.Prop2_absence.execute_on_tree(Prop2_absence.java:173)
at TANPartrap.Prop2_absence.main(Prop2_absence.java:153)https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/11Where clause in Preceded_by2018-09-20T15:12:01+02:00Yves LedruWhere clause in Preceded_byLa propriété Heating
Heating: Temp t preceded_by Heat hh where t.v1 > 100;
lève une exception sur le fichier test_trace.json et
ne s'évalue pas correctement sur le fichier small_trace.json.
Dans l'interpréteur de Partrap, cela se bloq...La propriété Heating
Heating: Temp t preceded_by Heat hh where t.v1 > 100;
lève une exception sur le fichier test_trace.json et
ne s'évalue pas correctement sur le fichier small_trace.json.
Dans l'interpréteur de Partrap, cela se bloque.
Ci-dessous les messages d'erreur que j'obtiens.
Je joins le fichier partrap et deux traces qui devraient toutes deux renvoyer OK.[OtherExamples.partrap](/uploads/7d78be89d8f307daf92047211ecb508c/OtherExamples.partrap)[small_trace.json](/uploads/ffe54dc19b447c6bdd013c525ba46577/small_trace.json)[test_trace.json](/uploads/7d896f745fd763cf6d94a583933563bd/test_trace.json)
```
13:31:16.711 [INFO] *********** Evaluating property : 'Heating'**********
----- Trace file : 'small_trace.json' :
Evaluating the pattern on the scope from : 0 to : 6::
The environment is : null
after composite :
resultspath : C:/Users/ledru/workspaces/EclipsePhotonPartrap/MyPartrapProject/results/OtherExamples/Heating/Heating_small_trace.txt
13:31:16.727 [WARNING] False on trace small_trace.json:
Heating: Temp t preceded_by Heat hh where t.v1 > 100;
The property 'Heating' is executed on trace 'C:/Users/ledru/workspaces/EclipsePhotonPartrap/MyPartrapProject/traces/small_trace.json'
The property 'Heating' is false Scope from 1 to 7 with the environment null
An empty scope is found with the environment{t={trace_occ_index=1, time=1.447204242753E9, id=Temp, v1=40.22}}
-Before the event t : {trace_occ_index=2, time=1.447204816611E9, id=Temp, v1=41.44},
No event t of type 'Heat' and satisfying the condition 't.v1 > 100' is found
13:32:04.756 [INFO] *********** Evaluating property : 'Heating'**********
----- Trace file : 'test_trace.json' :
Evaluating the pattern on the scope from : 0 to : 19::
The environment is : null
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 20, Size: 20
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at partrap.util.Short_Result_Explanation.explain(Short_Result_Explanation.java:85)
at OtherExamples.Heating.evaluate_prop(Heating.java:344)
at OtherExamples.Heating.execute_on_tree(Heating.java:215)
at OtherExamples.Heating.main(Heating.java:170)
```https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/7Portable paths2018-08-22T14:25:07+02:00Yoann BleinPortable pathsCurrent path handling is not portable. As a consequence, Python materials are not found on Linux although there are present. This can be seen in the following error message produced by the IDE, where `\` and `/` are mixed up:
```
Python...Current path handling is not portable. As a consequence, Python materials are not found on Linux although there are present. This can be seen in the following error message produced by the IDE, where `\` and `/` are mixed up:
```
Python materials are not installed, you should not use Python expressions
/home/yb/eclipse-workspace/training\python-utils
```https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/6Format of the input trace2018-07-13T16:41:05+02:00Yves LedruFormat of the input traceAt the july 12th meeting of the project, several alternate versions of the trace format were presented.
The toolset should be able to adapt to these changes.
Transformation mini:
[{"_timestamp":"2018-07-11T17:50+0200","_elapsed_s":"0.1...At the july 12th meeting of the project, several alternate versions of the trace format were presented.
The toolset should be able to adapt to these changes.
Transformation mini:
[{"_timestamp":"2018-07-11T17:50+0200","_elapsed_s":"0.123","_format":"trace start"}
"time" > "_elapsed_s" (offset from _timestamp" above
"id" > "_id"
... > "_args":[{...}]
+ "_format":""
En option: _arg_names, _format reprenant le _message, etc.https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/partrap-ide/-/issues/5Default directory for "Update Trace File"2018-08-30T11:12:27+02:00Yves LedruDefault directory for "Update Trace File"