Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to...
-
Upload
daisy-conley -
Category
Documents
-
view
236 -
download
0
description
Transcript of Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to...
![Page 1: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/1.jpg)
1
Supervised By: Dr. Juergen DingelSuchita Ganesan, Laith “Leo” Juwaidah, Nondini DasMadiha Kazmi, Mojtaba Bagherzadeh
Model-Based Monitoring for PapyrusRT
![Page 2: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/2.jpg)
2
• Introduction to MDE•UML-RT and PapyrusRT• Research project goals• Implementation details•Demo• Challenges and Solutions•Next steps•Questions
Outline
![Page 3: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/3.jpg)
3
The Problem
![Page 4: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/4.jpg)
4
• Code is generated from model
• Documentation and code are always in sync
• Forces in-depth analysis of requirements
Why MDE?
![Page 5: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/5.jpg)
5
UML-RT and PapyrusRT
![Page 6: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/6.jpg)
6
• UML is enormously convenient for communicating design concepts
• Real time systems are huge and complex
• UML-RT is a profile of UML for real-time embedded systems
• Supports encapsulation and reuse
Why UML-RT?
![Page 7: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/7.jpg)
7
Structure
![Page 8: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/8.jpg)
8
Behaviour
![Page 9: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/9.jpg)
9
• UML-RT
• Open source Eclipse plugin
• Real-time variation
PapyrusRT
![Page 10: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/10.jpg)
10
Research Project Goals
![Page 11: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/11.jpg)
11
• UML-RT profile allows the specification of timing and resource information in the model• Determining the correctness of this information on the
model-level is impossible
Problem Statement
![Page 12: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/12.jpg)
12
•Different components of a large-scale model often need to be integrated• Creating these models can be problematic
Problem Statement
![Page 13: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/13.jpg)
13
•Monitoring the generated code can be used for:• Model debugging• Model refinement• Runtime verification• Monitoring performance
Solution
![Page 14: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/14.jpg)
14
Implementation Overview
Monitoring UICode Generation
Trace Display
![Page 15: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/15.jpg)
15
Workflow
Run and trace the code with LTTng
Display traces on model level
Code-generation feature of PapyrusRT
UI for monitoring configuration
Model with Monitoring Information
MO
DEL
LEVE
LCO
DE L
EVEL
Generated Trace Files
Code with Tracepoint Files
UML-RT Model
Model with Trace Results
UI for monitoring configuration
![Page 16: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/16.jpg)
16
• Monitoring UI
Profiled Model
• Code Generation
LTTng-Ready Code
• Trace Display
Model with Trace Info.
Monitoring UI
![Page 17: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/17.jpg)
17
• Provide a monitoring UI
• Provide feedback
Monitoring UI – Goals
![Page 18: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/18.jpg)
18
Monitoring UI – Monitoring Configuration
![Page 19: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/19.jpg)
19
Monitoring UI – Overview
UML-RT Model in PapyrusRT
• PapyrusRT
Extract information from model
• SAX Parser
User selects the elements to be
monitored
• Eclipse Plugin
Update the stereotypes of
selected elements
• UML Profiles
![Page 20: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/20.jpg)
20
• Created a UI for the user to select elements they want to monitor• Currently, the user is presented with a list of elements
• The UI updates the values of stereotype properties
• Indicate elements selected to be monitored
Monitoring UI – Current Progress
![Page 21: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/21.jpg)
21
• Monitoring UI
Profiled Model
• Code Generation
LTTng-Ready Code
• Trace Display
Model with Trace Info.
Code Generation
![Page 22: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/22.jpg)
22
• Modify the code generator to produce LTTng-ready code
Code Generation – Goals
![Page 23: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/23.jpg)
23
Capsule_Workstation::State Capsule_Workstation::state_____top__Workstation_Producing( const UMLRTMessage * msg ){ tracepoint( ActiveState__Workstation__Workstation_Producing_provider, ActiveState__Workstation__Workstation_Producing_tracepoint, "ActiveState__Workstation__Workstation_Producing" ); switch( msg->destPort->role()->id ) { case port_ProductionTimer: switch( msg->getSignalId() ) { case UMLRTTimerProtocol::signal_timeout: tracepoint( MessageReceived__Workstation__Workstation_finished_provider, MessageReceived__Workstation__Workstation_finished_tracepoint, "MessageReceived__Workstation__Workstation_finished" ); actionchain_____top__Workstation_finished__ActionChain4( msg ); return top__Workstation_Standby; default: this->unexpectedMessage(); break; } return currentState; default: this->unexpectedMessage(); break; } return currentState;}
Code Generation – Example
![Page 24: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/24.jpg)
24
• Monitoring profile
• Custom stereotypes
• Interface with the UI
• Extend the code generator
Code Generation – Approach
![Page 25: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/25.jpg)
25
Profiled model
• UML profiles
Add tracepoints
to code• Xtend
Generate LTTng-ready
code• LTTng
Code Generation – Overview
![Page 26: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/26.jpg)
26
• Created profiles with stereotypes for behavioural elements
• Add trace points to behavioural elements
• Generate LTTng ready code
Code Generation – Current Progress
![Page 27: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/27.jpg)
27
• Monitoring UI
Profiled Model
• Code Generation
LTTng-Ready Code
• Trace Display
Model with Trace Info.
Trace Display
![Page 28: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/28.jpg)
28
• Monitor generated code
• Collect the monitoring information
• Display the traces on the model
Trace Display – Goals
![Page 29: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/29.jpg)
29
Trace Display – Overview
Append LTTng script to the
code generator• Xtend
Run the generated code
and generate trace file
• LTTng
Parse the trace file
• Trace Compass
Display traces on the model
• Eclipse Plugin
![Page 30: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/30.jpg)
Trace Display – Current Progress
30
• Wrote a script to automate the monitoring process• The script is generated along with the code
• Using Trace Compass library to parse the generated trace file
• Trace results are displayed on the model
![Page 31: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/31.jpg)
31
Demo
![Page 32: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/32.jpg)
32
• Top capsule contains Control Software and Production Line capsules• Control Software controls other capsules• Production Line contains Workstation and Robot
capsules• Workstation capsule produces widgets• Robot capsule delivers widgets
Widget Production
![Page 33: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/33.jpg)
33
• PapyrusRT is work in progress• Communication with the developers
• Defining an interface for the process flow• Decided with creation of profiles
• Unfamiliarity with Eclipse plugin development• Various approaches
• Accessing elements in the active editor• Still unsolved
Challenges and Solutions
![Page 34: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/34.jpg)
34
• Monitoring UI• Provide UI for monitoring structural elements• Replace lists of elements with a friendlier UX• Eliminate the need to specify files
• Code generation• Monitoring structural components• Support different types of monitoring
• Monitoring and displaying of results• Support live and network tracing• Improve the UI• Switching between diagrams as necessary• Analysis of trace
Next Steps
![Page 35: Mission Dignity Catalogue code: A15 Full presentation or module? Module Slide numbers: A15-1 to A15-3 Registered/Non-Registered Usage: All (Choices: registered.](https://reader035.fdocuments.net/reader035/viewer/2022081503/5a4d1ae07f8b9ab059976bb3/html5/thumbnails/35.jpg)
35
Questions