Eating Your Own Dog Food: WebDSL Case Studies to Improve Academic Workflows

Authors Danny M. Groenewegen , Elmer van Chastelet , Max M. de Krieger , Daniel A. A. Pelsmaeker



PDF
Thumbnail PDF

File

OASIcs.EVCS.2023.13.pdf
  • Filesize: 485 kB
  • 11 pages

Document Identifiers

Author Details

Danny M. Groenewegen
  • Delft University of Technology, The Netherlands
Elmer van Chastelet
  • Delft University of Technology, The Netherlands
Max M. de Krieger
  • Delft University of Technology, The Netherlands
Daniel A. A. Pelsmaeker
  • Delft University of Technology, The Netherlands

Acknowledgements

We want to thank Eelco Visser for his guidance and vision.

Cite AsGet BibTex

Danny M. Groenewegen, Elmer van Chastelet, Max M. de Krieger, and Daniel A. A. Pelsmaeker. Eating Your Own Dog Food: WebDSL Case Studies to Improve Academic Workflows. In Eelco Visser Commemorative Symposium (EVCS 2023). Open Access Series in Informatics (OASIcs), Volume 109, pp. 13:1-13:11, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2023)
https://doi.org/10.4230/OASIcs.EVCS.2023.13

Abstract

SDF, Stratego and Spoofax provide a platform for development of domain-specific programming languages. On this platform, the WebDSL project started out as a case study in language engineering, and grew into a reliable tool for rapid prototyping and continuous development of web applications. Our team led by Eelco Visser develops and operates several web applications to support academic workflows. EvaTool governs the process of course quality control, importing questionnaire data, and providing lecturers and education directors with a platform to discuss and agree on improvements. WebLab is an online learning management system with a focus on programming education, with support for lab work and digital exams, used by over 40 courses. Conf Researchr is a domain-specific content management system for creating and hosting integrated websites for conferences with multiple co-located events, used by all ACM SIGPLAN and SIGSOFT conferences. MyStudyPlanning is an application for composition of individual study programs by students and verification of those programs by the exam board, used by multiple faculties at the Delft University of Technology. These tools served as practical case studies for applying the research, and ensure the continued development of the underlying platform.

Subject Classification

ACM Subject Classification
  • Applied computing → Education
