skip to main content
10.1145/3531706.3536463acmconferencesArticle/Chapter ViewAbstractPublication PageseicsConference Proceedingsconference-collections
short-paper

Towards a Domain-Specific Language to Specify Interaction Scenarios for Web-Based Graphical User Interfaces

Authors Info & Claims
Published:21 June 2022Publication History

ABSTRACT

The communication gap between software developers and subject-matter experts is one of the foremost long-standing problems in software development. The level of formality of the user requirements specification has a strong impact on the ability of these two groups to communicate effectively. Domain-Specific Languages (DSLs) are seen as one of the potential solutions to address this issue by raising the abstraction level of the software specification while keeping the necessary formalism to allow for software analysis, design, and verification. This paper discusses the ongoing development of a high-level DSL and its rich editing environment to allow the specification of consistent and testable interaction scenarios as user requirements for web-based graphical user interfaces. The language grammar has been developed based on the Gherkin syntax that supports Behaviour-Driven Development (BDD). Results of a preliminary evaluation regarding the consistency of actions and states of interaction elements specified for web user interfaces showed that the grammar is able to support a consistent specification of BDD scenarios as user requirements at the interaction level.

References

  1. Gojko Adzic. 2011. Specification by example: how successful teams deliver the right software. Simon and Schuster.Google ScholarGoogle Scholar
  2. Chetan Arora, Mehrdad Sabetzadeh, Lionel Briand, and Frank Zimmer. 2015. Automated checking of conformance to requirements templates using natural language processing. IEEE transactions on Software Engineering 41, 10 (2015), 944–968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Hendrik Bünder and Herbert Kuchen. 2019. A model-driven approach for behavior-driven GUI testing. In Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing. 1742–1751.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Capybara. 2022. Capybara. https://teamcapybara.github.io/capybara/ Last accessed: April 2022.Google ScholarGoogle Scholar
  5. David Chelimsky, Dave Astels, Bryan Helmkamp, Dan North, Zach Dennis, and Aslak Hellesoy. 2010. The RSpec Book: Behaviour Driven Development with RSpec, Cucumber, and Friends. Pragmatic Bookshelf.Google ScholarGoogle Scholar
  6. Mike Cohn. 2004. User stories applied: For agile software development. Addison-Wesley Professional.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Concordion. 2022. Concordion: Specification by Example. https://concordion.org Last accessed: April 2022.Google ScholarGoogle Scholar
  8. Cucumber. 2022. Cucumber: BDD Testing and Collaboration Tools for Teams. https://cucumber.io Last accessed: April 2022.Google ScholarGoogle Scholar
  9. Fabiano Dalpiaz, Alessio Ferrari, Xavier Franch, and Cristina Palomares. 2018. Natural language processing for requirements engineering: The best is yet to come. IEEE software 35, 5 (2018), 115–119.Google ScholarGoogle Scholar
  10. Digital.ai. 2021. 15th Annual State Of Agile Report. Technical Report. https://digital.ai/resource-center/analyst-reports/state-of-agile-reportGoogle ScholarGoogle Scholar
  11. D Méndez Fernández, Stefan Wagner, Marcos Kalinowski, Michael Felderer, Priscilla Mafra, Antonio Vetrò, Tayana Conte, M-T Christiansson, Des Greer, Casper Lassenius, 2017. Naming the pain in requirements engineering. Empirical software engineering 22, 5 (2017), 2298–2338.Google ScholarGoogle Scholar
  12. Gherkin. 2022. Gherkin Syntax. https://cucumber.io/docs/gherkin/ Last accessed: April 2022.Google ScholarGoogle Scholar
  13. JBehave. 2022. What is JBehave?https://jbehave.org Last accessed: April 2022.Google ScholarGoogle Scholar
  14. Mohamad Kassab, Colin Neill, and Phillip Laplante. 2014. State of practice in requirements engineering: contemporary data. Innovations in Systems and Software Engineering 10, 4(2014), 235–241.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Sascha Konrad and Betty HC Cheng. 2005. Facilitating the construction of specification pattern-based properties. In 13th IEEE International Conference on Requirements Engineering (RE’05). IEEE, 329–338.Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Tobias Kuhn. 2014. A survey and classification of controlled natural languages. Computational linguistics 40, 1 (2014), 121–170.Google ScholarGoogle Scholar
  17. Richard Lawrence and Paul Rayner. 2019. Behavior-Driven Development with Cucumber: Better Collaboration for Better Software. Addison-Wesley Professional.Google ScholarGoogle Scholar
  18. Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte, Laurent Bouillon, and Víctor López-Jaquero. 2004. USIXML: A language supporting multi-path development of user interfaces. In IFIP International Conference on Engineering for Human-Computer Interaction. Springer, 200–220.Google ScholarGoogle Scholar
  19. Garm Lucassen, Fabiano Dalpiaz, Jan Martijn EM van der Werf, and Sjaak Brinkkemper. 2016. The use and effectiveness of user stories in practice. In International working conference on requirements engineering: Foundation for software quality. Springer, 205–222.Google ScholarGoogle Scholar
  20. Rahul Mohanani, Paul Ralph, Burak Turhan, and Vladimir Mandic. 2021. How Templated Requirements Specifications Inhibit Creativity in Software Engineering. IEEE Transactions on Software Engineering(2021).Google ScholarGoogle ScholarCross RefCross Ref
  21. David Navarre, Philippe Palanque, Jean-Francois Ladry, and Eric Barboni. 2009. ICOs: A model-based user interface description technique dedicated to interactive systems addressing usability, reliability and scalability. ACM Transactions on Computer-Human Interaction (TOCHI) 16, 4(2009), 1–56.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Dan North. 2022. What’s in a Story?http://dannorth.net/whats-in-a-story/Google ScholarGoogle Scholar
  23. Oyindamola Olajubu. 2015. A textual domain specific language for requirement modelling. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering. 1060–1062.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Gabriel Oliveira and Sabrina Marczak. 2018. On the understanding of BDD scenarios’ quality: Preliminary practitioners’ opinions. In International Working Conference on Requirements Engineering: Foundation for Software Quality. Springer, 290–296.Google ScholarGoogle ScholarCross RefCross Ref
  25. Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Ensuring the consistency between user requirements and graphical user interfaces: a behavior-based automated approach. In International Conference on Computational Science and Its Applications. Springer, 616–632.Google ScholarGoogle ScholarCross RefCross Ref
  26. Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Ensuring the consistency between user requirements and GUI prototypes: A behavior-based automated approach. In IFIP Conference on Human-Computer Interaction. Springer, 644–665.Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2020. Ensuring the Consistency between User Requirements and Task Models: A Behavior-Based Automated Approach. Proceedings of the ACM on Human-Computer Interaction 4, EICS(2020), 1–32.Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mary Beth Rosson and John M Carroll. 2007. Scenario-based design. In The Human-Computer Interaction Handbook. CRC Press, 1067–1086.Google ScholarGoogle Scholar
  29. Thiago Rocha Silva and Brian Fitzgerald. 2021. Empirical Findings on BDD Story Parsing to Support Consistency Assurance between Requirements and Artifacts. In Evaluation and Assessment in Software Engineering. 266–271.Google ScholarGoogle Scholar
  30. Thiago Rocha Silva and Brian Fitzgerald. 2021. Parsing BDD Stories for Automated Verification of Software Artefacts. Electronic Communications of the EASST 79 (2021).Google ScholarGoogle Scholar
  31. Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2017. A behavior-based ontology for supporting automated assessment of interactive systems. In 2017 IEEE 11th International Conference on Semantic Computing (ICSC). IEEE, 250–257.Google ScholarGoogle ScholarCross RefCross Ref
  32. Thiago Rocha Silva, Jean-Luc Hak, and Marco Winckler. 2017. A formal ontology for describing interactive behaviors and supporting automated testing on user interfaces. International Journal of Semantic Computing 11, 04 (2017), 513–539.Google ScholarGoogle ScholarCross RefCross Ref
  33. Thiago Rocha Silva and Marco Winckler. 2017. A scenario-based approach for checking consistency in user interface design artifacts. In proceedings of the XVI Brazilian symposium on human factors in computing systems. 1–10.Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Thiago Rocha Silva, Marco Winckler, and Hallvard Trætteberg. 2019. Extending Behavior-Driven Development for Assessing User Interface Design Artifacts. In The 31st International Conference on Software Engineering & Knowledge Engineering (SEKE 2019).Google ScholarGoogle Scholar
  35. Smashtest. 2022. Smashtest. https://smashtest.io Last accessed: April 2022.Google ScholarGoogle Scholar
  36. Squish. 2022. Automated GUI Testing - Squish GUI Tester. https://www.froglogic.com/squish/ Last accessed: April 2022.Google ScholarGoogle Scholar
  37. Dave Steinberg, Frank Budinsky, Ed Merks, and Marcelo Paternostro. 2008. EMF: eclipse modeling framework. Pearson Education.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Alvaro Veizaga, Mauricio Alferez, Damiano Torre, Mehrdad Sabetzadeh, and Lionel Briand. 2021. On systematically building a controlled natural language for functional requirements. Empirical Software Engineering 26, 4 (2021), 1–53.Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Marco Winckler and Philippe Palanque. 2003. StateWebCharts: A formal description technique dedicated to navigation modelling of web applications. In International Workshop on Design, Specification, and Verification of Interactive Systems. Springer, 61–76.Google ScholarGoogle ScholarCross RefCross Ref
  40. Xtext. 2022. Xtext - Language Engineering Made Easy!https://www.eclipse.org/Xtext/ Last accessed: April 2022.Google ScholarGoogle Scholar
  41. Fiorella Zampetti, Andrea Di Sorbo, Corrado Aaron Visaggio, Gerardo Canfora, and Massimiliano Di Penta. 2020. Demystifying the adoption of behavior-driven development in open source projects. Information and Software Technology 123 (2020), 106311.Google ScholarGoogle ScholarCross RefCross Ref
  42. Liping Zhao, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, and Riza T. Batista-Navarro. 2021. Natural Language Processing (NLP) for Requirements Engineering: A Systematic Mapping Study. Comput. Surveys 54(2021). Issue 3.Google ScholarGoogle Scholar
  1. Towards a Domain-Specific Language to Specify Interaction Scenarios for Web-Based Graphical User Interfaces

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      EICS '22 Companion: Companion of the 2022 ACM SIGCHI Symposium on Engineering Interactive Computing Systems
      June 2022
      69 pages
      ISBN:9781450390316
      DOI:10.1145/3531706

      Copyright © 2022 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 21 June 2022

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • short-paper
      • Research
      • Refereed limited

      Acceptance Rates

      Overall Acceptance Rate73of299submissions,24%

      Upcoming Conference

      EICS '24
    • Article Metrics

      • Downloads (Last 12 months)51
      • Downloads (Last 6 weeks)7

      Other Metrics

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format .

    View HTML Format