ВУЗ: Томский государственный университет систем управления и радиоэлектроники
Категория: Учебное пособие
Дисциплина: Проектирование информационных систем
Добавлен: 21.10.2018
Просмотров: 10782
Скачиваний: 8
151
Часто
возникает
необходимость
в
ограничениях
для
след-
ствий.
Ограничение
M
на
рис.
6.13
устанавливает,
что
если
следствие
a
имеет
значение
1,
то
следствие
b
должно
иметь
значение
0.
Как
видно
из
рассмотренного
выше
примера,
физически
невозможно,
чтобы
причины
1
и
2
присутствовали
одновремен-
но,
но
возможно,
чтобы
присутствовала
одна
из
них.
Следова-
тельно,
они
связаны
ограничением
E
(рис.
6.14.).
Рис.
6.14
—
Пример
функциональной
диаграммы
с
ограничением
«исключает»
Проиллюстрируем
использование
функциональных
диа-
грамм
для
получения
тестов.
С
этой
целью
воспользуемся
спе-
цификацией
на
команду
отладки
в
интерактивной
системе.
Команда
DISPLAY
используется
для
того,
чтобы
отобра-
зить
на
экране
распределение
памяти.
Синтаксис
команды
пока-
зан
на
рис.
6.15.
Скобки
представляют
альтернативные
необяза-
тельные
операнды.
Прописные
буквы
обозначают
ключевые
слова
операндов,
а
буквы
с
предшествующими
точками
—
зна-
чения
операндов
(т.е.
действительные
значения
операндов,
ко-
торые
должны
быть
подставлены).
Подчеркнутые
операнды
со-
ответствуют
стандартным
значениям
(т.е.
если
операнд
опущен,
то
принимается
стандартное
значение).
Рис.
6.15
—
Синтаксис
команды
DISPLAY
1
2
V
71
72
11
3
70
Λ
E
DISPLAY
1
0
адрес
−
⎡
⎤
⎢
⎥
−
⎣
⎦
2
1
адрес
END
счетчик байтов
−
⎡
⎤
⎢
⎥
−
⎢
⎥
⎢
⎥
−
⎢
⎥
−
⎣
⎦
152
Первый
операнд
(адрес
1)
определяет
адрес
первого
байта
области
памяти,
содержимое
которой
должно
быть
отображено
на
экран.
Длина
адреса
задается
1—6
шестнадцатеричными
цифрами
(0—9,
А—F).
Если
первый
операнд
не
определен,
то
предполагается,
что
адрес
равен
0.
Адрес
должен
принимать
значение
из
действительной
области
памяти
машины.
Второй
операнд
определяет
объем
памяти,
который
дол-
жен
быть
отображен.
Если
адрес
2
определен,
то
он,
в
свою
очередь,
определяет
адрес
последнего
байта
области
памяти,
которую
необходимо
отобразить
на
экран.
Длина
этого
адреса
задается
также
1—6
шестнадцатеричными
цифрами.
Он
должен
быть
больше
или
равен
начальному
адресу
(адрес
1).
Аналогич-
но,
адрес
2
обязан
принимать
значения
из
действительной
об-
ласти
памяти
машины.
Если
в
качестве
второго
операнда
опре-
делено
END,
то
память
отображается
до
последнего
действи-
тельного
адреса
машины.
Если
же
в
качестве
операнда
опреде-
лен
счетчик
байтов,
то
он,
в
свою
очередь,
определяет
число
байтов
памяти,
которые
нужно
отобразить
(начиная
с
байта
с
адресом
адрес
1).
Операнд
счетчик
байтов
является
шестна-
дцатеричным
целым
числом
(длиной
от
одной
до
шести
цифр).
Сумма
значений
операндов
счетчик
байтов
и
адрес
1
не
долж-
на
превышать
действительного
размера
памяти
плюс
единица,
а
счетчик
байтов
должен,
по
крайней
мере,
иметь
значение
1.
Состояние
памяти
отображается
на
экран
терминала
в
виде
од-
ной
или
нескольких
строк
следующего
формата:
хххххх = слово 1 слово 2 слово 3 слово 4,
где
хххххх
есть
шестнадцатеричный
адрес
слова
1.
Всегда
отображается
полное
число
слов
(четырехбайто-
вых
последовательностей,
где
адрес
первого
байта
в
слове
кра-
тен
четырем),
независимо
от
значения
операнда
адрес
1
или
отображаемого
объема
памяти.
Все
выходные
строки
всегда
содержат
четыре
слова
(16
байт).
Первый
байт
отображаемой
области
памяти
находится
в
пределах
первого
слова.
Могут
иметь
место
следующие
сообщения
об
ошибках:
M1 –
НЕПРАВИЛЬНЫЙ СИНТАКСИС КОМАНДЫ
M2 –
ЗАПРАШИВАЕТСЯ АДРЕС, БОЛЬШИЙ ДОПУСТИМОГО
M
З – ЗАПРАШИВАЕТСЯ ОБЛАСТЬ ПАМЯТИ С НУЛЕВЫМ ИЛИ
ОТРИЦАТЕЛЬНЫМ АДРЕСОМ
153
Примеры
команды
DISPLAY:
DISPLAY
отображает
первые
четыре
слова
в
памяти
(стандартное
значе-
ние
начального
адреса
0,
а
стандартное
значение
счетчика
бай-
тов
1).
DISPLAY 77F
отображает
слово,
содержащее
байт
с
адресом
77F,
и
три
по-
следующих
слова.
DISPLAY 77F – 407A
отображает
слова,
содержащие
байты
с
адресами
от
77F
до
407А.
DISPLAY 77F.6
отображает
слова,
содержащие
шесть
байт,
начиная
с
адреса
77F.
DISPLAY 50FF – END
отображает
слова,
содержащие
байты
с
адреса
50FF
до
конца
памяти.
Первый
шаг
заключается
в
тщательном
анализе
специфи-
кации
с
тем,
чтобы
идентифицировать
причины
и
следствия.
Причинами
являются:
1.
Наличие
первого
операнда.
2.
Операнд
адрес
1
содержит
только
шестнадцатеричные
цифры.
3.
Операнд
адрес
1
содержит
от
одного
до
шести
симво-
лов.
4.
Операнд
адрес
1
находится
в
пределах
действительной
области
памяти.
5.
Второй
операнд
есть
END.
6.
Второй
операнд
есть
адрес
2.
7.
Второй
операнд
есть
счетчик
байтов.
8.
Второй
операнд
отсутствует.
9.
Операнд
адрес
2
содержит
только
шестнадцатеричные
цифры.
10.
Операнд
адрес
2
содержит
от
одного
до
шести
симво-
лов.
11.
Операнд
адрес
2
находится
в
пределах
действительной
области
памяти.
154
12.
Операнд
адрес
2
больше
или
равен
операнду
адрес
1.
13.
Операнд
счетчик
байтов
содержит
только
шестнадца-
теричные
цифры.
14.
Операнд
счетчик
байтов
содержит
от
одного
до
шести
символов.
15.
Счетчик
байтов
+
адрес
1
≤
размер
памяти
+
1.
16.
Счетчик
байтов
≥
1.
17.
Запрашиваемая
область
памяти
настолько
велика,
что
требуется
много
строк
на
экране.
18.
Начало
области
не
выровнено
на
границу
слова.
Каждой
причине
соответствует
произвольный
единствен-
ный
номер.
Заметим,
что
для
описания
второго
операнда
необ-
ходимы
четыре
причины
(5—8),
так
как
второй
операнд
может
принимать
значения
1)
END,
2)
адрес
2,
3)
счетчик
байтов,
4)
может
отсутствовать
и
5)
неопределенное
значение,
т.е.
ни
одно
из
указанных
выше.
Следствия:
91.
На
экран
отображается
сообщение
M1.
92.
На
экран
отображается
сообщение
M2.
93.
На
экран
отображается
сообщение
M3.
94.
Память
отображается
на
одной
строке.
95.
Для
отображения
состояния
памяти
требуется
много
строк.
96.
Первый
байт
отображаемой
области
памяти
выровнен
на
границу
слова.
97.
Первый
байт
отображаемой
области
памяти
не
выров-
нен
на
границу
слова.
Второй
шаг
—
разработка
функциональной
диаграммы.
Узлы
причин
перечислены
по
вертикали
у
левого
края
страницы;
узлы
следствий
собраны
по
вертикали
у
ее
правого
края.
Тщательно
анализируется
семантическое
содержание
спе-
цификации
с
тем,
чтобы
связать
причины
и
следствия
(т.е.
показать,
при
каких
условиях
имеет
место
следствие).
На
рис.
6.16
приведена
начальная
версия
диаграммы.
Промежуточный
узел
32
представляет
синтаксически
правиль-
ный
первый
операнд,
узел
35
—
синтаксически
правильный
второй
операнд,
а
узел
36
—
синтаксически
правильную
коман-
155
ду.
Если
значение
узла
36
есть
1,
то
следствие
91
(сообщение
об
ошибке)
отсутствует.
Если
значение
узла
36
есть
0,
то
следствие
91
имеет
место.
На
рис.
6.17
изображена
полная
функциональная
диа-
грамма.
Если
диаграмму
на
рис.
6.17
непосредственно
исполь-
зовать
для
построения
тестов,
то
создание
многих
из
них
на
са-
мом
деле
окажется
невозможным.
Это
объясняется
тем,
что
оп-
ределенные
комбинации
причин
не
могут
иметь
место
из-за
синтаксических
ограничений.
Рис.
6.16
—
Начальная
версия
функциональной
диаграммы
команды
DISPLAY
31
32
36
35
33
34
1
2
3
4
9
10
12
16
13
14
17
18
15
11
92
93
91
94
95
96
97
V
Λ
Λ
V
Λ
Λ
6
7
8
5