phd thesis progress report - d3sd3s.mff.cuni.cz/.../download/2011-12-06-malohlava-phdreport.pdf ·...
TRANSCRIPT
![Page 1: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/1.jpg)
CHARLES UNIVERSITY IN PRAGUE
http://d3s.mff.cuni.cz
faculty of mathematics and physics
PhD Thesis Progress Report
Michal Malohlava [email protected]
![Page 2: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/2.jpg)
Clarification
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 2
Why?
Self-motivation to finish :-)
Your feedback is important
What do I expect?
What is your opinion?
Is it sound?
Any observation, notes,…
![Page 3: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/3.jpg)
Thesis Overall Strategy
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 3
Existing papers
Glue text
Prototype
PhD thesis
![Page 4: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/4.jpg)
Existing Papers
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 4
Selected papers (7/11+1) cover following domains
Meta-component systems
Component systems
DSL and code generation
RTSJ
![Page 5: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/5.jpg)
5
Extensible Polyglot
Programming Support in
Existing Component Frameworks
Constructing Domain-Specific
Component Frameworks
through Architecture Refinement
Constructing Domain-Specific
Component Frameworks
through Architecture Refinement
Introducing Distribution into
a RTSJ-based Component Framework
Introducing Distribution into a RTSJ-
based Component Framework
jPapabench (Exhaustive testing of
safety critical Java.)
Using DSL for Automatic
Generation of Software
Connectors Q-ImPrESS
Using a Product Line for Creating
Component Systems
Interoperable DSL Families for Code
Generation
![Page 6: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/6.jpg)
The Plan
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 6
Identify driving idea
Research questions & objectives
Domain analysis
Solution
Evaluation
![Page 7: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/7.jpg)
The Plan
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 7
Identify driving idea
Research questions & objectives
Domain analysis
Solution
Evaluation
Using a Product Line for Creating
Component Systems
![Page 8: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/8.jpg)
Recap: Meta-component system
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 8
Using a Product Line for Creating Component
Systems Classical view of CBSE development
![Page 9: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/9.jpg)
Recap: Meta-component system
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 9
Meta-component system idea
Using a Product Line for Creating Component
Systems
![Page 10: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/10.jpg)
(Research/Technical) Questions
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 10
How to derive component system entities? Meta-model
Execution environment
Tools
What are main constituents of meta-component system?
How to achieve interoperability among the constituents?
![Page 11: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/11.jpg)
Thesis Objectives
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 11
Construction of execution environment
Models interoperability
![Page 12: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/12.jpg)
How to deal with missing parts…
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 12
Meta-model preparation
Rich meta-model (e.g., SOFA, AADL) adjusted via model aspects
Tools preparation
Open question ;-)
Eclipse platform can help
![Page 13: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/13.jpg)
Thesis Objectives
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 13
Construction of execution
environment
Models interoperability
WHERE TO BEGIN?
![Page 14: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/14.jpg)
The Plan
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 14
Identify driving idea
Research questions & objectives
Domain analysis
Solution
Evaluation
Introducing Distribution into a
RTSJ-based Component Framework
Introducing Distribution into
a RTSJ-based Component Framework
jPapabench (Exhaustive Testing of
Safety Critical Java.)
Extensible Polyglot Programming
Support in Existing Component Frameworks
Q-ImPrESS
![Page 15: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/15.jpg)
Domain Analysis
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 15
Each of the paper utilizes a kind of component system Helps to identify the major concepts&features used by case-studies
Simple light-weight form of “components” Different forms of execution
Model interpretation, compilation, hybrids
Configurability Runtime extension via aspects
Configurable target technology plain Java, RTSJ, SCJ
Various interconnected models Structure, model of code
Code generation
Introducing Distribution into
a RTSJ-based Component Framework
Introducing Distribution into
a RTSJ-based Component Framework
jPapabench (Exhaustive Testing of
Safety Critical Java.)
Extensible Polyglot Programming
Support in Existing Component Frameworks
Q-ImPrESS
![Page 16: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/16.jpg)
uSOFA
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 16
Already presented on the seminar
Recap Simplified (highly) extensible flat component model to construct runtime environments
No target technology explicitly assumed Requires technology mapping (OSGi, Java)
Variability configured via aspects
Implementation still in progress :-/
?
![Page 17: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/17.jpg)
uSOFA & Code Generation
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 17
Code generation is an inherent part of uSOFA
Typical example is an interceptor
? Incoming call
(modified) call
![Page 18: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/18.jpg)
Code Generation & Models Interoperability
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 18
Elements preparation in component-based systems
Interceptors Connectors
Every element has defined structure (e.g., ADL) and a model of code
Model of code requires information which is unknown during design time of element
E.g., signature of intercepted interface, number of connected clients
![Page 19: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/19.jpg)
Models Interoperability
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 19
Models are defined via a domain-specific language
Language is defined by a grammar
To describe various system’s models, used languages has to somehow interact
E.g., a model of code needs somehow to refer a model of structure
Static v. dynamic interaction
Interoperable DSL Families for Code
Generation
![Page 20: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/20.jpg)
Dynamic Interaction Approach
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 20
Elements generation described via 3 models
(Design time) Code pattern
Target code template referencing information stored in Architecture and Context descriptors
(Design time) Architecture description The structure of element
(Runtime) Context description Derived from the deployment model of application
![Page 21: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/21.jpg)
How does it work?
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 21
Code pattern is described by EPLang-* Small DSL which is targeted to be incorporated into another language (e.g., Java => EPLang-J)
Provides simple expressions – foreach , if, set, include to manipulate with expressions of target language
Provides language queries supporting interoperability
Traversing a destination AST (or a generic model) and transporting desired information
Similar to OCL or Xpath
![Page 22: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/22.jpg)
Queries
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 22
![Page 23: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/23.jpg)
Evaluation and Case studies
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 23
uSOFA
Simple watch example
Construction of OSGi, Guice application
Language interoperability
EPLang and connector generation
?
Interoperable DSL Families for Code
Generation
![Page 24: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/24.jpg)
What is still missing…
Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report 24
In text
State of the art, Conclusion
Section about uSOFA
In prototype
Finalize uSOFA implementation
![Page 25: PhD thesis progress report - D3Sd3s.mff.cuni.cz/.../download/2011-12-06-Malohlava-PhdReport.pdf · Clarification Michal Malohlava, D3S Seminar, 6/12/2011 PhD Thesis Progress Report](https://reader034.vdocuments.us/reader034/viewer/2022051600/5aadd7ff7f8b9adb688b9029/html5/thumbnails/25.jpg)
Thank you for your attention