SlideShare a Scribd company logo
1 of 33
1

Domain
Engineering

Language
Design

Language
Deployment

Language
evaluation /
testing

Language
Implementation


Did I build the right thing?
› Is end user satisfied with
product?



Did I build the thing right?
› Is the right product

functionality provided? (from
software engineer
understanding)

2
3



Focus is on the language
Focus is NOT on the language’s users
Should this be the other way around?



What about the context of evaluation?



4


Few papers report any sort of evaluation
› Even those provide too few details
› Too much tacit knowledge: virtually impossible

to replicate evaluations and perform metaanalysis


Predominance of toy examples
› Unsubstantiated claims to the merits of DSLs



Poor characterization of subjects involved in
validation
› How representative are they of real DSL users?
[Gabriel 2010]
5



Increasing awareness to the usability
evaluation of languages
› Measured by the size of community that use GPL
› Quantitative data collection
› Comparisons between different versions of same

language or suitability of different languages to
context of use



The methods used to evaluate usability of
GPLs are not adequate because they are
centred only on computation domain
concepts


DSLs are meant to close gap between
Domain Experts and Solutioncomputational platform



DSL development is hard
› Requires domain and language development

expertise (few people have both)


Many DSL development techniques (which
should we use?)



We should consider costs of
evaluating DSLs vs. costs of producing
inadequate DSLs

6
7

We are interested in languages that are
used as communication interfaces
between humans and computers
User Interface means a communicating
between humans and computers
Model of that communication can be
seen as a language






8
A language is a model that describes
the allowed terms and how to compose
them into the sentences involved in a
particular human-computer (H/C)
interaction
Different languages may have different
context of use and their users most likely
will have different knowledge sets
Context of Use – ‘The users, tasks,
equipment (hardware, software and
materials), and the physical and social
environments in which product is used’
[ISO 9126]


If we say that context of use has some
ontological purpose, then we can see it
as problem to be solved in the
language’s users’ mind



Languages that reduce the use of
computation domain concepts and
focus on the domain concepts of the
contexts of use’s problem, are called
Domain Specific Languages (DSLs)

9
1
0
Usability is key characteristic
for evaluating the Quality of
User Interfaces
Since we defined H/C
languages as UIs, it should be
also used for Quality
evaluation of DSLs
1
1

The capability of a software product to enable specified users to
achieve specified goals with effectiveness, productivity, safety
and satisfaction in specified contexts of use


To evaluate achieved Quality in Use of
DSLs we find it most relevant to evaluate
its:
› Effectiveness – accuracy with which a

developer completes language sentence
› Efficiency – time spent to complete a
sentence
› Satisfaction – freedom from inconveniences
and positive attitude towards the use of the
language
› Accessibility – learnabiltiy and memorability
of language terms

1
2


Cognitive activities involved in language
are:
› Learning both syntax and semantics
› Composition of the syntax required to

perform the function
› Comprehension of the function syntax
composed by someone else
› Debugging of syntax (semantics) written by
ourselves or others
› Modification of a function written by
ourselves or others

1
3


Query writing task– users are given a
question stated in natural language and
have to write sentence in the given
language



Tests:
› Immediate comprehension
› Reviews
› Final exams

1
4
1
5
Visual query language for
High Energy Physics PHESANT
vs. object-oriented coding in
C++/BEE

Requirements
definition

Design
planning

Result
packaging

Data
collection

Data
analysis
1
6
1
7


Two types of physicists (graduated
students) involved
› Informed programmers (Inf) – regular users of

programming languages and they are used
to program with the present analysis
framework
› Uninformed programmers (non-Inf) - regular
users of programming languages and they
are not used to program with the present
analysis framework
1
8


Features we wanted to have evaluated:
› query steps in Pheasant vs. C++/BEE
›
›
›
›
›
›
›

expressing a decay
specification of filtering conditions
vertexing and the usage of user-defined
functions
aggregation
path expression (navigation queries)
expressing the result set
the expressiveness of user-defined functions
1
0




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
2
0






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.












H1null Using Pheasant vs. C++/BEE has no impact on the 2
1
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
2
2






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
2
3

Training and Exam sessions
2
4






Every participant has four queries,
specified in English, to be rewritten in
previously learned language
Subjects makes self-assessment of his
replay rating his feeling of correctness
Example:
› Build the decay of a D0 particle to a Kaon

Pion
2
5

Query solution in Pheasant

