Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • E EMAM2MQTT
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • monticore
  • EmbeddedMontiArcEmbeddedMontiArc
  • generators
  • EMAM2MQTT
  • Issues
  • #21
Closed
Open
Issue created Aug 12, 2019 by Alexander David Hellwig@alexander.hellwigOwner11 of 11 checklist items completed11/11 checklist items

Tag parsing

Create a parser that can read .tag files and turn them into MQTTConnectionSymbols

Deliverables

EmbeddedMontiArc Project

In .../tagging/middleware/mqtt:

  • Add a MQTTConnectionsSymbolCreator similar to RosConnectionSymbolCreator

    • Goal: Read a .tag file, convert it into MQTTConnectionSymbols and add them the specified EMAPortSymbol or EMAPortInstanceSymbol. MontiCore/EmbeddedMontiArc automatically reads the file reading and preprocesses the data. Therefore you only need to implement a TagSymbolCreator
    • There should be no references to Ros in the new SymbolCreator. The main regex can be found in line 50.
    • Online java regex checker: http://www.regexplanet.com/advanced/java/index.html
  • Add a MQTTTagSchema similar to RosToEmamTagSchema

  • Add a Testcase similar to test/.../middleware/ros/TaggingTest.

    • you will need to add your Tag Schema to the tagging resolver here: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc/blob/master/src/test/java/de/monticore/lang/embeddedmontiarc/AbstractTaggingResolverTest.java#L56

EMAM2Middleware

Here we are waiting for the merge request (monticore/EmbeddedMontiArc/languages/EmbeddedMontiArc!18 (merged)) to proceed

  • pom.xml: Update the EmbeddedMontiArc dependency to the Version with your parser
  • DestributedTargetGeneratorCLI
    • resolve all MQTTConnectionSymbols from the Symbol table. Example for ros: here
    • the actual resolving is implemented here in RosCpp, you can choose in which Project you want to implement it.
  • Previous test case
    • Adapt: Don't hand add the MQTTConnectionSymbols, build a .tag file, use your TagHelper(or equivalent) to resolve the MQTTConnectionSymbols
    • Example for Ros: https://git.rwth-aachen.de/monticore/EmbeddedMontiArc/generators/EMAM2Middleware/blob/master/src/test/java/de/monticore/lang/monticar/generator/middleware/Ros2GenerationTest.java#L60 and line 64
Edited Aug 29, 2019 by Georg Vinogradov
Assignee
Assign to
Time tracking