1 / 17

Domain-Specific Software Engineering

Domain-Specific Software Engineering. Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs. January 2006. Domain-Specific Knowledge. Program family: Commonalities Variations Goals Software automation Software robustness Example: telephony services Domain concepts and terminology

kane
Download Presentation

Domain-Specific Software Engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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 Charles Consel Jan-06

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  17. 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 Charles Consel Jan-06

More Related