Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Generic Tools - Specific Languages (PhD Defense Slides)

1,270 views

Published on

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.

Published in: Software, Technology, Business
  • Be the first to comment

Generic Tools - Specific Languages (PhD Defense Slides)

  1. 1. The Problem
  2. 2. 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.
  3. 3. 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 [..]
  4. 4. 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.
  5. 5. GTSL Solution
  6. 6. Tools
  7. 7. Language EngineeringTools
  8. 8. Language EngineeringTools G T S L
  9. 9. Tools are ways to work with Data.
  10. 10. Tools are ways to work with Data. {author read analyze process
  11. 11. Data Formats are almost Languages.
  12. 12. Data Formats are almost Languages.
  13. 13. Structure, Constraints, Semantics Data Format [almost]
  14. 14. Structure, Constraints, Semantics + Syntax + IDEData Format Language [almost]
  15. 15. Structure, Constraints, Semantics + Syntax + IDEData Format Language [almost] Language Engineering }author analyze compose execute
  16. 16. Structure, Constraints, Semantics + Syntax + IDEData Format Language Language Workbenches „Generic Tools [almost] Language Engineering }author analyze compose execute
  17. 17. Language EngineeringTools G T S L
  18. 18. Tools Language Engineering Embedded Software
  19. 19. Tools Language Engineering Embedded Software
  20. 20. applies GTSL to embedded software engineering
  21. 21. An extensible set of integrated languages for embedded software engineering. „Specific Languages
  22. 22. Open Source @ eclipse.org Eclipse Public License 1.0 http://mbeddr.com
  23. 23. The Language Workbench
  24. 24. Open Source Apache 2.0 http://jetbrains.com/mps
  25. 25. Projectional Editing
  26. 26. Parsing [Projectional Editing]
  27. 27. Parsing Projectional Editing [Projectional Editing]
  28. 28. Regular Code/Text Mathematical Tables Graphical Syntactic Flexibility [Projectional Editing]
  29. 29. L2 L1 Separate Files In One File Type System Transformation Constraints Type System Transformation Constraints Syntax IDE Language Composition [Projectional Editing]
  30. 30. Demo
  31. 31. Contributions
  32. 32. A new Paradigm for Tools
  33. 33. A new Paradigm for Tools ... built their own modeling tools ... ... made heavy adaptations ... work arounds ... ... accidental complexity ... ... strong need for tailoring ...
  34. 34. A new Paradigm for Tools GTSL makes extension and adaption first-class.
  35. 35. Large Scale Evaluation of Language Engineering, Projectional Editing and MPS A new Paradigm for Tools
  36. 36. Large Scale Evaluation of Language Engineering, Projectional Editing and MPS A new Paradigm for Tools ~10 developers over 3 years 60+ languages/extensions
  37. 37. A new Paradigm for Tools Large Scale Evaluation of Language Engineering, Projectional Editing and MPS A real-world Embedded Dev Tool
  38. 38. Status
  39. 39. 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
  40. 40. ACCEnT Control.Lab
  41. 41. Version 3.1 imminent: Better Performance, Graphical Editors Better Tables, Tooltips, Better Console
  42. 42. A new Paradigm for Tools
  43. 43. applying GTSL to business applications (same generic tool: MPS) A new Paradigm for Tools
  44. 44. Insurance rules and products 1
  45. 45. Insurance rules and products Tax/Benfits Rules (DTA Toeslagen) 1 2
  46. 46. Insurance rules and products Tax/Benfits Rules (DTA Toeslagen) 1 2 Jos Warmer Gert Veldhuijzen van Zanten
  47. 47. One Sentence Summary TM
  48. 48. 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
  49. 49. 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.
  50. 50. 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
  51. 51. Thank you! for coming today
  52. 52. 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

×