DS(M) Ls for End-Users and Domain Experts?

9
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

description

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. - PowerPoint PPT Presentation

Transcript of DS(M) Ls for End-Users and Domain Experts?

Page 1: 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

Page 2: DS(M) Ls  for End-Users and Domain Experts?

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

Page 3: DS(M) Ls  for End-Users and Domain Experts?

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

Page 4: DS(M) Ls  for End-Users and Domain Experts?

44

DS(M)Ls for End-Users

AdminAssistants

Business Person

Auto Factory Worker

Scientist

Spreadsheet

BusinessQuery Systems

Modeling Language

DSL forPhysics

Page 5: DS(M) Ls  for End-Users and Domain Experts?

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

Page 6: DS(M) Ls  for End-Users and Domain Experts?

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

Page 7: DS(M) Ls  for End-Users and Domain Experts?

Example1: Difficult to Learn and Use MTLs

7

End-Users

MetamodelDiversity of MTLs

Programming Concepts

Page 8: DS(M) Ls  for End-Users and Domain Experts?

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

Page 9: DS(M) Ls  for End-Users and Domain Experts?

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