Ankica Barišić, PhD student
Supervisors: Vasco Amaral, Miguel Goualo
A language is a means of communication



The user interface is a realization of a language

A language is a model that describes the allowed

terms and how to compose them into valid sentences
2
General Purpose (programming) Languages (GPLs)
 User has to master programming concepts
 User has to master domain concepts

Domain Specific (modeling) Languages (DSLs)
 Meant to close gap between PROBLEM DOMAIN and

SOLUTION DOMAIN

Reduce the use of computation domain concepts
Focus on the domain concepts

3
Increasingly popular

 Raise the abstraction level (closer to the domain)
 Narrow the design space

Several benefits claimed, in well-defined domains

 Productivity gains
 Better time to market
 Avoid error-prone mappings between domain and software

development concepts
 Leverage the expertise of domain experts

4
?
SE
U
RE

[Mernik, 2005]
5
 a model of the



User

Different knowledge sets
Characteristics chosen are dependent on application domain

 the hardware-software



set of computing, sensing, communication, and interaction
resources
e.g. operating systems, memory size, network bandwidth, input and
output interaction devices

 the social and physical


Platform

Environment

Where the interaction is actually taking place

Different languages may have different contexts of use
 Their users are likely to have different knowledge sets
 A minimum set of ontological concepts is required to use the
language
6
The user's view of the Quality of a product
Measured in terms of the result of using the

product, rather than its properties

7
In general, software

language engineers
DO NOT evaluate their
languages with respect to
their impact in the
software development
process in which the
DSLs will be integrated
Or, if they do, they are

extremely shy about it

8
9
What to measure?

10
[Barisic, 2011c]
11
• Introduce DSLs’ Usability evaluation during DSLs’ life-cycle
•
•
•
•

iterations
Design an effective experimental evaluation of DSLs that will provide
qualitative and quantitative feedback for DSLs developers
Produce user-centered design of DSL
Foresee the Quality of a DSL while in an iterative evolution step
Merge the Software Language development process with the
Usability Engineering process
12
Barišić, Monteiro, Amaral, Goulão, Monteiro:
"Patterns for Evaluating Usability of Domain-Specific
Languages“, InProceedings of the 19th Conference on
pattern languages of programs (PLoP), SPLASH 2012
Tucson, Arizona, USA, October 2012

13
Barišić, Monteiro, Amaral, Goulão, Monteiro:
"Patterns for Evaluating Usability of Domain-Specific
Languages“, InProceedings of the 19th Conference on
pattern languages of programs (PLoP), SPLASH 2012
Tucson, Arizona, USA, October 2012

14
Barišić, Monteiro, Amaral, Goulão, Monteiro:
"Patterns for Evaluating Usability of Domain-Specific
Languages“, InProceedings of the 19th Conference on
pattern languages of programs (PLoP), SPLASH 2012
Tucson, Arizona, USA, October 2012

15
Language
engineer

Domain
expert

Usability
engineer
16
17
per group

18
Language goals:
Support users in creating and manipulating

Evaluation:
Compare two different DSL solutions within same

domain sharing the same goal
For the purpose of having means to reason about what
is more usable:
Abstract syntax definition
 Transformation
 Interaction


19
Development environment and methodology:
Epsilon
Model-Driven development

Domain:
Management and organization

Transformation output:
MS Excel template

Place:
Summer school on MDD of DSLs, Faculty of

Organizational Science's

20
Domain Experts: subjects
Usability Experts: experiment designers
Language Developers: lecturers, subjects
End Users: subjects

Lecturers

Experiment designers

Subjects

2

2

39

21
Instrument: background questionnaire

22
Our evaluation technique was tested with two individuals

(two physics experts) in order to verify it and to test the
teaching materials and questionnaires
As time constrants and equipment turn out to be adequat
there was no need to change prepared materials

[Howatt 1995]
23
Instrument: background questionnaire

RQ1:Is querying with Pheasant more effective than with C+

+/BEE?
RQ2:Is querying with Pheasant more efficient than with C+
+/BEE?
RQ3:Are participants querying with Pheasant more confident on
their performance than with C++/BEE?
Our goal is to:
 analyze the performance of Pheasant programmers plug-ins
 for the purpose of comparing it with a baseline alternative (C+
+/BEE)
 with respect to the efficiency, effectiveness and confidence of
defying queries in Pheasant
 from the point of view of a researcher trying to assess the Pheasant
DSL,
 in the context of a case study on selected queries
