bigpo.ru
добавить свой файл
1

УДК 004.4(06) Технологии разработки программных систем

И.И. ТИТОВА

Научный руководитель – С.В. СИНИЦЫН, зав. кафедрой

Московский инженерно-физический институт (государственный университет)


ТЕХНОЛОГИЯ РАЗРАБОТКИ ДИНАМИЧЕСКИ ПЕРЕСТРАИВАЕМЫХ СИСТЕМ


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


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

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

В рамках предлагаемой технологии система рассматривается как совокупность независимых объектов, взаимодействующих посредством обмена сообщениями. При этом основным принципом является концепция разделения функциональности системы и её структуры взаимодействия. Благодаря такому разделению становится возможным, в частности, изменять топологию системы, т.е. структуру связей между системными объектами, не затрагивая их работу, и наоборот. Также возможны и другие виды модификаций. В качестве модели, описывающей поведение подобной системы удобно использовать алгебру Хоара, называемую моделью взаимодействующих параллельных процессов (CSP) [1], её модификацию – алгебру взаимодействующих процессов (CCS) [2], пи-исчисление, предложенное Милнером [3] и пр. В данной работе используется последняя нотация.

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

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

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


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


  1. Хоар Ч. Взаимодействующие последовательные процессы. М.: Мир, 1989 г.

  2. Moller F., Tofts C. A Temporal Calculus of Communicating Systems. Proceedings of CONCUR'90. Lecture Notes in Comp.Sc.: Springer-Verlag, 1990, 458pp.

  3. Milner R., Parrow J., Walker D. A Calculus of Mobile Processes (parts I and II): Information and Computation 100(1), 1992. 1-77pp.




________________________________________________________________________

ISBN 5-7262-0633-9. НАУЧНАЯ СЕССИЯ МИФИ-2006. Том 15