DS(M) Ls for End-Users and Domain Experts?
description
Transcript of DS(M) Ls for End-Users and Domain Experts?
DS(M)Ls for End-Users and Domain Experts?
Panel on Creating DSLsModels in Software Engineering Workshop
Zurich, SwitzerlandJune 3, 2012
Jeff Gray
University of AlabamaDepartment 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…”
2
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 3
44
DS(M)Ls for End-Users
AdminAssistants
Business Person
Auto Factory Worker
Scientist
Spreadsheet
BusinessQuery Systems
Modeling Language
DSL forPhysics
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.”
5
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
6
End-Users End-User Developers
Upgrade
Using DSM
End-Users
Degrade
Modeling System Model Evolution
Example1: Difficult to Learn and Use MTLs
7
End-Users
MetamodelDiversity of MTLs
Programming Concepts
8
Example 2: Tooling Abstraction Leaks
8
Domain Experts program at DSL level
DSL translated into General Purpose Language (GPL)
Domain Experts deal with DSL
Integrated Development Environment (IDE)
subsel ect mebegi n left ri ght up downend
Transl ater
subsel ect mepubl i c class Robot{ publ i c stati c voidmai n(String[] args) { Robot robot =new Robot(0,0,0); / /move left robot.move_l eft(); / /move down robot.move_down();robot.x = 5; robot.y = 6;
Editor
Compiler
Visualizer
Debugger
Domain Experts deal with GPL
Profiler
Test Engine
9
By Demonstration Approaches for Language Support
Add, Remove, Update
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