Query solution in C++/BEE
(pseudo code based on real code)
2
6


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
2
7






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.
2
8
2
9
Mean confidence / query
Non - Inf
Inf

C++/BEE

1,04

Pheasant

4,75

C++/BEE

4,88

Pheasant

4,83

3
0
3
1

Usability evaluation can be an accurate
activity, since precisely defined DSLs can target
specific Contexts of Use, inside a particular set
of user profiles
 Instantiate our proposed DSL evaluation
process in the construction of new DSLs which
will take into account the Usability aspect from
the very beginning of their development
 From this instantiation, we expect to devise
languages and tools that can effectively and
automatically measure the identified Usability
factors

Quality in use of domain-specific languages: a case study

More Related Content

What's hot

Butler
ButlerButler
Butler
anesah
 
Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language Design
Markus Voelter
 
Gene Based Software Refactoring Location Identification and Rectification For...
Gene Based Software Refactoring Location Identification and Rectification For...Gene Based Software Refactoring Location Identification and Rectification For...
Gene Based Software Refactoring Location Identification and Rectification For...
IJCSIS Research Publications
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
Ali Ouni
 
Deep learning based code smell detection - Qualifying Talk
Deep learning based code smell detection - Qualifying TalkDeep learning based code smell detection - Qualifying Talk
Deep learning based code smell detection - Qualifying Talk
Sayed Mohsin Reza
 

What's hot (19)

DSL, the absolute weapon for the development
DSL, the absolute weapon for the developmentDSL, the absolute weapon for the development
DSL, the absolute weapon for the development
 
ThesisPresentation
ThesisPresentationThesisPresentation
ThesisPresentation
 
Icsm20.ppt
Icsm20.pptIcsm20.ppt
Icsm20.ppt
 
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
 
Butler
ButlerButler
Butler
 
When, why and for whom do practitioners detect technical debts?: An experienc...
When, why and for whom do practitioners detect technical debts?: An experienc...When, why and for whom do practitioners detect technical debts?: An experienc...
When, why and for whom do practitioners detect technical debts?: An experienc...
 
Applicative evaluation of bilingual terminologies
Applicative evaluation of bilingual terminologiesApplicative evaluation of bilingual terminologies
Applicative evaluation of bilingual terminologies
 
IRJET- Speech to Speech Translation System
IRJET- Speech to Speech Translation SystemIRJET- Speech to Speech Translation System
IRJET- Speech to Speech Translation System
 
Icsm19.ppt
Icsm19.pptIcsm19.ppt
Icsm19.ppt
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Research data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitlingResearch data as an aid in teaching technical competence in subtitling
Research data as an aid in teaching technical competence in subtitling
 
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.  "An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
"An NLP-based Tool for Software Artifacts Analysis" at @ICSME2021.
 
Summarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User FeedbackSummarization Techniques for Code, Change, Testing and User Feedback
Summarization Techniques for Code, Change, Testing and User Feedback
 
Domain Specific Language Design
Domain Specific Language DesignDomain Specific Language Design
Domain Specific Language Design
 
Gene Based Software Refactoring Location Identification and Rectification For...
Gene Based Software Refactoring Location Identification and Rectification For...Gene Based Software Refactoring Location Identification and Rectification For...
Gene Based Software Refactoring Location Identification and Rectification For...
 
Development Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer DiscussionsDevelopment Emails Content Analyzer: Intention Mining in Developer Discussions
Development Emails Content Analyzer: Intention Mining in Developer Discussions
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
Deep learning based code smell detection - Qualifying Talk
Deep learning based code smell detection - Qualifying TalkDeep learning based code smell detection - Qualifying Talk
Deep learning based code smell detection - Qualifying Talk
 

Viewers also liked (8)

Iterative usability evaluation of DSLs
Iterative usability evaluation of DSLsIterative usability evaluation of DSLs
Iterative usability evaluation of DSLs
 
Fashion is All Around Us.
Fashion is All Around Us.Fashion is All Around Us.
Fashion is All Around Us.
 
Prediction of disorder in protein structure (amit singh)
Prediction of disorder in protein structure (amit singh)Prediction of disorder in protein structure (amit singh)
Prediction of disorder in protein structure (amit singh)
 
Website Validity
Website ValidityWebsite Validity
Website Validity
 
Creating an Outline
Creating an OutlineCreating an Outline
Creating an Outline
 
