SlideShare a Scribd company logo
1 of 4
Download to read offline
Panel
                          DSLs: The Good, the Bad, and the Ugly1

                   Jeff Gray                                       Kathleen Fisher                               Charles Consel
 University of Alabama at Birmingham                           AT&T Labs, Inc. - Research              University of Bordeaux and INRIA
  Department of Computer Science                                  San Jose, CA USA                            Bordeaux, France
        Birmingham, AL USA
                                                              kfisher@research.att.com                     charles.consel@inria.fr
           gray@cis.uab.edu

               Gabor Karsai                                         Marjan Mernik                           Juha-Pekka Tolvanen
           Vanderbilt University                                   University of Maribor                             MetaCase
 Inst. for Software Integrated Systems                       Department of Computer Science                      Jyväskylä, Finland
            Nashville, TN USA                                       Maribor, Slovenia
                                                                                                              jpt@metacase.com
  gabor.karsai@vanderbilt.edu                                 marjan.mernik@uni-mb.si

ABSTRACT                                                                      1. Jeff Gray (Moderator)
A resurging interest in domain-specific languages (DSLs) has
                                                                              Biography: Jeff Gray is an Associate Professor in the
identified the benefits to be realized from customized languages
                                                                              Department of Computer and Information Sciences at the
that provide a high-level of abstraction for specifying a problem
                                                                              University of Alabama at Birmingham (UAB) where he co-
concept in a particular domain. Although there has been much
                                                                              directs the research in the Software Composition and
success and interest reported by industry practitioners and
academic researchers, there is much more work that is needed to               Modeling (SoftCom) laboratory. His research interests are
enable further adoption of DSLs.                                              in aspect-oriented software development, model-driven
    The goal of this panel is to separate the hype from the true              engineering, and generative programming. He is a 2007
advantages that DSLs provide. The panel discussion will offer
                                                                              NSF CAREER award winner in the area of evolution of
insight into the nature of DSL design, implementation, and
                                                                              domain-specific models. He also was awarded an IBM
application and summarize the collective experience of the panel
                                                                              Eclipse Innovation grant for research supporting testing
in successful deployment of DSLs. As a counterpoint to the
                                                                              tools for DSLs. Jeff is the 2008 Program co-Chair of the
current benefits of DSLs, the panel will strive to provide a fair and
                                                                              International Conference on Model Transformation (ICMT)
balanced assessment of the current state of the art of DSLs by
                                                                              and the 2009 Organizing Chair of AOSD.
pointing to the existing limitations and future work that is needed
to take the concept of DSLs to further heights.
                                                                              Panel Position: For over three decades, DSLs have assisted
    The assembled panelists are experts in the research and
                                                                              programmers and end-users by improving productivity
practice of DSLs and represent diverse views and backgrounds.
                                                                              through automation of common tasks. DSLs allow a
The panel is made up of industrial researchers, commercial tool
                                                                              programmer to concisely state a problem using abstractions
vendors, and academic researchers. The panelists have different
                                                                              and notations that closely fit the needs of a specific domain.
perspectives on the technical concerns of DSLs; e.g., half of the
panelists are proponents of textual DSLs and the other half has               Early examples include the languages from the 1970s for
                                                                              the Unix „make‟ tool and yacc.
experience in graphical notations representing visual languages.

                                                                              Despite the benefits offered by DSLs, there are several
Categories and Subject Descriptors
D.3.3 [Programming Languages]: Language Classification –                      limitations that hamper widespread adoption. In particular,
                                                                              the state of the art for DSL tools, in general, is several
Very high-level languages. D.2.6 [Software Engineering]:
Programming Environments – Programmer workbench.                              generations behind tool support provided by general-
                                                                              purpose languages like Java or C++. Many DSLs are
General Terms                                                                 missing even basic tools such as debuggers, testing engines,
Design, Languages
                                                                              and profilers. The lack of tool support can lead to leaky
                                                                              abstractions and frustration on the part of the DSL user.
Keywords
Domain-specific languages, metamodeling, Grammarware                          __________________________________
                                                                              1
                                                                                The title for this panel was inspired by Brent Hailpern and Perri Tarr‟s
Copyright is held by the author/owner(s).
OOPSLA’08, October 19–23, 2008, Nashville, Tennessee, USA.                    introduction to a special issue on model-driven development in IBM
ACM 978-1-60558-220-7/08/10.
                                                                              Systems Journal, 45(3), 2006, pp. 451-461.
