Creating DSLs that fit the users’ needs (Panel at MiSE´12)
- 1. Creating DSLs that fit the users’ needs
Jordi Cabot - AtlanMod
Panel @ MiSE 2012
http://modeling-languages.com
@softmodeling
© AtlanMod - atlanmod-contact@mines-nantes.fr 1
- 2. Before Starting
Most DSLs should have never been created in
the first place (many are too UML-like)
It’s a strong investment! (will you get your
ROI?)
GML are not as bad as people say
Avoid reinventing the wheel
© AtlanMod - atlanmod-contact@mines-nantes.fr 2
- 3. Current situation
Good language workbenches for creating
abstract and concrete syntaxes for your DSL
Technology is there (well, usability of the tools
could improve…)
but process and quality aspects are missing
© AtlanMod - atlanmod-contact@mines-nantes.fr 3
- 4. Process
DSLs are domain-specific but still it’s a non
domain-expert who creates the DSL
Collaboro aims to enable a more collaborative
process
… but we already talked about this yesterday
(check http://modeling-
languages.com/collaboro-slides-available/)
© AtlanMod - atlanmod-contact@mines-nantes.fr 4
- 5. Quality
We know what quality properties make sense
for models (e.g. satisfiability) but they do not
translate well to DSLs.
Quality of DSL = user experience
Evaluating user experience is a challenging
task
– We cannot develop specific techniques for
each different DSL
– Need the participation of users
© AtlanMod - atlanmod-contact@mines-nantes.fr 5
- 7. Quality
2 research lines
– Evaluating how domain experts are using
the DSL in practice
– Automatic Testing of the user experience
© AtlanMod - atlanmod-contact@mines-nantes.fr 7
- 8. Approach 1 - Corpus analysis (post
mortem)
Analysis of repositories of DSL models (i.e.
instances of the DSL under analysis)
We can analyze:
– (meta) classes that are never used <-
irrelevant?
– Clusters in the DSL <- two subDSLs?
– Complex structures (clones) that appear
often <- is the DSL missing an important
element?
© AtlanMod - atlanmod-contact@mines-nantes.fr 8
- 9. Approach 2 - Automatic testing of the
user experience (interactive)
Specially for concrete syntaxes
Reuse what we know from web interaction and
design
– Small changes can make a huge difference
– Even seasoned designers fail to predict upfront
what would work
– Different user profiles may require different
concrete syntaxes
What about A/B testing for DSLs?
© AtlanMod - atlanmod-contact@mines-nantes.fr 9
- 10. Automatic testing of the user
experience (interactive)
Which syntax for expressing transformation
rules is better?
– It’s up to the users to choose!!!
Rule newMachine Rule newMachine
LHS RHS
c1
c1 c1 m1
m1 m1 equivalent
{del}
c2
c2 c2 m2 m2
{new}
Extended (declarative) notation Compacted (operational) notation
© AtlanMod - atlanmod-contact@mines-nantes.fr 10