EmbeddedMontiArc issueshttps://git.rwth-aachen.de/groups/monticore/EmbeddedMontiArc/-/issues2019-06-17T19:14:03+02:00https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/11Enable multiple callbacks in one adapter2019-06-17T19:14:03+02:00Alexander David HellwigEnable multiple callbacks in one adapterIdea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternat...Idea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternatives, feel free to implement them insteadGeorg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/server/-/issues/24Maven Subproject2019-06-19T11:07:12+02:00Sabrina WolffMaven SubprojectWe were told to create a Maven Subproject of our project. Does anyone have any experience with Maven or know what we have to do specifically?We were told to create a Maven Subproject of our project. Does anyone have any experience with Maven or know what we have to do specifically?First SprintSimon KißmannSabrina WolffMarkus HorlemannUta SkorzinskiSimon Kißmannhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/server/-/issues/18Create a CharingStation class2019-06-19T11:07:51+02:00Markus HorlemannCreate a CharingStation classChargingStation class with attributs:
- location
- state (occupied/or not)
- timeLeft until it is not longer occupied
- consumption
methods:
- getter/setter
- calculate new consumption
- communication with the environment (map/autopilot)ChargingStation class with attributs:
- location
- state (occupied/or not)
- timeLeft until it is not longer occupied
- consumption
methods:
- getter/setter
- calculate new consumption
- communication with the environment (map/autopilot)Sabrina WolffMarkus HorlemannUta SkorzinskiSabrina Wolffhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/server/-/issues/7Synchronization2019-06-21T13:10:51+02:00Evgeny KusmenkoSynchronizationbetween sectorsbetween sectorsHengwen Zhanghengwen.zhang@rwth-aachen.deHengwen Zhanghengwen.zhang@rwth-aachen.dehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/hardware_emulator/-/issues/2Hardware Emulator can only be used once before restart2019-06-24T12:31:48+02:00Hengwen Zhanghengwen.zhang@rwth-aachen.deHardware Emulator can only be used once before restartThe bug should be at
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/hardware_emulator/blob/master/hardware_emulator/src/emulator/hardware_emulator.cpp#L157
The `manager.path` should be copied before calling `append`.The bug should be at
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/simulators/hardware_emulator/blob/master/hardware_emulator/src/emulator/hardware_emulator.cpp#L157
The `manager.path` should be copied before calling `append`.Jean MeuriceJean Meuricehttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/12Add MiddlewareSymbol to EmbeddedMontiArc2019-06-26T14:01:33+02:00Alexander David HellwigAdd MiddlewareSymbol to EmbeddedMontiArcDirectory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publishe...Directory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publisher/subscriber that connects a topic/service to a port.
It should be similar RosConnectionSymbol(e.g. extends MiddlewareSymbol)
Also adapt EMAPortSymbol and EMAPortInstanceSymbol(see isRosPort)
Remember to create a merge request and assigne it to meGeorg VinogradovGeorg Vinogradovhttps://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/generators/emam2mqtt/-/issues/13Add basic generator structure to project2019-07-01T13:18:20+02:00Alexander David HellwigAdd basic generator structure to projectReference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
ht...Reference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosCppTemplates.java
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/templateGeorg VinogradovGeorg Vinogradovhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2mqtt/-/issues/14Add to CI: Compile Adapter example2019-07-01T21:38:02+02:00Alexander David HellwigAdd to CI: Compile Adapter exampleCompile the example adapter with docker and add it to the CICompile the example adapter with docker and add it to the CIGeorg VinogradovGeorg Vinogradovhttps://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/emam2someip/-/issues/12Add MiddlewareSymbol to EmbeddedMontiArc2019-07-09T11:57:59+02:00Alexander David HellwigAdd MiddlewareSymbol to EmbeddedMontiArcDirectory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publishe...Directory: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/tree/master/src/main/java/de/monticore/lang/embeddedmontiarc/tagging/middleware
It should contain all information you need to generate a publisher/subscriber that connects a topic/service to a port.
It should be similar RosConnectionSymbol(e.g. extends MiddlewareSymbol)
Also adapt EMAPortSymbol and EMAPortInstanceSymbol(see isRosPort)
Remember to create a merge request and assigne it to meMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMADL2CPP/-/issues/5add translateToICube method2019-07-09T16:52:43+02:00Evgeny Kusmenkoadd translateToICube method- to generate ICubes for Z- to generate ICubes for ZSebastian NickelsSebastian Nickelshttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/13Add basic generator structure to project2019-07-09T18:48:52+02:00Alexander David HellwigAdd basic generator structure to projectReference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
ht...Reference: https://freemarker.apache.org/docs/index.html
See:
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/GeneratorRosCpp.java#L69
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/blob/master/src/main/java/de/monticore/lang/monticar/generator/roscpp/template/RosCppTemplates.java
https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2RosCpp/tree/master/src/main/resources/de/monticore/lang/monticar/generator/roscpp/templateMarkus Georg BendelMarkus Georg Bendelhttps://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/emam2someip/-/issues/14Add to CI: Compile Adapter example2019-07-09T18:49:07+02:00Alexander David HellwigAdd to CI: Compile Adapter exampleCompile the example adapter with docker and add it to the CICompile the example adapter with docker and add it to the CIMarkus Georg BendelMarkus Georg Bendelhttps://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/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/emam2someip/-/issues/11Enable multiple callbacks in one adapter2019-07-12T11:48:55+02:00Alexander David HellwigEnable multiple callbacks in one adapterIdea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternat...Idea: Encapsulate callback in Class:
Create Class with callback and add pointer to component in constructor. Create an object of this class in the init method of the adapter and register with middleware
If you can think of other alternatives, feel free to implement them insteadMarkus Georg BendelMarkus Georg Bendelhttps://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/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 BumperBot