24
H1null Using Pheasant vs. C++/BEE has no impact on the

effectiveness of querying the analysis framework
H1alt Using Pheasant vs. C++/BEE has a significant impact on
the effectiveness of querying the analysis framework
H2null Using Pheasant vs. C++/BEE has no impact on the

efficiency of querying the analysis framework
H2alt Using Pheasant vs. C++/BEE has a significant impact on
the efficiency of querying the analysis framework
H3null Using Pheasant vs. C++/BEE has no impact on the

confidence of querying the analysis framework
H3alt Using Pheasant vs. C++/BEE has a significant impact on
the confidence of querying the analysis framework
25
 We focus on presenting six examples, each focusing in some of the

features we chose to evaluate
 Participants are asked to give themselves a mark for feeling of
correctness of their trial
 Session take the time needed for each group to understand the examples

26
Every participant has four

queries, specified in English,
to be rewritten in previously
learned language
Subjects makes selfassessment of his replay
rating his feeling of
correctness
Example:
 Build the decay of a D0

particle to a Kaon Pion

27
Results obtained with Pheasant were clearly better then

those with C++/BEE
Pheasant allowed non-programmers to correctly define
their queries.
The evaluation also showed a considerable speedup in the
query definition by all the groups of users that were using
Pheasant
The feed-back obtained from the users was that it is more
comfortable to use Pheasant than with the alternative.

28
The participants were asked to judge the

intuitiveness, suitability and effectiveness of the query
language. The goal was to evaluate:
Overall reactions
Query language constructs

Affect to query language was rated by:
Query language constructs
Participants’ comments

29
Foster higher productivity of DSL end users
Increased quality in use and quality of

experience while using a DSL
Replication of experiments
Reusing data and recommendations
Reduce complexity
Traceability of usability recommendations
and design changes
Reduced cost of evaluation, development
and support
Increased reliability of usability evaluation
results

30
31
32
Foster higher productivity of DSL end users
Increased quality in use and quality of

experience while using a DSL
Replication of experiments
Reusing data and recommendations
Reduce complexity
Traceability of usability recommendations
and design changes
Reduced cost of evaluation, development
and support
Increased reliability of usability evaluation
results

33
34
Literature
 [Mernik2005] M. Mernik, J. Heering, and A. M. Sloane: When and how to

develop domain-specific languages, 2005, ACM Computing Surveys
 [Gabriel2010] Gabriel, P., Goulão, M. & Amaral, V. (2010). Do Software
