57

Click here to load reader

Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

  • Upload
    dinhdat

  • View
    230

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)
Page 2: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

НОУ «ИПС-Университет г. Переславля им.А.К.Айламазяна»Институт Программных Систем РАН

Факультет вычислительной математики и кибернетики Московскогогосударственного университета им.М.В.Ломоносова

Удмуртский государственный университетИнститут Логики

ALT Linux

Конференция

«Свободное программное обеспечение

в высшей школе»Переславль, 28–29 января 2006 года

Тезисы докладов

Page 3: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

В сборнике представлены тезисы докладов, одобренных Программным комитетомконференции «Свободное программное обеспечение в высшей школе».

ISBN 5-85593-137-4c© Коллектив авторов, 2006c© ALT Linux, 2006

Page 4: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Программаконференции

27 января

16:00: Отъезд участников конференции от гостиницы «Космос» М. ВДНХ

(автобус ПАЗ)

19:00: Ужин в кафе УГП

20:00: Кофе

28 января

9:30–10:00: Завтрак

10:00: Экскурсия в Музей ботика Петра Первого

11:30–11:45: Кофе-брейк

Открытие конференции. Доклады11:45–13:30

11:45–12:00: Информация оргкомитета. А. Е. Новодворский (ALT Linux)

12:00–12:10: Приветственное слово Директора ИПС РАН С.М.Абрамова

12:10–12:50: Н. Н.Непейвода

Какая информатика нужна информатикам? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

12:50–13:30: Г. В. Курячий

Опыт проведения Школы Linux для преподавателей .. . . . . . . . . . . . . . . . . . . . . . 10

13:30–14:30: Обед

Page 5: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

4 Программа конференции

Доклады14:30–16:30

14:30–15:10: С. М.Абрамов

Итоги суперкомпьютерной программы СКИФ союзного государстваи перспективы её развития. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

15:10–15:50: А. Г. Боковой

Samba 4— текущее состояние и перспективы.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

15:50–16:30: резерв

16:30–17:00: Кофе-брейк

Доклады17:00–19:30

17:00–17:30: А. В. Столяров, Е. И.Большакова, Н. В. Баева

InteLib Lisp в обучении программированию на Лиспе . . . . . . . . . . . . . . . . . . . . . 15

17:30–18:00: Е.А. Чичкарёв

Опыт преподавания курса «Технология разработки Linux- иUnix-приложений» в техническом университете .. . . . . . . . . . . . . . . . . . . . . 18

18:00–18:30: А.В.Алексеевский, Д. А.Алексеевский, В.А.Драчёв,

Л. К. Смиренина, С.А. Спирин

Свободное ПО в процессе обучения молекулярной биологии на примерефакультета биоинженерии и биоинформатики МГУ . . . . . . . . . . . . . . . . . 19

18:30–19:00: Е.Ю.Кулик, Е. Д. Патаракин

WikiWiki в организации учебного процесса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

19:00–19:30: А.М. Иваницкий

Использование системы Naumen Agile Tools при подготовкепрограммистов.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

19:30: Круглый стол, совмещённый с ужином

Page 6: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Программа конференции 5

29 января

9:30–10:00: Завтрак

Доклады10:00–11:30

10:00–10:30: Е. А.Чичкарев, Н.В. Назаренко

Разработка математических моделей металлургических агрегатовна базе свободного программного обеспечения . . . . . . . . . . . . . . . . . . . . . . . 24

10:30–11:00: Д. В. Белышев

Технологии создания региональных научно-образовательныхкомпьютерных сетей . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

11:00–11:30: П.А. Зленко, Т. Е. Истомин, Д. К.Мещеряков, Н. Н.Попова,

А.Н.Сальников

Распределённая система обработки экспериментальных данныхна основе свободного ПО . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11:30–12:00: Кофе-брейк

Доклады12:00–13:30

12:00–12:30: В. В.Житников

О возможности применения свободной системы аналитическихвычислений Maxima в образовании .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

12:30–13:00: Е.А.Алексеев, О. В. Чеснокова

Использование свободно распространяемого пакета Scilabв дисциплинах «Информатика» и «Вычислительная математика» . . 33

13:00–13:30: Н.Н. Непейвода

Сообщество открытого софта как реализация принципов анархизма . . . . 35

13:30–14:30: Обед

Доклады14:30–16:30

14:30–15:00: Е.Д. Патаракин, Б. Б. Ярмахов

NetLogo в моделировании социальных феноменов и на занятиях поменеджменту . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

15:00–15:30: А.Н. Гребнев

AtLeap — база для ИС научных коммуникаций в высшей школе . . . . . . . . . 39

Page 7: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

6 Программа конференции

15:30–16:00: А.И.Федосеев

Опыт создания семестрового учебного курса на тему «Введениев администрирование UNIX» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

16:00–16:30: Е.А. Синельников

Применение Свободного Программного обеспечения в спецкурсахфакультета Компьютерных Наук . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

16:30–17:00: Кофе-брейк

Доклады17:00–19:30

17:00–17:30: К.А.Маслинский

Профессиональные задачи филолога и свободное программноеобеспечение .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

17:30–18:00: П.А. Игнатьев

Внедрение и построение учебного процесса на базе дистрибутиваLinux: проблемы и решения.. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

18:00–18:30: А.В.Мельников

GNU/Hurd— красивая архитектура операционной системы.. . . . . . . . . . . . . . 51

18:30–19:00: П.А. Виноградов, М.Л. Просалов, Р.А. Кочетков, В. Г. Тарасов

Разработка свободного ПО для использования в учебном процессе .. . . . . 54

19:00–19:30: резерв

19:30: Ужин

30 января

9:30–10:00: Завтрак

10:00: Автобусная экскурсия по Переславлю

12:00–13:00: Обед

13:00: Отъезд в Москву на автобусе

Page 8: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

7

27 января

16:00: Отъезд участников конференции от гостиницы «Космос» М. ВДНХ(автобус ПАЗ)19:00: Ужин в кафе УГП20:00: Кофе

28 января

9:30–10:00: Завтрак ∗ ∗ ∗ ∗ ∗

10:00: Экскурсия в Музей ботика Петра Первого

11:30–11:45: Кофе-брейк ∗ ∗ ∗ ∗ ∗

Открытие конференции. Доклады11:45–13:30

11:45–12:00: Информация оргкомитета. А. Е. Новодворский (ALT Linux)

12:00–12:10: Приветственное слово Директора ИПС РАН С.М.Абрамова

12:10–12:50Н.Н. Непейвода Ижевск, УдГУ

Какая информатика нужна информатикам?

В статье [1] и в докладах автора последних лет проведён анализ основныхпроблемных противоречий, возникающих при подготовке информатиков высше-го уровня (вопросы подготовки кодеров автора не интересуют). С этой точкизрения проведён детальный анализ требований к математическому циклу. Сейчаснеобходимо определить требования к профессиональному циклу, тем более, чтоза последние годы были явно осознаны некоторые базисные понятия, всё времяупускаемые в мировой практике программирования и, соответственно, обученияему.

Page 9: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

8 28 января

Базисные тезисы

1) Чтобы попасть в цель, нужно целиться выше цели. Чтобы готовить про-граммистов высшей квалификации, нужно поставить цель готовить инфор-мационных аналитиков, для которых программа не самоцель, а инструмент,причём, как правило, подлежащий доработке, а не использованию как нечтоданное.

2) Если на 1 курсе студентов обучают новейшим системам, то с 5-го они вы-ходят, зная морально устаревшие.

3) Недоделанные бакалавры никому не нужны (цитата из выступления главыпрограммистской фирмы в УдГУ), а предусмотреть, какая дополнительнаяквалификация будет нужна на практике, и разработать для всех них маги-стерские курсы невозможно и нереально.

4) Работать по-японски, а не по-петровски: приспосабливать лучший мировойопыт к особенностям своего народа, а не свой народ к помойке мировогоопыта.

5) Рассчитывать на рабочий век выпускаемого специалиста, а не на первые 5лет его трудовой деятельности.

6) Цель обучения специалистов высшей квалификации состоит в создании си-стемы знаний, а не в напичкивании знаниями. В систему всегда легкодобавить то, что было упущено. Поэтому практические занятия, а не лек-ции, должны занимать основное место в обучении, а программы не должныбыть перегружены частностями. Лучше основательно разобрать меньше тем,чем пробежаться по всем. Лучше иметь крупные курсы, а не разрозненные«модули» (единственное, на что можно согласиться в угоду «болонкам», что-бы в международных описаниях каждый семестр крупного курса описыватьпо-своему).

7) Стандартизация и болонизация в московско-петровском исполнении вредны,поскольку нужно использовать сильные стороны нашего народа и нашихконкретных университетов, а не требовать, чтобы провинция исполняла то,что диктует Москва.

Таким образом, мы говорим об обучении информатике на базе фундаментальногоцикла нечисленной математики (ФИТ НГУ, УдГУ, но не МГУ). На этой базереформирование информационного цикла проходит легко и естественно, если заэто дело взяться с точки зрения системного и логического подхода.

Основные принципы программы

1) На первых курсах обучение системе фундаментальных понятий: системастилей программирования, навыки анализа задач и программ, наиболеепринципиально важные инструменты.

2) Учёт общей атмосферы российских вузов, где взаимопомощь, недисципли-нированность, инициативность и критическое отношение к преподавателям

Page 10: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Н.Н. Непейвода 9

и к материалу (негативное русское мышление, а не «позитивное» англосак-сонское) являются основными особенностями.

3) В середине обучения переход к технологиям (индустриальное и экстремаль-ное программирование).

4) В конце обучения в качестве примеров изучение нескольких актуальных исложных программных систем.

Поэтому во многих случаях целесообразно в качестве систем для обучения братьте, которые меньше заражены конкретными особенностями реализации и (или)случайных фирменных решений (GNU C++ или Ада, но не Java или. Net, CommonLisp, но не OCAML и т. д.).

Построение обучающего цикла

1 год обучения

Введение в информатику. Традиционное программирование (структурное, ав-томатное, начала объектного). Нетрадиционное программирование (сентенци-альное, событийное, функциональное). Курсы традиционного и нетрадицион-ного программирования должны идти параллельно. Это заодно позволяет ре-шить ещё одно проблемное противоречие в преподавании: как показать шибкоумным и весьма «крутым» первокурсникам, которые пришли, уже умея коди-ровать, что они по сути дела ещё ничего не знают, а то, что знают, знаютизвращённо.

2 год обучения

Индустриальные технологии программирования: параллельные курсы инду-стриального (т. н. объектно-ориентированного) и экстремального программи-рования и дизайна. Базы данных и знаний, либо графические системы, либочто-то ещё из базисных прикладных разделов информатики.

3 и 4 годы обучения

Практикум. Основные области приложений информатики: базы данных и зна-ний, графические системы, издательские системы, бизнес-анализ (в частности,статистика и системы поддержки принятия решений), бизнес-процессы. Изэтого набора исключается тот фундаментальный курс, который был прочитанранее.

(*)

Обязательно нужно несколько маленьких курсов (2–3), читаемых по кон-кретным модным системам отличными специалистами, но отвратительнымипреподавателями (желательно недавними выпускниками, ставшими ведущимиспециалистами), достаточно жёстко спрашивающими со студентов. Это вводит

Page 11: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

10 28 января

студентов в атмосферу будущих обучений новым системам и знаниям. Серьёз-ные курсы проектирования и организации работы программистских коллек-тивов, читаемые руководителями либо ведущими специалистами фирм (чащевсего бывшими выпускниками, обязательно неплохими преподавателями).

5 курс

Завершение исполнения подпункта (*) из предыдущего цикла. Серьёзнейшийдипломный проект. Фирменные курсы и сертификационные курсы по откры-тым системам.

Такая система подготовки даёт возможность всем успешно закончившим найтисвоё место (открытое либо фирменное ПО, старший программист, либо аналитик,либо бизнес-консультант, индустриал либо экстремал и т. п.).

Список литературы

[1] НепейводаН.Н. Какая математика нужна информатикам? // Открытые систе-мы, 2005, №9.

[2] НепейводаН.Н. Стили и методы программирования. М.: ИНТУИТ, 2005.

12:50–13:30

Г. В. Курячий Москва, ВМК МГУ, ALT Linux

Опыт проведения Школы Linux для преподавателей

Школа Linux для преподавателей проводится ALT Linux второй раз. Оба раза ис-пользовалась текущая версия дистрибутива ALT Linux Compact и учебник «Опе-рационная система Linux» (изд. Интуит.ру, 2005). Занятия проходили в компью-терном классе в режиме интенсивного обучения: преподаватель говорит и по-ясняет, слушатели записывают в тетрадь и экспериментируют на компьютерах,8 академических часов в сутки.

Зимняя Школа, 23–27 января в Переславле

Опыт Летней Школы

• Повышены требования к начальной подготовке слушателей: «для участияв Школе слушателю необходимы начальные знания о Linux или UNIX-подобных системах на уровне пользователя» (по сути, фильтр не знанийи навыков, а мотивации)

Page 12: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Г. В. Курячий 11

• 40-часовой интенсив вместо 24-часового• Учебники и дистрибутив под раздачу• Небольшая группа

Принципы интенсивного обучения

• Акцент на объяснение (познаваемость) происходящего в системе («никакихбубнов»)

• Тетрадь («не записал— забыл»)• Чередование теории и практики («память пальцев»)• Командная строка и работа с ней как конструктивный познавательный про-цесс (в противопоставление ситуативному и систематизационному)

• Свободное общение слушателей и преподавателя, в том числе вне плана и внеурочное время

• «Погружение»: отсутствие других задач, смена контекста и т. п.

План Школы

В скобках даны лекции учебника.

1) Linux как операционная среда (1 — 6)

• Интерфейс командной строки и терминалы• Информационные подсистемы и работа с ними• Процессы, сигналы и разделение ресурсов• Многопользовательская система и права доступа

