Введение к работе
Актуальность темы. Несмотря на более чем четвертьвековое существование "программной инженерии", как отдельной области научного знания, многие компании, занимающиеся разработкой программного обеспечения (ПО), рассматривают процесс разработки ПО сложных встроенных систем как непредсказуемый и неуправляемый. Потеря управляемости делает общество все более зависимым от качества программных систем, требует значительных затрат на их сопровождение, в 2-3 раза превосходящих затраты на разработку. Одной из основных причин, лежащих в основе этих проблем, является возрастающая сложность систем, и, в частности, их динамического поведения. Традиционные подходы к проектированию, основанные на неформальных и полуформальных спецификациях требований, оставляют, в конечном итоге, достаточно большую часть работ по уточнению требований на этап реализации, тем самым снижая качество готовой системы и усложняя ее сопровождение. Внедрение объектно-ориентированных методологий несколько исправило ситуацию. Разрабатываемое программное обеспечение, в среднем, стало более гибким и надежным, возросла степень его переиспользования. "Объектная философия" облегчила процесс взаимопонимания между разработчиком и заказчиком системы. Однако, универсальные средства не всегда достаточно эффективны при решении конкретных задач в более узких прикладных областях. В частности, при разработке встроенных систем возникают проблемы, которые не учтены большинством популярных объектно-ориентированных методологий. В связи этим актуальной является задача внедрения в область разработки встроенных систем методов и средств, позволяющих на ранних этапах проектирования оценить функциональные свойства целевой системы, эффективно поддержать процесс их реализации, обеспечить решение наиболее общих для данного класса применений реализационных проблем, увеличить гибкость готовой системы.
Целью диссертационной работы является выявление общих принципов построения программного обеспечения встроенных систем и требований, которым должны удовлетворять средства разработки и поддержки функционирования программного обеспечения (ПО) таких систем, исследование возможности получения по формальной
спецификации реализации целевой системы, поиск средств, обеспечивающих эффективную интеграцию этапов жизненного цикла систем рассматриваемого класса.
Научная новизна. На основе анализа сложившихся подходов к проектированию встроенных систем и проблем, возникающих при их реализации, предложена модель спецификации программного обеспечения встроенных систем. В основе модели лежит объектно-ориентированное представление информации о структуре целевой системы и ее внешнего окружения. Разработка встроенных систем в соответствии с предложенной моделью обеспечивается интегрированной технологической средой, включающей средства поддержки всего жизненного цикла разработки ПО целевой системы от разработки и анализа функциональных спецификаций до построения рабочей программы на языке высокого уровня, ее тестирования и настройки на конкретное применение. Научную новизну раскрывают следующие результаты:
разработана модель вычислительного процесса встроенной системы, основанная на объектно-ориентированном подходе, в рамках которой предложен механизм учета разделения ресурсов между программными объектами, основанный на фиксации динамических взаимодействий;
разработан механизм минимизации последствий программных ошибок, обеспечивающий локализацию программного сбоя и приведение в целостное состояние всех элементов ПО, косвенно затронутых этим сбоем;
разработан механизм двухуровневого управления встроенной системой, основанный на разделении управляющего процесса на статическую и динамическую составляющие. Предложены критерии согласования изменений статической и динамической картины и на их основе механизм управления конфигурацией встроенной системы без остановки функционирования:
разработан язык формальной спецификации данных и поведения типовых элементов ПО встроенной системы (объектов и средств их взаимодействия), обеспечивающий возможность автоматического построения по спецификации типовой управляющей программы и средств настройки программы на конкретный экземпляр системы.
Практическая ценность. Предложенные средства были положены в основу технологии разработки программного
обеспечения встроенных систем, созданной под руководством автора и использованной для разработки ПО телефонных станций различного назначения. Данная технология предоставляет пользователю интегрированную среду, которая обеспечивает поддержку ввод и редактирование спецификаций в текстовой и графической форме, трансляцию спецификаций, построение текстов типовой управляющей программы на языке Алгол 68, диалоговое описание структуры конкретного экземпляра системы, исполнение в инструментальной среде настроенной типовой программы и ее отладку в терминах исходных спецификаций. В состав системы также входят исходные тексты библиотеки динамической поддержки на Алголе 68, что делает конечный продукт, сгенерированную типовую управляющую программу, переносимой. В той же степени, переносима и сама технологическая среда, реализованная полностью на Алголе 68. Одна из последних версий технологических средств работает в среде MS DOS на IBM PC и, по заказу фирмы Italtel была перенесена в среду SCO UNIX. Данная технология может быть использована для разработки и прототипирования широкого спектра встроенных систем, а также для изучения динамических свойств сложных конечноавтоматных систем, управляемых дискретными событиями с определенными временными ограничениями на длительность процессов и реакций на внешние события.
Апробация работы. Результаты диссертационной работы
докладывались и обсуждались на Ленинградском городском
семинаре по пр^-раммированию (Санкт-Петербург, ИСЭП, 1992
г.), на семинаре по объектно-ориентированным методологиям
программирования в университете города Гамбурга (Гамбург,
ФРГ, 1994 г.), на рабочих .семинарах лаборатории системного
программирования НИИММ Санкт-Петербургского
государственного университета (1991-1994 гг.) и международной конференции MMTCS-94 (Санкт-Петербург, 1994 г.). Результаты диссертации использовались при проектировании и реализации функционального ПО телефонных станций с программным управлением, разработанных в НПК "Красная Заря" и МГП "Терком".
По теме диссертации опубликовано 6 научных р?>бот и выпущены 4 научно-технических отчета.
Структура и объем работы. Диссертация состоит из введения, пяти глав, заключения, списка литературы (46 наименований). Объем основной части работы - 113 страниц.