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

Slides:



Advertisements
Similar presentations
Charles Consel 1, Fabien Latry 1, and Julien Mercadal 1 IPTComm – July Phoenix Research Group INRIA / LaBRI Staging Telephony.
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
Filling the Gap Between System Design & Performance Verification Rafik HENIA, Laurent RIOUX, Nicolas SORDON Thales Research & Technology.
Model Driven Development: What went right? What went wrong? What needs to happen? Tony Clark Middlesex University London, UK
INRIA - LaBRICompose Group Generative Programming from a DSL Viewpoint Charles Consel Compose Research Group LaBRI – INRIA-Futurs 2004.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Software Reuse Building software from reusable components Objectives
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
Software Factory Assembling Applications with Models, Patterns, Frameworks and Tools Anna Liu Senior Architect Advisor Microsoft Australia.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
1 SWE Introduction to Software Engineering Lecture 5.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
On the Correctness of Model Transformations Gabor Karsai ISIS/Vanderbilt University.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Software Engineering Tools and Methods Presented by: Mohammad Enamur Rashid( ) Mohammad Rashim Uddin( ) Masud Ur Rahman( )
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Research in Compilers and How it Relates to Software Engineering Part III: Relation to SE Tomofumi Yuki EJCP 2015 June 22, Nancy.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Bridging the chasm between MDE and the world of compilation Nondini Das 1.
A Practical High Volume Software Product Line Peter Bell CEO/CTO SystemsForge ooPLSA ‘07 Peter Bell CEO/CTO SystemsForge ooPLSA ‘07.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Kestrel Tools for Producing Reliable Software: Synthesis and Analysis Kestrel Institute Palo Alto, California Douglas R. Smith.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Ævol : A Tool for Planning Architecture Evolution David Garlan & Bradley Schmerl Carnegie Mellon University.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
D O M A I N – D R I V E N D E V E L O P M E N T: Introduction i n g e n i e u r b ü r o f ü r s o f t w a r e t e c h n o l o g i e w w w. v o e l t e.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Generative Programming. Automated Assembly Lines.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
6 th OOPSLA Workshop on Domain-Specific Modeling /10/221 The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches
DSL Classification October 21-22, 2007 Benoît Langlois / Thales-EPM Consuela-Elena Jitia / Eric Jouenne, Thales Research & Technology The 7th OOPSLA Workshop.
DSLs: The Good, the Bad, and the Ugly Tihamér Levendovszky Institute for Software-Integrated Systems Vanderbilt University Nashville, TN.
Model Checking and Model-Based Design Bruce H. Krogh Carnegie Mellon University.
Roles in Software Development using Domain Specific Modelling Languages Holger Krahn, Bernhard Rumpe, Steven Völkel Software Systems Engineering Technische.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,
Resolving QoS Policy Configuration Challenges for Publish/Subscribe Middleware Platforms AFRL JBI PI Meeting.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
 Programming - the process of creating computer programs.
Parastoo Mohagheghi 1 A Multi-dimensional Framework for Characterizing Domain Specific Languages Øystein Haugen Parastoo Mohagheghi SINTEF, UiO 21 October.
Developing Product Line Components Jan Bosch Professor of Software Engineering University of Groningen, Netherlands
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester
© Fraunhofer IESE Fraunhofer IESE Multi-Language Development of Embedded Systems Dr. Thomas Kuhn Tel.:
SwE 455 Tutorial. What is Evolve? Evolve is a tool for defining components and connecting them together to form new components. Also provides a runtime.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
R-Verify: Deep Checking of Embedded Code James Ezick † Donald Nguyen † Richard Lethin † Rick Pancoast* (†) Reservoir Labs (*) Lockheed Martin The Eleventh.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
DSLs: The Good, the Bad, and the Ugly Charles Consel INRIA / University of Bordeaux.
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
2000 Research Overview Dr. Kim Mens Programming Technology Lab Vrije Universiteit Brussel.
Automaton-Based Approach for Defining Dynamic Semantics of DSLs Ulyana Tikhonova St. Petersburg State Polytechnical University,
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
Research topics: Mira Balaban
Is “Higher Level” Better?
System Concept Simulation for Concurrent Engineering
Constructing MDA-based Application Using Rational XDE for .NET
Chapter 7 –Implementation Issues
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture & Design
Presentation transcript:

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

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

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

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)

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

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

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

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

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

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

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

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 ……

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

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

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

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

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