generic tools - specific languages (phd defense slides)

61

Upload: markus-voelter

Post on 27-Aug-2014

388 views

Category:

Software


2 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Generic Tools - Specific Languages (PhD Defense Slides)
Page 2: Generic Tools - Specific Languages (PhD Defense Slides)

1The Problem

Page 3: Generic Tools - Specific Languages (PhD Defense Slides)

„ “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.

Page 4: Generic Tools - Specific Languages (PhD Defense Slides)

„ “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 [..]

Page 5: Generic Tools - Specific Languages (PhD Defense Slides)

„ “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.

Page 6: Generic Tools - Specific Languages (PhD Defense Slides)
Page 7: Generic Tools - Specific Languages (PhD Defense Slides)

2GTSL Solution

Page 8: Generic Tools - Specific Languages (PhD Defense Slides)

Tools

Page 9: Generic Tools - Specific Languages (PhD Defense Slides)

Language EngineeringTools

Page 10: Generic Tools - Specific Languages (PhD Defense Slides)

Language EngineeringTools

GTSL

Page 11: Generic Tools - Specific Languages (PhD Defense Slides)

Tools areways to

work withData.

Page 12: Generic Tools - Specific Languages (PhD Defense Slides)

Tools areways to

work withData.{ author

readanalyzeprocess

Page 13: Generic Tools - Specific Languages (PhD Defense Slides)

Data Formats are

almostLanguages.

Page 14: Generic Tools - Specific Languages (PhD Defense Slides)

Data Formats are

almostLanguages.

Page 15: Generic Tools - Specific Languages (PhD Defense Slides)

Structure, Constraints, SemanticsData Format

[almost]

Page 16: Generic Tools - Specific Languages (PhD Defense Slides)

Structure, Constraints, Semantics+ Syntax + IDEData Format

Language

[almost]

Page 17: Generic Tools - Specific Languages (PhD Defense Slides)

Structure, Constraints, Semantics+ Syntax + IDEData Format

Language

[almost]

Language Engineering}authoranalyze

composeexecute

Page 18: Generic Tools - Specific Languages (PhD Defense Slides)

Structure, Constraints, Semantics+ Syntax + IDEData Format

Language

Language Workbenches„ “Generic Tools

[almost]

Language Engineering}authoranalyze

composeexecute

Page 19: Generic Tools - Specific Languages (PhD Defense Slides)
Page 20: Generic Tools - Specific Languages (PhD Defense Slides)

Language EngineeringTools

GTSL

Page 21: Generic Tools - Specific Languages (PhD Defense Slides)

ToolsLanguage

Engineering

EmbeddedSoftware

Page 22: Generic Tools - Specific Languages (PhD Defense Slides)

ToolsLanguage

Engineering

EmbeddedSoftware

Page 23: Generic Tools - Specific Languages (PhD Defense Slides)

applies GTSLto embedded software engineering

Page 24: Generic Tools - Specific Languages (PhD Defense Slides)

An extensible set of integrated languagesfor embedded software engineering.

„ “Specific Languages

Page 25: Generic Tools - Specific Languages (PhD Defense Slides)
Page 26: Generic Tools - Specific Languages (PhD Defense Slides)

Open Source @ eclipse.orgEclipse Public License 1.0http://mbeddr.com

Page 27: Generic Tools - Specific Languages (PhD Defense Slides)
Page 28: Generic Tools - Specific Languages (PhD Defense Slides)

3The Language

Workbench

Page 29: Generic Tools - Specific Languages (PhD Defense Slides)

Open SourceApache 2.0http://jetbrains.com/mps

Page 30: Generic Tools - Specific Languages (PhD Defense Slides)

Projectional Editing

Page 31: Generic Tools - Specific Languages (PhD Defense Slides)

Parsing

[Projectional Editing]

Page 32: Generic Tools - Specific Languages (PhD Defense Slides)

Parsing Projectional Editing

[Projectional Editing]

Page 33: Generic Tools - Specific Languages (PhD Defense Slides)

Regular Code/Text Mathematical

Tables Graphical

Syntactic Flexibility[Projectional Editing]

Page 34: Generic Tools - Specific Languages (PhD Defense Slides)

L2 L1

Separate Files In One File

Type SystemTransformationConstraints

Type SystemTransformationConstraintsSyntaxIDE

Language Composition[Projectional Editing]

