Современные технологии разработки и тестирования программного обеспечения (ПО). Часть 1. Коварцев А.Н. - 10 стр.

UptoLike

Составители: 

Таким образом, в технологии графосимволического программирования в качестве
универсальной алгоритмической модели предлагается использовать абстрактную модель
<D,
, P, G>, основанную на графе состояний.
Граф в данном случае заменяет текстовую (вербальную) форму описания
алгоритма программы, при этом:
1). Реализуется главная цель - представление алгоритма в визуальной
(графосимволической) форме.
2). Происходит декомпозиционное расслоение основных компонент описания
алгоритма программного продукта. Так структура алгоритма представляется графом
G,
элементы управления собраны во множестве предикатов P и, как правило, значимы не
только для объекта
O, но и для всей предметной области. Спецификация структур
данных, а также установка межмодульного информационного интерфейса по данным
пространственноотделена от описания структуры алгоритма и элементов управления.
Предложенная алгоритмическая модель <D,
, P, G>, в конечном счете, описывает
некоторую вычислимую функцию
fD
G
() и в этом смысле может служитьисходным
материалом для построения алгоритмических моделей других программ. Последнее
означает, что технология ГСП допускает построение иерархических алгоритмических
моделей. Уровень вложенности граф-моделей в ГСП не ограничен.
Структура алгоритмической модели <D,
, P, G> во многом зависит от
выбранного способа декомпозиционного расслоения объекта программирования на
множество состояний S и множество событий, определяемых предикативными
функциями P. В каждой конкретной предметной области эта задача решается
индивидуально и, как правило, не вызывает затруднений.
Рассмотрим конкретный пример построения граф-модели.
При исследовании операций часто приходится сталкиваться с анализом работы
своеобразных
систем, называемых системами массового обслуживания (СМО).
Примерами таких систем могут служить: телефонные станции, справочные бюро,
фондовые биржи, системы передачи и распределения информации и т.д. Изучение таких
систем в полном объеме возможно только с использованием цифровой имитации. В
качестве примера рассмотрим двухканальную СМО с отказами.
Множество состояний в данном случае можно определить традиционно (как это
принято в теории массового обслуживания) по числу занятых каналов. Состояния будут:
S
00
- все каналы свободны,
S
10
- занят первый канал, второй свободен,
S
01
- занят второй канал, первый свободен,
S
11
- заняты оба канала.
Можно выделить три события, переводящие систему из одного состояния в другое:
E
0
- приход очередной заявки,
E
1
- завершение обслуживание заявки на первом канале,
E
2
- завершение обслуживание заявки на втором канале.
В зависимости от целей исследования каждому состоянию можно поставить в
соответствие вычислимую функцию содержанием которой может быть: подсчет заявок
получивших отказ, сбор статистических данных по временам обслуживания заявок, в
СМО, наконец, имитация выполнения некоторых специфических действий связанных с
функционированием того или иного канала. Не
вдаваясь в детали, установим следующее
соответствие между состояниями и функциями: S
00
- f
0
; S
10
- f
1
; S
01
- f
2
; S
11
- f
3
. Событиям
E
0
- E
2
поставим в соответствие предикаты P
0
- P
2
. Содержание предикатов зависит от