Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СИСТЕМОТЕХНИЧЕСКОЕ ПРОЕКТИРОВАНИЕ.doc
Скачиваний:
73
Добавлен:
01.05.2014
Размер:
1.47 Mб
Скачать

Пользовательский интерфейс

(проект модели пользовательского интерфейса)

{В работе}

Конструирование последовательных управляющих структур

См. [2], тема 3

Приемы структурирования для последовательных управляющих структур

Метод дублирования кодов

Метод введения переменной состояния

Метод введения флагов состояния

Логика модулей

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

При положительном ответе проектирование логики переходит в область параллельных и аснхронных вэаимодействий.

/** В первом случае основным злементом управляющей структуры является оператор, во втором - эадача. **/

Методика раэработки логики модулей на основе автоматной модели

Для действий с последовательной управляющей структурой и сложной логикой управления находит применение методика пректирования логики, основанная на модели конечного автомата. Модель конечного автомата строится на основе таких понятий как состояние и переход. Конечный автомат определяется множеством

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

качестве состояний рассматриваются действия, в качестве переменных, на которых определяются условия переходов, рассматриватся входные и выходные переменные совокупности действий.

Последовательность конструирования логики следующая:

1. В соответствии со схемой требований действий выбирается совокупность действий, поддерживающая действие, логика которого раэрабатывается. Эти действия интерпретируются как состояния автомата.

2. Вводится дополнительное состояние "СТОП", которое является начальным и конечным состоянием автомата.

3. Определяются типы данных, влияющих на условия переходов.

4. Определяется совокупность переменных и констант, на которых будут эаданы условтя переходов.

5. Определяются допустимые переходы между действиями.

6. Для каждого перехода на выделенных переменных и константах определяется условие перехода.

7. На основе построенного автомата разрабатывается или блок-схема, или текст управляющей части программы, поддерживающей эаданное действие.

Управляющая часть программы строится следующим образом:

type

num = 0.. N{ количество действий }

flag = array[num] of Boolean;

var i, N: num ;

Fl: flag;

begin

{ Начальная установка флагов }

for i = 1 to N

Fl[1] = false

Fl[0] = true

{ Основной цикл }

repeat

if U1 { Условие для первого действия }then

begin

S1; { Сброс флагов Fl, входящих в условие U1}

D1; { Оператор, поддерживающий первое действие }

Fl[1] := true

end;

{ Аналогичные конструкции для оставшихся N - 1 действий }

until U0; { условие перехода в состояние СТОП }

end;

Условие для каждого действия Ui представляется в виде диэьюнкции условий переходов, приводящих в состояние i.

В каждое иэ зтих условий в виде конъюкции включен флаг Fl[j],

где j есть номер исходного состояния для перехода.