EmbeddedMontiArc issueshttps://git.rwth-aachen.de/groups/monticore/EmbeddedMontiArc/-/issues2019-08-23T14:35:18+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/21Integration into EMAM2Middleware2019-08-23T14:35:18+02:00Alexander David HellwigIntegration into EMAM2MiddlewareIn EMAM2Middleware:
- pom.xml
- add the [dependency](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L103) of your mw generator
- (increment [project version](https://git.rwth...In EMAM2Middleware:
- pom.xml
- add the [dependency](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L103) of your mw generator
- (increment [project version](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/pom.xml#L12))
- New Class in de.monticore.lang.monticar.generator.middleware.impls
- Wrapper for your generator
- implements GeneratorImpl
- similar to [RosCppGenImpl](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/impls/RosCppGenImpl.java)
- Changes for [DistributedTargetGeneratorCli](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java)
- New Constant like [Line 47](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L47)
- also add to [getGeneratorNames()](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L89)
- add to [runGenerator](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/main/java/de/monticore/lang/monticar/generator/middleware/cli/DistributedTargetGeneratorCli.java#L164), ignoring TagSchema and TagHelper instructions for now
- Add a new Test Class
- Similar to [Ros2GenerationTest](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L17)
- 1 or more TestCases
- replace [resolveTags](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L28) with manual adding of your middleware Tags as in the previous Test cases
- add the [CPP](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L32) and your middleware generator
- compile the result using [gitlab-ci](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/.gitlab-ci.yml#L35) and your docker imagehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/20Prepare Templates for Integration2019-07-30T21:52:39+02:00Alexander David HellwigPrepare Templates for Integration- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/mont...- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L14
- add the IAdapter interface to the imported libraries: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L15
- Adapter.h.ftl/Adapter.cpp.ftl
- import the code generated by EMAM2CPP: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L8
- import the IAdapter interface to the imported libraries:https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L9
- implement the IAdapter interface: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L15https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/19Prepare Templates for Integration2019-08-25T17:33:55+02:00Alexander David HellwigPrepare Templates for Integration- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/mont...- CMake.ftl
- add the code generated by EMAM2CPP to the imported libraries(will replace the mock you used until now): https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L14
- add the IAdapter interface to the imported libraries: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl#L15
- Adapter.h.ftl/Adapter.cpp.ftl
- import the code generated by EMAM2CPP: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L8
- import the IAdapter interface to the imported libraries:https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L9
- implement the IAdapter interface: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl#L15Georg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/19Add deploy job to gitlab-ci2019-07-30T21:52:16+02:00Alexander David HellwigAdd deploy job to gitlab-ci- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- onl...- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- only deploy on master branch!(use only,except)
- only deployed changes can be used in other Projects(except if both artifacts are build on the same machine)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/18Add deploy job to gitlab-ci2019-07-28T15:26:31+02:00Alexander David HellwigAdd deploy job to gitlab-ci- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- onl...- Used to deploy the resulting jar to the se maven repository
- similar to [roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/.gitlab-ci.yml#L5)
- remove maven goal sonar:sonar for now
- only deploy on master branch!(use only,except)
- only deployed changes can be used in other Projects(except if both artifacts are build on the same machine)Jannis Joachim TölleJannis Joachim Töllehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/17Fix Subscribers/Publishers(MQTT)2019-07-28T14:47:00+02:00Alexander David HellwigFix Subscribers/Publishers(MQTT)- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the MQTTConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `mqttIn`(from [here](https://git.rwth-aac...- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the MQTTConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `mqttIn`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/blob/16-add-basic-adapter-generation/src/main/resources/de/monticore/lang/monticar/generator/mqtt/template/Callback.cpp.ftl#L30))
- it must be possible to write to more than one port, since a MQTTConnectionSymbol could be added to each incomming Port. You might need to create multiple instances of Callback or multiple Callback classes.
- Publisher
- use variable port name instead of `mqttOut`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/blob/16-add-basic-adapter-generation/src/main/resources/de/monticore/lang/monticar/generator/mqtt/template/Adapter.cpp.ftl#L50))https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/18Fix Subscribers/Publishers(SomeIP)2019-09-23T08:36:50+02:00Alexander David HellwigFix Subscribers/Publishers(SomeIP)- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the SomeIPConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `someIPIn`(from [here](https://git.rwth...- make sure that the value published to/(read from) your middleware is read from/(written to) the Port the SomeIPConnectionSymbol is attached to
- Subscriber
- use variable port name instead of `someIPIn`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/master/src/main/resources/de/monticore/lang/monticar/generator/someip/template/Adapter.cpp.ftl#L50))
- it must be possible to write to more than one port, since a SomeIPConnectionSymbol could be added to each incomming Port. You might need to create multiple callback methods in the Adapter.
- Publisher
- use variable port name instead of `someIPOut`(from [here](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/blob/master/src/main/resources/de/monticore/lang/monticar/generator/someip/template/Adapter.cpp.ftl#L61)). You will need to generate multiple publish methods.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/17Remove example Adapter from Dockerfile2019-07-14T22:07:17+02:00Alexander David HellwigRemove example Adapter from Dockerfilehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Cpp/-/issues/32Issues with dynamic using2019-07-11T17:19:56+02:00Wei XuIssues with dynamic usingSome bugs occurred when dynamic ports are used in cooperative Autopilot development.
1. Generation of connecting method<br>
Duplicate Method for the copy of dynamic message inputs shows as follows:<br>
```js
dynamic component St...Some bugs occurred when dynamic ports are used in cooperative Autopilot development.
1. Generation of connecting method<br>
Duplicate Method for the copy of dynamic message inputs shows as follows:<br>
```js
dynamic component Statusduplicate{
ports
// copy statusmessage for dupilcate in ports
dynamic in Statusmessage status_msg[0:32],
dynamic out Statusmessage status_msg1[0:32],
...
out Statusmessage smsg;
@ status_msg::connect{/*interface for dynamic ports*/}
implementation Math{
for i = 1:32
if is_connected(status_msg,i)
smsg = status_msg(i);
if ports_connect(status_msg1, i, smsg)
status_msg1(i) = smsg;
end
....
end
end
}
}
```
Once the Statusduplicate component is instantiated is the structure like follows
```js
dynamic component Autopilot{
ports
dynamic in Statusmessage status_msg[0:32],
...
instance Statusduplicate s_dup;
instance Autopilot1 ap1;
@ status_msg::connect{
connect status_msg[?] -> s_dup.status_msg[?];
}
@ s_dup.status_msg1::connect{
connect s_dup.status_msg1 -> ap1.status_msg[?];
}
}
dynamic component Autopilot1{
ports
dynamic in Statusmessage status_msg[0:32],
...
instance Statusduplicate s_dup;
@ status_msg::connect{
connect status_msg[?] -> s_dup.status_msg[?];
}
}
```
the generated c++ file of Statusduplicate instance in Autopilot1 wont't contain the ports_connect methods.
2. When there are dynamic connects and static connects in one component, sometimes the execution order in generated c++ file is not correct, but it happens irregularly, so current the detailed problems cannot locate.
3. Generation of C++ files costs too long time when there are dynamic ports and connects in the model, the generation of around 4000 lines component costs over 10 hours(without dynamic using only 10 - 20 minutes), it may due to some redundant processes. Evgeny KusmenkoEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/-/issues/2Matrix type translation is not generated if the connectionsymbol contains a ...2022-04-28T12:58:53+02:00Alexander David HellwigMatrix type translation is not generated if the connectionsymbol contains a msgFieldAlexander David HellwigAlexander David Hellwighttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/server/-/issues/30Remote Procedure Call (RPC) not updating position at all2019-10-09T12:55:54+02:00ulfetRemote Procedure Call (RPC) not updating position at allUsing new commit in GitLab,\
while running the whole simulation,
RPC does not update the car(?)'s position at all.\
(This was also the case in the previous implementation where we were using SmartFoxServer).\
While I might be missing s...Using new commit in GitLab,\
while running the whole simulation,
RPC does not update the car(?)'s position at all.\
(This was also the case in the previous implementation where we were using SmartFoxServer).\
While I might be missing something along the lines,
I thought it is best to record this as an issue.
In the attachment one can found the logs from RMIServer(top-left), RPC (bottom-left), and restful (right column).
Also, here is the final install result of restful (it fails):\
`[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR] RemoteAutopilotServiceTest.isAvailable:40
[ERROR] ZookeeperRegistryTest.getSimulator:69
[ERROR] Errors:
[ERROR] RemoteAutopilotServiceTest.reserveAndRelease:54 » ZkNoNode org.apache.zookeepe...
[ERROR] ZookeeperRegistryTest.getAutopilot:40 » NoService
[ERROR] ZookeeperRegistryTest.releaseAll:83 » ZkNoNode org.apache.zookeeper.KeeperExce...
[INFO]
[ERROR] Tests run: 42, Failures: 2, Errors: 3, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:25 min
[INFO] Finished at: 2019-07-01T13:14:41+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project restful: There are test failures.
[ERROR]
[ERROR] Please refer to /home/ulfet/Desktop/github_projects/MontiSim/server/restful/target/surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] -> [Help 1]
...
`
![ss](/uploads/f07b213eaa8b55b52d3e67241678bfeb/ss.png)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArcDL/-/issues/6referenced components have an empty package name2019-07-01T11:34:40+02:00Baran Dalgicreferenced components have an empty package name## Problem
The type attribute of *EMAComponentInstanceSymbol* objects always returns a reference with an empty package name (empty string). This is also the case if the parent component has an explicit package. As a result, we are not a...## Problem
The type attribute of *EMAComponentInstanceSymbol* objects always returns a reference with an empty package name (empty string). This is also the case if the parent component has an explicit package. As a result, we are not able to assign tags
without fully qualifying the instance type.
## Example
The combination of this two models leads to an Alexnet instance with an empty package name instead of *tagging*.
[Alexnet.emadl](/uploads/83565010f980da674398a4cfe9ccc4a0/Alexnet.emadl)
[Parent.emadl](/uploads/7654661f3843f793c1ccb13043f19fb2/Parent.emadl)Evgeny KusmenkoEvgeny Kusmenkohttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/15Merge Dockerfile into master2019-07-12T14:16:33+02:00Alexander David HellwigMerge Dockerfile into masterClean up Project(with new subfolder for rosbridge)
or change the Dockerfile to use git clone so we dont have to host the rosbridge code
Merge your Dockerfile into masterClean up Project(with new subfolder for rosbridge)
or change the Dockerfile to use git clone so we dont have to host the rosbridge code
Merge your Dockerfile into masterhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/applications/carlacomponents/-/issues/14Fix/Create BumperBot2019-07-12T14:16:49+02:00Alexander David HellwigFix/Create BumperBothttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/16Add basic Adapter generation2019-07-12T11:57:14+02:00Alexander David HellwigAdd basic Adapter generationAdd basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/gener...Add basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl). Possible easiest if you implement your own MQTTMacro.ftl(reference: [RosMacros.ftl](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/RosMacros.ftl)) and use the original `Adapter.ftl`.
- Result should look or work similar to your example adapter .cpp and .h
- Assume all values are written/read as doubles for now(e.g. ignore all Matrix/Vector types, Struct Types)
- You can ignore all generics, for now
- The resulting class should should be named `MQTTAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In MQTTTemplates:
- A new constant + fill method pair for the new template(s)
- A new Class MQTTAdapterModel:
- can be based on the [RosAdapterModel](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosAdapterModel.java) in RosCpp
- should contain all information needed to generate the Adapter
- (escaped) name of the component instance
- MQTTPorts of the component
- Possibly grouped by incomming/outgoing(for subscribers/publishers respectivly)
- In MQTTGenerator:
- a method `+ List<File> generateAdapter(EMAComponentInstanceSymbol)` that generates the CMake file using the MQTTTemplate Class and the template Adapter.cpp.ftl and/or Adapter.h.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add MQTTConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File(s) with an expected result(AbstractSymtabTest::testFilesAreEqual)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/16Add basic Adapter Generation2019-07-14T17:30:39+02:00Alexander David HellwigAdd basic Adapter GenerationAdd basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/gener...Add basic generation of a Adapter .cpp and .h files
Deliverables:
- new Template Adapter.cpp.ftl and/or Adapter.h.ftl
- Can be based on Adapter.ftl template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/Adapter.ftl). Possible easiest if you implement your own SomeIPMacro.ftl(reference: [RosMacros.ftl](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/RosMacros.ftl)) and use the original `Adapter.ftl`.
- Result should look or work similar to your example adapter .cpp and .h
- Assume all values are written/read as doubles for now(e.g. ignore all Matrix/Vector types, Struct Types)
- You can ignore all generics, for now
- The resulting class should should be named `SomeIPAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In SomeIPTemplates:
- A new constant + fill method pair for the new template(s)
- A new Class SomeIPAdapterModel:
- can be based on the [RosAdapterModel](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosAdapterModel.java) in RosCpp
- should contain all information needed to generate the Adapter
- (escaped) name of the component instance
- SomeIPPorts of the component
- Possibly grouped by incomming/outgoing(for subscribers/publishers respectivly)
- In SomeIPGenerator:
- a method `+ List<File> generateAdapter(EMAComponentInstanceSymbol)` that generates the CMake file using the SomeIPTemplate Class and the template Adapter.cpp.ftl and/or Adapter.h.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add SomeIPConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File(s) with an expected result(AbstractSymtabTest::testFilesAreEqual)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/15Add basic CMake generation2019-07-10T12:55:39+02:00Alexander David HellwigAdd basic CMake generationAdd basic generation of a CMake File to compile an SomeIPAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMo...Add basic generation of a CMake File to compile an SomeIPAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl)
- Result should look similar to your example adapter's CMakeLists.txt
- The resulting compiled library should be named `SomeIPAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In SomeIPTemplates:
- A new constant + fill method pair for the template CMakeLists.ftl
- In SomeIPGenerator:
- a method `+ File generateCMake(EMAComponentInstanceSymbol)` that generates the CMake file using the SomeIPTemplate Class and the template CMakeLists.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add SomeIPConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File with an expected result(AbstractSymtabTest::testFilesAreEqual)https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/15Add CMake Generation2019-07-08T12:00:32+02:00Alexander David HellwigAdd CMake GenerationAdd basic generation of a CMake File to compile an MQTTAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMont...Add basic generation of a CMake File to compile an MQTTAdapter(e.g. your example Adapter)
Deliverables:
- new Template CMakeLists.ftl
- Can be based on CMake template in [EMAM2Roscpp](https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/template/CMakeLists.ftl)
- Result should look similar to your example adapter's CMakeLists.txt
- The resulting compiled library should be named `MQTTAdapter_${escapedCompName}`, where `${escapedCompName}` is `componentInstance.getFullName()` with all `.`, `[`,`]` replaced by `_`
- In MQTTTemplates:
- A new constant + fill method pair for the template CMakeLists.ftl
- In MQTTGenerator:
- a method `+ File generateCMake(EMAComponentInstanceSymbol)` that generates the CMake file using the MQTTTemplate Class and the template CMakeLists.ftl.
- Add a test case:
- as previously(Issue #13):
- parse a simple componentInstance
- manually add SomeIPConnectionSymbols with `EMAPortInstanceSymbol::setMiddlewareSymbol`
- call `generateCMake` on the componentInstance
- compare the resulting File with an expected result(AbstractSymtabTest::testFilesAreEqual)Mike GrüneMike Grünehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/12Checksum calculation for larger files fails2020-10-29T16:21:26+01:00Ghost UserChecksum calculation for larger files failsThe method `getChecksumForFile(...)` in file EMADLGenerator.java fails for larger files. It was executed on our training set (~2.0 GB) and failed.The method `getChecksumForFile(...)` in file EMADLGenerator.java fails for larger files. It was executed on our training set (~2.0 GB) and failed.https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/server/-/issues/29New Code2019-10-09T10:50:29+02:00Sabrina WolffNew CodeScreenshots for presentationScreenshots for presentationSecond SprintSabrina WolffMarkus HorlemannUta SkorzinskiSabrina Wolff