EN FR
EN FR


Section: Overall Objectives

Overall Objectives

The Phoenix research group and its predecessor, Compose, have pioneered principles and techniques in Domain-Specific Languages (DSLs) [33] , [28] , and validated the DSL approach in a wide range of application areas, including operating systems  [41] , [45] , [46] , networking  [29] , [49] , telecommunications  [38] , [43] , and multimedia streaming  [27] , [50] . Although successful, the DSL approach is still mostly confined to specific application areas; its dissemination is often impeded by a syntactic and semantic gap with mainstream programming languages; and, most DSLs suffer from much rudimentary programming support and development environments, compared to their industrial-strength equivalent for mainstream programming languages.

To pursue further our research in DSLs, in 2008, we set out to combine the benefits of the DSL approach with the rich support of mainstream programming languages. Combining the DSL approach with a mainstream programming language is aimed to bring high-level, domain-specific concepts into programming, while leveraging high-quality compilers, opulent integrated-development environments, and massive APIs. To maximally leverage the existing language support, this combination should not impact the mainstream language, and thus preclude language embedding.

Specifically, our overall goal is to introduce a design-driven approach to software development, allowing a software system to be designed prior to being programmed. Our approach is meant to be programming-language inspired, defining syntax and semantics for the design language, and leveraging a design artifact to verify conformance properties and to generate programming support.