Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://old.hcs.cmc.msu.ru/lectures/ada.htm
Дата изменения: Tue Dec 4 18:26:00 2001 Дата индексирования: Mon Oct 1 20:03:20 2012 Кодировка: Windows-1251 |
На спецсеминаре "Современные индустриальные программные технологии на базе языка Ада" ЗАВЕРШЕН "общеобразовательный" этап, заключавшийся в том, что слушателям было рассказано об основных компонентах Ада-технологий и их реализации в системе программирования GNAT. Дальнейшая работа семинара будет построена на основе научно-исследовательских ПРОЕКТОВ, которые предлагаются участникам.
Желающим получить по данному спецсеминару ЗАЧЕТ и/или использовать спецсеминар как базу для выполнения АТТЕСТАЦИОННОЙ РАБОТЫ предлагается принять участие в одном из таких проектов.
К работе над проектами приглашаются также слушатели ВКШ и магистратуры, не посещавшие предыдущие занятия семинара, но заинтересованные в участии в предлагаемых проектах. Однако, им придется изучить материалы, необходимые для работы над проектами, в значительной степени самостоятельно.
В настоящее время предлагаются следующие темы проектов.
1. Применение классических программных метрик для современных языков
программирования
Классическая работа Холстеда "Начала науки о программах (Halstead
M.H. Elements of Software Science) была опубликована в 1977 году. В ней предлагался простой с математической точки зрения способ подсчета количественных характеристик программных текстов, который, однако, позволял делать интересные и практически полезные выводы о свойствах программ. Идея предлагаемого проекта состоит в применении методики Холстеда к анализу программ на языке Ада. В ходе выполнения проекта предполагается решить следующие задачи:
- отобразить основные понятия модели Холстеда (сформулированные для крайне примитивных с сегодняшней точки зрения языков программирования) на язык Ада;
- реализовать на базе интерфейса ASIS инструмент сбора и вычисления метрических характеристик;
- провести с помощью реализованного инструмента исследование фрагментов индустриального Ада-кода;
2. Разработка многоплатформного GUI.
На основе графической библиотеки GtkAda, предоставляющей средства построения
GUI, предлагается реализовать графический интерфейс для программы asistant - интерактивного интерпретатора
запросов интерфейса ASIS. Специфика проекта состоит в том, что все используемые технологии и ожидаемые решения являются полностью переносимыми между всеми
платформами, для которых поддерживается технология
GNAT.
3. OASIS
Идея проекта - в разработке, реализации и апробации интерфейса для объектно-ориентированного анализа объектно-ориентированного кода на языке Ада. Интерфейс ASIS, предоставляя базовые средства получения синтаксической и семантической информации из Ада-кода, использует в качестве основной абстракции синтаксический элемент, тогда как существенные компоненты объектно-ориентированной семантики основаны на нетривиальном взаимодействии различных элементов, между которыми отсутствует явная синтаксическая связь.
В настоящее время разработана и реализована прототипная версия библиотеки OASIS (Object ASIS), являющейся развитием базового интерфейса ASIS. Суть предлагаемого проекта состоит в развитии OASIS и разработке инструментов на его основе.
4. Pretty-Printer для Ады.
Задача форматирования программного кода кажется тривиальной. Существует множество инструментов, помогающих при форматировании вручную. Однако, промышленного качества программный инструмент, полностью решающий задачу форматирования при реальном наборе ограничений на формат выходного кода, до сих пор отсутствует (по крайней мере - для Ады).
Почему? Неужели это так сложно? Можете проверить!
Набор тем этим не ограничен. Любые идеи приветствуются. Единственное ограничение - все проекты должны иметь непосредственное отношение к Ада-технологиям.