Some of the questions that I would like to explore with the        3. Charles Consel
panel include the following: What is missing in current            Biography: Charles Consel is a professor of Computer
DSL tooling that is needed to push adoption of DSLs more           Science at University of Bordeaux and leads the Phoenix
heavily in general practice? Are the problems purely               research group at INRIA. His research interests are in
technical, or are there social and political forces at play? In    programming language semantics and implementation,
what domains do DSLs have the greatest success, and                software engineering and operating systems. His experience
where do they fail? Where do graphical languages offer             with DSLs spans over two decades, in the contexts of
benefits over textual DSLs, and vice versa? How is                 industry-sponsored projects and Ph.D. supervision. He has
evolution supported with respect to changes in the various         designed and implemented DSLs in a variety of areas,
definitions and tools?                                             including device drivers, programmable routers, and stream
                                                                   processing. Building on this experience, he has worked
2. Kathleen Fisher                                                 towards defining methodologies to design DSLs, assist in
Biography: Kathleen Fisher is a Principal Member of the            their development, and assess their practicality. His latest
Technical Staff at AT&T Labs Research, where she has               DSL, named VisuCom, is dedicated to the creation of
worked since receiving her Ph.D. in Computer Science               telephony services and has been successfully transferred to
from Stanford University in 1996. Her early work on the            the INRIA spin-off Siderion Technologies.
foundations of object-oriented languages led to the design
                                                                   Panel Position: The DSL approach has long been used with
of the class mechanism in Moby. The main thrust of her
                                                                   great success in both historical domains, such as telephony,
recent work has been in DSLs to facilitate programming
                                                                   and recent ones, such as Web application development.
with massive amounts of ad hoc data. Kathleen is Chair of
                                                                   And yet, from software engineering to programming
SIGPLAN, on the steering committee of CRA-W, an editor
                                                                   languages, there is a shared feeling that there is still much
of the Journal of Functional Programming, and chair of the
                                                                   work to do to make the DSL approach successful.
steering committee for the Commercial Uses of Functional
                                                                   Unlike General-purpose Programming Languages (GPLs)
Programming Workshop.
                                                                   that target trained programmers, a DSL revolves around a
Panel Position: In my years at AT&T, I have helped to
                                                                   domain: it originates from a domain and targets members of
design and build two DSLs: Hancock, a procedural
                                                                   this domain. Thus, a successful DSL should be some kind
language that facilitates processing massive transaction
                                                                   of a disappearing language; that is, one that is blended with
streams to build customer profiles, and PADS, a declarative
                                                                   some domain process. Achieving such a goal critically
language for describing ad hoc data formats from which a
                                                                   relies on the domain analysis and the language design. In
number of supporting tools can be automatically generated.
                                                                   my experience, these two phases are time consuming,
These two languages exhibit a number of the claimed
                                                                   human intensive and high risk. How can these two phases
benefits for DSLs. They raise the level of abstraction,
                                                                   be tooled? How much improvement can we expect?
making it easier for domain-experts with little coding
                                                                   A successful DSL is above all one that is being used. To
experience to write correct and efficient programs quickly.
                                                                   achieve this goal, the designer may need to downgrade,
Code in these languages is concise and readable, making it
                                                                   simplify and customize a language. In doing so, DSL
easier to read, understand, and maintain. PADS has the
                                                                   development contrasts with programming language research
additional benefit of being declarative, giving the compiler
                                                                   where generality, expressivity and power should
the freedom to generate multiple artifacts from a single
                                                                   characterize any new language. As a consequence,
description: a parser, a pretty-printer, a statistical analyzer,
                                                                   programming language experts may not be the perfect
a converter to XML, etc.
                                                                   match for developing a DSL. Does this mean that, for a
Although these advantages are real, there are also
                                                                   given domain, its members should be developing their own
difficulties in working with DSLs. People are generally
                                                                   DSL? Or, should there be a new community of language
reluctant to learn new languages, tool support for DSLs is
                                                                   engineers that bridge the gap between programming
poor, and it can be difficult to get DSLs to interoperate with
                                                                   language experts and members of a domain?
mainstream languages. These disadvantages mean that the
                                                                   Finally, in many respects, a DSL is often an over-simplified
motivation for a DSL has to be compelling for it to be
                                                                   version of a GPL: customized syntactic constructs, simple
successfully adopted. Challenges for the future of DSLs
                                                                   semantics, and by-design verifiable properties. These key
include improving education in programming languages so
                                                                   differences may raise concerns about a lack of tool support
that people are more comfortable learning new languages,
                                                                   for DSL development. Yet, there are many program
developing meta-tool infrastructure so that tools for DSLs
                                                                   manipulation tools (parser generators, editors, IDEs) that
can be created more easily, and improving facilities for
                                                                   can be easily customized for new languages, whether
