跳转至

ItsWA项目到0.0.3版本的开发路线图

ItsWA项目计划在2024/06/1前发布0.0.3版本。在这之前,ItsWA将会发布多个预发布版本,供测试错误使用。

核心目标

  1. 实现ItsWA OJ
  2. 并实现代码的安全运行
  3. 将ItsWA OJ接入XYUAN
  4. 多种比较器
  5. Special Judge的支持
  6. Grader交互
  7. 提交答案题
  8. 通信题

次级目标

以下功能尽量在本版本内完成,不能完成的将会在下一版本完成:

  1. 超时时间模拟2
  2. Pascal、C语言的支持
  3. 发行为单文件,方便传输
  4. 发行到pypi,方便安装

以下功能尽可能在本版本完成,不能完成的可能会在下三个版本内完成:

  1. 原生Windows支持(安全运行时将不可用)
  2. 分布式评测(将源代码文件发送到其他评测姬编译、运行,加快评测速度)
  3. ItsWA SPJ API(采用C++编写,同Special Judge程序一起编译。用于给Special Judge程序提供更多的的交互方式,例如获取选手程序内容、获取题目信息等功能)

社区发展

  1. 尽可能推广ItsWA,发展第一批用户
  2. 尝试发展第一批开发者
  3. 在部分场景下尝试使用(比如我校只有3个人的信奥队ψ(._. )>)。

预版本目标

[Working] 0.0.3-alpha.2

需要实现OJ的大部分功能,包括如下几点:

  1. 题目提交
  2. 比赛评分并排名
  3. OI赛制支持
  4. IOI赛制支持

除此之外,还需要实现代码的安全运行,我们需要做到如下几点:

  1. 评测运行采用lrun,限制程序访问网络、读取CCF文件1、使用CPU Time计算运行时间、对程序内存消耗的监测
  2. 题目超时时间、题目内存限制的自定义

[Closed] 0.0.3-alpha.1

需实现了OJ的基本功能,包括如下几点:

  1. 用户管理
  2. 从Manager中注册比赛到OJ
  3. 读取题目

除此之外,修复大部分已知的Bug。


  1. 暂停该项的工作,因为ItsWA目前的开发主要在ArchWSL上进行,而lrun的文件相关功能无法在ArchWSL上正常工作,开发团队已向lrun反映该问题在ArchWSL上无法对挂载点使用fopen-filter · Issue #39 · quark-zju/lrun (github.com)。 

  2. CCF统一评测时的机器配置为Inter3(R) Core(TM) i7-8700K CPU @3.70GHz,但我们自己的评测姬并不一定有性能相似的CPU。本功能将通过在本地运行一个跑分程序,将其的结果与标准值(即i7-8700k上得到的结果)进行比较,求出一个offset值,将题目时间限制延长(或所见)。 

  3. 典中典打错字(见CSP-J2022复赛考卷)