Generic Tools, Specific Languages (GTSL) is an approach for developing tools and applications in a way that supports easier and more meaningful adaptation to specific domains. To achieve this goal, GTSL generalizes programming language IDEs to domains traditionally not addressed by languages and IDEs. At its core, GTSL represents applications as documents/programs/models expressed with suitable languages. Application functionality is provided through an IDE that is aware of the languages and their semantics. The IDE provides editing support, and also directly integrates domain-specific analyses and execution services. Applications and their languages can be adapted to increasingly specific domains using language engineering; this includes developing incremental extensions to existing languages or creating additional, tightly integrated languages. Language workbenches act as the foundation on which such applications are built.
3. The majority of our interviewees were very successful
with MDE but all of them either built their own
modeling tools, made heavy adaptations of off-the-
shelf tools, or spent a lot of time finding ways to work
around tools. The only accounts of easy-to-use,
intuitive tools came from those who had developed
tools themselves for bespoke purposes. Indeed, this
suggests that current tools are a barrier to success
rather than an enabler.
4. Complexity problems are typically associated with off-
the- shelf tools. Of particular note is accidental
complexity – which can be introduced due to [..] [the]
lack of flexibility to adapt the tools to a company’s
own context [..]
5. Our interviews point to a strong need for tailoring of
some sort: either tailor the tool to the process, tailor
the process to the tool, or build your own tool that
naturally fits your own process. Based on our data, it
seems that, on balance, it is currently much easier to
do the latter.
34. L2 L1
Separate Files In One File
Type System
Transformation
Constraints
Type System
Transformation
Constraints
Syntax
IDE
Language Composition
[Projectional Editing]
40. A new
Paradigm
for Tools
... built their own modeling tools ...
... made heavy adaptations ... work arounds ...
... accidental complexity ...
... strong need for tailoring ...
43. Large Scale
Evaluation of
Language Engineering,
Projectional
Editing and MPS
A new
Paradigm
for Tools
~10 developers
over 3 years
60+ languages/extensions
44. A new
Paradigm
for Tools
Large Scale
Evaluation of
Language Engineering,
Projectional
Editing and MPS
A real-world
Embedded Dev
Tool
47. itemis France: Smart Meter
BMW: Autosar Component
Modellwerkstatt: ASIC Test Generator
Fortiss: Pacemaker Case Study
Open Source: Arduino Integration
A colleague: Synthesizer
Evaluation ongoing by several big companies
57. One Sentence Summary
If you have to build a tool,
consider using an LWB as
the foundation,
and recasting the „application“
as a set of languages.
TM
58. One Sentence Summary TM
G e n e r i c T o o l s
S p e c i f i c L a n g u a g e s
If you have to build a tool,
consider using an LWB as
the foundation,
and recasting the „application“
as a set of languages.
59. G e n e r i c T o o l s
S p e c i f i c L a n g u a g e s
61. Thanks
mbeddr Team
Bernd Kolb
Dan Ratiu
Domenik Pavletic
Kolja Dummann
Sascha Lisson
Tamas Szabo
Zaur Molotnikov
Bernhard Schätz
Wolfgang Neuhaus
MPS Team
Alexander Shatalin
Konstantin Solomatov
Sergey Dmitriev
Fedor Isakov
Mihail Muhin
Vaclav Pech
Julia Beliaeva
Artem Tikhomirov
Evgeny Gryaznov
Evgeny Gerashchenko
Simon Alperovich
TU Delft
Eelco Visser
Arie van Deursen
Tamara Brusik
„The Beadle“
+ more people, mentioned in the printed thesis.
Committee
Pieter Jonker
Friedrich Steimann
Klaus Ostermann
Koen Langendoen
Jozef Hooman
Peter Wieringa