language interoperability so programmers can shift freely
                                                                   textual or graphical. Furthermore, for a large class of DSLs,
between domain-appropriate languages.
                                                                   compilation amounts to producing code over a domain-
specific programming framework, and enabling the use of          5. Marjan Mernik
high-level transformation tools. Lastly, properties can often    Biography: Marjan Mernik is an Associate Professor at the
be checked by generic verification tools. Then, what is          Faculty of Electrical Engineering and Computer Science,
missing to develop DSLs? Do we need to have an                   University of Maribor, where he leads the Programming
integrated environment for DSL development, orchestrating        Methodologies laboratory. He has worked on several
a library of tools? Should there be a new breed of compiler      research     projects   on    programming     languages,
and verification generators matching the requirements of         grammarware, and evolutionary computation. Recently, his
DSLs?                                                            research has focused on DSLs. He is the co-author of the
                                                                 paper entitled “When and how to develop domain-specific
4. Gabor Karsai                                                  languages” (with Jan Heering and Tony Sloane, ACM
Biography: Gabor Karsai is a Professor of Electrical             Computing Surveys, 37(4), December 2005, pp. 316-344).
Engineering and Computer Science at Vanderbilt
                                                                 Panel Position: By providing notations and constructs
University, and Senior Research Scientist at the Institute for
                                                                 tailored toward a particular application domain, DSLs offer
Software-Integrated Systems. He has over twenty-five years
                                                                 substantial gains in expressiveness and ease of use
of experience in software engineering. He conducts
                                                                 compared with general-purpose languages for the domain in
research in the model-based design and implementation of
                                                                 question, with corresponding gains in productivity and
embedded systems, in programming tools for visual
                                                                 reduced maintenance costs. By reducing the amount of
programming environments, in the theory and practice of
                                                                 domain and software development expertise needed, DSLs
model-integrated computing, and in resource management
                                                                 open up their application to a larger group of software
and scheduling systems. He has worked on several research
                                                                 developers compared to general-purpose languages. These
projects in the recent past: on model-based integration of
                                                                 benefits have often been observed in practice and are
embedded systems whose resulting tools are being used in
                                                                 supported by quantitative studies, although perhaps not as
various embedded software development tool chains, on
                                                                 many as one would expect. The advantages of
advanced scheduling and resource management algorithms,
                                                                 specialization are equally valid for programming, modeling,
and on fault-adaptive control technology that has been
                                                                 and specification languages. However, DSLs are not a
transitioned into the aerospace industry.
                                                                 panacea for all software engineering problems, but their
                                                                 application is currently unduly limited. Below are my top-
Panel Position: DSLs are great because they could
                                                                 10 reasons why DSLs are not used more in industry:
potentially increase the productivity of engineers. Every
problem domain has a „language‟ in which it is easy,             1.  Cost-benefit analysis for a particular domain is hard to
natural, and self-evident to express problems (and possibly          perform. Is it worth the effort to develop a DSL? Often,
solutions) of the domain. Software designers are building            this decision is postponed or never answered.
custom abstractions in any case, and if there is an explicit     2. Lack of proper tool support (e.g., debuggers, test
form for using and applying those abstractions, and one              engines, profilers). Such tools are costly to build. Just
does not have to continually transcribe those into an                building a DSL compiler is not enough.
implementation language, then solutions require less effort.     3. Inadequate DSL support by existing Integrated
Such productivity increases have been observed since the             Development Environments (IDEs). Programmers want
days of Lisp macros (which could be used to define DSLs),            to work with existing IDEs that they are familiar with.
and novel developments (e.g., the use of Simulink/Stateflow      4. Poor interoperability with other languages. In industrial
by control software engineers) just reinforce the point.             projects, multiple languages are the norm rather than an
                                                                     exception.
There are some downsides of DSLs, however. One is that if
                                                                 5. Personal/social barriers: “I know Java, why should I
they are too easy to define, then there is a danger of their
                                                                     learn something else?”
unmanaged and uncontrollable proliferation on a project.
                                                                 6. Instability of design and implementation of DSLs (i.e.,
We need efficient and effective techniques for specifying
                                                                     frequent changes to DSL definition).
and implementing DSLs rapidly, but in such a way that their
                                                                 7. Improper education to general developer community
users can understand their semantics. The generative
                                                                     about DSL benefits (e.g., gains in productivity,
programming (program generation) community has come
                                                                     expressiveness, better possibility for analysis,
up with very nice solutions (in a functional language
                                                                     verification,    optimization,     parallelization,  and
context) for adding DSLs to a base language, but it is not
                                                                     transformation)
