Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
tatra_v2.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
438.78 Кб
Скачать

5.2. Язык заполнения таблицы признаков

В процессе проектирования программных систем часто возникают следующие ситуации:

во-первых, необходимость изменения расположения признаков или добавления новых признаков в поле описания объекта. После выполнения такой операции следует перетранслировать все спроектированные на этот момент алгоритмы, т.к. необходимо согласовать новое расположение признаков с правилами построения кортежа для этих алгоритмов. Но при этом нет необходимости выполнять трансляцию правил выбора решений, т.к. они не меняются;

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

в-третьих, в процессе проектирования программных систем отрабатывается состав признакового пространства методом проб и ошибок при разработке конкретных алгоритмов. В этом случае неудобно сразу вводить новые признаки в сводный документ описания признаков;

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

Учитывая описанные ситуации, в системе программирования ТАТРА введены возможности задавать и формировать описание признакового пространства во внутренней форме независимо от правил принятия решений. Описание пространства признаков в этом случае выполняется с помощью документа "Таблица признаков" (рис.7), который оформляется по оригинальным правилам, а именно:

<таблица признаков>::= <справка><описание признаков>/<справка> <описание признаков>->(<перечисление имен логически связанных предикатов>)/<имя алгоритма><описание признаков>/ <имя алгоритма><описание признаков>->(<перечисление имен логически связанных предикатов>)/

Первые два способа задания признакового пространства алгоритмов применяются при задании документа описания признакового пространства прикладной задачи. Третий и четвертый способы - при отсутствии описания признакового пространства проблемной задачи.

<справка>::= <имя системы><имя алгоритма><имя алгоритма> <имя системы>

<имя системы>::= C=<текстовая константа, не превышающая 8 символов>;

<имя алгоритма>::= А=<текстовая константа, не превышающая 8 символов>;

<описание признаков>::= <описание признака><описание признака> <описание признаков>

<описание признака>::= <имя признака><имя признака><разбиение признака> <минимальное значение признака> <максимальное значение признака><адрес расположения признака><адрес расположения признака> <имя программы вычисления признака> <адрес расположения признака><разбиение признака> <минимальное значение признака> <максимальное значение признака> <адрес расположения признака> <разбиение признака> <минимальное значение признака> <максимальное значение признака>

Таблица 1. Определение граничных значений признаков

Обозначение в таблице

Граничное значение

= А

А

# А

А

< А

А

<= А

А + Р

> А

А + Р

>= А

А

[А, В]

А, В+Р

(А, В)

А+Р, В

[А,В)

А, В

(А,В]

А + Р, В + Р

= А, В, ... , С

min{А, В, ..., С}

# А, В, ... , С

max{А, В, ..., С}

Рис.7. Документ "Таблица признаков"

<имя программы вычисления признака>

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

<имя признака>::= <текстовая константа, не превышающая 8 сим волов>;

<разбиение признака>::= Е=<действительная константа>;Е=<целая константа>;

Разбиение - это положительное число.

<минимальное значение признака>::= А=<действительная константа>; А=<целая константа>;

<максимальное значение признака> ::= B=<действительная константа>; B=<целая константа>;

<адрес расположения признака>::= <номер строки><номер столбца> <номер столбца><номер строки>

<номер строки>::= C=<целое без знака>;Ц=<целое без знака>;

<номер столбца>::= T=<целое без знака>;И=<целое без знака>;

Правила задания номеров строки и столбца аналогичны соответствующим правилам в языке сводного документа описания признакового пространства решения прикладной задачи.

<имя программы вычисления признака>::= П=<текстовая константа, не превышающая 6 символов>;

<перечисление имен логически связанных предикатов>::= <имя алгоритма> < имя алгоритма><перечисление имен логически связанных предикатов>

ЗАМЕЧАНИЯ:

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

  2. Если признаковое пространство с задаваемым именем не было описано ранее, а новое описание задано полностью, то предикат с соответствующим именем или предикаты с заданными именами исключаются из базы данных (если они есть в базе данных).

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]