Введение к работе
Актуальность темы. Предметом диссертационной работы является разработка и реализация библиотеки пользовательских интерфейсов и системы ввода-вывода среды C-Talk. C~Talk — многоязычная среда, предназначенная для разработки больших программных систем и обучения программированию. Она состоит из одноименного объектно-ориентированного языка, подсистемы разработки и сопровождения программ и обширной библиотеки классов, включающей средства создания текстового и графического интерфейсов, объектно-ориентированную распределенную СУБД, средства многопоточной обработки, алгоритмы численных и символьных вычислений.
Задача создания пользовательских интерфейсов является одной ш важнейших задач, возникающих при разработке современного программного обеспечения. Она приобретает ряд особенностей при разработке среды, позволяющей организовать эффективный процесс обучения объектно-ориентированному программированию на рабочих станциях с большим числом алфавитно-цифровых и графических терминалов, связанных в локальную сеть и функционирующих, как правило, под управлением ОС UNIX.
В объектно-ориентированной среде библиотека классов пользовательских интерфейсов должна предоставлять возможности для создания специализированных средств визуализации и редактирования объектов системных и прикладных типов. Необходимы обеспечение возможности конструирования интерфейса сложных объектов из имеющихся п библиотеке классов и независимость этой библиотеки от используемой оконной системы.
При создании подобной среды неизбежно встает вопрос о системе ввода-вывода в целом. Весьма желательным свойством является возможность ее работы на базе стандартной оконной системы, например, X Window System. Однако, реальное использование в учебном процессе невозможно без наличия встроенной оконной системы, обеспечивающей работу при жестких ограничениях на такие критические ресурсы, как оперативная память и процессор. Эффективный вывод в перекрывающиеся окна, богатый набор текстовых и графических примитивов, поддержка работы с мышью — вот лишь некоторые из требований, налагаемых на оконную систему для обеспечения практической применимости. При работе с АЦ терминалами необходимы обеспечение максимальной гибкости в настройке на конкретный тип терминала и
поддержка широкого множества шрифтов в сочетании с высокой производительностью ввода-вывода.
Этим требованиям удовлетворяют разработанные в диссертации система ввода-вывода и библиотека пользовательских интерфейсов среды разработки программ (СРП) С~Та\к.
Цели и задачи работы. Основные задачи диссертации могут быть сформулированы следующим образом:
анализ требований, предъявляемых к системе ввода-вывода в
объектно-ориентированной среде С-Talk,
о создание библиотеки классов на языке C-Talk, обеспечивающей функционирование системы ввода-вывода на рабочих станциях с большим числом терминалов;
разработка оконной системы, поддерживающей работу как с графическими так и с АЦ терминалами;
разработка библиотеки классов пользовательских интерфейсов СРП C-Talk, предназначенной для создания специализированных средств визуализации и редактирования объектов простой и сложной структуры.
Методы исследования. При выполнении работы были использованы методы объектно-ориентированного программирования, теории алгоритмов, вычислительной геометрии, баз данных, динамического программирования, теории индуктивных функций на пространстве последовательностей, теории языков, общей теории перевода и возвратных конечных преобразователей.
Научная новизна. Научная новизна работы заключается в следующем:
разработка архитектуры системы ввода-вывода, базирующейся на схеме "Командный процессор — Редактор — Хранилище — Впзуализатор - - Окно";
разработка и реализация объектно-ориентированной базы данных описания АЦ терминалов Gawinf о в виде библиотеки классов на языке С Talk;
решение задачи оптимизации вывода графической информации на матричный принтер;
разработка алгоритма инкрементального отображения документов сложной структуры при редактировании их текстового описания;
« создание оригинального программного обеспечения, обеспечивающего функционирование системы ввода-вывода СРП С- Talk.
Практическая ценность. Объектно-ориентированная среда разработки программ C-Talk, включающая в себя систему ввода-вывода и средства создания текстового н графического интерфейсов, реализована на графической рабочей станции БЕСТА-90 под управлением ОС UNIX System V и UNIX BSD. В настоящее время она активно используется студентами 1 -3 курсов специальности Программное обеспечение вычислительной техники п автоматизированных систем Московского автомобилестроительного института. На основе предыдущей версии среды C-Talk была разработана доведенная до уровня исследовательского прототипа система автоматизации деятельности лечебного учреждения "Доктор КОМІГ.
Апробация работы. Основные результаты диссертации докладывались и обсуждались на:
в научно-исследовательском семинаре "Теория и практика программирования" в МАСИ (199(Ы994гг.);
научном семинаре механико-математического факультета МГУ
(1993г.);
» научно-исследовательском семинаре в МАИ (1994г.); в научном семинаре факультета вычислительной математики и кибернетики МГУ (1994г.);
научном семинаре ВЦ РАН (1991г.).
Публикации. По теме диссертации опубликовано б научных статей.
Объем работы. Диссертация состоит из введения, 5-й глав, заключения, списка литературы, содержащего 83 наименования, и двух приложений. Машинописных страниц основного текста — 162, рисунков -- 17, таблиц — 16, объем приложений — 3G страниц.