Presentation is loading. Please wait.

Presentation is loading. Please wait.

INRIA - LaBRICompose Group 2004 1 Generative Programming from a DSL Viewpoint Charles Consel Compose Research Group LaBRI – INRIA-Futurs 2004.

Similar presentations


Presentation on theme: "INRIA - LaBRICompose Group 2004 1 Generative Programming from a DSL Viewpoint Charles Consel Compose Research Group LaBRI – INRIA-Futurs 2004."— Presentation transcript:

1 INRIA - LaBRICompose Group 2004 1 Generative Programming from a DSL Viewpoint Charles Consel Compose Research Group LaBRI – INRIA-Futurs 2004

2 2INRIA - LaBRI Compose Group 2004 Domain-Specific Languages: What Problem 1 Program 1 Problem 2 Program 2 Problem 3 Program 3 … Problem familyProgram family Problem Generator Program Application generator Preprocessor DSL compiler Specification Declaration DSL program

3 3INRIA - LaBRI Compose Group 2004 Unconventional, Domain-Specific Languages (1) Domain-specific notations and abstractions – Types (return value, SIP addr) – Exceptions (timers, resources…) Domain-specific verifications – No call loss – Valid state transition Domain-specific optimizations – Server state management Domain-specific code generation – Exception handling (multiple platforms) Domain-specific development tools – Textual tools – Graphical tools

4 4INRIA - LaBRI Compose Group 2004 Unconventional, Domain-Specific Languages (2) Examples of DSLs – Scripting languages Shell, AWK… (~) – Layer-oriented DSL XDR [ SUN ], Devil – Component-oriented DSL Plan-P, Bossa [ Muller & Lawall ], Call/C Benefits – Efficiency – Verification – Conciseness – Re-use – Productivity

5 5INRIA - LaBRI Compose Group 2004 Domain-Specific Languages: How Problem 1 Program 1 Problem 2 Program 2 Problem 3 Program 3 … Problem familyProgram family DSL Program Generator Program Representation Domain-specific information Domain-specific abstractions Exploitation Factorize / re-use Code/expertise/verification/treatment

6 6INRIA - LaBRI Compose Group 2004 Domain-Specific Languages: How Problem 1 Program 1 Problem 2 Program 2 Problem 3 Program 3 … Problem familyProgram family DSL Program Generator Program Representation Domain-specific information Domain-specific abstractions Exploitation Factorize / re-use Code/expertise/verification/treatment Generative Programming

7 7INRIA - LaBRI Compose Group 2004 Domain-Specific Languages: How Problem 1 Program 1 Problem 2 Program 2 Problem 3 Program 3 … Problem familyProgram family DSL Program Generator Program Representation Domain-specific information Domain-specific abstractions Exploitation Factorize / re-use Code/expertise/verification/treatment Encoding of expertise Generative Programming

8 8INRIA - LaBRI Compose Group 2004 From Program Family to Generative Programming: Declarations / AOP Declarations Generator Program DS info: declarations BT declarations AOP (call pattern/history) Program Processor Exploitation Verification Optimization Code generation

9 9INRIA - LaBRI Compose Group 2004 From Program Family to Generative Programming: Annotations Annotations Generator Program DS info: annotations Assertions Hints Program Processor Exploitation Verification Optimization Code generation

10 10INRIA - LaBRI Compose Group 2004 From Program Family to Generative Programming: Meta-Programming Transformer Generator Program DS info: transformer Extensions Program Exploitation Verification Optimization Code generation

11 11INRIA - LaBRI Compose Group 2004 From Program Family to Generative Programming DSL Program Generator Program Domain-specific information Domain-specific abstractions ( Re-)use of GP tools Semantic independent Restricted Reliable Predictable Technology independent Traded for reduced flexibility DeclarationsAnnotationsTransformer Complementary

12 12INRIA - LaBRI Compose Group 2004 Disclaimers Not the panacea: need for a program family Not fixed : need to evolve with the program family Not GPL expressivity: – Not embedded language: embedding rich run-time environment

13 13INRIA - LaBRI Compose Group 2004 Conventional vs. Unconventional Unconventional today  conventional tomorrow Unconventional today  gone tomorrow Examples: – Garbage collection – Objects Counter-examples – Parallelizing compilers – Language-based machine architectures


Download ppt "INRIA - LaBRICompose Group 2004 1 Generative Programming from a DSL Viewpoint Charles Consel Compose Research Group LaBRI – INRIA-Futurs 2004."

Similar presentations


Ads by Google