2) Теоретические основы Linux (7— 9, 14, 15; регулярные выражения, програм-мирование на shell)

• Обработка текстов и регулярные выражения• Программирование сценариев как решение задач пользователя• Сеть: TCP/IP и Интернет• Информационная безопасность

3) Linux как Linux (10 — 13, 15)

• Начальная загрузка и файловые системы• Управление системой с помощью конфигурационных файлов• Пакеты и сборка программ под Linux• Графическая оболочка X11

4) Linux как рабочее место (16 — 18; обзор ПО)

• Установка и настройка Linux• Настройка командного окружения• Выбор и использование подходящего ПО

Page 13: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

12 28 января

• Правовые и социальные особенности свободного программного обеспе-чения, их роль в учебном процессе

5) Linux— это как? (10, 11; организация учебной площадки)

• Требования к учебной площадке и их реализация• Серверные возможности Linux• Совместимость с DOS и Windows• Информационные ресурсы по Linux и СПО, взаимодействие с Linux-сообществом

Сверх плана (задние мысли)

Success story

Linux— это довольно просто, чтобы его не бояться, и в высшей степени позна-ваемо и познавательно, в отличие от закрытых систем и операционных сред.

Операционная среда

Дистрибутив Linux— это не только ядро, но и несколько тысяч (!) программ-ных продуктов на все случаи жизни.

Свобода и сообщество

Все эти программы распространяются под свободной лицензией. Копированиене просто разрешено, оно поощряется, так как увеличивает круг пользовате-лей.

Отчёт «по горячим следам»

Школа приурочена к Конференции, для которой готовится этот доклад (Конфе-ренция начинается на следующий день после окончания Школы), поэтому выводыделать ещё рано. Постараюсь уделить наибольшее время доклада именно этой ча-сти.

Материалы

• Информация о Школе на сайте ALT Linux1

• Учебник «Операционная система Linux»2

• Дистрибутив ALT Linux Compact 3.03

13:30–14:30: Обед ∗ ∗ ∗ ∗ ∗ ∗

1http://www.altlinux.ru/content/view/209/66/2http://www.altlinux.ru/content/view/85/66/3http://www.altlinux.ru/content/view/166/17/

Page 14: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

С.М.Абрамов 13

Доклады14:30–16:30

14:30–15:10С.М.Абрамов Переславль, ИПС РАН, Университет города Переславля

Проект: СКИФ http://skif.pereslavl.ru

Итоги суперкомпьютерной программы СКИФ

союзного государства и перспективы её развития

Работа посвящена обзору основных результатов суперкомпьютерной программы«СКИФ» Союзного государства (Россия—Беларусь). Рассматриваются перспек-тивы использования её результатов и развития данного научного направления.Основным итогом программы СКИФ стало создание семейства моделей (ряд 1и 2) высокопроизводительных вычислительных систем (суперкомпьютеров), сов-местимых по программному обеспечению, имеющих широкий выбор возможныхконфигураций, широкий спектр производительности: от единиц и десятков милли-ардов операций в секунду (110100 Гфлопс), до триллионов операций в секунду (до15 Тфлопс). Для широкого внедрения суперкомпьютеров семейства СКИФ разра-ботаны прикладные системы и законченные прикладные комплексы. ПрограммаСКИФ выполнялась пять лет, с 2000 г. Институт программных систем Российскойакадемии наук (ИПС РАН) являлся головным исполнителем программы СКИФ отРоссийской Федерации, головным исполнителем от Республики Беларусь являл-ся Объединённый институт проблем информатики Национальной академии наукРеспублики Беларусь (ОИПИ НАН Беларуси). Всего в программе участвовалиоколо двух десятков учреждений и предприятий, примерно поровну от каждойстраны.За пять лет исполнения программы СКИФ было выпущено шестнадцать опытныхобразцов суперкомпьютеров семейства СКИФ, шесть из них были размещены вБеларуси, десять— в России.Из всех моделей семейства СКИФ К-500 и СКИФ К-1000 вошли в список 500самых мощных компьютеров мира: 417-е и 98-е место. По программе СКИФ раз-работан также спецвычислитель для потоковых вычислений— однородной вычис-лительной среды (ОВС). Данная разработка является полностью отечественной.Для удалённого управления вычислительными узлами суперкомпьютерных си-стем и обеспечения селективных операций специалистами ИПС РАН разработанасервисная сеть СКИФ-ServNet.За счёт интеграции с системой FLAME-SKIF мониторинга и управления установ-ками семейства СКИФ сервисная сеть СКИФ-ServNet становится мощным сред-ством автоматизированного управления (в том числе и удалённого) аппаратнымии программными компонентами суперкомпьютеров семейства СКИФ.

Page 15: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

14 28 января

Очень важным свойством суперкомпьютеров семейства СКИФ является их сов-местимость с коммерческими инженерными пакетами, такими, как LS-DYNE,STAR-CD и др. Примеры использования суперкомпьютеров СКИФ: химическиеприложения; аэрогидродинамические расчёты; газодинамика; обработка результа-тов дистанционного зондирования Земли (ДЗЗ); гидрометеорология; прикладныесистемы искусственного интеллекта; медицина и телемедицина; расчёты явленийс большой долей энергии излучения; расчёты в интересах нанотехнологий; гео-механические задачи; экологическое моделирование и прогнозирование; государ-ственная безопасность; радиосвязь (гражданская и военная); банковские инфор-мационные системы; инженерные расчёты; сельскохозяйственные машины; аэро-космическая техника; лёгкая промышленность и др. Очень важным результатомпрограммы СКИФ является подготовленная производственная база. Возможностиучастников программы СКИФ (ИПС РАН, ОАО НИЦЭВТ, ООО Т-Платформы)позволяют серийно выпускать:

• суперкомпьютеры с производительностью до 15 Тфлопс по технологиям, ра-нее проверенным на семействе СКИФ К-1000;

• адаптеры высокоскоростных сетей SCI для кластеров полных аналогов адап-теров фирмы Dolphin (SCI PCI64/66 Dolphin ICS, 1D- и 2D-тор, D330, D337,D335);

• адаптеры сервисной сети СКИФ-ServNet.

А самым важным результатом программы СКИФ можно назвать восстановлениеи создание кооперационных связей, организация такой команды исполнителей,которой по плечу самые сложные задачи в области суперкомпьютерных техноло-гий.Дальнейшее развитие направления работ программы СКИФ связано с усилиямипо внедрению изделий семейства СКИФ и развитию изделий семейства СКИФ.

Список литературы

[1] TOP500 Supercomputer Sites мировой рейтинг пятисот самых мощ-ных компьютеров мира. Информационный ресурс в сети Интернет,http://www.top500.org/.

[2] АбрамовС.М., АдамовичА.И., ИнюхинА.В., МосковскийА.А., Рога-новВ.А., ШевчукЕ. В., ШевчукЮ.В. Т-система с открытой архитектурой //Труды Международной научной конференции Суперкомпьютерные системыи их применение. SSA’2004. Минск, ОИПИ НАН Беларуси, 26–28 октября2004. С. 1822.

[3] АбрамовС.М., АдамовичА.И., КоваленкоМ.Р. Т-система— среда програм-мирования с поддержкой автоматического динамического распараллеливанияпрограмм. Пример реализации алгоритма построения изображений методомтрассировки лучей // Программирование, 1999. Т. 25 (2). С. 100–107.

Page 16: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А. Г.Боковой 15

15:10–15:50

А. Г. Боковой Москва, IBM Восточная Европа/Азия,

Центр компетенции Linux

Samba 4 — текущее состояние и перспективы

15:50–16:30: резерв ∗ ∗ ∗ ∗ ∗

16:30–17:00: Кофе-брейк ∗ ∗ ∗ ∗ ∗

Доклады17:00–19:30

17:00–17:30

А. В. Столяров, Е. И. Большакова, Н. В. Баева Москва,

ВМК МГУ

InteLib Lisp в обучении программированию на Лиспе

Обучение функциональному программированию: выбор языка

Изучение основ функционального программирования [1] чрезвычайно важно приобучении студентов программистских специальностей и является необходимойкомпонентой образования в области computer science. Функциональное програм-мирование может изучаться на основе многих современных языков программиро-вания (Scheme, OCaml, Haskell и т. п.). С нашей точки зрения, наиболее удобнымдля изучения основ функционального программирования является классическийязык Лисп, позволяющий освоить основные приёмы функционального программи-рования, такие как рекурсия и функции высших порядков, а также гетерогенныеструктуры данных.Перед преподавателями встаёт проблема выбора диалекта языка и системы про-граммирования. Такие диалекты Лиспа, как Common Lisp [2], громоздки; в нихвключены, в числе прочих, и императивные конструкции, что провоцирует импе-ративный стиль программирования и мешает освоению функциональных приёмов.

Page 17: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

16 28 января

Другие диалекты (например, MuLisp) не столь громоздки, однако сам факт ис-пользования при обучении заведомо устаревшего программного обеспечения со-здаёт у студентов ложное впечатление устарелости языка Лисп как такового.С другой стороны, многие современные системы программирования на Лиспе дляMS Windows слабо подходят для обучения Лиспу, поскольку отвлекают вниманиестудента на вопросы, связанные с синтезом пользовательского интерфейса (этоотмечается, например, в статье [3]).Таким образом, для обучения необходим диалект Лиспа, полностью включаю-щий его функциональное ядро, но при этом, по возможности, не отягощённыйпосторонними языковыми возможностями.

Практикум по языку программирования Лисп

Любой теоретический курс по программированию должен дополняться практику-мом. На кафедре алгоритмических языков факультета ВМиК МГУ был разрабо-тан практикум по функциональному программированию на базе языков Рефал иЛисп.Практикум на языке Лисп начинается с простых этюдов на программированиевспомогательных функций обработки списков. При их выполнении разрешаетсяиспользование только базового алгоритмически полного набора функций (CONS,CAR, CDR, COND, ЕQ, ATOM, QUOTE, EVAL), четырёх арифметических функ-ций и средства определения новых функций. Несмотря на минимальность наборадопустимых встроенных функций, он позволяет освоить программирование раз-ных видов рекурсии и функций высших порядков.На следующих этапах обучения студенту предлагается на выбор решение болеесложных задач, призванных продемонстрировать студентам практическую цен-ность языка Лисп. Среди предлагаемых вариантов заданий— различные видысимвольной обработки, такие как преобразования формул математической логикиили восстановление текста регулярной грамматики по заданному конечному авто-мату. При выполнении этих заданий допускается использование более широкогомножества встроенных функций (всего около пятидесяти).Таким образом, для проведения практикума желателен инструмент, позволяющийгибко настраивать используемый диалект Лиспа.

Пакет InteLib

Указанная гибкость может быть достигнута использованием пакета InteLib [4,5],изначально разработанного для интеграции различных парадигм программирова-ния в рамках одного языка (C++). Развившийся в рамках проекта InteLib диалектЛиспа, названный InteLib Lisp, предназначался для использования в качестве до-полнительного языка. Поэтому получившийся диалект не перегружен посторон-ними для традиционного Лиспа возможностями. Текущая версия пакета InteLib

Page 18: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.В. Столяров, Е.И. Большакова, Н.В. Баева 17

предоставляет около 150 встроенных Лисп-функций и включает в себя интерак-тивный интерпретатор языка InteLib Lisp.Важно, что средствами пакета легко можно построить дополнительный интерпре-татор, поддерживающий ограниченное множество встроенных функций Лиспа,например, минимально необходимое при выполнении простых этюдов на програм-мирование.Недостатком интерпретатора, реализованного в рамках пакета InteLib, являетсяего сравнительно низкая эффективность по времени исполнения, но для учебныхзадач это не столь существенно. Вместе с тем, для студентов, желающих приоб-рести дополнительные навыки программирования, InteLib предоставляет как воз-можность дописывания дополнительных функций на C++ для их использованияв Лисп-программе, так и возможность включения фрагментов на Лиспе в про-граммы на C++, что дополнительно иллюстрирует практическую применимостьЛиспа.Указанные особенности пакета делают реализованный диалект Лиспа перспектив-ным кандидатом на роль учебного диалекта.

Список литературы

[1] A. J. Field and P. G. Harrison. Functional Programming. Addison-Wesley,Reading, Massachusets, 1988.

[2] G. L. Steele Jr. Common Lisp the Language. Digital Press, Burlington MA,second edition, 1990.

[3] ГоловинИ. Г., СтоляровА.В. Мультипарадигмальный подход к преподаваниюпрограммирования и роль свободного ПО // Тезисы докладов II конференцииразработчиков свободных программ «на Протве», г. Обнинск, июль 2005.С. 114–120.

[4] ГоловинИ. Г., СтоляровА. В. Объектно-ориентированный подход к мультипа-радигмальному программированию // Вестник МГУ. Сер. 15 (ВМиК). 2002.№1, С. 46–50.

[5] Официальный сайт проекта InteLib. http://www.intelib.org.

Page 19: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

18 28 января

17:30–18:00Е.А. Чичкарёв Мариуполь, Приазовский ГТУ

Опыт преподавания курса «Технология разработки

Linux- и Unix-приложений» в техническом

университете

