ISSN 1991-3087
Рейтинг@Mail.ru Rambler's Top100
Яндекс.Метрика

НА ГЛАВНУЮ

Графический язык разработки программного обеспечения встроенных систем на основе модифицированной нотации UML.

 

Татарчевский Владимир Анатольевич,

аспирант Уральского Государственного Горного Университета,

старший инженер-программист ООО фирма «Уралэкоавтоматика».

Научный руководитель: доктор технических наук, профессор

Зобнин Борис Борисович.

 

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

·                    Низкая производительность труда при использовании традиционных языков высокого уровня (С, С++) и ассемблера;

·                    Использование традиционных техник структурного и объектно-ориентированного программирования не позволяет выявить все ошибки в программе на этапе разработки;

·                    По сути, единственной документацией к программе является ее исходный код (возможно, с комментариями). Логика работы программы оказывается распределена по всему коду, при этом низкоуровневые и высокоуровневые функции программы оказываются тесно взаимосвязанными. При этом внесение даже небольших изменений в проект часто приводит к изменениям в нескольких модулях программы.

Подробный анализ указанных проблем приведен в [1, 2]. Существует ряд методов программирования, в значительной степени снимающих указанные проблемы. Они основаны на представлении программы в виде системы взаимодействующих конечных автоматов. Такое представление программы позволяет:

·                    упорядочить структуру программы за счет использования унифицированной структуры программного представления конечного автомата, эффективно разделить программу на иерархические уровни за счет использования вложенных конечных автоматов;

·                    использовать для анализа программы формальные математические методы теории конечных автоматов, что, в свою очередь, позволяет эффективно выявить и устранить множество ошибок уже на этапе проектирования программного обеспечения;

·                    проводить моделирование поведения программы на ранних стадиях разработки, что позволяет достичь полного соответствия фактического поведения программы техническому заданию;

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

·                    упростить модификацию программы за счет того, что модули программы, выполняемые ими функции и межмодульные взаимодействия отражены в документации в явном виде;

·                    резко сократить или в ряде случаев вовсе исключить этап отладки программы, что достигается за счет широких возможностей анализа и моделирования его поведения и применения автоматической генерации кода по формальному описанию алгоритма;

В настоящее время активно разрабатывается ряд методов, позволяющих проектировать программное обеспечение на основе конечных автоматов. Особо в этом ряду следует отметить SWITCH-технологию, разрабатываемую Анатолием Абрамовичем Шалыто, профессором, заведующим кафедрой «Технологии программирования» Санкт-Петербургского Государственного Университета Информационных Технологий, Механики и Оптики (ИТМО). Предложенная им технология подробно описана в [3-8].

Автором разрабатывается инструментальное средство MicroSWITCH, позволяющее проектировать программное обеспечение встроенных систем, основанных на микроконтроллерах и программируемых логических контроллерах (ПЛК). Инструментальное средство использует модель системы взаимодействующих конечных автоматов для описания программы пользователя и позволяет осуществлять автоматическую генерацию кода для целевого микроконтроллера на основе SWITCH-технологии. Программа в данном инструментальном средстве описывается на графическом языке программирования, в основе которого лежит нотация диаграмм состояний UML. С целью придания нотации языка вида, удобного для описания программного обеспечения встроенных систем, нотация расширена по сравнению со стандартом UML. Введены расширения, предназначенные для описания параллелизма и обмена сообщениями между параллельно выполняющимися потоками. Расширения нотации UML для описания параллелизма были рассмотрены автором в [9, 10]. Также в языке MicroSWITCH предусмотрено графическое описание функций переходов и действий конечных автоматов в графической форме в виде диаграмм функциональных блоков. На рис. 1 показан пример программы на языке MicroSWITCH.

 

Рис. 1.

Пример программного модуля терморегулятора на языке MicroSWITCH.

 

Литература.

 

1. Шалыто А.А. Новая инициатива в программировании. Движение за открытую проектную документацию //Мир компьютерной автоматизации. 2003. № 5, с.6771.

2. Шалыто А.А. Еще раз об открытой проектной документации //PC Week/RE. 2005. № 11, с. 33,34.

3. Шалыто А.А. SWITCH – технология. Алгоритмизация и программирование задач логического управления. СПб.: Наука, 1998. 628 с.

4. Шалыто А.А. Технология автоматного программирования. //Труды первой Всероссийской научной конференции "Методы и средства обработки информации" М.: МГУ. 2003, с.528-535

5. Шалыто А.А. Автоматное проектирование программ. Алгоритмизация и программирование задач логического управления. //"Известия Академии Наук. Теория и системы управления" № 6. ноябрь-декабрь 2000. С.63-81.

6. Шалыто А.А., Туккель Н.И. SWITCH-технология - автоматный подход к созданию программного обеспечения "реактивных" систем. //"Программирование", 2001. №5, C.45—62.

7. Шалыто А.А., Туккель Н.И. Реализация автоматов при программировании событийных систем. //"Программист", 2002. №4. C.74-80.

8. Шалыто А.А., Наумов Л.А. Методы объектно-ориентированной реализации реактивных агентов на основе конечных автоматов. //«Искусственный интеллект». 2004. №4. с. 756-762.

9. Татарчевский В. А. SWITCH-технология в задачах логического управления. //Программные продукты и системы. №4/2006г. с. 30-32.

10. Татарчевский В. А. Применение SWITCH-технологии в задачах управления технологическими процессами. //Надежность №1/2007 г. с. 21-27

 

Поступила в редакцию 17 ноября 2007 г.

2006-2019 © Журнал научных публикаций аспирантов и докторантов.
Все материалы, размещенные на данном сайте, охраняются авторским правом. При использовании материалов сайта активная ссылка на первоисточник обязательна.