Комплекс параллельно выполняемых программ.

Цельная программа представляет вырожденный случай архитектуры ПС: в состав ПС входит только одна программа. Такую архитектуру выбирают в том случае, когда ПС должно выполнять одну функцию, и ее реализация не представляется сложной. Такая архитектура не требует описания, кроме определения способа взаимодействия с пользователем (описывается в документации по применению ПС).

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

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

Фактически архитектура состоит из четырех уровней [8]:

1-й уровень - системные компоненты. Они осуществляют взаимодействие с периферийными устройствами компьютеров, используются при построении операционных систем.

2-й уровень - общесистемные компоненты. Они обеспечивают взаимодействие с универсальными сервисными системами среды работы ПС:
ОС, СУБД, системы баз знаний, системы управления сетями и т.п. Компоненты данного слоя используются во многих приложениях как составные компоненты.

3-й уровень - специфические компоненты определенной проблемной области, являются составляющими компонентами ПС и предназначены для решения различных задач (например, бизнес - задач).

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


В качестве примера рассмотрим использование такой архитектуры для построения операционной системы [1].