90 likes | 191 Vues
DS(M) Ls for End-Users and Domain Experts?. Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3 , 2012. Jeff Gray University of Alabama Department of Computer Science. Portions of slide figures from Yu Sun, Hyun Cho, and Hui Wu. Shameless Plug.
E N D
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University of Alabama Department of Computer Science Portions of slide figures from Yu Sun, Hyun Cho, and Hui Wu
Shameless Plug • 12th Edition of Domain-Specific Modeling Workshop at SPLASH/OOPSLA • Note: The workshop precedes the MDA release date! • More details coming soon at: • http://www.dsmforum.org/events/DSM12/ • CFP available next week; “coming to a mailing list near you…”
Summary Position for this Panel • Many of the motivations for DSM are expressed in a way that claim benefits for end-users and domain experts (who may not be computer scientists) • Designing a suitable/usable “language” implies more than just the concrete and abstract syntax, or even semantics – tooling and abstraction purity are just as important • To achieve deeper impact, we need to realize the places where leaks of abstraction boundaries emerge between the problem/solution spaces, and how that affects end-user adoption
DS(M)Ls for End-Users Spreadsheet Admin Assistants Business Query Systems Business Person Modeling Language Auto Factory Worker DSL for Physics Scientist 4
Common Claim when Introducing DSM “DSM allows domain experts or end-users to focus on issues of the problem space, while ignoring accidental complexities of the solution space.”
The Irony • A technology meant to enable end-users to participate in software development, does not enable end-users to change and evolve the software, or even assist in describing their own language End-Users End-Users End-User Developers Degrade Upgrade Using DSM Modeling System Model Evolution
Example1: Difficult to Learn and Use MTLs Diversity of MTLs Metamodel Programming Concepts End-Users
Example 2: Tooling Abstraction Leaks Editor Compiler Domain Experts program at DSL level Domain Experts deal with GPL Visualizer Debugger Profiler DSL translated into General Purpose Language (GPL) Integrated Development Environment (IDE) Domain Experts deal with DSL Test Engine 8
By Demonstration Approaches for Language Support • Providing users with a capability to demonstrate their own language through examples may assist in reducing the gap between domain experts and language design experts • After the language is stable, users still need to participate fully in the management of models; allow users to demonstrate/debug/test models at the abstraction level they are familiar with Add, Remove, Update