Annotated Bibliography
Annotated BibliographyAnnotated Bibliography
Annotated Bibliography
 
Telling time
Telling timeTelling time
Telling time
 
Quantum dots ppt
Quantum dots ppt Quantum dots ppt
Quantum dots ppt
 

Similar to Quality in use of domain-specific languages: a case study

Essence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEssence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible Methods
Ed Seidewitz
 
324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf
MrRZapata
 
Task based language test
Task based language testTask based language test
Task based language test
Vronit82
 
Updated Ayushi Tongiya Resume(1)
Updated Ayushi Tongiya Resume(1)Updated Ayushi Tongiya Resume(1)
Updated Ayushi Tongiya Resume(1)
Ayushi Tongiya
 
Software development slides
Software development slidesSoftware development slides
Software development slides
iarthur
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
Ashwini Awatare
 
Kratika_Bansal_Resume_2016
Kratika_Bansal_Resume_2016Kratika_Bansal_Resume_2016
Kratika_Bansal_Resume_2016
Kratika Bansal
 

Similar to Quality in use of domain-specific languages: a case study (20)

Usability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific LanguagesUsability evaluation of Domain-Specific Languages
Usability evaluation of Domain-Specific Languages
 
Introducing Usability Concerns Early in the DSL Development Cycle: FlowSL Ex...
Introducing Usability Concerns Early in the DSL Development Cycle:  FlowSL Ex...Introducing Usability Concerns Early in the DSL Development Cycle:  FlowSL Ex...
Introducing Usability Concerns Early in the DSL Development Cycle: FlowSL Ex...
 
Essence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible MethodsEssence: A Common Ground for Flexible Methods
Essence: A Common Ground for Flexible Methods
 
324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf324587-project-setting-guidance.pdf
324587-project-setting-guidance.pdf
 
Ch1 language design issue
Ch1 language design issueCh1 language design issue
Ch1 language design issue
 
Task based language test
Task based language testTask based language test
Task based language test
 
Build your own Language - Why and How?
Build your own Language - Why and How?Build your own Language - Why and How?
Build your own Language - Why and How?
 
Updated Ayushi Tongiya Resume(1)
Updated Ayushi Tongiya Resume(1)Updated Ayushi Tongiya Resume(1)
Updated Ayushi Tongiya Resume(1)
 
Behavior driven development (bdd)
Behavior driven development (bdd)Behavior driven development (bdd)
Behavior driven development (bdd)
 
Unit 1_ preliminary Concepts_session 1.pptx
Unit 1_ preliminary Concepts_session 1.pptxUnit 1_ preliminary Concepts_session 1.pptx
Unit 1_ preliminary Concepts_session 1.pptx
 
Software development slides
Software development slidesSoftware development slides
Software development slides
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
 
UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University UX and Usability Workshop Southampton Solent University
UX and Usability Workshop Southampton Solent University
 
BDD along with Continuous Integration
BDD along with Continuous IntegrationBDD along with Continuous Integration
BDD along with Continuous Integration
 
Stc 2015 regional-round-ppt-bdd along with ci
Stc 2015 regional-round-ppt-bdd along with ciStc 2015 regional-round-ppt-bdd along with ci
Stc 2015 regional-round-ppt-bdd along with ci
 
Programming language design and implemenation
Programming language design and implemenationProgramming language design and implemenation
Programming language design and implemenation
 
Kratika_Bansal_Resume_2016
Kratika_Bansal_Resume_2016Kratika_Bansal_Resume_2016
Kratika_Bansal_Resume_2016
 
Zeus learning
Zeus learningZeus learning
Zeus learning
 
Vivek_MK
Vivek_MKVivek_MK
Vivek_MK
 
ESSENSE
ESSENSEESSENSE
ESSENSE
 