Keywords
  • WebDSL
  • WebLab
  • Spoofax
  • Eelco Visser
  • education

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Martin Bravenboer and Eelco Visser. Concrete syntax for objects: domain-specific language embedding and assimilation without restrictions. In OOPSLA, pages 365-383, 2004. URL: https://doi.org/10.1145/1028976.1029007.
  2. Bram Crielaard, Chiel Bruin, and Taico Aerts. Native WebLab: Safe execution of native code in WebLab. Bachelor’s thesis, Delft University of Technology, 2017. Google Scholar
  3. Max M. de Krieger. Modernizing the WebDSL front-end: A case study in SDF3 and Statix. master’s thesis. http://resolver.tudelft.nl/uuid:564b8471-631f-4831-a049-58b187425aed, 2022.
  4. Eelco Dolstra. The Purely Functional Software Deployment Model. PhD thesis, Utrecht University, Utrecht, The Netherlands, January 2006. Google Scholar
  5. Danny M. Groenewegen, Elmer van Chastelet, and Eelco Visser. Evolution of the WebDSL runtime: reliability engineering of the WebDSL web programming language. In Programming, pages 77-83, 2020. URL: https://doi.org/10.1145/3397537.3397553.
  6. Danny M. Groenewegen and Eelco Visser. Declarative access control for WebDSL: Combining language integration and separation of concerns. In ICWE, pages 175-188, 2008. URL: https://doi.org/10.1109/ICWE.2008.15.
  7. Danny M. Groenewegen and Eelco Visser. Integration of data validation and user interface concerns in a DSL for web applications. In SLE, pages 164-173, 2009. URL: https://doi.org/10.1007/978-3-642-12107-4_13.
  8. Danny M. Groenewegen and Eelco Visser. Integration of data validation and user interface concerns in a DSL for web applications. SoSyM, 12(1):35-52, 2013. URL: https://doi.org/10.1007/s10270-010-0173-9.
  9. Daco Harkes. Declarative Specification of Information System Data Models and Business Logic. PhD thesis, Delft University of Technology, Netherlands, 2019. URL: https://doi.org/10.4233/uuid:5e9805ca-95d0-451e-a8f0-55decb26c94a.
  10. Daco Harkes, Danny M. Groenewegen, and Eelco Visser. IceDust: Incremental and eventual computation of derived values in persistent object graphs. In ECOOP, 2016. URL: https://doi.org/10.4230/LIPIcs.ECOOP.2016.11.
  11. Daco Harkes, Elmer van Chastelet, and Eelco Visser. Migrating business logic to an incremental computing DSL: a case study. In SLE, pages 83-96, 2018. URL: https://doi.org/10.1145/3276604.3276617.
  12. Daco Harkes and Eelco Visser. Unifying and generalizing relations in role-based data modeling and navigation. In SLE, pages 241-260, 2014. URL: https://doi.org/10.1007/978-3-319-11245-9_14.
  13. Daco Harkes and Eelco Visser. IceDust 2: Derived bidirectional relations and calculation strategy composition. In ECOOP, 2017. URL: https://doi.org/10.4230/LIPIcs.ECOOP.2017.14.
  14. Jan Heering, P. R. H. Hendriks, Paul Klint, and Jan Rekers. The syntax definition formalism SDF - reference manual. SIGPLAN, 24(11):43-75, 1989. URL: https://doi.org/10.1145/71605.71607.
  15. Armijn Hemel. NixOS: the Nix based operating system INF/SCR-05-91. Master’s thesis, University of Utrecht, 2006. Google Scholar
  16. Zef Hemel, Danny M. Groenewegen, Lennart C. L. Kats, and Eelco Visser. Static consistency checking of web applications with WebDSL. JSC, 46(2):150-182, 2011. URL: https://doi.org/10.1016/j.jsc.2010.08.006.
  17. Zef Hemel, Lennart C. L. Kats, Danny M. Groenewegen, and Eelco Visser. Code generation by model transformation: a case study in transformation modularity. Software and Systems Modeling, 9(3):375-402, 2010. URL: https://doi.org/10.1007/s10270-009-0136-1.
  18. Zef Hemel and Eelco Visser. PIL: A platform independent language for retargetable DSLs. In SLE, pages 224-243, 2009. URL: https://doi.org/10.1007/978-3-642-12107-4_17.
  19. Zef Hemel and Eelco Visser. Declaratively programming the mobile web with Mobl. In OOPSLA, pages 695-712, 2011. URL: https://doi.org/10.1145/2048066.2048121.
  20. Karl Trygve Kalleberg and Eelco Visser. Fusing a transformation language with an open compiler. Electronic Notes in Theoretical Computer Science, 203(2):21-36, 2008. URL: https://doi.org/10.1016/j.entcs.2008.03.042.
  21. Lennart C. L. Kats, Karl Trygve Kalleberg, and Eelco Visser. Generating editors for embedded languages. integrating SGLR into IMP. In LDTA, April 2008. Google Scholar
  22. Lennart C. L. Kats, Rob Vermaas, and Eelco Visser. Testing domain-specific languages. In OOPSLA, pages 25-26, 2011. URL: https://doi.org/10.1145/2048147.2048160.
  23. Lennart C. L. Kats and Eelco Visser. Encapsulating software platform logic by aspect-oriented programming: A case study in using aspects for language portability. In SCAM, pages 147-156, 2010. URL: https://doi.org/10.1109/SCAM.2010.11.
  24. Lennart C. L. Kats and Eelco Visser. The Spoofax language workbench: rules for declarative specification of languages and IDEs. In OOPSLA, pages 444-463, 2010. URL: https://doi.org/10.1145/1869459.1869497.
  25. Lennart C. L. Kats, Richard Vogelij, Karl Trygve Kalleberg, and Eelco Visser. Software development environments on the web: a research agenda. In OOPSLA, pages 99-116, 2012. URL: https://doi.org/10.1145/2384592.2384603.
  26. Gabriël Konat. Language-Parametric Methods for Developing Interactive Programming Systems. PhD thesis, Delft University of Technology, Netherlands, 2019. URL: https://doi.org/10.4233/uuid:03d70c5d-596d-4c8c-92da-0398dd8221cb.
  27. Gabriël Konat, Sebastian Erdweg, and Eelco Visser. Scalable incremental building with dynamic task dependencies. In ASE, pages 76-86, 2018. URL: https://doi.org/10.1145/3238147.3238196.
  28. Gabriël Konat, Lennart C. L. Kats, Guido Wachsmuth, and Eelco Visser. Declarative name binding and scope rules. In SLE, pages 311-331, 2012. URL: https://doi.org/10.1007/978-3-642-36089-3_18.
  29. Gabriël Konat, Vlad A. Vergu, Lennart C. L. Kats, Guido Wachsmuth, and Eelco Visser. The Spoofax name binding language. In Companion to the 27th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA 2011, part of SPLASH 2012, Tucson, AR, USA, October 19 - 26, 2012. ACM, 2012. URL: https://doi.org/10.1145/2384716.2384748.
  30. Marieke van der Tuin, A. Bastiaan Reijm, Tim K. de Jong, and Jeff Smits. WebLab project. Bachelor’s thesis, Delft University of Technology, July 2013. URL: http://resolver.tudelft.nl/uuid:bb2d7a13-1bef-4545-bca0-f2b084a04240.
  31. Hendrik van Antwerpen, Pierre Néron, Andrew P. Tolmach, Eelco Visser, and Guido Wachsmuth. A constraint language for static semantic analysis based on scope graphs. In PEPM, pages 49-60, 2016. URL: https://doi.org/10.1145/2847538.2847543.
  32. Hendrik van Antwerpen, Casper Bach Poulsen, Arjen Rouvoet, and Eelco Visser. Scopes as types. PACMPL, 2(OOPSLA), 2018. URL: https://doi.org/10.1145/3276484.
  33. Elmer van Chastelet. A domain-specific language for internal site search. Master’s thesis, Delft University of Technology, 2013. Google Scholar
  34. Elmer van Chastelet, Eelco Visser, and Craig Anslow. Conf.Researchr.Org: towards a domain-specific content management system for managing large conference websites. In OOPSLA, pages 50-51, 2015. URL: https://doi.org/10.1145/2814189.2817270.
  35. Sander van der Burg and Eelco Dolstra. Disnix: A toolset for distributed deployment. In Third International Workshop on Academic Software Development Tools and Techniques (WASDeTT-3), September 2010. Google Scholar
  36. Tim van der Lippe, Thomas Smith, Daniël A. A. Pelsmaeker, and Eelco Visser. A scalable infrastructure for teaching concepts of programming languages in Scala with WebLab: an experience report. In SCALA, pages 65-74, 2016. URL: https://doi.org/10.1145/2998392.2998402.
  37. Arie van Deursen, T. B. Dinesh, and Emma van der Meulen. The ASF+SDF meta-environment. In amast, pages 411-412, 1993. Google Scholar
  38. Vlad A. Vergu, Pierre Néron, and Eelco Visser. DynSem: A DSL for dynamic semantics specification. In RTA, pages 365-378, 2015. URL: https://doi.org/10.4230/LIPIcs.RTA.2015.365.
  39. Sander Vermolen. Software Language Evolution. PhD thesis, Delft University of Technology, Delft, The Netherlands, October 2012. Google Scholar
  40. Eelco Visser. A family of syntax definition formalisms. Technical Report P9706, Programming Research Group, University of Amsterdam, August 1997. Google Scholar
  41. Eelco Visser. Meta-programming with concrete object syntax. In GPCE, pages 299-315, 2002. URL: https://doi.org/10.1007/3-540-45821-2_19.
  42. Eelco Visser. WebDSL: A case study in domain-specific language engineering. In GTTSE, pages 291-373, 2007. URL: https://doi.org/10.1007/978-3-540-88643-3_7.
  43. Eelco Visser. Performing systematic literature reviews with Researchr: Tool demonstration. Technical Report TUD-SERG-2010-010, Software Engineering Research Group, Delft University of Technology, Delft, The Netherlands, May 2010. URL: http://resolver.tudelft.nl/uuid:22b480a7-d09e-4ae6-abe7-9a5769e03c2b.
  44. Eelco Visser, Zine-El-Abidine Benaissa, and Andrew P. Tolmach. Building program optimizers with rewriting strategies. In ICFP, pages 13-26, 1998. URL: https://doi.org/10.1145/289423.289425.
  45. Tobi Vollebregt, Lennart C. L. Kats, and Eelco Visser. Declarative specification of template-based textual editors. In LDTA, pages 1-7, 2012. URL: https://doi.org/10.1145/2427048.2427056.
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail