Модульная система конфлюентных продукций для многопроцессорной вычислительной системы

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

МС как основной механизм, через который происходит информационное взаимодействие подсистем комплексной САПР, должна удовлетворять следующим требованиям.

1. Передача проектных решений из одной проектирующей подсистемы в другую должна осуществляться только через МС, которая обязана фиксировать следующие данные, характеризующие передачу: имя пользователя, передавшего файл; дату и время передачи файла; номер версии файла; идентификационную информацию, характеризующую файл.

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

3. Программные средства комплексной САПР с точки зрения МС должны рассматриваться как набор аттестованных данных.

ИС - это обслуживающая подсистема, обеспечивающая информационное взаимодействие прочих подсистем, входящих в состав комплексной САПР. Информационное взаимодействие подсистем, выражающееся в унифицированном обмене информацией, осуществляется в рамках единых организационных и методологических требований: обмен информацией выполняется не напрямую между подсистемами комплексной САПР, а через ИС; инициатором информационного обмена выступает проектирующая или обслуживающая подсистема комплексной САПР, котораяе адресуют свой запрос к ИС через МС; единицей обмена является информационный контейнер, имеющий строго определенную структуру, представленную описательной и содержательной частями (см. выше); для упорядочения доступа к контейнеру организуется очередь заявок, которая обслуживается в соответствии с дисциплиной FIFO (first in, first out - первым пришел, первым вышел), то есть об-

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

В комплексной САПР создается и используется множество информационных объектов, из которых ИС распознает и обрабатывает лишь часть. Все обрабатываемые ИС информационные объекты делятся на две категории: глобальные объекты, являющиеся общими для всех проектов (списки и библиотеки); локальные объекты (описание проекта и проектные решения, выработанные в рамках данного проекта).

Глобальными данными ИС являются списки и библиотеки. К спискам в ИС относятся: список подсистем, содержащий идентификаторы и развернутые названия подсистем комплексной САПР, зарегистрированных в ИС как потенциальные потребители ее информационных ресурсов; список типов проектных решений, содержащий идентификаторы и развернутые названия типов проектных решений, которые могут быть выработаны проектными процедурами в проектирующих подсистемах комплексной САПР; список проектов, содержащий идентификаторы и развернутые названия проектов, которым ИС обеспечивает информационную поддержку.

Подготовку списков для ИС выполняют пользователи комплексной САПР. Формирование списков на магнитном носителе выполняет администратор ИС (после их утверждения руководителем САПР) с помощью соответствующего программного инструментария, входящего в состав ИС.

К библиотекам в ИС комплексной САПР относятся: библиотека типовых проектных решений, содержащая описания всех принятых типовых проектных решений и аттестованных библиотечных элементов; библиотека аттестованных программных средств, содержащая описания всех программных средств, реализующих проектные процедуры и проектные операции в рамках каждой процедуры.

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

И.Л. Артемьева, М.Б. Тютюнник

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

дании систем, основанных на знаниях (СОЗ). Совокупность правил описывает метод решения

прикладной задачи, реализуемый СОЗ. Использование систем продукций при создании СОЗ имеет преимущества перед использованием алгоритмических языков, так как для записи правил обычно используется терминология, принятая в предметной области и задаваемая ее онтологией, что позволяет получить понятный пользователю метод. Для реальных предметных областей большим является либо число правил, либо объем обрабатываемых правилами данных. И то, и другое приводит к уменьшению скорости вычислений. В системах конфлюентных продукций результат работы не зависит от порядка применения правил, то есть такие системы обладают естественным параллелизмом, что отличает их от других классов систем продукций и систем параллельного программирования, основанных на логических языках. Поэтому наличие параллельной реализации системы продукций дает возможность пользователю получить более эффективную систему для решения прикладных задач.

Характеристики языка системы продукций

Исследования по онтологиям и разработке на их основе СОЗ позволили сформулировать требования к языку конфлюентной системы продукций. Язык должен:

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

- позволять использовать операции над числовыми данными и множествами, а также ограниченные логические и математические кванторы, являющиеся аналогами циклов в правилах;

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

Распараллеливание процесса решения задач

Программная система, входом которой является программа на некотором языке, является языковым процессором этого языка. Существуют два класса языковых процессоров: интерпретаторы и

компиляторы. Описываемая в работе программная система является компилятором. Модульная программа, записанная на входном языке системы, поступает на вход анализатора, который проверяет синтаксическую и семантическую правильность записи правил и формирует внутреннее представление программы. Одним из компонентов внутреннего представления является информационный граф модульной программы. Генератор объектного кода анализирует свойства информационного графа и строит объектную программу, реализующую параллельную схему для метода решения задачи. Таким образом, компонентами программной системы являются лексический, синтаксический и семантический анализаторы, подсистема построения информационного графа, подсистема анализа информационного графа и выбора схемы распараллеливания процесса решения задач, генератор объектного кода.

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

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

Естественной схемой распараллеливания процесса решения задач является схема, в которой каждый параллельный процесс соответствует одному правилу программы. Управляющий процесс координирует работу зависимых, передавая и принимая от них данные. Такая схема реализована в прототипе системы. Эксперименты с прототипом показали, что для некоторых классов задач время решения на многопроцессорной системе близко к п/к, где п - время решения задачи на однопроцессорной ЭВМ, а к - число процессоров.

программная система функционального проектирования аппаратных комплексов асутп

О.Л. Ахремчик

Первые работы, носящие характер научного анализа процесса проектирования систем управ-

ления техническими системами, появились в 50-х годах 20 века. Однако в настоящее время в облас-