logo search
ТОКБ

18. Иерархические модели и модель взаимодействия открытых систем .

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

В основе метода лежит разбиение системы на ряд уровней, которые связаны однонаправленной функциональной зависимостью. В литературе предлагалось несколько вариантов формального и полуформального описания такой зависимости. Например, Парнас (D.L.Parnas, 1974) описывал такую зависимость следующим образом. Уровень А зависит в правильности своего функционирования от уровня В, или уровень А обращается к уровню В, или уровень А использует уровень В, или А требует присутствия правильной версии В. Однако это неформальные описания, а формализация здесь не удается из-за широкой общности понятия "сложная система" и неоднозначности разбиения на уровни. В целях понимания одного и того же в декомпозициях различной природы сложных систем можно договориться об универсальных принципах описания иерархического метода. Предположим, что интересующая нас сложная система А адекватно описана на языке Я. Предположим, что мы провели декомпозицию (разложение) языка Я на семейство языков D1,D2,...,Dn. Если язык Di, i=2,.., n, синтаксически зависит только от словоформ языка Di-1, то будем говорить, что они образуют два соседних уровня. Тогда система А может быть описана наборами слов B1,...,Bn в языках D1,D2,...,Dn причем так, что описание Вi синтаксически может зависеть только от набора Вi-1. В этом случае будем говорить об иерархической декомпозиции системы A и уровнях декомпозиции B1,...,Bn , где уровень Вi непосредственно зависит от Bi-1. Рассмотрим ряд простейших примеров иерархического построения сложных систем.

Пример 1. Пусть вся информация в системе разбита на два класса Secret и Тор Secret, которые в цифровой форме будем обозначать 0 и 1. Пусть все пользователи разбиты в своих возможностях допуска к информации на два класса, которые также будем обозначать 0 и 1. Правило допуска к информации X при запросе пользователя Y определяется условием, если класс х запрашиваемой информации X, а класс у пользователя Y, то допуск к информации разрешен тогда и только тогда, когда x=y. Это условие можно описать формально формулой некоторого языка D2

if x=y then "Допуск Y к X"

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

x:=U1(X),

y:=U2(Y),

z=xy

U(X,Y,z),

где U1(X) - оператор определения по имени объекта X номера класса доступа х; U2(Y) - оператор определения по имени пользователя Y номера класса допуска у;  - сложение по mod 2; U(X, Y, z) - оператор, реализующий доступ Y к X, если z=0 , и блокирующий систему, если z=l.

По построению уровень B2 зависит от B1, а вся система представлена иерархической двухуровневой декомпозицией с языками D1 и D2. Причем Я=(D1, D2).

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

Аппаратная часть - Операционная система -Пользовательские программы.