Антиплагиат (1231606), страница 3
Текст из файла (страница 3)
Из ее достоинств,следует отметить легкость настройки и администрирования. Система написана на языке Java, что позволяет использовать еена любой платформе.Недостатки системы РС2:– система не хранит банка заданий, что не позволяет ее использовать в качестве онлайновой тестирующ ей система;– использует собственный клиент, а не web-браузер, что затрудняет его использование через интернет.Очень слож но что-либо сказать о возмож ностях системы PCMS2, так как система развивается и обновляется, но после 2004года новые версии не выкладываются в свободный доступ.1.2.3 Система Timus Online JudgeTimus Online Judge – это крупнейший в России архив задач по программированию с автоматической проверяющейсистемой [13].
Основной источник задач для архива – соревнования Уральского федерального университета,Чемпионаты Урала, Уральские четвертьфиналы АСМ ICPC,[21]Петрозаводские сборы по программированию.На базе данной системы регулярно проходят различные турниры, но в основном система используется пользователями длярешения отдельных задач в ц елях обучения.Доступ к системе осущ ествляется посредством web-интерфейса, который поддерж ивается студентами и выпускникамиУральского федерального университета.Система Timus Online Judge не имеет свободного распространения.1.2.4Система EjudgeСистема Ejudge – разработана в МГУ и распространяется по лицензии GPL [14].
Ejudge имеет достаточно[21]мощ ные функц иональные возмож ности:–проведение турниров с автоматической проверкой задач по четырём системам: АСМ, KIROV, OLYMPIA, MOSCOW;– ограниченные и неограниченные по времени турниры;– поддержка виртуальных турниров;– одновременное проведение нескольких турниров;– автоматическая и модерируемая регистрация участников турнира;– возможность участия в нескольких турнирах под одним регистрационным именем;– разделение прав доступа к турнирам. Некоторый пользователь может быть администратором одного турнира и неиметь никаких привилегий в другом турнире;– многоязыковой интерфейс. Текущая версия поддерживает русский и английский языки;– защищённое исполнение программ;– поддержка вариантных задач, когда под одним именем каждый участник получает свой вариант задачи;– web- интерфейс администратора и участника турнира;– web- интерфейс администратора турнира для создания новых турниров и редактирования настроек существующихтурниров;– настраиваемый внешний вид;– экспорт истории посылок в формате XML;– экспорт внутренних таблиц (участников, журнала турнира, результатов) в формате CSV (comma-separated values);– доступ к серверам турниров из командной строки (возможность написания скриптов для управления турн��рами).[12]Основные недостатки системы:– система написана под ОС Linux, при инсталляц ии требует перекомпиляц ии ядра операц ионной системы;– система в принц ипе не переносится на Win32, т.к.
использует UNIX-сокеты.Таким образом, система Ejudge мож ет стать неплохой базой для проектируемой системы, но с определёнными минусами –необходимостью работы на ОС Linux.1.2.5 СистемаContesterhttp://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=17/2420.06.2016АнтиплагиатContester–этосистемадляпроведениятурнировииндивидуальногорешениязадачпоолимпиадномупрограммированию [15].[14]Contester работает как на Windows, так и наLinux.Интерфейс участника соревнования позволяет:– зарегистрироваться самостоятельно, если включена регистрация;– прочитать тексты задач (с HTML-разметкой);– ознакомиться со справкой к турнироный системе, примерами решений и «расшифровкой» результатов проверки;– просмотреть список своих попыток решения, имена отправленных файлов, исходные коды каждой попытки;– просмотреть журнал компиляции в случае ошибки компиляции;– просмотреть турнирную таблицу в АСМ-стиле;– во внетурнирное время решать задачи из «сборников»;– обсудить задачи, сборники, турниры и разделы на встроенном форуме.Интерфейс администратора турнирной системы позволяет:– создавать, блокировать и удалять учетные записи участников системы;– включать режим самостоятельной регистрации участниками;– создавать и удалять задачи, турниры, сборники и разделы; устанавливать и переносить время турниров;– вносить HTML-тексты задач и рисунки к ним; вносить тестовые пары к задачам;– просматривать список решений участников, имена отправленных файлов, исходные коды каждого решения;– просматривать журналы компиляции и проверки каждой попытки; заново отправлять попытки на перепроверку;–[14]загруж ать запакованные zip-файлы с задачами ивыгружать их;– добавлять в систему языки программирования, указывать свои командные строки компиляции;– распределять проверку решений на несколько серверных компьютеров.[14]На данный момент в Contester залож ены правила АСМ-соревнований.
Работа с системой, чтение текстов задач и отправкарешений происходит через web-браузер.Выводы по главеТаким образом, в качестве основы для разрабатываемой системы выбрана система Ejudge, так как она имеет свободноераспространение по лиц ензии GPL и, в отличие от системы Contester, обладает большим набором необходимых функц ий:– имеется возмож ность э кспорта истории посылок в формате XML, что пригодится во время разработки модуля подведенияитогов;– защ ищ енное исполнение программ;– поддерж ка виртуальных турниров.ПомимоустановкиинастройкиEjudgeнеобходиморазработатьмодульподведенияитоговсоревнованийпопрограммированию.2 Проектирование системы для проведения соревнований по программированию с модулем подведения итогов2.1 Общ ая архитектура системы EjudgeСистема Ejudge состоит из нескольких компонент, отвечающ их за разные аспекты работы [16]:– управляющ ие компоненты;– обработчики запросов, представляющ ие из себя CGI-программы;– вспомогательные программы;– различные дополнительные модули.CGI-программа – это обычная программа, котораяразработана специально для интернета [17].
CGI-программавыполняется на web-сервере в ответ на запрос, сделанный браузером. Сервер в этом случае является как быпосредником между браузером и CGI-программой – он передаёт программе запрос браузера и возвращает обратноинформацию, выданную программой. Например, программа может получить от браузера название некоторого товара,посмотреть в таблице цену этого товара и вернуть полученную цену пользователю (браузеру). Или программа можетпринять от пользователя некоторый текст комментария и переслать его в виде почтового сообщения создателю webузла.
Для написания такой программы можно использовать почти любой язык программирования – CGI определяеттолько стандарт интерфейса между web-сервером и программой.2.1.1[26]Управляющ ие компонентыУправляющ ие компоненты отвечаютза доступ к основной базе данных пользователей, мониторинг активных турниров, выполнение низкоприоритетныхвспомогательных задач и компиляцию решений участников.[12]http://dvgups.antiplagiat.ru/ReportPage.aspx?docId=427.24091261&repNumb=18/2420.06.2016АнтиплагиатДанные компоненты системы запускаются в реж име «демона» на всёвремя работы системы, начиная от создания турнира, регистрации пользователей, проведения турнира и в процессепредоставления доступа к результатам турниров.Управляющие компоненты работают в одном экземпляре на все существующие в данный момент в системе турниры.[12]Запуск системы Ejudge заключается в запуске управляющ их компонент. К э той группе относятся следующ ие программы:– ej-compile;– ej-contests;– ej-jobs;– ej-super-run;– ej-super-server;– ej-users.Программа ej-compile выполняет запросы на компиляц ию решений, поступающ их на проверку со всех турниров.
Программавзаимодействует с серверами турниров с помощ ью разделяемых каталогов.Программа ej-jobs выполняет низкоприоритеные запросы со стороны серверов турнира. К таковым относятся запросы нарассылку e-mail сообщ ений, воспроизведение звуковых записей и т. д. Программа взаимодействует с другими программами спомощ ью общ их каталогов.Программа ej-super-server выполняет мониторинг активных турниров, запуская при необходимости программы обслуж иваниятурнира.
Кроме того, она выполняет запросы на создание и изменение настроек турниров. Программа взаимодействует сосвоими клиентами с помощ ью UNIX-сокетов, а такж е отслеж ивает запросы, поступающ ие в адрес программ обслуж иваниятурниров.Программа ej-users выполняет функц ии сервера базы пользователей, предоставляя возмож ности регистрац ии на турнир,просмотра участников турнира, администрирования участников турнира, а такж е выполняет аутентификац ию участниковтурнира и привилегированных пользователей. Программа взаимодействует со своими клиентами с помощ ью UNIX-сокетов.2.1.2 Обработчики запросовCGI-программы обрабатываютзапросы пользователей и администраторов системы и предоставляющие интерфейс к программам первой и второйгрупп.[12]Они запускаются web-сервером при поступлении запроса от клиента.
Как правило, данные программы выполняютпредварительный анализ запроса и передают его на генерац ию HTML-страниц соответствующ им программам сервернойчасти ej-users, ej-super-server, ej-contests. К описываемой группе относятся следующ ие программы:– judge;– master;– new-client;– new-judge;– new-master;– new-register;– register;– serve-control;– users;– team.CGI-программа register обрабатывает запросы на регистрац ию новых пользователей в системе, изменение данныхпользователей, регистрац ию пользователей на турниры.Аутентификац ия пользователей выполняется с помощ ьюзапросак программеuserlist-server, аосновныезапросыпользователей перенаправляются на обработку в программу serve.CGI-программаjudgeпредоставляетпривилегированный(судейский)интерфейсдляпроведениятурнира.Толькопользователи, у которых установлена привилегия JUGE_LOGIN для данного турнира могут использовать программу judge.