TSYS2 home page
System now in earlier development stage. All sources available only via cvs for now.
A short description of project:
Integrated system for testing student's solutions at programming
contests or in educational process (i.e. daily at the lessons).
System consists of three parts:
1) clients - installed on student's workstations. Accepts students'
solutions' source codes for testing and shows personal results and
contest statisticts. (ACM statistics table and simplified one).
2) Waiter - application server - used for managing and propagating
solutions from clients to testers, implements contest logic and
manages contest-users, has a database-abstraction layer (client
doesn't directly connect todatabase), does results caching, etc.
3) testers - execute students' solutions with a set of prepaired
tests (also does preparation of execution environment) and checks
the results either static or with a plugin.
+) admin interface - GUI-management application for TSys (uses
Database directly).
Platforms:
1) clients
- currently it's Delphi/Kylix on Windows/Linux or can be run with
WINE
- being tested - python/wxWidgets (crossplatform)
- planned web-based interface
2) Waiter
- python, (daemon, crossplatform)
- currently Interbase/FireBird is used as Database Backend.
3) Testers
- python + module written in C ; run only WinNT platform(win2k,win2003,longhorn, etc)
- planned: python + C API for Linux
4) Admin Interface
- currently Windows GUI (Delphi, planned: Kylix/Linux)
Licence: GPL (all written code)
System now supports C, C++, Borlad Pascal, FreePascal, and
almost any compilable language, and some interpreted as contest
programming languages...
Main features of this project are:
1) simplier installation (has admin GUI, less dependencies, less
different configuration files)
2) crossplatform (python based + customizable clients/testers)
3) XML-based protocol (over tcp)
4) has educational mode (for daily usage at school or university)
5) Teacher does not need to be a developer of this system to add a
new task or test.