25
CHARLES UNIVERSITY IN PRAGUE http://d3s.mff.cuni.cz faculty of mathematics and physics PhD Thesis Progress Report Michal Malohlava [email protected]

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

  • Upload
    vankien

  • View
    222

  • Download
    5

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

(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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Thank you for your attention