Presentation is loading. Please wait.

Presentation is loading. Please wait.

INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.

Similar presentations


Presentation on theme: "INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006."— Presentation transcript:

1 INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006

2 2INRIA - LaBRI Charles Consel Jan-06 Domain-Specific Knowledge Program family: – Commonalities – Variations Goals – Software automation – Software robustness Example: telephony services – Domain concepts and terminology – Domain regulations – Protocol rules – Programming interfaces – Frameworks… Key observation: In software engineering, domain-specific knowledge is technology centric

3 3INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge Libraries Software components … Knowledge encoded in – Operations – Glue code Gap between a solution and operations Policies not enforceable

4 4INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge Libraries Software components … Middleware Knowledge encoded in – Run-time – State – Glue code Not so domain specific Policies more enforceable (run time cost)

5 5INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge Libraries Software components … AOP Meta programming … Middleware Knowledge encoded in – Transformations – Program structure Maybe difficult to – Encode – Debug Tool trade-off between – Expressivity – Safety Dependant on program structure

6 6INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge Libraries Software components … AOP Meta programming … Middleware GPL Knowledge encoded in – Design patterns – Coding rules Policies not enforceable

7 7INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge GP Modeling Libraries Software components … AOP Meta programming … Middleware GPL Knowledge encoded in – Notations (non-std) – Transformations Nature: mostly graphic Not executable Manual code generation DS verification difficult because GP modeling

8 8INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware GPL Knowledge encoded in – Notations – Transformations Simple  software config. Rich  manual code generation

9 9INRIA - LaBRI Charles Consel Jan-06 Technology-Centric Software Engineering Domain-Specific Knowledge Modeling Libraries Software components … AOP Meta programming … Middleware GPL DS knowledge

10 10INRIA - LaBRI Charles Consel Jan-06 Generating Code From Models Modeling Libraries Software components … AOP Meta programming … Middleware GPL Domain-Specific Knowledge

11 11INRIA - LaBRI Charles Consel Jan-06 A Layered Approach To Code Generation Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware DSL GPL What How DSMLs (more abstract DSLs) cover sub-domains/views targets the DSL DSL covers a domain checks domain properties generate implementation

12 12INRIA - LaBRI Charles Consel Jan-06 An Example in Telephony Services Domain-Specific Knowledge VSPL Libraries Software components … AOP Meta programming … Middleware SPL GPL What How ……

13 13INRIA - LaBRI Charles Consel Jan-06 Modeling Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware DSL GPL What How Modeling (specification) DS notations Graphical/textual DS constraints  DS transformations

14 14INRIA - LaBRI Charles Consel Jan-06 Domain-Specific Languages Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware DSL GPL What How DSL DS constructs DS semantics DS verifications  DS compilation via generative programming  DS architecture/middleware

15 15INRIA - LaBRI Charles Consel Jan-06 Generative Programming Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware DSL GPL What How Generative programming DS transformations DS optimizations DS aspect languages

16 16INRIA - LaBRI Charles Consel Jan-06 Software Components Domain-Specific Knowledge DS Modeling Libraries Software components … AOP Meta programming … Middleware DSL GPL What How Re-use Configuration Optimization

17 17INRIA - LaBRI Charles Consel Jan-06 Final Remarks Need for DS well-recognized in industry Each technology – Well matured – Well tooled Cross-technology approach: high potentials Research topics in – Bridging the technologies – Tooling the bridges – Working on case studies


Download ppt "INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006."

Similar presentations


Ads by Google