Languages Engineers Evaluate their Languages? in XIII Congreso
Iberoamericano en "Software Engineering" (CIbSE'2010)
 [Barisic2011a] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Quality in
Use of DSLs: Current Evaluation Methods’. Proc. 3rd INForum - Simpósio de
Informática (INForum2011), Coimbra, Portugal, September 2011
 [Barisic2011b] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Quality in
Use of Domain Specific Languages: a Case Study’. Proc. Evaluation and Usability
of Programming Languages and Tools (PLATEAU) Portland, USA, October 2011
 [Barisic2011c] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘How to
reach a usable DSL? Moving toward a Systematic Evaluation’, Electronic
Communications of the EASST, 2011
 [Barisic2012] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Evaluating
the Usability of Domain-Specific Languages’, in Mernik, M. (Ed.): ‘Formal and
Practical Aspects of Domain-Specific Languages: Recent Developments’ (IGI
Global, 2012)
35
Iterative usability evaluation of DSLs

More Related Content

PPS
Usability evaluation of Domain-Specific Languages
PDF
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
PDF
Introduction to MDE
PDF
Analysing the concept of quality in model-driven engineering literature: a sy...
PPTX
SE Genres - Carter et al
PDF
Q1a mark scheme
PPTX
Criterion-referenced approach to language assessment prepared by Shaho Hoorijani
PDF
75162 unit-g325-critical-perspectives-in-media-specimen
Usability evaluation of Domain-Specific Languages
PhD Proposal - A Framework for evaluating the quality of languages in MDE env...
Introduction to MDE
Analysing the concept of quality in model-driven engineering literature: a sy...
SE Genres - Carter et al
Q1a mark scheme
Criterion-referenced approach to language assessment prepared by Shaho Hoorijani
75162 unit-g325-critical-perspectives-in-media-specimen

What's hot (7)

DOC
Melbourne t1 2016-assignment_2_mn504
PDF
Unit 2 Communication
PPT
Modeling Service Choreographies with Rule-enhanced Business Processes
PDF
Student_Proficiency_Full_Report
PPT
technology in standardized language assessment
PDF
Collaborative language engineering and language use: demo with MetaEdit+
PDF
10.1.1.104.5038
Melbourne t1 2016-assignment_2_mn504
Unit 2 Communication
Modeling Service Choreographies with Rule-enhanced Business Processes
Student_Proficiency_Full_Report
technology in standardized language assessment
Collaborative language engineering and language use: demo with MetaEdit+
10.1.1.104.5038
Ad

Viewers also liked (8)

PPS
Quality in use of domain-specific languages: a case study
PPTX
Fashion is All Around Us.
PPTX
Prediction of disorder in protein structure (amit singh)
PPTX
Website Validity
PPT
Creating an Outline
PPTX
Annotated Bibliography
KEY
Telling time
PPTX
Quantum dots ppt
Quality in use of domain-specific languages: a case study
Fashion is All Around Us.
Prediction of disorder in protein structure (amit singh)
Website Validity
Creating an Outline
Annotated Bibliography
Telling time
Quantum dots ppt
Ad

Similar to Iterative usability evaluation of DSLs (20)

PDF
Introducing Usability Concerns Early in the DSL Development Cycle: FlowSL Ex...
PPTX
Presentation on coding language name basica
PPTX
Unit 1_ preliminary Concepts_session 1.pptx
PPTX
Applying static code analysis for domain-specific languages
PPT
IDS 2013 - ROSKO 3
PPTX
SLAS 2017 - "Multiple Research Platforms: One Single Data Sharing Portal"
PPT
Standards Based Approach to User Interface Development
PPTX
Model Manipulation for End-User Modelers
PDF
Approaches and Challenges of Software Reusability: A Review of Research Liter...
PDF
Resume_RogerCurtis
PDF
324587-project-setting-guidance.pdf
PDF
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
PDF
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
PPTX
ThesisPresentation
PDF
130817 latifa guerrouj - context-aware source code vocabulary normalization...
DOCX
Title of PresentationStudent’s nameFeel free to adjust the c.docx
PDF
Dr. Elizabeth Churchill, Google. Creating consumer grade developer experiences
PPTX
Industry-Academia Communication In Empirical Software Engineering
PDF
Programmer Productivity Enhancement Through Controlled Natural Language Input
PPT
Ui Design And Usability For Everybody
Introducing Usability Concerns Early in the DSL Development Cycle: FlowSL Ex...
Presentation on coding language name basica
Unit 1_ preliminary Concepts_session 1.pptx
Applying static code analysis for domain-specific languages
IDS 2013 - ROSKO 3
SLAS 2017 - "Multiple Research Platforms: One Single Data Sharing Portal"
Standards Based Approach to User Interface Development
Model Manipulation for End-User Modelers
Approaches and Challenges of Software Reusability: A Review of Research Liter...
Resume_RogerCurtis
324587-project-setting-guidance.pdf
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
DEVELOPMENT OF A SOFTWARE MAINTENANCE COST ESTIMATION MODEL: 4 TH GL PERSPECTIVE
ThesisPresentation
130817 latifa guerrouj - context-aware source code vocabulary normalization...
Title of PresentationStudent’s nameFeel free to adjust the c.docx
Dr. Elizabeth Churchill, Google. Creating consumer grade developer experiences
Industry-Academia Communication In Empirical Software Engineering
Programmer Productivity Enhancement Through Controlled Natural Language Input
Ui Design And Usability For Everybody

Recently uploaded (20)

PDF
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
DOCX
Cambridge-Practice-Tests-for-IELTS-12.docx
PPTX
What’s under the hood: Parsing standardized learning content for AI
PDF
Race Reva University – Shaping Future Leaders in Artificial Intelligence
PDF
IP : I ; Unit I : Preformulation Studies
PDF
HVAC Specification 2024 according to central public works department
PPTX
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
PPTX
Computer Architecture Input Output Memory.pptx
PDF
Journal of Dental Science - UDMY (2020).pdf
PDF
Hazard Identification & Risk Assessment .pdf
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PPTX
Share_Module_2_Power_conflict_and_negotiation.pptx
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
PDF
Journal of Dental Science - UDMY (2021).pdf
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PDF
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
PDF
semiconductor packaging in vlsi design fab
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PPTX
Module on health assessment of CHN. pptx
PDF
Complications of Minimal Access-Surgery.pdf
MBA _Common_ 2nd year Syllabus _2021-22_.pdf
Cambridge-Practice-Tests-for-IELTS-12.docx
What’s under the hood: Parsing standardized learning content for AI
Race Reva University – Shaping Future Leaders in Artificial Intelligence
IP : I ; Unit I : Preformulation Studies
HVAC Specification 2024 according to central public works department
DRUGS USED FOR HORMONAL DISORDER, SUPPLIMENTATION, CONTRACEPTION, & MEDICAL T...
Computer Architecture Input Output Memory.pptx
Journal of Dental Science - UDMY (2020).pdf
Hazard Identification & Risk Assessment .pdf
AI-driven educational solutions for real-life interventions in the Philippine...
Share_Module_2_Power_conflict_and_negotiation.pptx
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 2).pdf
Journal of Dental Science - UDMY (2021).pdf
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
LIFE & LIVING TRILOGY - PART - (2) THE PURPOSE OF LIFE.pdf
semiconductor packaging in vlsi design fab
B.Sc. DS Unit 2 Software Engineering.pptx
Module on health assessment of CHN. pptx
Complications of Minimal Access-Surgery.pdf