Тенденция к расширению области использования и известности open source про-граммных средств отражается и в учебных планах и программах высшей школы.В частности, и на кафедре информатики ПГТУ введён новый курс— «Технологияразработки Linux- и Unix-приложений».Учебная программа включает три основных раздела— разработки сценариев наshell, Tcl/Tk; разработка приложений на C/C++; разработка переносимых при-ложений на Java. Курс включает достаточно объёмный лабораторный практикум(12 лабораторных работ) и завершается экзаменом. Содержание курса увязанос читаемыми параллельно курсами, посвящёнными администрированию сетей иразработке Интернет-приложений.Однако несмотря на богатый набор возможностей и некоторые преимущества,попытки использования open source ПО в повседневной преподавательской дея-тельности наталкиваются на целый ряд проблем и препятствий, по существу несвязанных с его качеством. Недостаток компьютерных классов и широкий кругразличных дисциплин, в которых эти классы используются, не даёт возможностиорганизовать хотя бы один класс, укомплектованный только Linux или FreeBSD.Поэтому даже при весьма ограниченных ресурсах устаревших компьютеров при-ходится эксплуатировать на них параллельно две ОС (Linux и Windows или Linuxи FreeBSD). Другой проблемой является острый недостаток квалифицированныхкадров, готовых организовать учебный процесс в среде Linux (это касается какпрофессорско-преподавательского состава, так и учебно-вспомогательного персо-нала). Наконец, при наличии большого количества разнородной литературы, по-свящённой Linux и FreeBSD, использовать её в качестве учебной практическиневозможно: многие книги— не более чем сборник рецептов и компиляция тех-нической документации по используемым программам.Поэтому при организации преподавания курса «Технология разработки Linux- иUnix-приложений» пришлось решать параллельно все три проблемы— организо-вать компьютерный класс (по существу, лабораторию open source программныхсредств); провести начальное обучение учебно-вспомогательного персонала; на-чать практически с нуля разработку методической базы.После организации класса с полностью укомплектованным набором ПО (частькомпьютеров с ОС Windows XP + Linux Mandriva, часть с ОС Windows XP +FreeBSD 5.4) open source ПО начало использоваться в ходе преподавания другихдисциплин— «Теория систем и математическое моделирование», «Идентификацияи моделирование технических объектов» и др.

Page 20: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.В.Алексеевский, Д.А.Алексеевский, В.А.Драчёв, Л. К. Смиренина,

С.А.Спирин 19

По завершении первого семестра преподавания курса, посвящённого Linux, сталоочевидным, что для студентов среднего уровня, привыкших работать почти ис-ключительно c Borland C Builder или Excel, затруднительно использовать любыесредства (свободные или проприетарные), требующие широкого использованияконсоли с командной строкой, т. к. это требует чёткого представления о том,что реально делается и какие средства используются. При этом использованиемногих мощных и удобных средств, ориентированных на графический интерфейс,приводит скорее к путанице и смещению понятий, чем к реальному ускорениюразработки приложений.Пожалуй, наиболее широкое применение открытое ПО в реальном учебном про-цессе нашло в дипломном проектировании. До 20 % студентов, защищающих вПГТУ дипломы по специальности «Информатика», защищают дипломы, базиру-ющиеся на Linux и FreeBSD.

18:00–18:30

А. В.Алексеевский, Д.А.Алексеевский, В.А. Драчёв,Л. К. Смиренина, С. А. Спирин Москва, МГУ

Свободное ПО в процессе обучения молекулярной

биологии на примере факультета биоинженерии

и биоинформатики МГУ

Факультет Биоинженерии и Биоинформатики был открыт в МГУ в 2002 году.Биоинформатика— это наука, исследующая результаты массовых биологическихэкспериментов, таких как расшифровка последовательностей ДНК и белков. Био-информатика является одним из профильных направлений обучения на факуль-тете, поэтому в учебном плане присутствует много курсов, посвящённых работес компьютером.Очевидно, важная роль отводится имеющейся на факультете аппаратно-программной базе, обеспечивающей эти курсы и связанный с ними учебный про-цесс.Нами была разработана и внедрена компьютерная база факультета. Компьютернаябаза факультета является частью компьютерной базы НИИ ФХБ им. А.Н. Бело-зерского МГУ. К базе факультета относятся два компьютерных класса на 23 рабо-чих места каждый, несколько серверов факультета и компьютеры факультетскихлабораторий, объединённые локальными сетями института Белозерского.На компьютеры класса установлены две операционных системы: MicrosoftWindows XPcopy и Debian 3.1 GNU/Linux. Компьютеры класса объединены в

Page 21: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

20 28 января

домен в смысле Windows и в LDAP-«домен» с централизованной сетевой фай-ловой системой в смысле Linux. Серверный парк состоит из трёх серверов подуправлением Debian 3.1 GNU/Linux, поддерживающих обе доменные структуры,резервное копирование, предоставление сетевых сервисов и доступа к биологиче-ским базам данных.Компьютерные дисциплины и курсы, основанные на них, в учебной программефакультета включают:

«Компьютерная грамотность»

Целью курса является выработка навыков работы с графическими интерфей-сами, файловыми менеджерами, основы работы в командной строке UNIX,знакомство с основами формата HTML. Курс является полугодовым.

«Алгоритмы»

В курсе даётся представление о традиционных алгоритмах и структурах дан-ных. Курс является полугодовым теоретическим курсом и сопровождаетсяпрактическими занятиями курса «программирование».

«Алгоритмы биоинформатики»

Курс посвящён ознакомлению с алгоритмами работы основных программ вмолекулярной биологии. В нём преподаются такие алгоритмы, как алгорит-мы выравнивания биологических последовательностей, алгоритмы вычислениярасстояний между ними, поиска генов и другие. Как и курс «Алгоритмы»,данный курс является полугодовым теоретическим курсом и сопровождаетсяпрактическими занятиями курса «Программирование».

«Программирование»

Данный годовой курс является практическим приложением к курсам «Алго-ритмы» и «Алгоритмы биоинформатики». В курсе вырабатываются практиче-ские навыки программирования на примере языка Java.

«Биоинформатика»

Курс рассчитан на три года обучения. Курс посвящён практике обработки био-логических данных: работе с базами данных биологических последовательно-стей, трёхмерных структур, семейств белков и других, методам пространствен-ного анализа структур белков, симуляции молекулярной динамики.

Курс «Биоинформатика» в существенной степени основан на свободном ПО. Этоявляется следствием того, что большинство ПО для молекулярной биологии яв-ляется свободным.Молекулярная биология— это наука, изучающая биологию молекул. В ней нако-пили значительный объём однородных экспериментальных данных. Так, в послед-ние десять лет полностью расшифрованы гены более сотни организмов, включая

Page 22: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Е.Ю.Кулик 21

человека. Открытость этих данных, а также программных средств их анализаи обработки является одной из основ и достижений молекулярной биологии, имолекулярной медицины.Благодаря открытости данных и ПО оказалось возможным обучение на уровнелучших мировых университетов. Подтверждением уровня образования на факуль-тете являются работы, выставленные студентами в ходе практики по биоинфор-матике в Лейбнинском университетском научном центре (2005).

18:30–19:00

Е.Ю.Кулик Саратов, ИПКиПРО

Е.Д. Патаракин Переславль, ИПС РАН

WikiWiki в организации учебного процесса

Компьютерные коммуникации сегодня формируют новое поле информационнойкультуры, в котором реализуется деятельность современного общества. Именносети составляют новую социальную морфологию наших обществ, а распростране-ние «сетевой» логики в значительной мере сказывается на ходе и результатах про-цессов, связанных с производством, повседневной жизнью, культурой и властью.Перед образованием стоят задачи формирования личности, конкурентоспособнойи успешной в электронной информационной среде. Вполне оправданно, если ирешение этих задач мы будем искать в среде информационных, компьютерных исетевых дисциплин.Одна из основных тенденций развития образования в связи с этим состоит впересмотре концепций организации учебной деятельности. Наша познавательная,творческая и учебная деятельность изначально имеют сетевой и коллективный ха-рактер. Переход от эгоцентричной позиции к пониманию роли и значения другихлюдей, других способов конструирования реальности является важным этапомпсихологического развития личности. В учебной практике процессы формирова-ния сетевых, децентрализованных моделей обучения сегодня ещё мало заметны,но именно сетевые технологии готовят для них почву.Использование в учебном процессе новых социальных форм программного обеспе-чения (social software) может способствовать освоению таких важных для научно-го образования навыков, как критическое мышление и коллективное творчество.При этом меняются требования как к методам и формам организации обуче-ния, так и к роли преподавателя, его профессиональной подготовке. Совместныедействия участников современных сетевых объединений зачастую носят стайныйхарактер. Действиями отдельных игроков никто не руководит, но на основе ихпростого поведения формируется сложное коллективное поведение. Как прави-

Page 23: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

22 28 января

ло, чем проще правила индивидуального поведения, тем более сложный характеримеет поведение всего коллектива.Примерами таких стайных объединений на основе нового информационного обес-печения могут служить энциклопедии коллективного авторства на базе техноло-гии WikiWiki. Эта технология изначально создавалось как открытое программноеобеспечение, и в настоящий момент в сети существует множество доступных кло-нов и площадок, на базе которых желающие могут построить своё сообщество. ВWikiWiki реализована радикальная модель коллективного гипертекста, когда воз-можность создания и редактирования любой записи предоставлена каждому изчленов сетевого сообщества. Это отличие делает Wiki наиболее перспективнымсредством для коллективного написания гипертекстов, современной электроннойдоской, на которой может писать целая группа.В течение 2005 года нами была апробирована методика проведения занятий спреподавателями и студентами в среде WikiWiki. В качестве платформы для со-общества была выбрана WikiMedia1.В основу выбранной методики обучения были положены средо-ориентированныйподход к организации учебной деятельности и проектный метод обучения.Средо-ориентированный подход позволяет перенести акцент в деятельности пре-подавателя с активного педагогического воздействия на личность ученика в об-ласть формирования «обучающей среды», во взаимодействии с которой происхо-дит его самообучение и саморазвитие. Основным методом обучения был выбранметод проектов, т. к. при его использовании учащиеся не только приобретаюткакую-то сумму знаний, но и осваивают ряд важных принципов и способов дея-тельности.В ходе разработанных проектов преподаватели, студенты и школьники участво-вали в коллективном создании текстов («Студенческая сказка»), и презентациирезультатов проекта, связанного с использованием мобильных устройств («Вирту-альные экскурсии»). Важно отметить, что в единой среде WikiWiki параллельнодействовали люди разного возраста, различного социального статуса и прожива-ющие в разных городах России (Саратов, Нижний Новгород, Псков).Использование WikiWiki как среды для совместной деятельности само по себеещё не ведёт к тому, что люди работают вместе и внимательно относятся к де-ятельности соседей. Весь предшествующий опыт их педагогической и учебнойдеятельности мешает им использовать чужие наработки и создавать материалы,которые были бы полезны другим членами сообщества. Поэтому и первый опытиспользования коллективной среды сводится к созданию отдельных не связанныхмежду собой страниц-презентаций. Переход на новый уровень совместной дея-тельности требует от организаторов дополнительных усилий, которые бы расши-ряли поле зрения участников сообщества, помогали им отслеживать направлениядеятельности друг друга. В рамках WikiWiki организаторы учебного процессадолжны постоянно просматривать и редактировать существующие страницы, на-

1http://www.mediawiki.org/

Page 24: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.М.Иваницкий 23

ходить на страницах общие темы и на уровне ссылок показывать ученикам, кудадвижутся партнёры и как можно с ними взаимодействовать.Анализ специфики организации учебного процесса в среде WikiWiki показал, чтосуществует несколько уровней конструирования учебной деятельности: концеп-туальный уровень (определение механизмов взаимодействия учащегося со сре-дой), технологический уровень (постановка диагностичных учебных целей, опи-сание их в терминах компетенций учащихся, которые необходимо сформировать,определение механизмов контроля), операционный уровень (определение опера-ционной среды учебной ситуации, необходимой для формирования компетенций,отбор предметного содержания, форм и методов обучения), уровень реализации.

19:00–19:30

А.М.Иваницкий Екатеринбург, ЗАО «Наумен»

Проект: http://www.softprofi.ru

Использование системы Naumen Agile Tools при

подготовке программистов

19:30: Круглый стол, совмещённый с ужином

Page 25: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

24 29 января

29 января

9:30–10:00: Завтрак ∗ ∗ ∗ ∗ ∗

Доклады10:00–11:30

10:00–10:30

Е.А. Чичкарев, Н. В. Назаренко Мариуполь, Приазовский ГТУ

Разработка математических моделей

металлургических агрегатов на базе свободного

программного обеспечения

В современных работах, касающихся исследования различных аспектов теории итехнологии сталеплавильного производства, широко применяются методы и сред-ства математического моделирования, предназначенные как для решения иссле-довательских задач или проведения проектных расчётов, так и для решения задачуправления производством.Большинство работ, касающихся моделирования технологических процессов, за-вершается разработкой приложений, реализующих ту или иную математическуюмодель, в виде пакета программ, разработанного с использованием языка про-граммирования общего назначения (C++, Object Pascal и т. п.), и среды быстройразработки приложений (Delphi, C-Builder). Выбор языка программирования ком-пилятора для решения тех или иных задач обусловлен во многом личными склон-ностями разработчика и априорными соображениями. Однако для решения вы-числительных задач значительного объёма разница в скорости выполнения кода,сгенерированного различными компиляторами, может оказаться существенной.Для решения задач, связанных с разработкой комплексных математических мо-делей, определёнными преимуществами по сравнению компилируемыми языкамиобладают интегрированные математические пакеты, объединяющие встроенныефункции для решения разнородных задач, в т. ч. построения графических иллю-страций. В частности, открытый пакет Python+SciPy был использован авторамидля реализации ряда математических моделей объектов металлургического произ-водства: циркуляционного течения в промежуточном ковше (ПК) машины непре-рывного литья заготовок, плавления порошковой проволоки в сталеразливочном

Page 26: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Е.А. Чичкарев, Н. В. Назаренко 25

ковше, формирования непрерывнолитых заготовок и т. п. Полученные результа-ты нашли практическое применение для выбора рациональных технологическихрешений в условиях МК «Азовсталь», а также в дипломном и курсовом проекти-ровании в ПГТУ. В процессе разрешения проблем недостаточного быстродействияпри реализации ряда сложных в вычислительном отношении задач авторами про-ведён ряд бенчмарк-тестов.В качестве систетического теста использовалась программа, предназначенная дляисследования нестационарных режимов разливки, позволяющая рассчитывать из-менение поля температур и поля концентраций основных примесей в осевом сече-нии заготовки. Это достаточно трудоёмкая в вычислительном отношении задача,требующая решения нелинейных уравнений теплопроводности и диффузии в мно-гомерной области.Для упрощения обработки результатов расчётов модель формирования непре-рывнолитой заготовки была полностью реализована на языке MatLab (Octave)с использованием встроенных вычислительных возможностей пакета, а также наC++, Java, Python. Эксплуатация версий разработанной моделирующей програм-мы, реализованных в различных ОС и на различных языках программирования,послужила отправной точкой для проведения тестирования. Кроме того, сопостав-лялась скорость выполнения кода, сгенерированного различными компиляторами(gcc в среде Linux и FreeBSD и C++-Builder 6 в среде Windows). Расчёт кине-тики формирования непрерывнолитой заготовки либо с выводом промежуточныхрезультатов (консольное приложение, вывод примерно 5000 строк результатов врабочее окно) или с выводом только начальных и конечных результатов.Результат тестирования оказался во многом в пользу gcc в среде Unix-подобныхсистем. Вследствие более развитых средств оптимизации кода по скорости ис-полнения, хотя без оптимизации C++-Builder демонстрирует лучшие результаты,что отмечалось в публикациях в Интернете. Обращает на себя внимание разни-ца в скорости выполнения при выводе промежуточных результатов, зависящая оторганизации операций ввода/вывода в ОС. Вне конкуренции оказалась FreeBSD(использовалась версия 5.2.1) с монолитным ядром, а для Linux с модульнымядром и Windows результаты оказались практически одинаковы. Тестированиепроводилось на одном и том же компьютере. Аналогичные сопоставления прово-дились и неоднократно публиковались как в Интернете, так и в прессе, однакодля заметно более простых и несколько искусственных бенчмарк-тестов.Признанным стандартом интегрированного математического пакета для техниче-ских вычислений является пакет MatLab, основным недостатком которого явля-ется высокая стоимость лицензии как для сетевого, так и для индивидуальногоиспользования. Однако для решения задач моделирования разработано большоеколичество свободного программного обеспечения, либо совместимого с MatLabпо языку программирования (Octave, SciLab), либо обеспечивающего аналогич-ный набор возможностей (язык программирования Python с вычислительнымипакетами расширений).

Page 27: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

26 29 января

Сопоставление вычислительных возможностей было выполнено и для интегри-рованных математических систем: MatLab 6.1 (ОС Windows), Octave (на 90 %совместимый с MatLab аналог для ОС Unix и Windows), SciPy 0.3.2 (библиоте-ка численных алгоритмов и графических утилит для программирования на языкеPython), Java. Для сопоставления использовались как реальный тест (программарасчёта затвердевания), так и синтетические бенчмарк-тесты. Установлено, чтопо быстродействию математические пакеты отличаются незначительно (независи-мо от проприетарного или свободного происхождения), и связаны с технологиейреализации тех или иных численных методов или использованных алгоритмов.Возможности оформления качественных документов с графическими иллюстра-циями в настроенной Linux-системе, полностью основанной на open source ПО,не уступают, а иногда и превышают возможности работы в Windows-системе с ис-пользованием проприетарных продуктов. Высокая эффективность настольных вы-числительных систем достигается лишь при условии тщательной настройки систе-мы и использования набора стандартных библиотек (ATLAS, BLAS и LAPACK),собранных из исходного кода, и пересборки необходимых программ. Кроме того, вразличных дистрибутивах на первый взгляд мало отличающиеся компоненты мо-гут заметно различаться по возможностям. По набору всевозможного программно-го обеспечения для решения задач вычислительного характера непревзойдённымявляется дистрибутив Debian.

Выводы

1) Перспективным направлением развития методики математического моде-лирования гидродинамических, тепловых и физико-химических процессовдля технических приложений является использование специализированныхскриптовых языков программирования, включающих функции, реализующиеосновные численные методы и возможности создания графических иллю-страций. Проведено сравнительное исследование ряда открытых и коммер-ческих средств разработки вычислительных программ. Установлено, что вUNIX-подобных ОС открытые средства разработки практически не уступа-ют развитым коммерческим пакетам.

2) Высокая эффективность настольных вычислительных систем с открытымкодом достигается лишь при условии тщательной настройки системы и ис-пользования набора стандартных библиотек

3) Для практического использования результатов математического моделиро-вания при решении производственных задач или в учебном процессе целесо-образно объединение разрозненных моделей в специализированные пакетырасширения для программных сред общего назначения.

Page 28: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Д.В. Белышев 27

10:30–11:00

Д. В. Белышев Переславль, ИПС РАН

Технологии создания региональных

научно-образовательных компьютерных сетей

Сегодня развитие сетевой инфраструктуры имеет колоссальное значение для об-щества. Особенно важен свободный доступ к глобальным компьютерным сетямдля сферы науки и образования. Доступ к Интернет позволяет людям, прожи-вающим в городах, удалённых от крупных научных и образовательных центров,находиться в курсе последних событий и активно участвовать в различных про-ектах. Серьёзным препятствием в развитии компьютерных сетей в малых городахи сельской местности является невысокая покупательная способность потенци-альных клиентов (населения и организаций). Эту и другие региональные особен-ности необходимо учитывать для успешного построения сетей телекоммуникацийв регионах России.Лаборатория телекоммуникаций «Ботик» Института программных систем РАНболее 10 лет занимается разработкой, внедрением и передачей своих техноло-гий построения высококачественных малобюджетных региональных компьютер-ных сетей. Ботик-технологии являются комплексным решением, охватывающимпрограммную, аппаратную и организационную стороны системы телекоммуника-ций, включая реализацию таких функций и подсистем, как: стандартные телеком-муникационные сервисы, мониторинг, администрирование, биллинговую систему,специализированную ГИС, IP-телефонию и др.1Ниже рассматриваются условия,типичные для российских регионов, и описываются наши решения, позволяющиеих учесть.

1) Стоимость создания (расширения) системы должна быть невысокой, приэтом требуется создание значительной по масштабам системы и с самы-ми высокими техническими характеристиками (bandwidth, latency, и т. п.).Поэтому:

• Мы полностью отказались от использования дорогих телекоммуника-ционных устройств (например, готовых маршрутизаторов от Cisco, го-товых серверов от IBM или Sun и т. п.). Вместо этого мы исполь-зуем оборудование массового рынка, такие как комплектующие длякомпьютеров класса IBM PC, оборудование Ethernet (10/100 Base-T/TX/FL/FX, wireless solutions 802.11a,b,g) и т. д.

• Мы полностью отказались от использования коммерческого программ-ного обеспечения. Вместо этого мы используем свободное программноеобеспечение (free and open source software).

1См. Телекоммуникационный проект Ботик http://www.botik.ru.

Page 29: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

28 29 января

• За счёт собственных аппаратных и программных разработок мы ком-пенсируем технические недостатки (в том числе и в части надёжно-сти) используемой массовой аппаратуры и обеспечиваем недостающиефункции и свойства. Таким образом, удаётся достичь требуемых высо-ких технических характеристик системы при сохранении весьма низкойцены.

• Для создания региональных сетей значительного размера мы использу-ем технологию Ethernet и соответствующие кабели (twisted pair cables,fiber optic cables) и устройства (hubs, switches). Однако при этом ка-бель и оборудование следует защищать от воздействия атмосферногоэлектричества.

2) Ежемесячные расходы на систему должны быть невысокими; при этом си-стема должна обеспечивать весьма высокий уровень сервиса. Для эксплуа-тации системы не должно требоваться много персонала. Также должны бытьвесьма скромными требования на профессиональную подготовку персонала.Поэтому:

• В оборудовании и программном обеспечении системы мы реализовалимеры, повышающие надёжность, поддержали функции самопроверкиработоспособности устройств и самовосстановления их после сбоя. Темсамым, большая часть проблем устраняется системой без вмешатель-ства персонала.

• В региональных сетях мы предусматриваем избыточные каналы свя-зи, а в системе используем протоколы динамической маршрутизации,позволяющие автоматически (без вмешательства персонала) находитьобходные маршруты, если часть каналов в системе оказалась в нерабо-тоспособном состоянии.

• Разработана система мониторинга и специализированная ГИС, обес-печивающие персонал своевременной и точной информацией о местенеисправностей в системе (которые не удалось устранить автоматиче-ски).

• Все штатные операции, необходимые для эксплуатации системы (мони-торинг, биллинг, обслуживание новых клиентов и оформление догово-ров, заведение новых услуг у клиентов, изменение конфигураций услугклиентов, техническая поддержка и т. п.), включены в систему управ-ления сетью Nadmin, и многие переданы от технического персонала кклиенту.

3) Должны учитываться региональные особенности.

• На большей части территории России качество электроснабжения весь-ма низкое (сильное колебание напряжения в сети, частые и продолжи-тельные перебои в электроснабжении). Поэтому, нами были разработа-ны блоки питания (с аккумуляторами), способные использовать внеш-нее электропитание низкого качества и обеспечивающие весьма про-

Page 30: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

П.А. Зленко, Т. Е. Истомин, Д. К.Мещеряков, Н.Н. Попова, А.Н. Сальников 29

должительную работу оборудования сети в условиях отсутствия элек-тропитания.

• В сельских районах России оборудование для региональных сетей чащевсего придётся размещать вне помещения. Был разработан специаль-ный контейнер, который в российском климате обеспечивает необходи-мые для работы оборудования условия.

Таким образом, Ботик-технологии успешно учитывают особенности российскихрегионов, что проверено более чем 8-летней эксплуатацией системы телекоммуни-каций в Переславле-Залесском, а также у наших партнёров в различных городахРоссии и стран бывшего СССР, в том числе в Москве1), Алма-Аты2 (Казахстан)и Раменское3 (Россия).

11:00–11:30

П.А. Зленко, Т. Е.Истомин, Д. К.Мещеряков,Н. Н. Попова, А.Н. Сальников Москва, МГУ

Распределённая система обработки

экспериментальных данных на основе свободного

ПО4

При организации обработки экспериментальных данных возникают задачи обес-печения доступа к разнородным и распределённым хранилищам данных, поискавычислительных мощностей, а также организации доступа к разнородной вычис-лительной технике.Работа посвящена основным возможностям, архитектуре и особенностям реали-зации распределённой системы обработки данных, которая объединяет в себесредства доступа к распределённым хранилищам данных, к удалённым вычис-лительным средствам и к вычислительным модулям, необходимым для решениязадач конечных пользователей [1,2]. Рассматриваемая система создана на основесвободно распространяемого программного обеспечения.Архитектурно система состоит из ряда компонентов, а именно:

• Ядро системы представляет собой сервлет, выполняющийся в Tomcat. Ядрообеспечивает обработку пользовательских запросов, запуск и контроль заисполнением заданий на вычислительных узлах, распределение хранимыхданных.

1http://www.urbannet.ru2http://www.samal.kz3http://www.aviel.ru4Настоящая работа выполнена при поддержке грантов РФФИ NN 02-07-90130 и 05-07-90238.

Page 31: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

30 29 января

• Клиентский интерфейс системы представляет собой Java-приложение,предоставляющее пользователю возможности управления хранилищем дан-ных и запуском вычислительных модулей с использованием индивидуальныхвстраиваемых компонентов.

• Вычислительные модули, расположенные на удалённых узлах.• ПО сопряжения обеспечивает унификацию взаимодействия ядра с вычис-лителями различной архитектуры.

Данные компоненты являются неотъемлемой частью системы и образуют универ-сальную среду, на основе которой могут быть построены инструменты, решающиезадачи конкретной предметной области. Такая специализация реализуется при по-мощи компонент, состоящих из классов-обёрток на Java, выполняемых в рамкахклиентского приложения, и программных модулей, выполняемых на вычислитель-ных узлах и реализованных на подходящих языках программирования.Процесс работы пользователя с системой предельно прозрачен. Типичным явля-ется, например, следующий сценарий:

• Пользователь через посредство клиентского приложения импортирует в си-стему данные, которые ему нужно обработать.

• Объект данных отображается в виде объекта хранилища в графическоминтерфейсе клиентского приложения.

• Пользователь выбирает в клиентском приложении один из поддерживаемыхметодов обработки, задаёт параметры обработки и выбирает вычислитель-ный узел, на котором он желает провести обработку данных.

• Система выполняет обработку данных и формирует результат.• Результат отображается в виде объекта хранилища. Результат может бытьэкспортирован к пользователю или подвергнут дальнейшей обработке.

Удалённый доступ к Системе осуществляется с помощью клиентского приложе-ния с любой ЭВМ, имеющей доступ к Internet и возможность запуска Java-приложений.Существенно, что от пользователя остаются скрытыми следующие неотъемлемыеаспекты обработки:

• Реализация хранения данных внутри системы.• Непосредственная организация доступа к конкретному вычислителю с кон-кретной архитектурой. Доступ выполняется, с точки зрения пользователя,одинаково как к однопроцессорной ЭВМ, так и к кластеру.

• Процессы передачи исходных данных на конкретный вычислитель, получе-ния результатов обработки с конкретного вычислителя и синхронизации.

Использование в качестве основы системы свободно распространяемого ПО поз-волило при разработке сосредоточиться на реализации высокоуровневых механиз-мов и использовать многие удобные и эффективные технологии, уже реализован-ные в этом ПО. В рамках полученной реализации при относительной простоте

Page 32: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

В. В.Житников 31

базовых механизмов была продемонстрирована требуемая гибкость и эффектив-ность разработанной архитектуры, что проявилось при встраивании пакетов при-кладных программ.

Список литературы

[1] КоролевЛ.Н., МалютинаЭ. Э., ПоповА.М., ПоповаН.Н. Применение актив-ных баз данных в прогнозировании // Вестник МГУ, сер. 15 (ВМиК). 1998.№1. М.: Изд-во МГУ, 1998.

[2] КоролевЛ.Н., ПоповА.М., ПоповаН.Н., РоговЕ. В. Реализация системы ана-лиза динамических процессов в сети Интернет // Тезисы докладов Всероссий-ской конференции «Научный сервис в сети Интернет». М.: Изд-во МГУ, 1999.

11:30–12:00: Кофе-брейк ∗ ∗ ∗ ∗ ∗

Доклады12:00–13:30

12:00–12:30

В. В.Житников Москва, OOO «СКИД»

О возможности применения свободной системы

аналитических вычислений Maxima в образовании

В настоящее время невозможно представить преподавание математики, физики идругих технических дисциплин без применения компьютеров и специализирован-ного программного обеспечения. Причём речь идёт не о написании процедур наязыке Fortran, а о современных математических пакетах, которые значительно бо-лее удобны для пользователя и позволяют формулировать и решать задачи в виде,максимально приближенном к традиционному. Интересную статистику по исполь-зованию математических программ в Российской высшей школе можно получитьс сайта http://www.exponenta.ru. Среди других материалов этот сайт содер-жит банк методических разработок и банк решений задач, которые следующимобразом распределяются по используемым пакетам:

Page 33: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

32 29 января

Методические разработки Задачи

MathCAD 66 MathCAD 115

Maple 29 Maple 23

Mathematica 17 MatLab 16

MatLab 15 Excel 6

Excel 6 Mathematica 3

GAP 1 GAP 2

Прочее 18 Прочее 8

Здесь упоминается только одна свободная программа—GAP. Но это не означа-ет, что свободных математических программ нет. Напротив, их довольно много,причём некоторые из них являются непосредственными аналогами вышеперечис-ленных коммерческих пакетов. Достаточно назвать следующие пакеты: Axiom,GAP, Octave, SciLab, R-project. Кроме того, существует не менее двух десятковдругих математических программ, зачастую ориентированных на решение специ-альных задач, и не меньшее количество графических программ для визуализацииматематических данных. С моей точки зрения, наиболее перспективной, с точкизрения применения в обучении, является свободная (GPL) система аналитическихвычислений Maxima.Программа Macsyma является исторически самой первой в мире системой анали-тических вычислений, и её разработка велась с 1968 по 1982 годы. В 1982 годуMaxima возникла как ответвление данного проекта, а с 1998 года Maxima бы-ла официально выпущена под свободной лицензией GPL. В настоящий моментMaxima активно развивается как международный проект1.Maxima имеет широчайший набор средств для проведения аналитических вычис-лений, численных вычислений и построения графиков. По набору возможностейсистема близка к таким коммерческим системам как Maple и Mathematica. Болеетого, по сравнению с ними она является вполне конкурентоспособной.Перечислим главные привлекательные особенности Maxima:

• Maxima является бесплатной, что может быть важно с точки зрения легаль-ности применения системы в учебном процессе.

• Maxima полностью открыта, что позволяет любому человеку как изучатьвнутреннее устройство системы, так и модифицировать его в случае необ-ходимости.

• Maxima неплохо документирована.• Maxima обладает высочайшей степенью переносимости. Это единственнаяиз существующих систем аналитических вычислений, которая может рабо-тать на всех основных современных операционных системах на компьюте-рах, начиная от самых мощных вплоть до наладонных компьютеров.

1http://sourceforge.net/projects/maxima/

Page 34: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Е.А.Алексеев, О. В. Чеснокова 33

• Maxima является системой программирования. Она позволяет легко созда-вать новые пакеты, ориентированные на решение специальных задач.

Вместе с тем, существует и ряд недостатков, препятствующих использованиюсистемы в обучении:

• Обилие математических возможностей Maxima делает её более сложной восвоении, чем, скажем, MathCAD.

• У Maxima есть несколько графических интерфейсов, но пока ни один из нихне может сравниться по удобству и полноте возможностей с интерфейсомMaple, Mathematica или MathCAD.

• У Maxima есть подробная справочная документация, но недостаёт удобныхдля первичного освоения вводных материалов.

• Перевод документации на русский язык пока не завершён.

В заключение хотелось бы отметить, что уже сейчас Maxima довольно актив-но применяется в образовании. К сожалению, это не относится к российскомуобразованию. При дальнейшем развитии и разрешении некоторых вышеупомяну-тых проблем Maxima вполне способна успешно заменить в образовании такиепрограммы как Maple, Mathematica и MathCAD.

12:30–13:00

Е.А.Алексеев, О. В. Чеснокова Донецк, Донецкий Национальный

Технический Университет

Использование свободно распространяемого пакета

Scilab в дисциплинах «Информатика» и

«Вычислительная математика»

Коммерческие математические пакеты ввиду высокой стоимости недоступны длябольшинства учёных и инженеров, работающих в университетах и исследователь-ских организациях. Поэтому значительный интерес представляют свободно рас-пространяемые пакеты, среди которых можно выделить пакет для математическихи инженерных расчётов Scilab, который наряду с мощными вычислительнымивозможностями, обладает мощным языком программирования. Существует воз-можность подключения программ, написанных на Си и Фортране. Поэтому имеетсмысл включить изучение основ пакета в курс «Информатика» для студентов ин-женерных специальностей, а также построить изучение курса «Вычислительнаяматематика» на базе пакета Scilab. Рассмотрим возможности пакета для решенияосновных математических задач.

Page 35: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

34 29 января

Решение задач алгебры

Векторы и матрицы в Scilab задаются путём ввода их элементов в квадратныхскобках. При обращении к элементу массива, его индекс указывается после име-ни массива в круглых скобках. Определены основные операции и функции дляработы с матрицам, среди которых можно выделить: inv(A) —вычисляет мат-рицу обратную к A; det(M)—вычисляет определитель квадратной матрицы M ;rank(M [, tol])—вычисление ранга матрицы M с точностью tol; norm(M [, f l]) вы-числение нормы типа fl (строковая переменная, означает тип нормы, по умолча-нию fl = 2) квадратной матрицы M ; cond(M)—вычисляет число обусловленно-сти матрицы M по второй норме; spec(M)—вычисление собственных значений исобственных векторов квадратной матрицы M ; linsolve(A, b)—решение системылинейных алгебраических уравнений; lu(M)—выполняет треугольное разложе-ние матрицы M : M = CLU , где L и U — соответственно нижняя и верхняятреугольные матрицы qr(M)—выполняет разложение матрицы M : M = QR, Q—ортогональная матрица, R —верхняя треугольная матрицы; svd(M)—выполня-ет сингулярное разложение матрицы M размером n × m; kernel(M [, tol[, f l]])—определение ядра матрицы M .

Нелинейные уравнения и системы в Scilab

Для решения нелинейных уравнений предназначены функции roots(p) иfsolve(x0, f). Первую обычно применяют для отыскания корней полинома p, авторую для решения нелинейных уравнений, отличных от алгебраических, и длярешения систем линейных и нелинейных уравнений.Для определения алгебраического уравнения в Scilab существует функцияpoly(a, "x", ["fl"]), где a—это число или матрица чисел, x— символьная перемен-ная, fl— строковая переменная, определяющая способ задания полинома. Еслиfl = c, то будет сформирован полином с коэффициентами, хранящимися в пара-метре a. Если же fl = r, то значения параметра a воспринимаются функцией каккорни полинома.

Обработка экспериментальных данных

Для реализации метода наименьших квадратов в Scilab предусмотрена функцияdatafit(G, z, c). Матрица z состоит из двух строк, в первой хранятся абсциссыэкспериментальных точек, во второй ординаты. Функция G должна формироватьмассив разностей между экспериментальными и вычисленными значениями. Вмассиве c находится начальное приближение коэффициентов подбираемой зави-симости. Функция datafit возвращает массив коэффициентов подобранной зави-симости и суммарную квадратичную ошибку.Задачу интерполирования в Scilab можно решить построением функций линейнойи сплайн интерполяции. Для построения линейной интерполяции служит функ-

Page 36: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Н.Н. Непейвода 35

ция interpln(z, x); здесь z — такая же матрица, как и в функции datafit, x— точка,в которой необходимо вычислить ожидаемое значение, возвращаемое в качестверезультата. Построение интерполяционного сплайна состоит из двух этапов: вна-чале вычисляются коэффициенты сплайна с помощью функции splin(x, y) (x, y —массивы абсцисс и ординат экспериментальных точек), затем с помощью функцииinterp(t, x, y, k) вычисляется значение интерполяционного полинома в точке t (k —массив коэффициентов сплайна).

Решение дифференциальных уравнений

В пакете Scilab предусмотрена функция ode следующей структуры:

y = ode(y0, t0, t, f)

y = ode([type], y0, t0, t[, troll[, atoll]], f)

Здесь t0 —начальная точка интервала интегрирования; t—конечная точка интер-вала интегрирования; y0 —вектор начальных условий; f —вектор правых частей;параметр type определяет метод интегрирования дифференциального уравнения«adams» метод Адамса, «stiff»— метод Адамса-Мултона для решения жёсткихсистем, «rk»— метод Рунге-Кутта 4-го порядка точности, «rkf»— метод Рунге-Кутта 4-го порядка точности с автоматической оценкой точности.При вызове функции ode пакет самостоятельно выбирает значение параметра type,это может быть значение «adams» или «stiff». В отличие от большинства ком-мерческих пакетов, в Scilab пользователю нет необходимости проверять, являетсяли система жёсткой, функция ode сама анализирует тип системы и вызывает необ-ходимый модуль решения. Пакет Scilab очень хорошо решает жёсткие системы.

13:00–13:30

Н.Н. Непейвода Ижевск, УдГУ

Сообщество открытого софта как реализация

принципов анархизма

Анархистские взгляды считались абсолютно утопическими, но сообщество от-крытого софта продемонстрировало, что они реализуемы на практике. Методомсамоорганизации снизу создалось мощное сообщество, управляемое не админи-страторами, а модераторами и общим мнением.Опыт этого сообщества (который естественно сопоставляется с опытом Париж-ской Коммуны времён Великой французской революции) показал, что анархисты

Page 37: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

36 29 января

упустили одну важнейшую деталь: у анархистского сообщества должно быть об-щее дело и общая цель. Вопрос о сознательности членов является в данномслучае второстепенным.Поскольку такое сообщество безжалостно извергает из своих рядов неподходящиеэлементы, это доказывает, что при переносе анархистских принципов на матери-альный мир необходимы достаточно жестокие наказания (изгнания и казни).

Список литературы

[1] КропоткинП.А. Великая французская революция 1789–1793. М.: Наука, 1979.

13:30–14:30: Обед ∗ ∗ ∗ ∗ ∗ ∗

Доклады14:30–16:30

14:30–15:00

Е.Д. Патаракин Переславль, ИПС РАН

Б.Б. Ярмахов Нижний Новгород, ННГУ

NetLogo в моделировании социальных феноменов

и на занятиях по менеджменту

NetLogo является продолжением языка Лого, который получил очень широкоераспространение и популярность благодаря работам Сеймрура Пейперта и егогруппы Media MIT. Уже середине 90-х годов Мич Резник и его группа разра-ботали продукт StarLogo, в котором действовали множество черепашек. Продуктбыл нацелен именно на изучение закономерностей и феноменов, в которые вовле-чено множество агентов. В конце 90-х Ури Виленский отделился от StarLogo сотдельным проектом NetLogo [1], который наследовал многие свойства StarLogo.Домашняя страничка проекта— http://ccl.northwestern.edu/netlogo/.Как и многие образовательные продукты, StarLogo и NetLogo были созданы и под-держиваются благодаря Национальному Научному Фонду США (National ScienceFoundation—NSF). Благодаря этому использование этих продуктов в образова-нии является свободным и бесплатным. Библиотека моделей, созданных в средеNetLogo, обширна и пополняется не только разработчиками, но и членами сооб-щества— http://ccl.northwestern.edu/netlogo/models/community/.

Page 38: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Н.Н. Непейвода, Б. Б. Ярмахов 37

Среда NetLogo благоприятна для существования сообщества, поскольку всегдапозволяет посмотреть текст программы, написанной другим участником; заим-ствовать фрагмент программы или отдельную процедуру; видоизменить процедурупо своему усмотрению и использовать её в рамках другой программы.Одна из наиболее известных и часто демонстрируемых моделей стайного поведе-ния— это модель формирования стаи птиц или рыб. В начале все агенты двига-ются в разные стороны, но постепенно под действием окружающих из множестваагентов формируется стая, во главе которой находится птица, рыба или черепаш-ка— вожак. Мы приведём здесь маленький фрагмент программы, управляющийформированием стаи.

to flock

find-flockmates

if any? flockmates [[ align cohere ]]

fd 1

end

В переводе с языка NetLogo на русский данное выражение означает, что каж-дый агент поискал соседей и, если нашёл, то скорректировал траекторию своегоповедения в ту сторону, куда двигаются окружающие. Язык NetLogo создавалсядля того, чтобы помогать ученикам размышлять о децентрализованных процес-сах. Создавая модель образования стаи птиц, ученики узнают больше о главномправиле сетевых сообществ— «простые правила— сложное поведение».Мы активно использовали среду NetLogo для демонстрации социальных фено-менов в ходе дистанционных курсов IATP в 2004 году. В очередной раз необ-ходимость использовать моделирующую среду Netlogo возникла у нас в связипреподаванием темы «Система сбалансированных показателей» на занятиях поменеджменту в системе повышения квалификации сотрудников кадровых отделовна базе Нижегородского государственного университета. «Система сбалансиро-ванных показателей» (СБС)— это современная концепция управления организа-цией, предложенная американскими учёными Нортоном и Капланом [2]. Идеяконцепции заключается в выделении в структуре организации нескольких (какминимум, четырёх) циклов, определяющих её развитие: финансовый, определяю-щий прибыли и издержки организации; процессуальный, описывающий характеросуществления деятельности в основных подразделениях организации; внешний,описывающий взаимодействие организации с внешними партнёрами, поставщика-ми и клиентами; развивающий, затрагивающий привлечение работников в орга-низацию и их обучение.Концепция Нортона и Каплана исходит из представления о том, что причиныорганизационных неудач кроются не в отсутствии качественных стратегий, но вотсутствии качественных механизмов их реализации. Заложенное в СБС пред-ставление об организации основано на модели баланса, при которой размерностьодного цикла влияет на характер протекания процессов в других. Сложность в

Page 39: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

38 29 января

изложении материала такого рода заключена в многочисленности факторов, кото-рые входят в СБС. Так, на ОАО Северсталь их количество достигает несколькихтысяч. При рассмотрении и анализе систем такого рода преподаватели тради-ционно пользуются сложными логическими схемами, пытаясь изобразить на нихнаиболее существенные взаимосвязи, что на статической модели не всегда создаётнаглядную картину моделируемого процесса.Для создания наглядной и, в то же самое время, динамичной модели СБС мывоспользовались средой моделирования Netlogo. В качестве модели, на примерекоторой демонстрировалось применение СБС в практике управления организаци-ей, была предложена ситуация «Лесное хозяйство». В качестве исходной ситуациирассмотрен случай, при котором вся деятельность организации построена на по-треблении ресурса, который интерпретируется как неограниченный. Производствопри этом выглядит, как потребление ресурса (леса) работником— лесорубом. Сточки зрения СБС этот пример иллюстрирует тупиковую модель, которая заходитв тупик при исчерпании ресурса производства (леса). В связи с этим логичнопредположить, что для создания равновесной модели следует добавить в неё ещёодин цикл, связанный с воспроизводством ресурса. В нашем случае это реша-ется с помощью введения в модель ещё одного персонажа— лесника, которыйзанимается посадкой леса. Проделав несколько проб, слушатели могут найти оп-тимальное количество лесников и лесорубов (3 : 1), которое позволяет задаватьпрактически неограниченный во времени цикл производства.Каждый фактор, влияющий на общее состояние модели, выделен в виде отдель-ного бегунка (в нашем случае, это «Forest», «Woodcutters», «Forester»),что создаёт дополнительную наглядность для учащихся. Числовая составляющаямодели отслеживается с помощью мониторов «years», «profit», «cost» и гра-фика, на котором отражается количество ресурса (лес) и финансового состояниявсей системы.

Список литературы

[1] Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo.Center for Connected Learning and Computer-Based Modeling. NorthwesternUniversity, Evanston, IL.

[2] НортонД., КапланР. Стратегически ориентированные организации. М., 2003.

Page 40: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.Н. Гребнев 39

15:00–15:30

А.Н. Гребнев Ижевск, УдГУ

Проект: AtLeap https://atleap.dev.java.net

AtLeap — база для ИС научных коммуникаций

в высшей школе

В настоящее время ярко выражены процессы эволюции научных коммуникаций(конференция и публикация) в электронную форму. Особую популярность при-обретают электронные коллекции и издательства, построенные в соответствии спринципами, высказанными на Будапештской инициативе 2001 «Открытый до-ступ» (Budapest Open Access Initiative). Заметен рост социальной составляющейнаучных коммуникаций, акцент переносится с документов (публикаций) на про-цессы их создания путём взаимодействия исследователей (дискуссий). Идеи от-крытости отражаются и в ИТ сообществе в целом в виде феномена Web 2.01.Программно-информационными комплексами (ПИК) научных коммуникаций за-нимается область исследований называемая «Электронные библиотеки» (ЭБ,Digital Libraries). Существует понятие Открытой ЭБ (ОЭБ), которое в большин-стве случаев означает ЭБ, построенную в соответствии с принципами Инициати-вы Открытые Архивы (OAI—Open Archives Initiative), и, в частности, с исполь-зованием протокола OAI-PMH (OAI’s Protocol for Metadata Harvesting).Предлагается создание ПИК, который должен состоять из следующих интегриро-ванных друг в друга частей:

АРМ исследователя

Управление: электронными документами (с совместной авторской разработ-кой и контролем версий), комментариями посетителей, фотоальбомом, спис-ком избранных книг, ссылок, онлайновым дневником (blog) и т. д. При-мером является сервис личных пространств http://spaces.msn.com иhttp://360.yahoo.com.

Электронное издательство

Автоматизация документопотоков, связанных с рецензированием, присвоени-ем DOI (Digital Object Identifier), регистрацией в электронных библиотекахи индексах цитирования и автоматизация другой деятельности, связанной свыпуском электронных журналов (газет и пр.).

Электронная библиотека

Сохранение обязательного экземпляра электронного издания на длительный

1http://www.oreillynet.com/lpt/a/6228

Page 41: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

40 29 января

срок, преобразование форматов документов перед их помещением и перед вы-дачей читателю (с поддержкой отображения математических и химическихформул) и т. д.

Электронная конференция

Интернет-поддержка проведения конференций, семинаров независимо от фор-мы (очная, видео, синхронная или асинхронная текстовая и пр.): сбор и пуб-ликация тезисов, подписка на почтовую рассылку, распределённое рецензиро-вание и т. п. Примером является проект АГОРА1.

Электронная дискуссия (форум и чат)

Как часть обсуждения документа в персональной коллекции исследователяили издания в журнале, либо как форма дискуссии при проведении электрон-ной конференции.

Каждый ПИК внешне представляет собой веб-портал, построенный на принципахОЭБ и способный к взаимодействию с другими аналогичными системами.В настоящее время хорошо финансируемые крупные научные учреждения илистоличные вузы имеют возможность использовать дорогие ИС, однако в сред-нестатистическом российском вузе данные процессы проходят при минимальнойфинансовой поддержке, а порой и исключительно на энтузиазме сотрудников. Рас-сматриваемый ПИК предлагается использовать в учебных заведениях и школах.В качестве начальной версии базы (фундамента) указанного ПИК [1] разработанпроект Blandware AtLeap. AtLeap2 —веб-приложение, J2EE 1.4 каркас (framework)с открытым исходным кодом (под лицензией Apache 2.0), предназначенный длябыстрого построения на его основе других веб-приложений. AtLeap включает всебя CMS (Систему Управления Содержимым, СУС). AtLeap имеет следующиесвойства:

• Широкие возможности форматирования текста, используя визуальныйWYSIWYG-редактор с поддержкой импорта текста из Microsoft Word.

• Поддержка одновременной работы с несколькими языками.• Полнотекстовый поиск на нескольких языках (13 языков) с учётом окон-чаний и стоп слов по страницам и документам (RTF, PDF, Word, Excel,PowerPoint, HTML и т. д.).

• Независимость от аппаратной платформы и операционной системы, СУБД(протестировано на 7-и), servlet-контейнера (протестировано на 11-и), брау-зера (протестировано на 4-х).

• Многопользовательскую работу, оптимистичный контроль параллелизма,транзакции базы данных (откатки, пессимистичные блокировки).

1http://agora.guru.ru/2https://atleap.dev.java.net

Page 42: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.И.Федосеев 41

В сентябре 2005 проект AtLeap занял второе место на конкурсе Sun Microsystems1

в категории J2EE. Внедрение рассматриваемого ПИК в учебные заведения поз-волит не только автоматизировать процессы создания научного знания и обменаим, но и приобщить к ним молодое перспективное поколение.

Список литературы

[1] ГребневА.Н. Автоматизация научной коммуникации в образователь-ных учреждениях // [Электронный ресурс] Материалы третьей откры-той всероссийской конференции «Преподавание ИТ в РФ».— Электрон-ная статья. Москва. АПКИТ, 2005. Режим доступа: http://www.it-

education.ru/2005/reports/Grebnev.htm, свободный.— Загл. с экра-на.

15:30–16:00

А.И.Федосеев Москва, МГТУ

Проект: http://lug.mstu.ru/admin/

Опыт создания семестрового учебного курса на тему

«Введение в администрирование UNIX»

В рамках продвижения свободного программного обеспечения в МГТУ им.Н. Э. Баумана был разработан семестровый курс на тему «Введение в адми-нистрирование UNIX». В этом докладе излагаются основные принципы созданиякурса, описываются применённая технология оформления материала и разрабо-танный комплекс для проведения практических работ.Полноценный курс по администрированию UNIX вписать в один семестр оченьсложно. А если располагать только одной парой в неделю, то и практически невоз-можно. Поэтому было принято решение создать курс с упором на практическиезанятия, а все материалы разместить в Internet, чтобы обеспечить возможностьсамостоятельной работы.Таким образом, к созданию курса выдвигались следующие требования:

1) максимальный охват архитектуры UNIX, описание использования и систем-ного администрирования операционной системы;

2) базовый объём— 17 занятий, плюс дополнительные лекции для самостоя-тельного изучения;

1http://www.javakonkurs.ru

Page 43: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

42 29 января

3) лекции должны быть с презентациями;4) практические занятия строятся на основе сценариев работы, требуется под-

готовить программное обеспечение для лабораторных работ;5) вопросы и задания к зачёту, оформленные в виде гиперссылок на соответ-

ствующие разделы;6) лёгкость публикации материалов в Internet.

На практике оформление курса растянулось на семестр: новые лекции и практи-ческие занятия создавались параллельно с тестированием уже написанных— этопозволило получить уже один раз прочитанный и реально опробованный курс.Каждая тема складывалась из следующих этапов:

• написание лекции и создание презентаций к ней;• составление плана практического занятия (сценариев);• создание описания используемых команд.

Последовательно оформляемые разделы выкладывались в Internet, так чтобы сту-денты могли продолжить изучение материала дома. Для самостоятельного обу-чения рекомендовался однодисковый дистрибутив Knoppix или установленная си-стема ALT Linux.С учётом требований к курсу в качестве основной технологии оформления ма-териала был выбран DocBook/XML. Язык разметки DocBook был расширен спе-циальными тегами, такими как presentation, definition и question, что позволилоавтоматически получать списки вопросов, определений и т. д. Другим достоин-ством DocBook является возможность получить на выходе (с применением раз-ных XSLT-преобразований) как версию для онлайн-публикации, так и версию,оформленную согласно требованиям учебного заведения.Все презентации создавались в графическом пакете Inkscape и сохранялись вформате SVG, что может позволить в дальнейшем более лёгкую их интеграциюв Internet-вариант лекций.Практические работы должны были проводиться в полноценной рабочей средеUNIX, включая возможность работы с правами суперпользователя. Для решенияэтой задачи была создана виртуальная рабочая среда на основе проекта User modeLinux и дистрибутива ALT Linux.User mode Linux позволяет запустить ядро Linux в качестве отдельного поль-зовательского процесса в системе. Для такой виртуальной машины создаютсявиртуальные диски (по сути образы дисков, которые автоматически собирают-ся на основе Sisyphus), виртуальная сеть и т. п. Большим преимуществом такойсхемы является возможность отката образа диска в состояние до занятия— этопозволяет поддерживать рабочую среду неизменной.В этом семестре курс был прочитан на Факультете Военного Обучения МГТУим. Баумана. В настоящий момент он доступен для просмотра в Internet по адре-су http://lug.mstu.ru/admin/. Работа над ним продолжается: заполняютсяпоследние пробелы, удаляются ошибки и т. п. При желании, любой человек может

Page 44: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

Е.А. Синельников 43

подключиться к процессу совершенствования этого учебного курса, так как всеисходные материалы опубликованы в Internet. Можно сказать, что был разрабо-тан не только набор лекций и практических занятий на отдельно взятую тему, нои создан механизм оформления и проведения таких занятий.

16:00–16:30

Е.А. Синельников Саратов, СГУ

Применение Свободного Программного обеспечения

в спецкурсах факультета Компьютерных Наук

Несмотря на то, что мир шагнул в новый век и новое тысячелетие, будучи широ-ко охваченным информационными технологиями, современное высшее образова-ние в этой области испытывает глубокий кризис. Поскольку всё большее числообластей и специальностей, а вместе с ними и академические круги, стремятсявоспользоваться самыми новыми информационными технологиями, они всё силь-нее увязают в этих технологиях после первого же внедрения. Из-за достаточноблизорукой оценки соотношения стоимости технических решений, их поддержкии целей обучения высококвалифицированных специалистов, руководство ВУЗовзачастую делает ставку не на собственное развитие, а на рекламу продукции,используемой при решении поставленных перед ним задач.Наиболее перспективным путём решения проблем, связанных с зависимостью ВУ-Зов от коммерческих компаний, не столько стремящихся привнести новые техно-логии, сколько навязывающих будущим работодателям свои технические реше-ния, а также для перехода на легальное использование программных продуктов,позволяющее вести с этими компаниями сотрудничество или конкурентные про-екты, является полноценное изучение свободных и свободно распространяемыхпрограммных альтернатив.Одним из примеров внедрения свободных проектов в Саратовском государствен-ном университете является спецкурс по дисциплине «Системы реального време-ни», читаемый автором впервые для студентов специальности «Вычислительныемашины, комплексы, системы и сети». Предварительный анализ доступных мате-риалов показал, что коммерческие компании, разрабатывающие специализирован-ные операционные системы реального времени (ОСРВ), не стремятся предоста-вить возможность для свободного изучения и выбора их систем. В связи с этимдля изучения студентам был предложен к изучению проект RTAI/fusion, вернув-ший позже своё прежнее имя Xenomai1. Выбор данного проекта был не случаен,поскольку это один из немногих вариантов сред, предоставляющих возможность

1http://www.xenomai.org

Page 45: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

44 29 января

не только исследовать технологии реализации ОСРВ и работы в них, но такжеизучить базовые примитивы и основы реализации приложений для коммерческихОСРВ на уровне API. При этом для работы необходима только среда с установ-ленным Linux и Xenomai, для которых наличествует не только документация, нои исходные коды.После анализа вариантов заданий по основам работы с ОСРВ, задачи, связанныене столько с работой в реальном времени, сколько с изучением особенностейоперационных систем и реализации драйверов, были предложены близкому потеме курсу «Операционные системы».Набор практических заданий для студентов пятого курса по дисциплине «Систе-мы реального времени» пересёкся с необходимостью более тщательной проработ-ки практических заданий по дисциплинам, читаемым студентам той же специаль-ности ранее: «Системное программное обеспечение» на втором курсе и «Интер-фейсы периферийных устройств»— на третьем.Для курса «Интерфейсы периферийных устройств» была проведена оценка необ-ходимого оборудования и было выяснено, что для изучения взаимодействияпрограммно-аппаратных средств достаточно использования одного из вариан-тов микроконтроллеров общего назначения (в качестве примера использовалсяmega8535 от Atmel), соответствующего свободного пакета компиляторов GCC исвободных вспомогательных системных утилит, изучение которых снова пересе-кается в практикой по дисциплине «Системное программное обеспечение». Ре-зультатом этой оценки явился набор заданий, требующих от студента не толькообщего обзора наиболее распространённых интерфейсов, но и принципов реа-лизации протоколов, являющихся неотъемлемой частью средств взаимодействиявычислительных систем.Поскольку решение задач с использованием микроконтроллеров тесно пересе-кается с курсом «Микропроцессорные системы», набор свободных программныхсредств, используемых в курсе «Интерфейсы периферийных устройств» был пред-ложен в качестве основной программной поддержки для практических занятийэтого курса.Таким образом было выявлено, что приоритетным направлением для полноцен-ного использования свободного ПО в практических занятиях по дисциплинамтехнических специальностей, является предварительное обучение системным про-граммным средствам. В число наиболее востребованных системных программныхсредств вошли средства компиляции и стандартные системные средства Unix-систем. В ходе анализа недостающих для учебного процесса элементов был сфор-мирован набор рекомендаций для преподавателей соответствующих дисциплин.В их число вошли курсы «Системное программное обеспечение», «Операционныесистемы» и «Микропроцессорные системы».

16:30–17:00: Кофе-брейк ∗ ∗ ∗ ∗ ∗

Page 46: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

К.А.Маслинский 45

Доклады17:00–19:30

17:00–17:30

К.А.Маслинский Санкт-Петербург, СПбГУ, ALT Linux

Профессиональные задачи филолога и свободное

программное обеспечение

На сегодняшний день в России нелегко найти филолога, который использует сво-бодное ПО или хотя бы имеет представление о существовании такого феномена.Может ли эта ситуация измениться, и что это может дать филологической обще-ственности?Спектр филологических специальностей весьма широк, и довольно очевидно, чторазные специалисты решают при помощи компьютера во многом разные задачи.Однако я попробую дать небольшой обзор тех профессиональных филологическихзадач, про которые на сегодняшний день ясно, что их следует решать с помощьюкомпьютера. Рассмотрим, как эти задачи решаются сейчас, и какие возможностимогут дать свободные программные инструменты.Мой обзор и обобщения основаны на беседах с коллегами в Петербурге и Москве:студентами, аспирантами, преподавателями ВУЗов и практикующими исследова-телями, а также на собственном опыте— конечно, эти данные не имеют никакойстатистической значимости. Поэтому ко всем сделанным утверждениям стоит от-носиться как оценкам ситуации внутри нескольких локальных сообществ, а некак к правилам, не имеющим исключений.

Собственно лингвистические задачи

Ряд задач по анализу языкового материала в некоторой степени поддаётся автома-тизации. Среди необходимых программных средств можно назвать средства дляфонетического, морфологического и синтаксического анализа, а также вспомога-тельную среду для переводчика (словари, автоматические переводчики и т. п.). Внаиболее коммерциализованных прикладных областях— в первую очередь в пе-реводе — существует рынок коммерческих приложений, в той или иной степенипродублированных свободными проектами.Если оставить в стороне «коммерческие» задачи и ограничиться «домашними»профессиональными потребностями филолога, то тут встречаются продукты са-мого разного происхождения, в основном доступные бесплатно в сети Интернет.Свободное ПО при этом наименее известно: преобладают различные FreeWare,ShareWare и программы без определённых условий распространения и исходных

Page 47: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

46 29 января

текстов. При выборе ПО царит случайность: используют не то, что подходит длярешения задачи, а то, что известно или нашлось. Специалисты могут обмени-ваться находками лично, но нет общего информационного поля— не знают, чемпользуются коллеги для решения тех же задач. Неизвестны и систематическиеисточники информации о прикладном лингвистическом ПО.

Общефилологические задачи

Самая общая задача филолога— это анализ текстов в самых разных понимани-ях и текстов, и анализа. Естественно, что желание применить возможности ком-пьютера растёт прямо пропорционально размеру корпуса текстов и детальностианализа. Компьютер может быть серьёзным подспорьем на этапе предварительно-го анализа данных, выполняя поиск, выборку, подсчёт и построение вторичныхданных на основе исходного корпуса.Однако чтобы получить преимущества от работы с корпусом в электронном ви-де, он должен быть структурирован— тексты нужно превратить в данные. Оченьмногие специалисты не осознают это как отдельную задачу: не знакомы с возмож-ными способами хранения данных (структурированные форматы, базы данных) ихранят материал в обычных текстовых файлах и офисных документах. Наиболееструктурированные данные хранятся с помощью электронных таблиц (в соответ-ствующем офисном приложении), однако сами такие данные формируются обычновручную, а не автоматически.Результат: слабая автоматизация поиска и построения выборки. Большинство за-дач решаются многократным повторением операции поиска с последующим ко-пированием. При необходимости обработки корпуса часто возникает задача регу-лярных замен, однако ни это понятие, ни подходящие инструменты неизвестны,поэтому используются многократные строковые замены. Редко осознаются в каче-стве автоматизируемых текстологические задачи, включающие сравнение текстов.

Общегуманитарные задачи

Естественно, филологи разделяют задачи, общие для всех гуманитариев и дажешире: необходимость готовить собственные тексты в виде документов, пригодныхдля обмена с коллегами, публикации на бумаге и в Сети, презентации. В фило-логических работах могут быть специфические потребности: в частности, работас различными «нестандартными» наборами символов, в том числе устаревшимии экзотическими системами письма, фонетическим алфавитом и т. д. Общие длялюбой академической деятельности задачи: работа с библиографией и работа сомногими редакциями текста.Большинство специалистов исходят здесь только из известных им возможностейпривычных офисных приложений, а на трудности, возникающие при решенииспецифических задач, смотрят как на неизбежное зло. Довольно редко возника-ет желание найти специальные инструменты (скажем, для рисования диаграмм

Page 48: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

К.А.Маслинский 47

или создания библиографии). Многие вырабатывают собственные практическиеприёмы и инструменты для облегчения положения, но только некоторые из нихвыходят за рамки индивидуального использования и могут стать общественнымпроектом (ср. проект СОЛУНЬ1).

Возможности свободного ПО

Мир свободного ПО не случайно так разнообразен: каждый может найти инстру-мент, устраивающий его, и не нужно искать универсального решения для всех.В этом разделе я приведу несколько примеров применения свободного ПО дляназванных задач, основываясь в первую очередь на собственном опыте. Это незакрытый список, это только пример.

Регулярные выражения

Очень многие из задач автоматической обработки текста сводятся к поиску (изамене) по регулярному выражению. Очень широкий инструментарий, от grepдо OpenOffice.org и специализированных утилит (см. CPAN2).

Стандартные утилиты UNIX

Инструментарий UNIX для обработки текста можно успешно применять длямногих филологических задач: подсчёт частотности словоформ, выборка наоснове регулярных выражений, группировка и сортировка данных, построениетаблиц, текстология (сравнение текстов) и т. п.

Treeline— создание корпусов

Утилита Treeline3 очень хорошо подходит для формирования и постепеннойобработки (структурирования) корпусов данных, состоящих из небольших тек-стов. Она может служить значительно более гибким аналогом бумажной кар-тотеки. Существует множество аналогичных утилит (см. SourceForge).

Контроль версий

Любая академическая деятельность требует работы с разными редакциямидокументов. Очень полезным при этом может быть использование системыконтроля версий (выбор свободных инструментов здесь очень велик).

Преподавание свободного ПО филологам

Можно заключить, что источник множества затруднений, делающих работу мно-гих филологов с компьютером неэффективной— это отсутствие контекста. Слу-

1http://thessalonica.org.ru2http://cpan.org3http://bellz.org/treeline/

Page 49: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

48 29 января

чайность в выборе ПО порождает у пользователей сильную зависимость от огра-ничений конкретных программ. Недостаёт:

• представления о том, какие задачи возможно и следует автоматизировать;• представления о круге доступных программных средств;• навыков поиска подходящего инструмента.

Все названные проблемы происходят в основном из-за недостатка информации,который должен восполняться в рамках соответствующего курса для студентовфилологических специальностей. Хочется обратить внимание читателя, что содер-жание такого курса может быть полностью построено на материале свободногоПО.

17:30–18:00

П.А.Игнатьев Ижевск, УдГУ

Внедрение и построение учебного процесса на базе

дистрибутива Linux: проблемы и решения

Введение

В последние годы в условиях жёсткой конкуренции в мире программного обес-печения часто происходит смена лидирующего продукта. Основные требования кперспективному проекту— увеличенная функциональность, удобный дружествен-ный интерфейс (как правило, графический), стабильность работы и высокая про-изводительность. Всем этим требованиям удовлетворяют многие открытые про-граммы и системы, а зачастую превосходят в сравнении с закрытыми популяр-ными продуктами одной известной корпорации, завоевавшей самый большой—пользовательский сегмент. Но следует учитывать, что Линукс с каждым годом,завоевав подавляющую часть рынка в сфере серверных платформ и кластерныхтехнологий, постоянно набирает обороты в пользовательской среде. «Жизненныйцикл товара» применим и к любому программному продукту. Т. е. ничто не вечнои любой бесспорно успешный проект в конце концов заменит другой. Преимуще-ства Линукс, как наглядного примера открытой системы, оценил уже весь мир, вомногих странах государственными органами выделяются огромные суммы для еговнедрения, в частности, в образовательный процесс. В России он тоже пользует-ся успехом у системных администраторов и активно используется в большинствеВУЗов.

Page 50: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

П.А. Игнатьев 49

Преимущества и недостатки свободных систем в высшей школе

Преимущества:

• Свобода распространения, отсутствие территориальных границ и зависимо-сти от количества ПК, в отличие от ОС Виндоуз. Учителей не обязываютподписывать документы и нести дополнительную ответственность о нерас-пространении дистрибутива вне школ. При желании любой учитель, мето-дист, системный администратор или школьник может установить ОС дома.Все преимущества в пользу лицензии GNU.

• Существование на рынке разработчиков русскоязычных Linux (ASP, ALT).При подборе дистрибутивов выбор часто останавливается на них. Хотя сбольшим ростом числа разработчиков и пользователей OS все современныеведущие дистрибутивы уже имеют качественную локализацию системы иППП.

• Чётко установленные ограничения прав доступа существенно уменьшаютзатраты на необходимость полного/частичного восстановления системы.

• Устойчивость к вирусным атакам и глобальным эпидемиям, зазита отнесанкционированного доступа к информации и возможности её потери.

• Открытость и поддержка стандартизированных форматов и технологий, атакже великие усилия программистов по внедрению утилит и программ дляработы с распространёнными популярными закрытыми и нестандартнымиформатами.

• Гибкость надстроек интерфейса в зависимости от выполняемых задач, физи-ческих ограничений возможностей пользователя и производительности ап-паратного обеспечения.

Недостатки:

• Относительно малое количество пособий, в т. ч. одобренных Министерствомобразования РФ, затрагивающих изучение открытых систем и свободныхпрограмм в школе.

• Относительно небольшое количество масштабных программ, обучающихкомплексов.

• Относительная сложность в администрировании, недостаточность знаний инехватка кадров.

• Меньшая распространённость в сфере среднего образования и пользователь-ском сегменте по сравнению с закрытыми системами.

Линукс в школах России сегодня

Условно учителей информатики российских школ можно разделить на 3 группы:

1) Учителя, которым кроме Виндоуз ничего не надо.

Page 51: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

50 29 января

2) Учителя, которых, возможно, вполне устраивают возможности Виндоуз, но:3) «Энтузиасты, экспериментаторы и новаторы».

Примеры: Ижевск, Ставрополь, Волгоград и область, Москва.

Возможные проблемы внедрения СПО в школе

Предложения:

• Осуществление и поддержка обратной связи с учителями и методистами.• Приоритет городских гимназий, лицеев и специализированных профильныхшкол с углублённым изучением предметов, большинство выпускников кото-рых являются перспективными студентами ВУЗов.

• Взаимодействие с организациями, занимающимися дополнительным обуче-нием школьников информатике и компьютерным наукам.

• Привлечение участников сообществ LUG в регионах к поддержке и помощипользователям. Мотивировать их потенциальными участниками в будущеми развитием сообщества в целом.

• Привлечение интересов организаций госсектора, институтов повышения ква-лификации, проведение в учебных заведениях конференций и семинаров,одобрение научных работ студентов ВУЗов, связанных с изучением, разра-боткой и внедрением СПО и сопутствующих технологий, молодой и пер-спективно развивающейся отрасли.

• Избавить общество от заблуждений, что Линукс— сложная и непонятнаясистема. Минимум— добиться того, чтобы обучаемые понимали, что суще-ствует несколько ОС, несколько ОС могут прекрасно «уживаться» вместе наодном компьютере, Linux— молодая и быстро развивающаяся система длярешения многих задач; возможно, полученные когда-то негативные мнениямогут измениться при рассмотрении современных версий.

Вывод

Для полноценного масштабного внедрения открытых систем в образовательныеучреждения необходимы:

• Одобрение и согласие учителей и руководства заведения.• Активная поддержка со стороны государства.• Кадровый потенциал.• Чётко отлаженная обратная связь пользователей с службой техническойподдержки, а в наилучшем случае— организованной непосредственно разра-ботчиками дистрибутива или профессиональной службой технической под-держки *nix-систем.

• Ориентация преимущественно на лицеи и школы с углублённым изучениеминформатики.

Page 52: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.В.Мельников 51

• Подбор методических учебных пособий.• Вовлечение учителей и всех активных участников в специализированнуюрассылку.

• Проведение конференций и деловых встреч. По возможности, участие в се-зонных школах и курсах по изучению открытых систем.

• Создание и развитие централизованного тематического Web-ресурса.

18:00–18:30

А. В.Мельников Москва, УДН

GNU/Hurd — красивая архитектура

операционной системы

Основная идея этой работы— привлечь внимание к операционной системеGNU/Hurd. Рассматривается архитектура операционной системы GNU/Hurd иприводятся описания ключевых понятий этой операционной системы.Современные операционные системы суть очень сложные структуры, и как вовсех сложных системах для обеспечения надёжной работоспособности и просто-ты реализации используется модульный подход и, в частности, декомпозиция.Развитие современных операционных систем направленно как раз по этому пути.Операционная система GNU/Hurd, разрабатываемая Проектом GNU,— одна изнемногих операционных систем, которая изначально проектируется не просто какмикроядерная, а ещё и мультисерверная система. Вся функциональность системыразбита на отдельные модули (сервера), каждый из которых реализует свою за-дачу и которые взаимодействуют друг с другом с помощью чётко определённыхинтерфейсов.В качестве ядра в операционной системе используется микроядро GNU/Mach [6].Оно разработано в Carnegie-Mellon University (CMU) для проектов, связанных сразработками операционных систем и параллельными вычислениями. Это одноиз первых разработанных микроядер, и довольно широко используемое во многихоперационных системах (GNU/Hurd, MacOS X, NetBSD, MkLinux, Windows NT).Несмотря на то, что микроядро довольно старое, оно предоставляет все необхо-димые базовые понятия, использующиеся в современных ОС [8]:

• задача—набор ресурсов, позволяющих потокам выполняться. Задачи за-щищены друг от друга;

• поток—набор выполняемых на процессоре команд, задача может содержатьот одного до нескольких потоков;

• порт—определяет безопасное средство межпроцессного взаимодействия;• сообщения—передаются между различными задачами через порты.

Page 53: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

52 29 января

В Mach подсистема IPC является очень важной частью инфраструктуры ядра, вотличие от большинства существовавших и существующих реализаций в различ-ных операционных системах, где IPC является одним из средств, предоставляемыхядром [9–11]. В Mach всё есть порт! В качестве примера можно привести следу-ющее. Программе необходимо произвести управление работой потока, для этогопрограмма получает дескриптор необходимого потока и передаёт его в качествеаргумента в процедуру, осуществляющую управляющие действия. В данном слу-чае дескриптор потока— это дескриптор порта (имя порта в терминологии Mach),который связан с управляемым потоком. Но на этом область распространения IPCв ядре Mach не заканчивается, почти все системные вызовы ядра реализованычерез подсистему IPC. Данный подход предоставляет довольно гибкую архитекту-ру системы, но, как это всегда бывает в таких случаях, является довольно узкимместом в производительности системы.Существует ряд операционных систем, построенных на микроядре Mach, но уних существует тот же недостаток, что и в монолитных ядрах— эти операци-онные системы реализованы в одном процессе, работающем поверх ядра. Этотпроцесс предоставляет ту же функциональность, что и монолитное ядро. Подоб-ные операционные системы называются односерверными (single-server system).ОС GNU/Hurd является мультисерверной системой работающей поверх микро-ядра Mach [1, 5]. В ней существует много различных серверных приложений,каждое реализует определённую функциональность, предоставляемую операцион-ной системой. Эти серверные приложения работают в качестве задачи микроядраMach, и взаимодействуют друг с другом и с другими приложениями, используямеханизм IPC, предоставляемый микроядром Mach. Каждый из этих серверов ре-ализует только маленькую часть всей функциональности операционной системы,но все вместе они создают полнофункциональную POSIX-совместимую операци-онную систему (интерфейс микроядра Mach не является POSIX-совместимым).Одним из интересных механизмов реализованных в ОС GNU/Hurd является ме-ханизм трансляторов [2–5]. Это нечто вроде программы-фильтра, ассоциирован-ной с некоторым файлом и исполняемой всякий раз при манипуляциях с файлом.Транслятор имеет доступ к реальному содержимому файла и может обрабатыватьего некоторым образом перед тем, как данные попадут в программу.Механизм трансляторов может использоваться не только как фильтр для содер-жимого файла. Установленный транслятор может выглядеть как часть файловойсистемы, т. е. предоставлять иерархический доступ к данным. Именно эта воз-можность и используется для подключения разделов дисков и прочих накопите-лей (как реальных устройств, так и сетевых ресурсов, таких как nfs, ftp, http ипрочее). Т. е. вся файловая система GNU/Hurd является совокупностью установ-ленных трансляторов.Для того чтобы установить транслятор, нет необходимости иметь права адми-нистратора, необходимо лишь быть владельцем файла, на который вы хотитеустановить транслятор.

Page 54: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

А.В.Мельников 53

Ещё одной ролью, которую играют трансляторы, является реализация с их помо-щью серверов операционной системы. Т. е. сервер представляется в виде файла,соответственно чтобы получить доступ к функциональности этого сервера, необ-ходимо открыть этот файл и «общаться» с этим сервером, используя некоторыйпротокол и дескриптор файла. Данный механизм является этапом развития фай-ловой идеологии Unix.Архитектура операционной системы GNU/Hurd отвечает современным требова-ниям. Работает на базе микроядра, которое проще адаптировать к различным ап-паратным платформам. Она модульная, что обеспечивает устойчивость работы игибкость, систему можно адаптировать под конкретные цели. Она действительнообладает красивой архитектурой! ;-)

Список литературы

[1] Bushnell T. Towards a New Strategy of OS Design // The GNU Bulletin,January 1994.

[2] Bushnell T., Matzigkeit G. The GNU Hurd Reference Manual.

[3] Bushnell T. The GNU Hurd Interface Manual.

[4] Jahrling W. Hurd Hacking Guide //http://www.gnu.org/software/hurd/hacking-guide/hhg.html.

[5] Brinkmann M. Talk about the Hurd //http://www.gnu.org/software/hurd/hurd-talk.html.

[6] Accetta, M., Baron, R., Golub, D., Rashid, R., Tevanian, A., and Young, M.Mach: A New Kernel Foundation for Unix Development // Proc. Summer 1986USENIX Conf., USENIX, стр. 93-112, 1986.

[7] Cooper E., Draves R. C Threads // Technical Report CMU-CS-88-154, CarnegieMellon University, February 1988

[8] Loepere K. Mach 3 Kernel Principles // Open Software Foundation and CarnegieMellon University, NORMA-MK12: July 15, 1992.

[9] Brinkmann M., Matzigkeit G., Hasnaoui G., Baron R., Draves R., ThompsonM., Barrera J. The GNU Mach Reference Manual, ed. 0.4 for version 1.2.

[10] Loepere K. Mach 3 Kernel Interfaces // Open Software Foundation and CarnegieMellon University, NORMA-MK12: July 15, 1992.

[11] Loepere K. Mach 3 Server Writer’s Guide // Open Software Foundation andCarnegie Mellon University, NORMA-MK12, user15: July 15, 1992.

Page 55: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

54 29 января

[12] Loepere K. Mach 3 Server Writer’s Interfaces // Open Software Foundation andCarnegie Mellon University, NORMA-MK12, user15: July 15, 1992.

18:30–19:00

П.А. Виноградов, М. Л. Просалов, Р. А. Кочетков,В. Г. Тарасов Ижевск, ИжГТУ

Проект: AcmOlimp http://cs.istu.ru/acm/

Разработка свободного ПО для использования в

учебном процессе

В докладе рассказывается о разработке на кафедре ПО ИжГТУ специализирован-ного программного комплекса AcmOlimp1 для проведения конкурсов и турнировпо программированию с автоматическим тестированием задач на базе свободногопрограммного обеспечения.

Разработка научных проектов студентами

В 2003 году на кафедре ПО ИжГТУ была организована группа разработчиковиз 3-х студентов (Виноградов Павел, Просалов Максим, Караяни Михаил) 3-гокурса под научным руководством доцента кафедры ПО Тарасова Владимира Ге-оргиевича. Целью этой группы была организация проекта по разработке новойверсии автоматизированной системы проведения олимпиад вместо морально уста-ревшей АС Олимпиада, разработанной в 1999 году.Этот проект стал экспериментальным для кафедры, т. к. после проведения ана-лиза поставленной задачи и средств для её реализации, для реализации проектабыли выбраны открытые средства разработки и свободная лицензия на конечныйпродукт.

Проблемы, с которыми мы столкнулись

1) Сложность обоснования и аргументации выбора свободных средств разра-ботки и свободной схемы лицензирования на разрабатываемый продукт.

2) Полное отсутствие инфраструктуры разработки ПО с использованием от-крытого ПО.

3) Отсутствие опыта работы со свободными средствами разработки; отсутствиеучебных материалов и преподавателей, имеющих соответствующие знания.

1http://cs.istu.ru/acm/

Page 56: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

П.А. Виноградов, М.Л. Просалов, Р. А.Кочетков, В. Г. Тарасов 55

4) Отсутствие опыта разработки проектов такого масштаба.5) Отсутствие необходимых вычислительных и материальных ресурсов.

Наши решения

1 В ходе проведения анализа предметной области проекта мы были поставленыперед необходимостью выбора средств разработки для реализации этого проек-та. Для выполнения этой задачи выбор свободных средств разработки (Apache,MySQL, Php, GCC, Fpc) имел ряд значительных преимуществ:

• Отсутствие необходимости лицензионных отчислений.• Наличие богатого спектра свободных средств разработки, подходящих дляреализации поставленных задач, без необходимости лицензионных отчисле-ний.

• Наличие большого количества схожих проектов, библиотек и наработок сосвободной лицензией.

• Моя личная инициатива на добровольных началах развернуть все необхо-димые для разработки средства на выделенных ресурсах.

2 Начиная с единого на всю команду разработчиков login’на на кафедраль-ном linux-сервере, мы создали инфраструктуру разработки, предоставляющую всенеобходимые свободные средства разработки, включая компиляторы, серверы БД,web-инфраструктуру, систему контроля версий, систему документирования и от-слеживания ошибок.3 В ходе реализации проекта нам приходилось изучать не только конкрет-ные реализации тех или иных технологий (SQL, многопоточное программи-рование, сетевое программирование, взаимодействие процессов в Linux, web-программирование), но и соответствующие теоретические курсы, заложенные впрограмму обучения на специальности.И там где это возможно, мы старались совместить изучение таких курсов с разра-боткой соответствующего модуля системы. Конечно, не все преподаватели согла-шались на наши предложения выполнить практические задания по собственномутехническому заданию с использованием свободных средств разработки.4 Из-за отсутствия достаточного объёма знаний и опыта разработки проектовтакого масштаба многие вещи приходилось переделывать и переписывать. Так,реализация сервера решений готовится пережить уже 3-ю смену языка (Perl->C->C++). Реализация web-интерфейса тоже пережила ряд комплексных изменений(переход к html-шаблонам, универсальный слой абстракции в работе с БД). Такжесейчас весь проект готовится к миграции на PostgreSQL.5 За 3 года разработки проекта лаборатория кафедры получила современный евро-ремонт, новый лабораторный сервер, и комплект из 10 клиентских машин. Всё этопозволило организовать современный высокотехнологичный класс, обеспеченныйвсем необходимым для комфортной работы студентов. А новый высокопроизво-дительный сервер обеспечил необходимые ресурсы не только для обеспечения

Page 57: Свободное программное обеспечение в высшей школе: Тезисы докладов конференции (2006)

56 30 января

функционирования лаборатории, но и для тестирования разрабатываемых проек-тов, в том числе и публичного.Также интернет-центром университета были предоставлены необходимые ресурсыдля доступа студентов в Интернет, собственный почтовый домен (с возможностьюорганизации рассылок), и ограниченный публичный доступ к серверу лаборато-рии.

Полученные результаты

1) Команда нашего факультета 2 раза занимала призовые места в финале чем-пионата мира по программированию среди студентов. Этот факт способство-вал повышению интереса студентов к проектам и мероприятиям, проводи-мым на кафедре. А также ещё раз подтвердил необходимость продолженияразработки проекта AcmOlimp, т. к.

2) Наша система прошла успешное тестирование в качестве средства автома-тизации практических занятий по курсу «Проектирование ассемблеров».

3) На базе нового сервера была развёрнута инфраструктура для разработкистудентами программного обеспечения.

4) Практическое подтверждение возможности использования открытого ПО входе выполнения практических заданий по изучаемым специальным дисци-плинам.

5) Подготовлен базис для создания прецедента эталонного дипломного проекта,разрабатываемого в сотрудничестве с кафедрой, и имеющего достаточныйаналитический и информационный базис.

19:00–19:30: резерв ∗ ∗ ∗ ∗ ∗

19:30: Ужин

30 января

9:30–10:00: Завтрак ∗ ∗ ∗ ∗ ∗

10:00: Автобусная экскурсия по Переславлю

12:00–13:00: Обед ∗ ∗ ∗ ∗ ∗ ∗

13:00: Отъезд в Москву на автобусе