generators issueshttps://git.rwth-aachen.de/groups/monticore/EmbeddedMontiArc/generators/-/issues2018-08-02T14:12:40+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/2Generator Factory2018-08-02T14:12:40+02:00Evgeny KusmenkoGenerator FactoryWe need a factory to create a train generator and an architecture generator,
see Abstract Factory Pattern
The Factories should be defined in their respective projects, i.e. CNNArch2Caffe2 should contain a Caffe2GeneratorFactory; the CN...We need a factory to create a train generator and an architecture generator,
see Abstract Factory Pattern
The Factories should be defined in their respective projects, i.e. CNNArch2Caffe2 should contain a Caffe2GeneratorFactory; the CNNArch2MXNet Generator project should contain the MXNetFactory.Carlos Alfredo Yeverino RodriguezCarlos Alfredo Yeverino Rodriguezhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/1Missing variable reassignment in generated cpp code2018-12-27T13:40:32+01:00Svetlana PavlitskayaMissing variable reassignment in generated cpp code**Expected**: different values assigned to the variable ```c``` two times.
**Actual**: ```c``` gets value assigned only first time.
Model:
```
component Add{
ports
in Q(0 : 10) a,
out Q(0 : 20) c;
implementatio...**Expected**: different values assigned to the variable ```c``` two times.
**Actual**: ```c``` gets value assigned only first time.
Model:
```
component Add{
ports
in Q(0 : 10) a,
out Q(0 : 20) c;
implementation Math{
Q b = 42 + a;
c = 1 + b;
b = 43;
c = 1 + b;
}
}
```
Generated code:
```
#ifndef ADD
#define ADD
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
#include "armadillo"
using namespace arma;
class add{
public:
double a;
double c;
void init()
{
}
void execute()
{
double b = 2+a;
c = 1+b;
b = 3;
}
};
#endif
```
Missing ```c = 1 + b;``` as the last statement in the ```execute()``` block.
Problem occurs only when ```c``` has two identical assignments.Evgeny KusmenkoAlexander David HellwigEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/18Matrix containing variables is created as constant2018-07-27T10:42:35+02:00Christoph RichterMatrix containing variables is created as constantIf a matrix definition contains a variable it is defined as constant. This creates wrong results if the matrix was modified in any situation. Also ports are always passed as a constant value.
Example:
```
ports in Q in1,
...If a matrix definition contains a variable it is defined as constant. This creates wrong results if the matrix was modified in any situation. Also ports are always passed as a constant value.
Example:
```
ports in Q in1,
out Q out1;
implementation Math{
Q^{3} A = [0, in1, 1];
out1 = sum(A);
}
```
creates C++ code:
```
class test_portInMatrixDefinition{
public:
double in1;
double out1;
rowvec CONSTANTCONSTANTVECTOR0;
void init()
{
CONSTANTCONSTANTVECTOR0 = rowvec(3);
CONSTANTCONSTANTVECTOR0(0,0) = 0;
CONSTANTCONSTANTVECTOR0(0,1) = in1;
CONSTANTCONSTANTVECTOR0(0,2) = 1;
}
void execute()
{
colvec A = CONSTANTCONSTANTVECTOR0;
out1 = (accu(A));
}
```
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/17Column Vector is not initialized if declared with 2 dimensions2018-08-08T13:46:26+02:00Christoph RichterColumn Vector is not initialized if declared with 2 dimensionsFor EMAM statement `Q^{n,1} a;` the following C++ code is generated: `colvec a;` This vector can be used in EMAM but is not initialized in C++.For EMAM statement `Q^{n,1} a;` the following C++ code is generated: `colvec a;` This vector can be used in EMAM but is not initialized in C++.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/visualisation/-/issues/6All Layers except of Layer 3 are kind of defect2018-07-16T23:55:24+02:00vonWencksternAll Layers except of Layer 3 are kind of defectThe third layer looks pretty good: https://embeddedmontiarc.github.io/VisualizationEMAM/models/PacMan/index.html#de.rwth.pacman.pacManWrapper.controller.coneSearch:1
But the other layers look terrible:
1. https://embeddedmontiarc.github...The third layer looks pretty good: https://embeddedmontiarc.github.io/VisualizationEMAM/models/PacMan/index.html#de.rwth.pacman.pacManWrapper.controller.coneSearch:1
But the other layers look terrible:
1. https://embeddedmontiarc.github.io/VisualizationEMAM/models/PacMan/index.html#de.rwth.pacman.pacManWrapper.controller.coneSearch:3
* ![image](/uploads/600c08e30d3a7065bd9c200154adec51/image.png)
* **this is the worst, here are even the connectors between components missing**
2. https://embeddedmontiarc.github.io/VisualizationEMAM/models/PacMan/index.html#de.rwth.pacman.pacManWrapper.controller.coneSearch:2
* ![image](/uploads/fc980e12bc364a69f09d4f4658fb9cfe/image.png)
* here the component width is too small
3. https://embeddedmontiarc.github.io/VisualizationEMAM/models/PacMan/index.html#de.rwth.pacman.pacManWrapper.controller.coneSearch:0
* ![image](/uploads/f49d7a040e55d843e7910f69bc3d828f/image.png)
* here components are much too fat
The first (1.) issue is not only ugly is also incorrect, as the connections are missign.
@toezen1 can you please fix it.
@toezen1 and why are there not tests which fail? I mean there is no single connector drawn.
@jean\-marc.ronck can you please write @toezen1 what version of visualization you used; and when @toezen1 fixed this bug; can please update the version and the models at https://embeddedmontiarc.github.io/VisualizationEMAM.
@toezen1 as we published this models for our paper (http://www.se-rwth.de/materials/embeddedmontiarc/), and the reviewing process starts at Wednesday (July 18th), can you please fix the issues 1. and 2. immediately. And when you fixed it. please write an E-Mail to @jean\-marc.ronck so that he updates the models at github-pages; I will then update the models for our paper homepage.
(You do not need to fix 3. as this is only very ugly but not wrong)toezen1toezen1https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/15Sum command for armadillo not supported2018-07-13T12:27:03+02:00Christoph RichterSum command for armadillo not supportedUntil now EMAM only supports `sum(X)` which creates `accu(X)` in armadillo.
Nevertheless armadillo and MATLAB also support `sum(X,1)` or `sum(X,2)` to only sum rows or columns. Would be nice if EMAM also supports this.Until now EMAM only supports `sum(X)` which creates `accu(X)` in armadillo.
Nevertheless armadillo and MATLAB also support `sum(X,1)` or `sum(X,2)` to only sum rows or columns. Would be nice if EMAM also supports this.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/14Vector colon expression generates invalid code!2018-07-18T17:57:22+02:00Christoph RichterVector colon expression generates invalid code!Expressions:
```
Q^{1,10} A = 1:10;
Q^{1,5} B = 1:2:10;
```
generates the following invalid expression:
```
rowvec A = ;
rowvec B = ;
```Expressions:
```
Q^{1,10} A = 1:10;
Q^{1,5} B = 1:2:10;
```
generates the following invalid expression:
```
rowvec A = ;
rowvec B = ;
```Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/13Element-wise multiplication does not generate correct armadillo code!2018-07-18T17:56:53+02:00Christoph RichterElement-wise multiplication does not generate correct armadillo code!Math statements:
```
Q^{2,2} A = [1,1;1,1];
Q^{2,2} B = [1,2;3,4];
Q^{2,2} C = A .* B;
```
produce wrong armadillo C++ code:
`mat C = A .* B;`
Armadillo uses % for element wise multiplication.Math statements:
```
Q^{2,2} A = [1,1;1,1];
Q^{2,2} B = [1,2;3,4];
Q^{2,2} C = A .* B;
```
produce wrong armadillo C++ code:
`mat C = A .* B;`
Armadillo uses % for element wise multiplication.Christoph RichterChristoph Richterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/VisualizationEMAM/-/issues/2Version 2 of EMAMPrettyPrinter is not implemented yet2020-08-04T09:58:25+02:00vonWencksternVersion 2 of EMAMPrettyPrinter is not implemented yet@kusmenko Please check at the end of the SLE lab that also this feature is implemented.
It should be an extra viewpoint; so that you can switch between the different graphical viewpoints and this textual one. @jean\-marc.ronck knows mor...@kusmenko Please check at the end of the SLE lab that also this feature is implemented.
It should be an extra viewpoint; so that you can switch between the different graphical viewpoints and this textual one. @jean\-marc.ronck knows more about it.
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/VisualizationEMAM#version-2-integrate-syntax-highlighter-of-ema-and-montimathEvgeny KusmenkoEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/12Visualisation value access hook2020-07-02T19:25:27+02:00Sascha Niklas SchneidersVisualisation value access hookAdapt generator to have a new flag, that provides access for webassembly/javascript values after current executionAdapt generator to have a new flag, that provides access for webassembly/javascript values after current executionSascha Niklas SchneidersSascha Niklas Schneidershttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/10Stream-Test für alle Modelle für EmbeddedMontiArcStudio generieren2020-07-02T19:25:40+02:00vonWencksternStream-Test für alle Modelle für EmbeddedMontiArcStudio generieren- ein JUnit-Test für Autopilot
- dieser test alle EMAM-Dateien die da sind
- ein JUnit-Test für Cluster
- ein JUnit-Test für PacMan
Zum Generieren der Tests die Version, den Compiler von EmbeddedMontiArcStudio nehmen- ein JUnit-Test für Autopilot
- dieser test alle EMAM-Dateien die da sind
- ein JUnit-Test für Cluster
- ein JUnit-Test für PacMan
Zum Generieren der Tests die Version, den Compiler von EmbeddedMontiArcStudio nehmenhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/9Compiler should generate from main.txt2020-07-02T19:26:33+02:00Ferdinand Alexander MehlanCompiler should generate from main.txthttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/issues/1https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/utilities/EMAStudioBuilder/issues/1Sascha Niklas SchneidersSascha Niklas Schneidershttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/-/issues/1Add error msg for non recoverable RosConnection error2018-07-06T15:03:02+02:00Alexander David HellwigAdd error msg for non recoverable RosConnection errorMissing Topic name without connector leads to uncaught exceptionMissing Topic name without connector leads to uncaught exceptionAlexander David HellwigAlexander David Hellwig2018-07-07https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/-/issues/8Hadamard-Produkt2018-07-04T19:36:45+02:00Evgeny KusmenkoHadamard-ProduktAnalog zu
https://embeddedmontiarc.github.io/MathPrettyPrinter/montimath/vanilla/PowerWise/index.html
sollte auch das hadamard-Produkt aussehen. Aus .* sollte also ein Kreis entstehen, zB hier:
https://embeddedmontiarc.github.io/MathPre...Analog zu
https://embeddedmontiarc.github.io/MathPrettyPrinter/montimath/vanilla/PowerWise/index.html
sollte auch das hadamard-Produkt aussehen. Aus .* sollte also ein Kreis entstehen, zB hier:
https://embeddedmontiarc.github.io/MathPrettyPrinter/montimath/vanilla/TimeWise/index.html
Siehe:
https://en.wikipedia.org/wiki/Hadamard_product_(matrices)
Bei .+ bzw .- soll zudem der Punkt entfernt werden, Addition / Subtraktion immer elementweise sind.
Bei ./ verhält es sich folgendermaßen: A./B = A°B^{°(-1)} , wobei ^{} "hochgestellt" symbolisieren soll. Siehe:
https://math.stackexchange.com/questions/1321879/is-there-a-formula-for-the-inverse-of-hadamard-productArmin MokhtarianArmin Mokhtarianhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/-/issues/7Test mit transponierten Operator auf gh-pages hochladen2018-07-02T11:44:13+02:00vonWencksternTest mit transponierten Operator auf gh-pages hochladenBitte einen Test für `X = A'` hochladen.
Und `A'` im LaTeX-Modus bitte wiefolgt darstellen:
![image](/uploads/3fb44603932abe7e296bcf6513e90161/image.png)Bitte einen Test für `X = A'` hochladen.
Und `A'` im LaTeX-Modus bitte wiefolgt darstellen:
![image](/uploads/3fb44603932abe7e296bcf6513e90161/image.png)Jean-Marc RonckJean-Marc Ronckhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/-/issues/5bei mathematischen Brüchen Platz lassen zwischen Zeilen2018-07-02T11:45:22+02:00vonWencksternbei mathematischen Brüchen Platz lassen zwischen ZeilenIch denke folgendes lässt sich besser lesen:
![image](/uploads/547aea10161b01aef183001fb74b34c0/image.png)
Besonders, wenn man folgendes sieht:
![image](/uploads/a478586aa6bc68754c710e4f14c1bb2b/image.png)
@kusmenko: Was meinst du? Sol...Ich denke folgendes lässt sich besser lesen:
![image](/uploads/547aea10161b01aef183001fb74b34c0/image.png)
Besonders, wenn man folgendes sieht:
![image](/uploads/a478586aa6bc68754c710e4f14c1bb2b/image.png)
@kusmenko: Was meinst du? Sollte man bei Brüchen eine leer Zeile mit kleinerer Schriftgröße extra einfügen?Jean-Marc RonckJean-Marc Ronckhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/-/issues/4Unnötige Klammern bei Zeilen2018-07-02T11:49:34+02:00vonWencksternUnnötige Klammern bei ZeilenIn https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/blob/master/src/test/resources/models/montimath/vanilla/SolEqu.m#L5
sieht die Ausgabe wie folgt aus: (Bug #2 behoben)
```
Q^{3,1} A = [3 6 2; 1 2 8; 7...In https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/blob/master/src/test/resources/models/montimath/vanilla/SolEqu.m#L5
sieht die Ausgabe wie folgt aus: (Bug #2 behoben)
```
Q^{3,1} A = [3 6 2; 1 2 8; 7 9 4] \ [2;3;4];
```
Aber die Ausgabe sieht wie folgt aus:
![image](/uploads/6705613da019557155aba8373052f145/image.png)
Gerade bei Vektoren wie `[(2); (3); (4)]`, sieht die unnötige Klammerung pro Zeile hässlich aus; viel besser ist ` [2; 3; 4]`.
@jean\-marc.ronck, @armin.mokhtarian, @bram.kohlen: Bitte beheben.Jean-Marc RonckJean-Marc Ronckhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/-/issues/2[Bug in Grammatik] Gleichungssystem lösen; ist nur einfacher Backslash und ni...2018-06-28T21:46:31+02:00vonWenckstern[Bug in Grammatik] Gleichungssystem lösen; ist nur einfacher Backslash und nicht doppelterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/blob/tex/src/test/resources/models/montimath/vanilla/SolEqu.m#L5
Da ist ein Fehler drin.
Die Zeile
```
Q^{3,1} A = [3 6 2; 1 2 8; 7 9 4] \\ [2;3;4];
```
...https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/MathPrettyPrinter/blob/tex/src/test/resources/models/montimath/vanilla/SolEqu.m#L5
Da ist ein Fehler drin.
Die Zeile
```
Q^{3,1} A = [3 6 2; 1 2 8; 7 9 4] \\ [2;3;4];
```
müsste
```
Q^{3,1} A = [3 6 2; 1 2 8; 7 9 4] \ [2;3;4];
```
lauten; siehe
https://de.mathworks.com/help/matlab/ref/mldivide.html
@jean\-marc.ronck, @bram.kohlen, @armin.mokhtarian: Könnt ihr die Grammatik bitte so anpassen, dass sich das Beispiel Regelkonform parsen lassen?Jean-Marc RonckJean-Marc Ronckhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/3No boolen constants available2020-07-02T19:29:49+02:00Malte HeithoffNo boolen constants availableIn an "implementation Math" block you cannot write:
portA = true;
Only
portA = 1;
works.In an "implementation Math" block you cannot write:
portA = true;
Only
portA = 1;
works.Sascha Niklas SchneidersSascha Niklas Schneidershttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/CNNArch2Caffe2/-/issues/1CI einrichten2018-06-13T21:44:32+02:00Evgeny KusmenkoCI einrichtenCarlos Alfredo Yeverino RodriguezCarlos Alfredo Yeverino Rodriguez2018-06-13