Recently uploaded

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Quality in use of domain-specific languages: a case study

  • 1.
  • 3.  Did I build the right thing? › Is end user satisfied with product?  Did I build the thing right? › Is the right product functionality provided? (from software engineer understanding) 2
  • 4. 3  Focus is on the language Focus is NOT on the language’s users Should this be the other way around?  What about the context of evaluation?  
  • 5. 4  Few papers report any sort of evaluation › Even those provide too few details › Too much tacit knowledge: virtually impossible to replicate evaluations and perform metaanalysis  Predominance of toy examples › Unsubstantiated claims to the merits of DSLs  Poor characterization of subjects involved in validation › How representative are they of real DSL users? [Gabriel 2010]
  • 6. 5  Increasing awareness to the usability evaluation of languages › Measured by the size of community that use GPL › Quantitative data collection › Comparisons between different versions of same language or suitability of different languages to context of use  The methods used to evaluate usability of GPLs are not adequate because they are centred only on computation domain concepts
  • 7.  DSLs are meant to close gap between Domain Experts and Solutioncomputational platform  DSL development is hard › Requires domain and language development expertise (few people have both)  Many DSL development techniques (which should we use?)  We should consider costs of evaluating DSLs vs. costs of producing inadequate DSLs 6
  • 8. 7 We are interested in languages that are used as communication interfaces between humans and computers User Interface means a communicating between humans and computers Model of that communication can be seen as a language
  • 9.    8 A language is a model that describes the allowed terms and how to compose them into the sentences involved in a particular human-computer (H/C) interaction Different languages may have different context of use and their users most likely will have different knowledge sets Context of Use – ‘The users, tasks, equipment (hardware, software and materials), and the physical and social environments in which product is used’ [ISO 9126]
  • 10.  If we say that context of use has some ontological purpose, then we can see it as problem to be solved in the language’s users’ mind  Languages that reduce the use of computation domain concepts and focus on the domain concepts of the contexts of use’s problem, are called Domain Specific Languages (DSLs) 9
  • 11. 1 0 Usability is key characteristic for evaluating the Quality of User Interfaces Since we defined H/C languages as UIs, it should be also used for Quality evaluation of DSLs
  • 12. 1 1 The capability of a software product to enable specified users to achieve specified goals with effectiveness, productivity, safety and satisfaction in specified contexts of use
  • 13.  To evaluate achieved Quality in Use of DSLs we find it most relevant to evaluate its: › Effectiveness – accuracy with which a developer completes language sentence › Efficiency – time spent to complete a sentence › Satisfaction – freedom from inconveniences and positive attitude towards the use of the language › Accessibility – learnabiltiy and memorability of language terms 1 2
  • 14.  Cognitive activities involved in language are: › Learning both syntax and semantics › Composition of the syntax required to perform the function › Comprehension of the function syntax composed by someone else › Debugging of syntax (semantics) written by ourselves or others › Modification of a function written by ourselves or others 1 3
  • 15.  Query writing task– users are given a question stated in natural language and have to write sentence in the given language  Tests: › Immediate comprehension › Reviews › Final exams 1 4
  • 16. 1 5 Visual query language for High Energy Physics PHESANT vs. object-oriented coding in C++/BEE Requirements definition Design planning Result packaging Data collection Data analysis
  • 17. 1 6
  • 18. 1 7  Two types of physicists (graduated students) involved › Informed programmers (Inf) – regular users of programming languages and they are used to program with the present analysis framework › Uninformed programmers (non-Inf) - regular users of programming languages and they are not used to program with the present analysis framework
  • 19. 1 8  Features we wanted to have evaluated: › query steps in Pheasant vs. C++/BEE › › › › › › › expressing a decay specification of filtering conditions vertexing and the usage of user-defined functions aggregation path expression (navigation queries) expressing the result set the expressiveness of user-defined functions
  • 20. 1 0   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
  • 21. 2 0     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.
  • 22.       H1null Using Pheasant vs. C++/BEE has no impact on the 2 1 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
  • 23. 2 2    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
  • 25. 2 4    Every participant has four queries, specified in English, to be rewritten in previously learned language Subjects makes self-assessment of his replay rating his feeling of correctness Example: › Build the decay of a D0 particle to a Kaon Pion
  • 26. 2 5 Query solution in Pheasant Query solution in C++/BEE (pseudo code based on real code)
  • 27. 2 6  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
  • 28. 2 7     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.
  • 29. 2 8
  • 30. 2 9
  • 31. Mean confidence / query Non - Inf Inf C++/BEE 1,04 Pheasant 4,75 C++/BEE 4,88 Pheasant 4,83 3 0
  • 32. 3 1 Usability evaluation can be an accurate activity, since precisely defined DSLs can target specific Contexts of Use, inside a particular set of user profiles  Instantiate our proposed DSL evaluation process in the construction of new DSLs which will take into account the Usability aspect from the very beginning of their development  From this instantiation, we expect to devise languages and tools that can effectively and automatically measure the identified Usability factors 

Editor's Notes

  1. {}