skip to main content
10.1145/3567512.3567518acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections

Workbench for Creating Block-Based Environments

Published:01 December 2022Publication History
Related Artifact: Blocklybench software https://doi.org/10.5281/zenodo.7183177

ABSTRACT

Block-based environments are visual-programming environments that allow users to create programs by dragging and dropping blocks that resemble jigsaw puzzle pieces. These environments have proven to lower the entry barrier of programming for end-users. Besides using block-based environments for programming, they can also help edit popular semi-structured data languages such as JSON and YAML. However, creating new block-based environments is still challenging; developers can develop them in an ad-hoc way or using context-free grammars in a language workbench. Given the visual nature of block-based environments, both options are valid; however, developers have some limitations when describing them. In this paper, we present Blocklybench, which is a meta-block-based environment for describing block-based environments for both programming and semi-structured data languages. This tool allows developers to express the specific elements of block-based environments using the blocks notation. To evaluate Blocklybench, we present three case studies. Our results show that Blocklybench allows developers to describe block-based specific aspects of language constructs such as layout, color, block connections, and code generators.

References

  1. David Bau, Jef Gray, Caitlin Kelleher, Josh Sheldon, and Franklyn Turbak. 2017. Learnable Programming: Blocks and Beyond. Commun. ACM 60, 6 ( 2017 ), 72-80. https://doi.org/10.1145/3015455 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Blocklybench. 2022. Basic Language. https://motar-242711.ew. r.appspot.com/?editor= basic&load=1. https://motar-242711.ew.r. appspot.com/?editor= basic&load=1 [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  3. Blocklybench. 2022. Blocklybench. https://motar-242711.ew.r.appspot. com/. https://motar-242711.ew.r.appspot.com/ [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  4. Blocklybench. 2022. Blocklybench. https://motar-242711.ew.r.appspot. com/?editor= first&load=1. https://motar-242711.ew.r.appspot.com/ ?editor= first&load=1 [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  5. Blocklybench. 2022. Fectar Code Blocks. https://motar-242711.ew. r.appspot.com/?editor= fectar&load=1. https://motar-242711.ew.r. appspot.com/?editor= fectar&load=1 [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  6. Blocklybench. 2022. Fectar Code Blocks. https://motar-242711.ew. r.appspot.com/editors/fectar/editor.html. https://motar-242711.ew. r.appspot.com/editors/fectar/editor.html [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  7. Blocklybench. 2022. Fectar Code Blocks. https://motar-242711. ew.r.appspot.com/?editor= google_workflow&load=1. https://motar242711.ew.r.appspot.com/?editor= google_workflow&load=1 [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  8. Blocklybench. 2022. Google Workflows Editor. https://motar242711.ew.r.appspot.com/editors/google_workflow/editor.html. https://motar-242711.ew.r.appspot.com/editors/google_workflow/ editor.html [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  9. Blocklybench. 2022. Smooth Voxels Blocks. https://motar-242711. ew.r.appspot.com/?editor= svox&load=1. https://motar-242711.ew.r. appspot.com/?editor= svox&load=1 [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  10. Blocklybench. 2022. Smooth Voxels Blocks Editor. https://motar242711.ew.r.appspot.com/editors/svox/editor.html. https://motar242711.ew.r.appspot.com/editors/svox/editor.html [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  11. Frank Budinsky, Stephen A. Brodsky, and Ed Merks. 2003. Eclipse Modeling Framework. Pearson Education. Google ScholarGoogle Scholar
  12. Philippe Charles, Robert M. Fuhrer, Stanley M. Sutton, Evelyn Duesterwald, and Jurgen Vinju. 2009. Accelerating the Creation of Customized, Language-Specific IDEs in Eclipse. 44, 10 ( 2009 ), 191-206. https://doi.org/10.1145/1639949.1640104 Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Enrique Coronado, Fulvio Mastrogiovanni, Bipin Indurkhya, and Gentiane Venture. 2020. Visual Programming Environments for EndUser Development of intelligent and social robots, a systematic review. Journal of Computer Languages 58 ( 2020 ), 100970. https://doi.org/10.1016/j.cola. 2020.100970 Google ScholarGoogle ScholarCross RefCross Ref
  14. Shruti Dhariwal. 2019. BlockArt: Visualizing the 'Hundred Languages' of Code in Children's Creations. In Proceedings of the 2019 on Creativity and Cognition (San Diego, CA, USA) (C&C '19). ACM, 633-639. https://doi.org/10.1145/3325480.3326585 Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Söderberg Emma and Hedin Görel. 2011. Building Semantic Editors Using JastAdd: Tool Demonstration. ( 2011 ), 6 pages. https://doi.org/ 10.1145/1988783.1988794 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Erdweg, T. v. d. Storm, M. Volter, L. Tratt, R. Bosman, W. R. Cook, A. Gerritsen, A. Hulshout, S. Kelly, A. Loh, G. Konat, P. J. Molina, M. Palatnik, R. Pohjonen, E. Schindler, K. Schindler, R. Solmi, V. Vergu, E. Visser, K. v. d. Vlist, G. Wachsmuth, and J. v. d. Woning. 2015. Evaluating and comparing language workbenches: Existing results and benchmarks for the future. Computer Languages, Systems & Structures 44 ( 2015 ), 24-47. https://doi.org/10.1016/j.cl. 2015. 08.007 Google ScholarGoogle ScholarCross RefCross Ref
  17. Fectar. 2022. Fectar. https://www.fectar.com. https://www.fectar. com [Online, accessed 25 July 2022 ]. Google ScholarGoogle Scholar
  18. Google. 2020. Blockly. https://developers.google.com/blockly. https://developers.google.com/blockly [Online, accessed 25 July 2022 ]. Google ScholarGoogle Scholar
  19. Google. 2020. Blockly block factory. https://blockly-demo.appspot. com/static/demos/blockfactory/index.html. https://blockly-demo. appspot.com/static/demos/blockfactory/index.html [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  20. Google. 2020. Google Cloud Platform. https://github. com/GoogleCloudPlatform/workflows-samples/blob/main/ src/step_conditional_weekend.workflows.yaml. https://github.com/GoogleCloudPlatform/workflows-samples/blob/ main/src/step_conditional_weekend.workflows. yaml [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  21. Google. 2020. Localize Blocks. https://developers.google.com/blockly/ guides/create-custom-blocks/localize-blocks. https://developers. google.com/blockly/guides/create-custom-blocks/localize-blocks [Online, accessed 17 August 2022 ]. Google ScholarGoogle Scholar
  22. Google. 2022. Google Workflows. https://cloud.google.com/workflows. https://cloud.google.com/workflows [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  23. Blockly Group. 2022. Blockly json serialization and merging. https://groups.google.com/g/blockly/c/6lfkH-mSWdI/m/K25gHd_oAAAJ. https://groups.google.com/g/blockly/c/6lfkH-mSWdI/m/ K25gHd_oAAAJ [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  24. Brian Harvey and Jens Monig. 2020. Snap! 4.1 Reference Manual. https://github.com/cwi-swat/rascal-minijava. https://snap.berkeley. edu/snap/help/SnapManual.pdf [Online, accessed 12 July 2021 ]. Google ScholarGoogle Scholar
  25. Heering Jan and Klint Paul. 2000. Semantics of Programming Languages: A Tool-oriented Approach. SIGPLAN Not. 35, 3 ( 2000 ), 39-48. https://doi.org/10.1145/351159.351173 Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Caitlin Kelleher and Randy Pausch. 2005. Lowering the Barriers to Programming: A Taxonomy of Programming Environments and Languages for Novice Programmers. ACM Comput. Surv. 37, 2 ( 2005 ), 83-137. https://doi.org/10.1145/1089733.1089734 Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Andrew J. Ko, Brad Myers, Mary Beth Rosson, Gregg Rothermel, Mary Shaw, Susan Wiedenbeck, Robin Abraham, Laura Beckwith, Alan Blackwell, Margaret Burnett, Martin Erwig, Chris Scafidi, Joseph Lawrance, and Henry Lieberman. 2011. The state of the art in end-user software engineering. Comput. Surveys 43, 3 ( 2011 ), 1-44. https://doi.org/10.1145/1922649.1922658 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Henry Lieberman, Fabio Paternò, Markus Klann, and Volker Wulf. 2006. End-User Development: An Emerging Paradigm. Springer Netherlands, Dordrecht, 1-8. https://doi.org/10.1007/1-4020-5386-X_1 Google ScholarGoogle ScholarCross RefCross Ref
  29. Mauricio Verano Merino and Tijs van der Storm. 2020. cwi-swat/kogi: Kogi 0.1.0. https://doi.org/10.5281/zenodo.4033220 Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Luke Moors and Robert Sheehan. 2017. Aiding the Transition from Novice to Traditional Programming Environments. In Proceedings of the 2017 Conference on Interaction Design and Children (Stanford, California, USA) ( IDC '17). ACM, 509-514. https://doi.org/10.1145/ 3078072.3084317 Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Mozilla. 2022. File System Access API. https://developer.mozilla.org/enUS/docs/Web/API/File_System_Access_API. https://developer.mozilla. org/en-US/docs/Web/API/File_System_Access_API [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  32. Brad A. Myers, Andrew J. Ko, and Margaret M. Burnett. 2006. Invited Research Overview: End-User Programming. In CHI '06 Extended Abstracts on Human Factors in Computing Systems (Montréal, Québec, Canada) ( CHI EA '06). ACM, 75-80. https://doi.org/10.1145/1125451. 1125472 Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Donald A. Norman. 2002. The Design of Everyday Things. Basic Books, Inc. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Klint Paul. 1993. A Meta-Environment for Generating Programming Environments. ACM Transactions on Software Engineering and Methodology (TOSEM) 2, 2 ( 1993 ), 176-201. https://doi.org/10.1145/151257. 151260 Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Arnold Pears, Stephen Seidman, Lauri Malmi, Linda Mannila, Elizabeth Adams, Jens Bennedsen, Marie Devlin, and James Paterson. 2007. A Survey of Literature on the Teaching of Introductory Programming. In Working Group Reports on ITiCSE on Innovation and Technology in Computer Science Education (Dundee, Scotland) (ITiCSE-WGR '07). Association for Computing Machinery, New York, NY, USA, 204-223. https://doi.org/10.1145/1345443.1345441 Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Smooth Voxel Playground. 2022. Smooth Voxel Playground. https://svox.glitch.me/playground.html. https://svox.glitch.me/playground. html [Online, accessed 28 July 2022 ]. Google ScholarGoogle Scholar
  37. Thomas W. Price and Tifany Barnes. 2015. Comparing Textual and Block Interfaces in a Novice Programming Environment. In Proceedings of the Eleventh Annual International Conference on International Computing Education Research (Omaha, Nebraska, USA) ( ICER '15). ACM, 91-99. https://doi.org/10.1145/2787622.2787712 Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Thomas Reps and Tim Teitelbaum. 1984. The Synthesizer Generator. ( 1984 ), 42-48. https://doi.org/10.1145/800020.808247 Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Mitchel et al. Resnick. 2009. Scratch: Programming for All. Commun. ACM 52, 11 ( 2009 ), 60-67. Google ScholarGoogle Scholar
  40. SonarSource SA. 2008. SonarQube. https://www.sonarqube. org. [Online, accessed 16 August 2022 ]. Google ScholarGoogle Scholar
  41. Mohamed Aymen Saied, Ali Ouni, Houari Sahraoui, Raula Gaikovina Kula, Katsuro Inoue, and David Lo. 2018. Improving reusability of software libraries through usage pattern mining. Journal of Systems and Software 145 ( 2018 ), 164-179. https://doi.org/10.1016/j.jss. 2018. 08.032 Google ScholarGoogle ScholarCross RefCross Ref
  42. Andrew Stratton, Chris Bates, and Andy Dearden. 2017. Quando: Enabling Museum and Art Gallery Practitioners to Develop Interactive Digital Exhibits. In End-User Development. Springer, 100-107. Google ScholarGoogle Scholar
  43. Blockly team. 2022. Create custom blocks: Per-block configuration. https://developers.google.com/blockly/guides/createcustom-blocks/ define-blocks?hl=en#per-block_configuration. https://developers.google.com/blockly/guides/create-customblocks/ define-blocks?hl=en#per-block_configuration [Online, accessed 25 July 2022 ]. Google ScholarGoogle Scholar
  44. Blockly team. 2022. Custom Blocks : Style Guide. https://developers. google.com/blockly/guides/create-custom-blocks/style-guide?hl=en. https://developers.google.com/blockly/guides/create-customblocks/style-guide?hl=en [Online, accessed 25 July 2022 ]. Google ScholarGoogle Scholar
  45. Mark G.J. van den Brand, Arie van Deursen, Jan Heering, Hayco A. de Jong, Merijn de Jonge, Tobias Kuipers, Paul Klint, Leon Moonen, Pieter A. Olivier, Jeroen Scheerder, Jurgen J. Vinju, Eelco Visser, and Joost Visser. 2001. The ASF+SDF Meta-Environment: A ComponentBased Language Development Environment. Electronic Notes in Theoretical Computer Science 44, 2 ( 2001 ), 3-8. https://doi.org/10.1016/ S1571-0661 ( 04 ) 80917-4 LDTA'01, First Workshop on Language Descriptions, Tools and Applications (a Satellite Event of ETAPS 2001 ). Google ScholarGoogle Scholar
  46. Mauricio Verano Merino, Tom Beckmann, Tijs van der Storm, Robert Hirschfeld, and Jurgen J. Vinju. 2021. Getting Grammars into Shape for Block-Based Editors. In Proceedings of the 14th ACM SIGPLAN International Conference on Software Language Engineering (Virtual, USA) ( SLE 2021). ACM, 12 pages. https://doi.org/10.1145/3486608. 3486908 Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Mauricio Verano Merino and Tijs van der Storm. 2020. Block-Based Syntax from Context-Free Grammars. In Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering (Virtual, USA) ( SLE 2020). ACM, 283-295. https://doi.org/10.1145/ 3426425.3426948 Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Mauricio Verano Merino, Jurgen Vinju, and Mark van den Brand. 2021. What you always wanted to know but could not find about block-based environments. ( 2021 ). https://arxiv.org/abs/2110.03073 [Under review at ACM Computing Surveys]. Google ScholarGoogle Scholar
  49. R. Vinayakumar, K. Soman, and P. Menon. 2018. CT-Blocks: Learning Computational Thinking by Snapping Blocks. In 2018 9th International Conference on Computing, Communication and Networking Technologies (ICCCNT). 1-7. https://doi.org/10.1109/ICCCNT. 2018.8493669 Google ScholarGoogle ScholarCross RefCross Ref
  50. David Weintrop, Afsoon Afzal, Jean Salac, Patrick Francis, Boyang Li, David C. Shepherd, and Diana Franklin. 2018. Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices. In Proceedings of the 2018 CHI Conference on Human Factors in Computing Systems (Montreal QC, Canada) (CHI '18). ACM, 366 : 1-366 : 12. https://doi.org/10.1145/3173574.3173940 Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. David Weintrop and Uri Wilensky. 2018. How block-based, text-based, and hybrid block/text modalities shape novice programming practices. International Journal of Child-Computer Interaction 17 ( 2018 ), 83-92. https://doi.org/10.1016/j.ijcci. 2018. 04.005 Google ScholarGoogle ScholarCross RefCross Ref
  52. David Wolber, Harold Abelson, and Mark Friedman. 2015. Democratizing Computing with App Inventor. GetMobile: Mobile Comp. and Comm. 18, 4 (Jan. 2015 ), 53-58. https://doi.org/10.1145/2721914.2721935 Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Workbench for Creating Block-Based Environments

          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
          • Article Metrics

            • Downloads (Last 12 months)144
            • Downloads (Last 6 weeks)21

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader