Проект: ТПУ/Gala

Параллельное объектно-ориентированное программирование в Delphi.

Основные разработчики

ТПУ (Томский политехнический университет), кафедра электрических станций
с.н.с. Сергей Васильевич Гурин

Тип проекта
Программная система (библиотека классов)
Краткое описание

Проект состоял в разработке библиотеки классов для Delphi (Windows 95/98/NT), которая позволяет программировать на Object Pascal в терминах асинхронных параллельных процессов и их взаимодействий с почти такой же степенью удобства, как в языке Ада, используя асимметричное рандеву в качестве основного механизма синхронизации. Принципы, положенные в основу реализации библиотеки, существенно зависят от операционной платформы Win32, но слабо зависят от конкретного языка и могут быть легко переложены на другой объектно-ориентированный язык программирования, например, на Си++.

Вопросы, которые были рассмотрены и решены при создания Gala:

  • создание и уничтожение отдельных процессов, массивов и групп процессов,
  • принудительное завершение отдельных процессов и групп процессов,
  • обработка ситуаций взаимодействия с уже завершенным процессом,
  • управление приоритетами процессов,
  • отладочная трассировка,
  • обработка исключительных ситуаций процессов,
  • взаимодействие параллельных процессов с основным VCL-потоком (экран, мышь,клавиатура),
  • взаимодействие параллельных процессов посредством каналов, которыми процессы могут владеть,
  • недетерминированное взаимодействие по нескольким каналам с таймаутом и охраняющими выражениями (как в Аде),
  • ожидание одиночных сигналов-событий с таймаутом,
  • недетерминированное ожидание нескольких событий с таймаутом,
  • ожидание завершения процесса или группы процессов,
  • поддержка всех синхронизационных примитивов платформы Win32: критических секций, семафоров, мьютексов, сигналов.
Область применения
Разработка программ реального времени
Связь с другими проектами/платформами
Gala используется в проекте аналого-цифрового (гибридного) моделирующего комплекса, разрабатываемого по заказу ОДУ Тюменской энергосистемы.
Завершенность проекта

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

Контакты, ссылки на доп. информацию

634057, Томск, ул. Говорова 48, кв 68.
Сергей Васильевич Гурин, тел. (3822) 762179 (дом), 415507 (раб), e-mail: gurin@dps.aeed.tpu.edu.ru.


© Лаборатория Параллельных Информационных Технологий, НИВЦ МГУ
Rambler's Top100