model level support for observation and steering
play

Model-Level Support for Observation and Steering Nicolas Hili, - PowerPoint PPT Presentation

Model-Level Support for Observation and Steering Nicolas Hili, Mojtaba Bagherzadeh, Juergen Dingel {hili, mojtaba, dingel}@cs.queensu.ca School of Computing, Queens University, Kingston, Ontario, Canada Progress Report Meeting, Montreal


  1. Model-Level Support for Observation and Steering Nicolas Hili, Mojtaba Bagherzadeh, Juergen Dingel {hili, mojtaba, dingel}@cs.queensu.ca School of Computing, Queen’s University, Kingston, Ontario, Canada Progress Report Meeting, Montreal December, 2016

  2. Overview of the Current Development Model Animation in a 2D environment (Web-based) Common denominator ? Model Monitoring of timing constraints Model Animation in a 3D environment (LTTng) (Unity) Introduction and Motivation October, 2016 2 / 14

  3. Common Denominator (1): Model-based Approach Models as first-class artifacts. . . ✦ System is modeled in UML-RT: ◮ Code of the system is fully generated ◮ Don’t expose the complexity of the code Model ♦ Code Generation . . . Allowing for monitoring and observation ✑ Monitoring different aspects of the system ✑ Animating the system execution for a better Execution understanding ✑ Software-in-the-loop ✑ etc. Introduction and Motivation October, 2016 3 / 14

  4. Common Denominator (2): Support for Monitoring Not only for observing the system execution. . . ✦ Each tool acts as an observer : Code Execution ◮ Listens for specific events Flow ◮ Does not disrupt the execution flow ev1 ◮ Consumer / Producer paradigm ∆T ev2 LTTng ♦ ev3 Unity . . . but also for steering it ! ev4 ✦ Feed the system execution by injecting events from external tools. Web ✑ Need for a model-level support for observation and steering . Introduction and Motivation October, 2016 4 / 14

  5. Contribution: Model-based architecture for supporting observation and steering of UML-RT Models and its integration into Papyrus-RT

  6. The Big Picture Concurrent Execution ev1 Monitoring ∆T ev2 ev3 ev4 Animation ev7 A ev5 ev8 B Simulation ev6 Run-time Analysis and Verification ev9 Steering Code Execution Flow Contribution The Big Picture October, 2016 6 / 14

  7. The Big Picture Concurrent Execution ev1 Monitoring ∆T ev2 ev3 ev4 Animation ev7 A ev5 ev8 B Simulation ev6 Run-time Analysis and Verification ev9 Steering Code Execution Flow Contribution The Big Picture October, 2016 6 / 14

  8. The Big Picture Concurrent Execution ev1 Monitoring ∆T ev2 ev3 ev4 Animation ev7 A ev5 ev8 B Simulation ev6 Run-time Analysis and Verification ev9 Steering Code Execution Flow Contribution The Big Picture October, 2016 6 / 14

  9. Implementation: Observer Capsule in UML-RT What for ? What is it ? ✦ Gathering events from registered ✦ Capsule implemented in UML- capsules; RT; ✦ Rely on the SAP / SPP commu- ✦ Transmitting events to external nication; monitoring tools in a unified way; ✦ ✦ Intended to be integrated into Reversible: events can be in- the Papyrus-RT RunTime Service. jected into the running system. Contribution Implementation October, 2016 7 / 14

  10. How it works: Observing Legend Running System Phase 2: External Transmission Communication Capsule ev 1 RTS Internal part 1 Communication 2 ev 2 ev 3 Monitoring //. . . // Tool ev 4 Capsule 1 part 2 Phase 1: . . . Observer Capsule Event part 3 Initialization LTTng Contribution Implementation October, 2016 8 / 14

  11. How it works: Steering Legend Running System Phase 1: Sending External Events Communication Capsule ev 1 RTS Internal part 1 Communication 1 ev 2 ev 3 Monitoring //. . . // Tool ev 4 Capsule 2 part 2 Phase 2: . . . Observer Capsule Injecting part 3 Events LTTng Contribution Implementation October, 2016 9 / 14

  12. How to Use: Preparing UML-RT Models Observing: c2: C2 c obs : Observer ◮ Observer capsule; ◮ SAP / SPP ports. � p obs : Observation SPP SAP c1: C1 p obs : Observation ♦ Steering: t: port.msg (param1, param2), ◮ Trigger duplication; p obs .m obs (param1, param2) [. ..] / do something. .. ◮ Commands sent by S1 S2 the Observer capsule through this trigger. Contribution Implementation October, 2016 10 / 14

  13. Infrastructure’s Challenges ◮ Distributed system monitoring ◮ Taming time ◮ Security Monitoring distributed systems is a challenging problem. ✑ Different execution mechanisms ✑ Different clocks ✑ . . . Contribution Challenges October, 2016 11 / 14

  14. Infrastructure’s Challenges ◮ Distributed system monitoring ◮ Taming time ◮ Security Sometimes the execution is too long to be monitored. ✑ Alter the base time ✑ Alter / Pause the execution ✑ . . . Contribution Challenges October, 2016 11 / 14

  15. Infrastructure’s Challenges ◮ Distributed system monitoring ◮ Taming time May open backdoors for intruders ! ◮ Security ✑ Authorizing trustworthy tools only ✑ Preventing malicious software from altering the execution flow ✑ . . . Contribution Challenges October, 2016 11 / 14

  16. Conclusion

  17. Summary of the Contributions Model Code Generation Execution Rover Case Study (Ahmadi et al., OSS4MDE’16) Vision paper Code Execution Flow (Das et al., Models’16) ev1 ev... ev... Monitoring Tools ev2 (e.g. LTTng) ev... ev... ev3 ev... ev4 ev... Serious games (e.g. Unity) ev4 ev... ev... A B ev5 Animation Tools (e.g. Moka) Observer Execution Flow Observer Architecture (Hili et al., Draft paper) Conclusion October, 2016 13 / 14

  18. Use cases and Ongoing Work Different use cases: ◮ Run-time monitoring with LTTng: https://youtu.be/hi5wFC7X4h8 ◮ Run-time animation in a web-based environment: https://youtu.be/OMQxG33q3PQ ◮ Run-time animation in 3D environments with Unity (Michal) One demonstrator: ◮ The Rover System: https://youtu.be/hi5wFC7X4h8 Publications: ◮ Two accepted papers, one in the pipe, more to come Ongoing work: ◮ Model-based Debugging (Mojtaba) ◮ Run-Time Verification (Reza) Conclusion October, 2016 14 / 14

  19. Thank you ! Questions ? Real observer

Recommend


More recommend