Iterative usability evaluation of DSLs

  • 1. Ankica Barišić, PhD student Supervisors: Vasco Amaral, Miguel Goualo
  • 2. A language is a means of communication  The user interface is a realization of a language A language is a model that describes the allowed terms and how to compose them into valid sentences 2
  • 3. General Purpose (programming) Languages (GPLs)  User has to master programming concepts  User has to master domain concepts Domain Specific (modeling) Languages (DSLs)  Meant to close gap between PROBLEM DOMAIN and SOLUTION DOMAIN Reduce the use of computation domain concepts Focus on the domain concepts 3
  • 4. Increasingly popular  Raise the abstraction level (closer to the domain)  Narrow the design space Several benefits claimed, in well-defined domains  Productivity gains  Better time to market  Avoid error-prone mappings between domain and software development concepts  Leverage the expertise of domain experts 4
  • 6.  a model of the   User Different knowledge sets Characteristics chosen are dependent on application domain  the hardware-software   set of computing, sensing, communication, and interaction resources e.g. operating systems, memory size, network bandwidth, input and output interaction devices  the social and physical  Platform Environment Where the interaction is actually taking place Different languages may have different contexts of use  Their users are likely to have different knowledge sets  A minimum set of ontological concepts is required to use the language 6
  • 7. The user's view of the Quality of a product Measured in terms of the result of using the product, rather than its properties 7
  • 8. In general, software language engineers DO NOT evaluate their languages with respect to their impact in the software development process in which the DSLs will be integrated Or, if they do, they are extremely shy about it 8
  • 9. 9
  • 12. • Introduce DSLs’ Usability evaluation during DSLs’ life-cycle • • • • iterations Design an effective experimental evaluation of DSLs that will provide qualitative and quantitative feedback for DSLs developers Produce user-centered design of DSL Foresee the Quality of a DSL while in an iterative evolution step Merge the Software Language development process with the Usability Engineering process 12
  • 13. Barišić, Monteiro, Amaral, Goulão, Monteiro: "Patterns for Evaluating Usability of Domain-Specific Languages“, InProceedings of the 19th Conference on pattern languages of programs (PLoP), SPLASH 2012 Tucson, Arizona, USA, October 2012 13
  • 14. Barišić, Monteiro, Amaral, Goulão, Monteiro: "Patterns for Evaluating Usability of Domain-Specific Languages“, InProceedings of the 19th Conference on pattern languages of programs (PLoP), SPLASH 2012 Tucson, Arizona, USA, October 2012 14
  • 15. Barišić, Monteiro, Amaral, Goulão, Monteiro: "Patterns for Evaluating Usability of Domain-Specific Languages“, InProceedings of the 19th Conference on pattern languages of programs (PLoP), SPLASH 2012 Tucson, Arizona, USA, October 2012 15
  • 17. 17
  • 19. Language goals: Support users in creating and manipulating Evaluation: Compare two different DSL solutions within same domain sharing the same goal For the purpose of having means to reason about what is more usable: Abstract syntax definition  Transformation  Interaction  19
  • 20. Development environment and methodology: Epsilon Model-Driven development Domain: Management and organization Transformation output: MS Excel template Place: Summer school on MDD of DSLs, Faculty of Organizational Science's 20
  • 21. Domain Experts: subjects Usability Experts: experiment designers Language Developers: lecturers, subjects End Users: subjects Lecturers Experiment designers Subjects 2 2 39 21
  • 23. Our evaluation technique was tested with two individuals (two physics experts) in order to verify it and to test the teaching materials and questionnaires As time constrants and equipment turn out to be adequat there was no need to change prepared materials [Howatt 1995] 23
  • 24. Instrument: background questionnaire RQ1:Is querying with Pheasant more effective than with C+ +/BEE? RQ2:Is querying with Pheasant more efficient than with C+ +/BEE? RQ3:Are participants querying with Pheasant more confident on their performance than with C++/BEE? Our goal is to:  analyze the performance of Pheasant programmers plug-ins  for the purpose of comparing it with a baseline alternative (C+ +/BEE)  with respect to the efficiency, effectiveness and confidence of defying queries in Pheasant  from the point of view of a researcher trying to assess the Pheasant DSL,  in the context of a case study on selected queries 24
  • 25. H1null Using Pheasant vs. C++/BEE has no impact on the effectiveness of querying the analysis framework H1alt Using Pheasant vs. C++/BEE has a significant impact on the effectiveness of querying the analysis framework H2null Using Pheasant vs. C++/BEE has no impact on the efficiency of querying the analysis framework H2alt Using Pheasant vs. C++/BEE has a significant impact on the efficiency of querying the analysis framework H3null Using Pheasant vs. C++/BEE has no impact on the confidence of querying the analysis framework H3alt Using Pheasant vs. C++/BEE has a significant impact on the confidence of querying the analysis framework 25
  • 26.  We focus on presenting six examples, each focusing in some of the features we chose to evaluate  Participants are asked to give themselves a mark for feeling of correctness of their trial  Session take the time needed for each group to understand the examples 26
  • 27. Every participant has four queries, specified in English, to be rewritten in previously learned language Subjects makes selfassessment of his replay rating his feeling of correctness Example:  Build the decay of a D0 particle to a Kaon Pion 27
  • 28. Results obtained with Pheasant were clearly better then those with C++/BEE Pheasant allowed non-programmers to correctly define their queries. The evaluation also showed a considerable speedup in the query definition by all the groups of users that were using Pheasant The feed-back obtained from the users was that it is more comfortable to use Pheasant than with the alternative. 28
  • 29. The participants were asked to judge the intuitiveness, suitability and effectiveness of the query language. The goal was to evaluate: Overall reactions Query language constructs Affect to query language was rated by: Query language constructs Participants’ comments 29
  • 30. Foster higher productivity of DSL end users Increased quality in use and quality of experience while using a DSL Replication of experiments Reusing data and recommendations Reduce complexity Traceability of usability recommendations and design changes Reduced cost of evaluation, development and support Increased reliability of usability evaluation results 30
  • 31. 31
  • 32. 32
  • 33. Foster higher productivity of DSL end users Increased quality in use and quality of experience while using a DSL Replication of experiments Reusing data and recommendations Reduce complexity Traceability of usability recommendations and design changes Reduced cost of evaluation, development and support Increased reliability of usability evaluation results 33
  • 34. 34
  • 35. Literature  [Mernik2005] M. Mernik, J. Heering, and A. M. Sloane: When and how to develop domain-specific languages, 2005, ACM Computing Surveys  [Gabriel2010] Gabriel, P., Goulão, M. & Amaral, V. (2010). Do Software Languages Engineers Evaluate their Languages? in XIII Congreso Iberoamericano en "Software Engineering" (CIbSE'2010)  [Barisic2011a] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Quality in Use of DSLs: Current Evaluation Methods’. Proc. 3rd INForum - Simpósio de Informática (INForum2011), Coimbra, Portugal, September 2011  [Barisic2011b] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Quality in Use of Domain Specific Languages: a Case Study’. Proc. Evaluation and Usability of Programming Languages and Tools (PLATEAU) Portland, USA, October 2011  [Barisic2011c] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘How to reach a usable DSL? Moving toward a Systematic Evaluation’, Electronic Communications of the EASST, 2011  [Barisic2012] Barišić, A., Amaral, V., Goulão, M., and Barroca, B.: ‘Evaluating the Usability of Domain-Specific Languages’, in Mernik, M. (Ed.): ‘Formal and Practical Aspects of Domain-Specific Languages: Recent Developments’ (IGI Global, 2012) 35

Editor's Notes