clear how this carries over to more traditional languages.
                                                                 8. Lack of proper semantic definition of DSLs.
Using a multitude of DSLs on a project unavoidably causes
                                                                 9. Poor documentation and training.
problems with DSL to DSL integration (i.e., composition),
                                                                 10. Limited knowledge and expertise on how to perform
as well as managing the DSL‟s evolution. That is, if the
                                                                     domain analysis and how the results of domain analysis
DSL changes how can we ensure that old „code‟ written
                                                                     can be used in DSL design and implementation.
using the „old‟ DSL remains (re-)usable with the new DSL?
6. Juha-Pekka Tolvanen
Biography: Juha-Pekka Tolvanen is the CEO of MetaCase.
He has been involved in model-driven approaches,
metamodeling, and domain-specific modeling languages
and tools since 1991. He has acted as a consultant
worldwide on modeling language and code generator
development. Juha-Pekka has authored a book on Domain-
Specific Modeling and written over sixty articles for
software development magazines and conferences. He holds
a Ph.D. in computer science and he is an adjunct professor
at the University of Jyvaskyla, Finland.
Panel Position: I have seen many times in industrial cases
how productivity has improved 500-1000% when
companies have moved to Domain-Specific Modeling. In
this panel I would like to discuss the key mechanisms that
make domain-specific (graphical, textual, matrix) languages
successful in practice. These include raising the level of
abstraction away from implementation (rather than mixing
levels with embedded DSLs), providing full code
generation in one step from integrated languages (rather
than having CIM-PIM-PSM mappings of MDA), defining
languages incrementally, and focusing on one company
situation only. The last is often the most crucial since trying
to build languages and generators for everybody is far more
difficult. In the modeling language area it has led to
creation of languages like UML and SySML that are tied to
the code level, do not raise the abstraction significantly, nor
provide possibilities for adequate code generation.
Obstacles to DSLs are often related to tooling and the
language design process. Many of the tools require man-
months, if not man-years, to implement, test, and share the
languages to developers. More importantly, tools often
totally ignore language evolution: too often models made
earlier can no longer be used when the metamodel changes.
Because this is naturally unacceptable in industry use it is
not surprising that most of the tools have not been applied
on a large scale. The second issue deals with the language
design process. Because most developers are creating their
first language, it is relevant to define and test languages
incrementally to reduce the risks, support evolution and
prepare the organization to work at a higher level of
abstraction. Recently, more industry cases and proven
practices for language design process have been reported,
which I will summarize at the panel.

More Related Content

Viewers also liked

การใช้งานโปรแกรม R เบื้องต้น
การใช้งานโปรแกรม R เบื้องต้นการใช้งานโปรแกรม R เบื้องต้น
การใช้งานโปรแกรม R เบื้องต้นKanda Runapongsa Saikaew
 
CARTA DE PRESENTACIÓN
CARTA DE PRESENTACIÓNCARTA DE PRESENTACIÓN
CARTA DE PRESENTACIÓNguestede8ae1b
 
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้Kanda Runapongsa Saikaew
 
ความรู้ไอทีช่วยเลี้ยงลูกได้
ความรู้ไอทีช่วยเลี้ยงลูกได้ความรู้ไอทีช่วยเลี้ยงลูกได้
ความรู้ไอทีช่วยเลี้ยงลูกได้Kanda Runapongsa Saikaew
 
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้Kanda Runapongsa Saikaew
 
Improving Software quality for the Modern Web
Improving Software quality for the Modern WebImproving Software quality for the Modern Web
Improving Software quality for the Modern WebEuan Garden
 
คู่มือการใช้ Google Docs
คู่มือการใช้ Google Docsคู่มือการใช้ Google Docs
คู่มือการใช้ Google DocsKanda Runapongsa Saikaew
 
คู่มือการใช้ Dropbox
คู่มือการใช้ Dropboxคู่มือการใช้ Dropbox
คู่มือการใช้ DropboxKanda Runapongsa Saikaew
 

Viewers also liked (14)

การใช้งานโปรแกรม R เบื้องต้น
การใช้งานโปรแกรม R เบื้องต้นการใช้งานโปรแกรม R เบื้องต้น
การใช้งานโปรแกรม R เบื้องต้น
 
Baby Health Journal
Baby Health Journal Baby Health Journal
Baby Health Journal
 
CARTA DE PRESENTACIÓN
CARTA DE PRESENTACIÓNCARTA DE PRESENTACIÓN
CARTA DE PRESENTACIÓN
 
Fotos Power Point
Fotos Power PointFotos Power Point
Fotos Power Point
 
Sam
SamSam
Sam
 
