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

model level support for observation and steering
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 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

slide-2
SLIDE 2

Overview of the Current Development

Model Monitoring of timing constraints (LTTng) Model Animation in a 2D environment (Web-based) Model Animation in a 3D environment (Unity) Common denominator ?

Introduction and Motivation October, 2016 2 / 14

slide-3
SLIDE 3

Common Denominator (1): Model-based Approach

Model Code Generation Execution

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 ♦ . . . Allowing for monitoring and observation ✑ Monitoring different aspects of the system ✑ Animating the system execution for a better understanding ✑ Software-in-the-loop ✑ etc.

Introduction and Motivation October, 2016 3 / 14

slide-4
SLIDE 4

Common Denominator (2): Support for Monitoring

Code Execution Flow LTTng ev1 ev2 ∆T Unity Web ev3 ev4

Not only for observing the system execution. . . ✦ Each tool acts as an observer: ◮ Listens for specific events ◮ Does not disrupt the execution flow ◮ Consumer / Producer paradigm ♦ . . . but also for steering it ! ✦ Feed the system execution by injecting events from external tools.

✑ Need for a model-level support for observation and steering.

Introduction and Motivation October, 2016 4 / 14

slide-5
SLIDE 5

Contribution:

Model-based architecture for supporting observation and steering of UML-RT Models

and its integration into Papyrus-RT

slide-6
SLIDE 6

The Big Picture

Code Execution Flow

Monitoring

ev1 ev2 ∆T

Animation

ev3 ev4

Run-time Analysis and Verification

ev5 ev6

Simulation

A B

ev7 ev8

Steering

ev9 Concurrent Execution

Contribution The Big Picture October, 2016 6 / 14

slide-7
SLIDE 7

The Big Picture

Code Execution Flow

Monitoring

ev1 ev2 ∆T

Animation

ev3 ev4

Run-time Analysis and Verification

ev5 ev6

Simulation

A B

ev7 ev8

Steering

ev9 Concurrent Execution

Contribution The Big Picture October, 2016 6 / 14

slide-8
SLIDE 8

The Big Picture

Code Execution Flow

Monitoring

ev1 ev2 ∆T

Animation

ev3 ev4

Run-time Analysis and Verification

ev5 ev6

Simulation

A B

ev7 ev8

Steering

ev9 Concurrent Execution

Contribution The Big Picture October, 2016 6 / 14

slide-9
SLIDE 9

Implementation: Observer Capsule in UML-RT

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

Contribution Implementation October, 2016 7 / 14

slide-10
SLIDE 10

How it works: Observing

Observer

Capsule part 1 Capsule part 2 Capsule part 3

ev 1 ev 2 ev 3 ev 4

Monitoring Tool

LTTng . . . Running System

External Communication RTS Internal Communication

Legend Phase 2: Transmission

2 //. . . //

Phase 1: Event Initialization

1

Contribution Implementation October, 2016 8 / 14

slide-11
SLIDE 11

How it works: Steering

Observer

Capsule part 1 Capsule part 2 Capsule part 3

ev 1 ev 2 ev 3 ev 4

Monitoring Tool

LTTng . . . Running System

External Communication RTS Internal Communication

Legend Phase 1: Sending Events

1 //. . . //

Phase 2: Injecting Events

2

Contribution Implementation October, 2016 9 / 14

slide-12
SLIDE 12

How to Use: Preparing UML-RT Models

c1: C1 c2: C2 cobs: Observer pobs: Observation SAP pobs: Observation SPP

S1 S2 t: port.msg (param1, param2), pobs.mobs (param1, param2) [. ..] / do something. .. Observing: ◮ Observer capsule; ◮ SAP / SPP ports. ♦ Steering: ◮ Trigger duplication; ◮ Commands sent by the Observer capsule through this trigger.

Contribution Implementation October, 2016 10 / 14

slide-13
SLIDE 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

slide-14
SLIDE 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

slide-15
SLIDE 15

Infrastructure’s Challenges

◮ Distributed system monitoring ◮ Taming time ◮ Security

May open backdoors for intruders !

✑ Authorizing trustworthy tools only ✑ Preventing malicious software from altering the execution flow ✑ . . .

Contribution Challenges October, 2016 11 / 14

slide-16
SLIDE 16

Conclusion

slide-17
SLIDE 17

Summary of the Contributions

Rover Case Study (Ahmadi et al., OSS4MDE’16)

Model Code Generation Execution

Vision paper

(Das et al., Models’16)

Code Execution Flow Observer Execution Flow

Monitoring Tools (e.g. LTTng) Serious games (e.g. Unity) Animation Tools (e.g. Moka)

ev1 ev2 ev3 ev4 ev5 ev... ev... ev... ev... ev... ev... ev... ev... ev4

A B

Observer Architecture (Hili et al., Draft paper)

Conclusion October, 2016 13 / 14

slide-18
SLIDE 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

slide-19
SLIDE 19

Thank you ! Questions ?

Real observer