Моделирование устройства для продажи газированной воды на инструментальном средстве UniMod



© И. И. Колыхматов, О. О. Рыбак, А. А. Шалыто

Санкт-Петербургский государственный университет информационных технологий, механики и оптики

Проектная документация в формате PDF
Java-аплет (компиляционный подход)
Исполняемая программа (компиляционный подход)
Исходные тексты на языке Java (компиляционный подход)
Проект для Eclipse

Аннотация

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

Проект UniMod (http://unimod.sourceforge.net) с открытым исходным кодом содержит набор инструментов, позволяющих визуально проектировать и реализовывать программы, которые строятся так, как выполняется автоматизация технологических процессов. При этом первоначально строится схема связей, которая состоит из источников событий, системы управления и объектов управления. В объектах управления реализованы выходные воздействия, вызываемые из автоматов, и входные переменные, опрашиваемые автоматами. В общем случае система управления — это система взаимосвязанных автоматов. Схема связей — это оригинальное представление диаграммы классов в объектно-ониентированном программировании. Она задает структуру программы, а автоматы — ее поведение. Таким образом, подход, в отличие от других открытых известных подходов (http://en.wikipedia.org/wiki/Finite_state_machine), в значительной мере позволяет формализовать процесс построения программы в целом.

Визуальное проектирование выполняется в бесплатной и многофункциональной среде Eclipse (http://eclipse.org) для разработки программ на языке Java. Для этого используется встраиваемый модуль (plug-in), разработанный в компании eVelopers Corporation (http://www.evelopers.com). Классы, реализующие функциональность объектов управления и поставщиков событий, пишутся на языке Java. Далее возможны два подхода. В первом случае программа выполняется с помощью интерпретатора, а во втором — компилируется.

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

В данной работе представлен проект моделирования работы устройства для продажи газированной воды с использованием инструментария UniMod.