Google Apps Basic for Education
Google Apps Basic for Education Google Apps Basic for Education
Google Apps Basic for Education
 
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้
การใช้เฟซบุ๊กเพื่อแลกเปลี่ยนเรียนรู้
 
ความรู้ไอทีช่วยเลี้ยงลูกได้
ความรู้ไอทีช่วยเลี้ยงลูกได้ความรู้ไอทีช่วยเลี้ยงลูกได้
ความรู้ไอทีช่วยเลี้ยงลูกได้
 
Introduction to Google App Engine
Introduction to Google App EngineIntroduction to Google App Engine
Introduction to Google App Engine
 
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้
เครื่องมือเทคโนโลยีสารสนเทศฟรีที่น่าใช้
 
Improving Software quality for the Modern Web
Improving Software quality for the Modern WebImproving Software quality for the Modern Web
Improving Software quality for the Modern Web
 
คู่มือการใช้ Google Docs
คู่มือการใช้ Google Docsคู่มือการใช้ Google Docs
คู่มือการใช้ Google Docs
 
คู่มือการใช้ Dropbox
คู่มือการใช้ Dropboxคู่มือการใช้ Dropbox
คู่มือการใช้ Dropbox
 
Thai socialmedia
Thai socialmediaThai socialmedia
Thai socialmedia
 

Similar to Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly

Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)IT Industry
 
Word Tree Corpus Interface
Word Tree Corpus InterfaceWord Tree Corpus Interface
Word Tree Corpus InterfaceBen Showers
 
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...Benoit Combemale
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesAnkica Barisic
 
DSL, the absolute weapon for the development
DSL, the absolute weapon for the developmentDSL, the absolute weapon for the development
DSL, the absolute weapon for the developmentESUG
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)Benoit Combemale
 
ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentRui Curado
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data TypesKaty Allen
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Optionsdcambrid
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpRikki Wright
 
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docxA Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docxbartholomeocoombs
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Henry Muccini
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architecturesMajong DevJfu
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Javawiradikusuma
 

Similar to Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly (20)

Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)Automated Java Code Generation (ICDIM 2006)
Automated Java Code Generation (ICDIM 2006)
 
GroovyDSLs
GroovyDSLsGroovyDSLs
GroovyDSLs
 
Word Tree Corpus Interface
Word Tree Corpus InterfaceWord Tree Corpus Interface
Word Tree Corpus Interface
 
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
The Role of (Software) Languages in the Socio-Technical Coordination (Oct., 2...
 
DSL development
DSL developmentDSL development
DSL development
 
Metamorphic Domain-Specific Languages
Metamorphic Domain-Specific LanguagesMetamorphic Domain-Specific Languages
Metamorphic Domain-Specific Languages
 
Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
DSL, the absolute weapon for the development
DSL, the absolute weapon for the developmentDSL, the absolute weapon for the development
DSL, the absolute weapon for the development
 
On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)On the Globalization of Modeling Languages (June 8th, 2015)
On the Globalization of Modeling Languages (June 8th, 2015)
 
Introduction to MDE
Introduction to MDEIntroduction to MDE
Introduction to MDE
 
Unit ii oo design 9
Unit ii oo design 9Unit ii oo design 9
Unit ii oo design 9
 
ABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software DevelopmentABSE and AtomWeaver : A Quantum Leap in Software Development
ABSE and AtomWeaver : A Quantum Leap in Software Development
 
resume
resumeresume
resume
 
The Concept Of Abstract Data Types
The Concept Of Abstract Data TypesThe Concept Of Abstract Data Types
The Concept Of Abstract Data Types
 
Electronic Portfolio Technology Options
Electronic Portfolio Technology OptionsElectronic Portfolio Technology Options
Electronic Portfolio Technology Options
 
A Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And RlbpA Strong Object Recognition Using Lbp, Ltp And Rlbp
A Strong Object Recognition Using Lbp, Ltp And Rlbp
 
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docxA Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
A Survey on Domain-Specific Languages for Machine.pdfA Sur.docx
 
Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013Software architecture styles families_research_gssi_nov2013
Software architecture styles families_research_gssi_nov2013
 
15 implementing architectures
15 implementing architectures15 implementing architectures
15 implementing architectures
 
Practical OOP In Java
Practical OOP In JavaPractical OOP In Java
Practical OOP In Java
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 

Oopsla 2008 Panel Ds Ls The Good The Bad And The Ugly

  • 1. Panel DSLs: The Good, the Bad, and the Ugly1 Jeff Gray Kathleen Fisher Charles Consel University of Alabama at Birmingham AT&T Labs, Inc. - Research University of Bordeaux and INRIA Department of Computer Science San Jose, CA USA Bordeaux, France Birmingham, AL USA kfisher@research.att.com charles.consel@inria.fr gray@cis.uab.edu Gabor Karsai Marjan Mernik Juha-Pekka Tolvanen Vanderbilt University University of Maribor MetaCase Inst. for Software Integrated Systems Department of Computer Science Jyväskylä, Finland Nashville, TN USA Maribor, Slovenia jpt@metacase.com gabor.karsai@vanderbilt.edu marjan.mernik@uni-mb.si ABSTRACT 1. Jeff Gray (Moderator) A resurging interest in domain-specific languages (DSLs) has Biography: Jeff Gray is an Associate Professor in the identified the benefits to be realized from customized languages Department of Computer and Information Sciences at the that provide a high-level of abstraction for specifying a problem University of Alabama at Birmingham (UAB) where he co- concept in a particular domain. Although there has been much directs the research in the Software Composition and success and interest reported by industry practitioners and academic researchers, there is much more work that is needed to Modeling (SoftCom) laboratory. His research interests are enable further adoption of DSLs. in aspect-oriented software development, model-driven The goal of this panel is to separate the hype from the true engineering, and generative programming. He is a 2007 advantages that DSLs provide. The panel discussion will offer NSF CAREER award winner in the area of evolution of insight into the nature of DSL design, implementation, and domain-specific models. He also was awarded an IBM application and summarize the collective experience of the panel Eclipse Innovation grant for research supporting testing in successful deployment of DSLs. As a counterpoint to the tools for DSLs. Jeff is the 2008 Program co-Chair of the current benefits of DSLs, the panel will strive to provide a fair and International Conference on Model Transformation (ICMT) balanced assessment of the current state of the art of DSLs by and the 2009 Organizing Chair of AOSD. pointing to the existing limitations and future work that is needed to take the concept of DSLs to further heights. Panel Position: For over three decades, DSLs have assisted The assembled panelists are experts in the research and programmers and end-users by improving productivity practice of DSLs and represent diverse views and backgrounds. through automation of common tasks. DSLs allow a The panel is made up of industrial researchers, commercial tool programmer to concisely state a problem using abstractions vendors, and academic researchers. The panelists have different and notations that closely fit the needs of a specific domain. perspectives on the technical concerns of DSLs; e.g., half of the panelists are proponents of textual DSLs and the other half has Early examples include the languages from the 1970s for the Unix „make‟ tool and yacc. experience in graphical notations representing visual languages. Despite the benefits offered by DSLs, there are several Categories and Subject Descriptors D.3.3 [Programming Languages]: Language Classification – limitations that hamper widespread adoption. In particular, the state of the art for DSL tools, in general, is several Very high-level languages. D.2.6 [Software Engineering]: Programming Environments – Programmer workbench. generations behind tool support provided by general- purpose languages like Java or C++. Many DSLs are General Terms missing even basic tools such as debuggers, testing engines, Design, Languages and profilers. The lack of tool support can lead to leaky abstractions and frustration on the part of the DSL user. Keywords Domain-specific languages, metamodeling, Grammarware __________________________________ 1 The title for this panel was inspired by Brent Hailpern and Perri Tarr‟s Copyright is held by the author/owner(s). OOPSLA’08, October 19–23, 2008, Nashville, Tennessee, USA. introduction to a special issue on model-driven development in IBM ACM 978-1-60558-220-7/08/10. Systems Journal, 45(3), 2006, pp. 451-461.
  • 2. Some of the questions that I would like to explore with the 3. Charles Consel panel include the following: What is missing in current Biography: Charles Consel is a professor of Computer DSL tooling that is needed to push adoption of DSLs more Science at University of Bordeaux and leads the Phoenix heavily in general practice? Are the problems purely research group at INRIA. His research interests are in technical, or are there social and political forces at play? In programming language semantics and implementation, what domains do DSLs have the greatest success, and software engineering and operating systems. His experience where do they fail? Where do graphical languages offer with DSLs spans over two decades, in the contexts of benefits over textual DSLs, and vice versa? How is industry-sponsored projects and Ph.D. supervision. He has evolution supported with respect to changes in the various designed and implemented DSLs in a variety of areas, definitions and tools? including device drivers, programmable routers, and stream processing. Building on this experience, he has worked 2. Kathleen Fisher towards defining methodologies to design DSLs, assist in Biography: Kathleen Fisher is a Principal Member of the their development, and assess their practicality. His latest Technical Staff at AT&T Labs Research, where she has DSL, named VisuCom, is dedicated to the creation of worked since receiving her Ph.D. in Computer Science telephony services and has been successfully transferred to from Stanford University in 1996. Her early work on the the INRIA spin-off Siderion Technologies. foundations of object-oriented languages led to the design Panel Position: The DSL approach has long been used with of the class mechanism in Moby. The main thrust of her great success in both historical domains, such as telephony, recent work has been in DSLs to facilitate programming and recent ones, such as Web application development. with massive amounts of ad hoc data. Kathleen is Chair of And yet, from software engineering to programming SIGPLAN, on the steering committee of CRA-W, an editor languages, there is a shared feeling that there is still much of the Journal of Functional Programming, and chair of the work to do to make the DSL approach successful. steering committee for the Commercial Uses of Functional Unlike General-purpose Programming Languages (GPLs) Programming Workshop. that target trained programmers, a DSL revolves around a Panel Position: In my years at AT&T, I have helped to domain: it originates from a domain and targets members of design and build two DSLs: Hancock, a procedural this domain. Thus, a successful DSL should be some kind language that facilitates processing massive transaction of a disappearing language; that is, one that is blended with streams to build customer profiles, and PADS, a declarative some domain process. Achieving such a goal critically language for describing ad hoc data formats from which a relies on the domain analysis and the language design. In number of supporting tools can be automatically generated. my experience, these two phases are time consuming, These two languages exhibit a number of the claimed human intensive and high risk. How can these two phases benefits for DSLs. They raise the level of abstraction, be tooled? How much improvement can we expect? making it easier for domain-experts with little coding A successful DSL is above all one that is being used. To experience to write correct and efficient programs quickly. achieve this goal, the designer may need to downgrade, Code in these languages is concise and readable, making it simplify and customize a language. In doing so, DSL easier to read, understand, and maintain. PADS has the development contrasts with programming language research additional benefit of being declarative, giving the compiler where generality, expressivity and power should the freedom to generate multiple artifacts from a single characterize any new language. As a consequence, description: a parser, a pretty-printer, a statistical analyzer, programming language experts may not be the perfect a converter to XML, etc. match for developing a DSL. Does this mean that, for a Although these advantages are real, there are also given domain, its members should be developing their own difficulties in working with DSLs. People are generally DSL? Or, should there be a new community of language reluctant to learn new languages, tool support for DSLs is engineers that bridge the gap between programming poor, and it can be difficult to get DSLs to interoperate with language experts and members of a domain? mainstream languages. These disadvantages mean that the Finally, in many respects, a DSL is often an over-simplified motivation for a DSL has to be compelling for it to be version of a GPL: customized syntactic constructs, simple successfully adopted. Challenges for the future of DSLs semantics, and by-design verifiable properties. These key include improving education in programming languages so differences may raise concerns about a lack of tool support that people are more comfortable learning new languages, for DSL development. Yet, there are many program developing meta-tool infrastructure so that tools for DSLs manipulation tools (parser generators, editors, IDEs) that can be created more easily, and improving facilities for can be easily customized for new languages, whether language interoperability so programmers can shift freely textual or graphical. Furthermore, for a large class of DSLs, between domain-appropriate languages. compilation amounts to producing code over a domain-
  • 3. specific programming framework, and enabling the use of 5. Marjan Mernik high-level transformation tools. Lastly, properties can often Biography: Marjan Mernik is an Associate Professor at the be checked by generic verification tools. Then, what is Faculty of Electrical Engineering and Computer Science, missing to develop DSLs? Do we need to have an University of Maribor, where he leads the Programming integrated environment for DSL development, orchestrating Methodologies laboratory. He has worked on several a library of tools? Should there be a new breed of compiler research projects on programming languages, and verification generators matching the requirements of grammarware, and evolutionary computation. Recently, his DSLs? research has focused on DSLs. He is the co-author of the paper entitled “When and how to develop domain-specific 4. Gabor Karsai languages” (with Jan Heering and Tony Sloane, ACM Biography: Gabor Karsai is a Professor of Electrical Computing Surveys, 37(4), December 2005, pp. 316-344). Engineering and Computer Science at Vanderbilt Panel Position: By providing notations and constructs University, and Senior Research Scientist at the Institute for tailored toward a particular application domain, DSLs offer Software-Integrated Systems. He has over twenty-five years substantial gains in expressiveness and ease of use of experience in software engineering. He conducts compared with general-purpose languages for the domain in research in the model-based design and implementation of question, with corresponding gains in productivity and embedded systems, in programming tools for visual reduced maintenance costs. By reducing the amount of programming environments, in the theory and practice of domain and software development expertise needed, DSLs model-integrated computing, and in resource management open up their application to a larger group of software and scheduling systems. He has worked on several research developers compared to general-purpose languages. These projects in the recent past: on model-based integration of benefits have often been observed in practice and are embedded systems whose resulting tools are being used in supported by quantitative studies, although perhaps not as various embedded software development tool chains, on many as one would expect. The advantages of advanced scheduling and resource management algorithms, specialization are equally valid for programming, modeling, and on fault-adaptive control technology that has been and specification languages. However, DSLs are not a transitioned into the aerospace industry. panacea for all software engineering problems, but their application is currently unduly limited. Below are my top- Panel Position: DSLs are great because they could 10 reasons why DSLs are not used more in industry: potentially increase the productivity of engineers. Every problem domain has a „language‟ in which it is easy, 1. Cost-benefit analysis for a particular domain is hard to natural, and self-evident to express problems (and possibly perform. Is it worth the effort to develop a DSL? Often, solutions) of the domain. Software designers are building this decision is postponed or never answered. custom abstractions in any case, and if there is an explicit 2. Lack of proper tool support (e.g., debuggers, test form for using and applying those abstractions, and one engines, profilers). Such tools are costly to build. Just does not have to continually transcribe those into an building a DSL compiler is not enough. implementation language, then solutions require less effort. 3. Inadequate DSL support by existing Integrated Such productivity increases have been observed since the Development Environments (IDEs). Programmers want days of Lisp macros (which could be used to define DSLs), to work with existing IDEs that they are familiar with. and novel developments (e.g., the use of Simulink/Stateflow 4. Poor interoperability with other languages. In industrial by control software engineers) just reinforce the point. projects, multiple languages are the norm rather than an exception. There are some downsides of DSLs, however. One is that if 5. Personal/social barriers: “I know Java, why should I they are too easy to define, then there is a danger of their learn something else?” unmanaged and uncontrollable proliferation on a project. 6. Instability of design and implementation of DSLs (i.e., We need efficient and effective techniques for specifying frequent changes to DSL definition). and implementing DSLs rapidly, but in such a way that their 7. Improper education to general developer community users can understand their semantics. The generative about DSL benefits (e.g., gains in productivity, programming (program generation) community has come expressiveness, better possibility for analysis, up with very nice solutions (in a functional language verification, optimization, parallelization, and context) for adding DSLs to a base language, but it is not transformation) clear how this carries over to more traditional languages. 8. Lack of proper semantic definition of DSLs. Using a multitude of DSLs on a project unavoidably causes 9. Poor documentation and training. problems with DSL to DSL integration (i.e., composition), 10. Limited knowledge and expertise on how to perform as well as managing the DSL‟s evolution. That is, if the domain analysis and how the results of domain analysis DSL changes how can we ensure that old „code‟ written can be used in DSL design and implementation. using the „old‟ DSL remains (re-)usable with the new DSL?
  • 4. 6. Juha-Pekka Tolvanen Biography: Juha-Pekka Tolvanen is the CEO of MetaCase. He has been involved in model-driven approaches, metamodeling, and domain-specific modeling languages and tools since 1991. He has acted as a consultant worldwide on modeling language and code generator development. Juha-Pekka has authored a book on Domain- Specific Modeling and written over sixty articles for software development magazines and conferences. He holds a Ph.D. in computer science and he is an adjunct professor at the University of Jyvaskyla, Finland. Panel Position: I have seen many times in industrial cases how productivity has improved 500-1000% when companies have moved to Domain-Specific Modeling. In this panel I would like to discuss the key mechanisms that make domain-specific (graphical, textual, matrix) languages successful in practice. These include raising the level of abstraction away from implementation (rather than mixing levels with embedded DSLs), providing full code generation in one step from integrated languages (rather than having CIM-PIM-PSM mappings of MDA), defining languages incrementally, and focusing on one company situation only. The last is often the most crucial since trying to build languages and generators for everybody is far more difficult. In the modeling language area it has led to creation of languages like UML and SySML that are tied to the code level, do not raise the abstraction significantly, nor provide possibilities for adequate code generation. Obstacles to DSLs are often related to tooling and the language design process. Many of the tools require man- months, if not man-years, to implement, test, and share the languages to developers. More importantly, tools often totally ignore language evolution: too often models made earlier can no longer be used when the metamodel changes. Because this is naturally unacceptable in industry use it is not surprising that most of the tools have not been applied on a large scale. The second issue deals with the language design process. Because most developers are creating their first language, it is relevant to define and test languages incrementally to reduce the risks, support evolution and prepare the organization to work at a higher level of abstraction. Recently, more industry cases and proven practices for language design process have been reported, which I will summarize at the panel.