Page 35: Generic Tools - Specific Languages (PhD Defense Slides)
Page 36: Generic Tools - Specific Languages (PhD Defense Slides)

4Demo

Page 37: Generic Tools - Specific Languages (PhD Defense Slides)
Page 38: Generic Tools - Specific Languages (PhD Defense Slides)

5Contributions

Page 39: Generic Tools - Specific Languages (PhD Defense Slides)

A new Paradigm for Tools

Page 40: Generic Tools - Specific Languages (PhD Defense Slides)

A new Paradigm for Tools„ “... built their own modeling tools ...

... made heavy adaptations ... work arounds ...

... accidental complexity ...

... strong need for tailoring ...

Page 41: Generic Tools - Specific Languages (PhD Defense Slides)

A new Paradigm for Tools

GTSL makes extensionand adaption first-class.

Page 42: Generic Tools - Specific Languages (PhD Defense Slides)

Large Scale Evaluation of

Language Engineering, Projectional

Editing and MPS

A new Paradigm for Tools

Page 43: Generic Tools - Specific Languages (PhD Defense Slides)

Large Scale Evaluation of

Language Engineering, Projectional

Editing and MPS

A new Paradigm for Tools

~10 developersover 3 years60+ languages/extensions

Page 44: Generic Tools - Specific Languages (PhD Defense Slides)

A new Paradigm for Tools

Large Scale Evaluation of

Language Engineering, Projectional

Editing and MPS

A real-worldEmbedded Dev

Tool

Page 45: Generic Tools - Specific Languages (PhD Defense Slides)
Page 46: Generic Tools - Specific Languages (PhD Defense Slides)

6Status

Page 47: Generic Tools - Specific Languages (PhD Defense Slides)

itemis France: Smart MeterBMW: Autosar ComponentModellwerkstatt: ASIC Test GeneratorFortiss: Pacemaker Case StudyOpen Source: Arduino IntegrationA colleague: Synthesizer

Evaluation ongoing by several big companies

Page 48: Generic Tools - Specific Languages (PhD Defense Slides)

ACCEnTControl.Lab

Page 49: Generic Tools - Specific Languages (PhD Defense Slides)

Version 3.1 imminent:Better Performance, Graphical EditorsBetter Tables, Tooltips, Better Console

Page 50: Generic Tools - Specific Languages (PhD Defense Slides)

A new Paradigm for Tools

Page 51: Generic Tools - Specific Languages (PhD Defense Slides)

applying GTSLto business applications

(same generic tool: MPS)

A new Paradigm for Tools

Page 52: Generic Tools - Specific Languages (PhD Defense Slides)

Insurance rules and products

1

Page 53: Generic Tools - Specific Languages (PhD Defense Slides)

Insurance rules and products

Tax/Benfits Rules (DTA Toeslagen)

1

2

Page 54: Generic Tools - Specific Languages (PhD Defense Slides)

Insurance rules and products

Tax/Benfits Rules (DTA Toeslagen)

1

2

Jos Warmer

Gert Veldhuijzen van Zanten

Page 55: Generic Tools - Specific Languages (PhD Defense Slides)
Page 56: Generic Tools - Specific Languages (PhD Defense Slides)

One Sentence Summary TM

Page 57: Generic Tools - Specific Languages (PhD Defense Slides)

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

Page 58: Generic Tools - Specific Languages (PhD Defense Slides)

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.

Page 59: Generic Tools - Specific Languages (PhD Defense Slides)

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

Page 60: Generic Tools - Specific Languages (PhD Defense Slides)

Thank you!for coming today

Page 61: Generic Tools - Specific Languages (PhD Defense Slides)

Thanksmbeddr Team

Bernd KolbDan Ratiu

Domenik PavleticKolja Dummann

Sascha LissonTamas Szabo

Zaur MolotnikovBernhard Schätz

Wolfgang Neuhaus

MPS TeamAlexander Shatalin

Konstantin SolomatovSergey Dmitriev

Fedor IsakovMihail MuhinVaclav Pech

Julia BeliaevaArtem TikhomirovEvgeny Gryaznov

Evgeny GerashchenkoSimon Alperovich

TU DelftEelco Visser

Arie van DeursenTamara Brusik„The Beadle“

+ more people, mentioned in the printed thesis.

CommitteePieter Jonker

Friedrich SteimannKlaus OstermannKoen Langendoen

Jozef HoomanPeter Wieringa