The problem of the Smart Ant-3
The problem of the Smart Ant-3

2.2.3. Использование спецификаций

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

using-specifications

Спецификациями можно обмениваться с другими разработчиками, а также непосредственно использовать в качестве входных данных для следующего этапа разработки системы — реализации (рис. 2.25).В рамках предлагаемого подхода спецификация с использованием графов переходов является не набором «картинок», поясняющих работу системы а математической моделью логики поведения системы. Поэтому имея схему связей и диаграмму переходов, код, реализующий автомат на языке программирования, можно построить с помощью формального преобразования1. Эта задача уже не является творческой. Ее несложно выполнить разработчику, однако гораздо лучше, если код генерируется автоматически. Ряд инструментальных средств, которые обсуждаются далее в этой книге, предоставляют такую возможность. Что же происходит со схемами связей и диаграммами переходов после этапа реализации? Наличие работающего кода не делает спецификации бесполезными. Они становятся частью проектной документации системы и залогом успеха ее эволюции Как упоминалось выше, автоматное программирование берет свое начало от логического управления, которое является в чистом виде инженерной дисциплиной. В инженерной практике проект или его этап обязательно завершается выпуском проектной документации. Эта полезная традиция перешла «по наследству» к автоматному программированию: создание документации в рамках автоматного подхода является такой же неотъемлемой частью процесса разработки, как проектирование и реализация. Проектная документация составляется на естественном языке и обычно содержит постановку задачи, описание структуры и поведения системы, примеры ее использования. Для каждого автомата документация должна включать его словесное описание, схему связей и диаграмму переходов, а возможно, и фрагмент кода, ее реализующего.

2.2.4. Сравнение с методом Statemate

1.4.Порты

Программирование логических контроллеров ПЛК-автоматов