Start work on technical description
This commit is contained in:
parent
4a7061c3db
commit
ddc9a8ea94
2 changed files with 47 additions and 0 deletions
29
book.org
29
book.org
|
@ -729,12 +729,26 @@ Given that cohort sizes are large enough, historical data from a single course e
|
|||
:CUSTOM_ID: chap:technical
|
||||
:END:
|
||||
|
||||
Dodona and its related software comprises a lot of code.
|
||||
This chapter discusses the technical background of Dodona itself and a stand-alone online code editor that was integrated into Dodona.
|
||||
I will also discuss two judges that I was involved with the development of.
|
||||
The R judge was written entirely by myself.
|
||||
The TESTed judge came forth out of a prototype I built in my master's thesis\nbsp{}[cite:@vanpetegemComputationeleBenaderingenVoor2018] and was further developed in a master's thesis I supervised\nbsp{}[cite:@strijbolTESTedOneJudge2020].
|
||||
|
||||
** Dodona
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-10-23 Mon 08:49]
|
||||
:CUSTOM_ID: sec:techdodona
|
||||
:END:
|
||||
|
||||
Dodona is developed as a modern web application.
|
||||
In this section we will go over the inner workings of Dodona (both implementation and deployment) and how it adheres to modern standards of software development.
|
||||
|
||||
*** Implementation
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-11-23 Thu 17:12]
|
||||
:END:
|
||||
|
||||
For proper virtualization we use Docker containers\nbsp{}[cite:@pevelerComparingJailedSandboxes2019] that use OS-level containerization technologies and define runtime environments in which all data and executable software (e.g., scripts, compilers, interpreters, linters, database systems) are provided and executed.
|
||||
These resources are typically pre-installed in the image of the container.
|
||||
Prior to launching the actual assessment, the container is extended with the submission, the judge and the resources included in the assessment configuration (Figure\nbsp{}[[fig:technicaloutline]]).
|
||||
|
@ -777,6 +791,21 @@ The web server is the only public-facing part of Dodona, running a Ruby on Rails
|
|||
Dodona needs to operate in a challenging environment where students simultaneously submit untrusted code to be executed on its servers ("remote code execution by design") and expect automatically generated feedback, ideally within a few seconds.
|
||||
Many design decisions are therefore aimed at maintaining and improving the reliability and security of its systems.
|
||||
|
||||
*** Deployment
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-11-23 Thu 17:13]
|
||||
:END:
|
||||
|
||||
*** Development
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-11-23 Thu 17:13]
|
||||
:END:
|
||||
|
||||
** Papyros
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-11-23 Thu 17:29]
|
||||
:END:
|
||||
|
||||
** Judges
|
||||
:PROPERTIES:
|
||||
:CREATED: [2023-10-23 Mon 08:49]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue