connecting conceptual models using relational reference
play

Connecting Conceptual Models using Relational Reference Attribute - PowerPoint PPT Presentation

Ren Schne, Johannes Mey, Sebastian Ebert, Uwe Amann Connecting Conceptual Models using Relational Reference Attribute Grammars connector.relational-rags.eu October 16th 2020 Challenges when Designing Cyber-Physical Systems Distribution:


  1. René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann Connecting Conceptual Models using Relational Reference Attribute Grammars connector.relational-rags.eu October 16th 2020

  2. Challenges when Designing Cyber-Physical Systems Distribution: transparent communication with locally and remotely accessible models Multi-Paradigm: support for different paradigms and (programming as well as modelling) languages Fast, reactive behaviour: changes in input lead to automatic re-computation for fast reaction Connecting Conceptual Models using Relational Reference Attribute Grammars 2 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  3. Challenges when Designing Cyber-Physical Systems Hardware controller Distribution: transparent communication with locally and remotely accessible models Multi-Paradigm: support for different paradigms and (programming as well as modelling) languages Fast, reactive behaviour: changes in input lead to automatic re-computation for fast reaction Software robot controller Application logic Connecting Conceptual Models using Relational Reference Attribute Grammars 2 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  4. Challenges when Designing Cyber-Physical Systems Application modeller Electrical engineer Safety expert Distribution: transparent communication with locally and remotely accessible models Multi-Paradigm: support for different paradigms and (programming as well as modelling) languages Fast, reactive behaviour: changes in input lead to automatic re-computation for fast Mechanical engineer reaction Connecting Conceptual Models using Relational Reference Attribute Grammars 2 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  5. Challenges when Designing Cyber-Physical Systems Distribution: transparent communication with locally and remotely accessible models Multi-Paradigm: support for different paradigms and (programming as well as modelling) languages Fast, reactive behaviour: changes in input lead to automatic re-computation for fast reaction Connecting Conceptual Models using Relational Reference Attribute Grammars 2 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  6. Use Case: An Robotic Application Connecting Conceptual Models using Relational Reference Attribute Grammars 3 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  7. Use Case: An Robotic Application RAG Safety Model External RAG Model Application Model Robot Controller state/part/7 speed trajectory Connecting Conceptual Models using Relational Reference Attribute Grammars 3 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  8. Use Case: Relational RAG [Mey2020] Safety Model RobotArm SafetyModel ZoneModel RAG NewSpeed Safety Model External SafetyZones * RAG * Model Application Model * Robot Link EndEffector Coordinate Zone Controller Name Position CurrentPosition state/part/7 speed trajectory Model ::= RobotArm ZoneModel ; ZoneModel ::= < Size:IntPosition > SafetyZone:Zone * ; Zone ::= Coordinate * ; RobotArm ::= Link * EndEffector / < NewSpeed:double > / ; Link ::= < Name:String > < CurrentPosition:IntPosition > ; EndEffector : Link ; Coordinate ::= < Position:IntPosition > ; [Mey2020] Johannes Mey, René Schöne, Görel Hedin, Emma Söderberg, Thomas Kühn, Niklas Fors, Jesper Öqvist, and Uwe Aßmann. Relational Reference Attribute Grammars: Improving Continuous Model Validation. Journal of Computer Languages (Jan. 2020). https://doi.org/10.1016/j.cola.2019.100940 Connecting Conceptual Models using Relational Reference Attribute Grammars 4 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  9. Use Case: Relational RAG [Mey2020] Safety Model syn boolean RobotArm.isInSafetyZone () { RAG for (Link link : getLinkList ()) Safety Model if (model (). getZoneModel () External .isInSafetyZone(link.getCurrentPosition ())) RAG Model return true ; Application Model Robot return model (). getZoneModel (). isInSafetyZone( Controller getEndEffector (). getCurrentPosition ()); } state/part/7 syn boolean ZoneModel.isInSafetyZone(IntPosition pos) { for (Zone sz : getSafetyZoneList ()) speed for (Coordinate coordinate : sz.getCoordinateList ()) trajectory if (coordinate.getPosition (). equals(pos)) return true ; return false ; } syn double RobotArm.getNewSpeed () { return isInSafetyZone () ? LOW_SPEED : NORMAL_SPEED; } [Mey2020] Johannes Mey, René Schöne, Görel Hedin, Emma Söderberg, Thomas Kühn, Niklas Fors, Jesper Öqvist, and Uwe Aßmann. Relational Reference Attribute Grammars: Improving Continuous Model Validation. Journal of Computer Languages (Jan. 2020). https://doi.org/10.1016/j.cola.2019.100940 Connecting Conceptual Models using Relational Reference Attribute Grammars 4 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  10. Use Case: Relational RAG [Mey2020] Safety Model syn boolean RobotArm.isInSafetyZone () { RAG for (Link link : getLinkList ()) Safety Model if (model (). getZoneModel () External .isInSafetyZone(link.getCurrentPosition ())) RAG Model ? return true ; Application Model Robot return model (). getZoneModel (). isInSafetyZone( Controller getEndEffector (). getCurrentPosition ()); } state/part/7 syn boolean ZoneModel.isInSafetyZone(IntPosition pos) { for (Zone sz : getSafetyZoneList ()) speed for (Coordinate coordinate : sz.getCoordinateList ()) trajectory if (coordinate.getPosition (). equals(pos)) return true ; return false ; } syn double RobotArm.getNewSpeed () { return isInSafetyZone () ? LOW_SPEED : NORMAL_SPEED; } [Mey2020] Johannes Mey, René Schöne, Görel Hedin, Emma Söderberg, Thomas Kühn, Niklas Fors, Jesper Öqvist, and Uwe Aßmann. Relational Reference Attribute Grammars: Improving Continuous Model Validation. Journal of Computer Languages (Jan. 2020). https://doi.org/10.1016/j.cola.2019.100940 Connecting Conceptual Models using Relational Reference Attribute Grammars 4 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  11. Idea: Explicit Specification of Connections RAG Safety Model External RAG Model S Application Model Robot Controller R state/part/7 S speed R trajectory R Connecting Conceptual Models using Relational Reference Attribute Grammars 5 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  12. Idea: Explicit Specification of Connections RAG Safety Model External RAG Model S Application Model Robot Controller S R state/part/7 S speed R trajectory R R Connecting Conceptual Models using Relational Reference Attribute Grammars 5 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  13. Solution: The DSL “RagConnect” receive Link.CurrentPosition using ParseState , Transform; R ParseState maps byte [] bytes to RobotState {: return RobotState.parseFrom(bytes); :} Transform maps RobotState rs to IntPosition {: RobotState.Position p = rs.getPosition (); return IntPosition.of(( int ) (Math.round(p.getX() * 2)), ( int ) (Math. round(p.getY() * 2)), ( int ) (Math.round(p.getZ() * 2 - 0.5))); :} send RobotArm.NewSpeed using S CreateSpeedMessage , SerializeRobotConfig; Connecting Conceptual Models using Relational Reference Attribute Grammars 6 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  14. Solution: The DSL “RagConnect” receive Link.CurrentPosition using ParseState , Transform; R ParseState maps byte [] bytes to RobotState {: return RobotState.parseFrom(bytes); :} Transform maps RobotState rs to IntPosition {: RobotState.Position p = rs.getPosition (); return IntPosition.of(( int ) (Math.round(p.getX() * 2)), ( int ) (Math. round(p.getY() * 2)), ( int ) (Math.round(p.getZ() * 2 - 0.5))); :} send RobotArm.NewSpeed using S CreateSpeedMessage , SerializeRobotConfig; Connecting Conceptual Models using Relational Reference Attribute Grammars 6 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  15. Solution: The DSL “RagConnect” receive Link.CurrentPosition using ParseState , Transform; R ParseState maps byte [] bytes to RobotState {: return RobotState.parseFrom(bytes); :} Transform maps RobotState rs to IntPosition {: RobotState.Position p = rs.getPosition (); return IntPosition.of(( int ) (Math.round(p.getX() * 2)), ( int ) (Math. round(p.getY() * 2)), ( int ) (Math.round(p.getZ() * 2 - 0.5))); :} send RobotArm.NewSpeed using S CreateSpeedMessage , SerializeRobotConfig; Connecting Conceptual Models using Relational Reference Attribute Grammars 6 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

  16. Solution: The DSL “RagConnect” receive Link.CurrentPosition using ParseState , Transform; R ParseState maps byte [] bytes to RobotState {: return RobotState.parseFrom(bytes); :} shared Transform maps RobotState rs to IntPosition {: by both RobotState.Position p = rs.getPosition (); models return IntPosition.of(( int ) (Math.round(p.getX() * 2)), ( int ) (Math. round(p.getY() * 2)), ( int ) (Math.round(p.getZ() * 2 - 0.5))); :} send RobotArm.NewSpeed using S CreateSpeedMessage , SerializeRobotConfig; Connecting Conceptual Models using Relational Reference Attribute Grammars 6 / 12 René Schöne, Johannes Mey, Sebastian Ebert, Uwe Aßmann October 16th 2020

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend