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

кандидата технических наук
Корочкова, Инна Германовна
город
Москва
год
1993
специальность ВАК РФ
05.13.12
Автореферат по информатике, вычислительной технике и управлению на тему «Разработка инструментальных средств поддержки версий в базах данных знаний САПР»

Автореферат диссертации по теме "Разработка инструментальных средств поддержки версий в базах данных знаний САПР"

РГВ М

Линистбрс^воУнДуки, высшей школы и технической политики и и ' " ' Российской Федерации

Московский ордена Трудового Красного Знамени горный институт

На правах рукописи КОРОЧКОВА Инна Германовна

УДК 681.3.082

РАЗРАБОТКА ИНСТРУМЕНТАЛЬНЫХ СРЕДСТВ ПОДДЕРЖКИ ВЕРСИЙ В БАЗАХ ДАННЫХ/ЗНАНИЙ САПР

Специальность 05.13.12 — «Системы автоматизации проектирования (промышленность)»

Автореферат' диссертации на соискание ученой степени кандидата технических наук '

Москва 1993

•Работа выполнена в Московском ордена Трудового Красного Знамени горном институте.

Научный руководитель докт. техн. наук ТОРХОВ В. Л.

Официальные оппоненты:

академик, проф., докт. техн. наук РЕДКОЗУБОВ С. А., ■ канд. техн. наук ПАНФИЛОВ П. Б.

*

Ведущая организация — Московский инженерно-физический институт.

Защита диссертации состоится « . » йм^.- . 199Ъ г.

в час. на- заседании специализированного совета Д-053.12Л2 Московского горного института по адресу: 117935, Москва, Ленинский проспект, 6.

С диссертацией'можно ознакомиться в библиотеке института.

Автореферат разослан « .11. » , ¿¿о^чс^ . 199 Ъ г.

Ученый секретарь специализированного совета

докт. техн. наук ТОРХОВ В. Л.

ОБЩАЯ ХАРАКТЕРИСТИКА РАБОТЫ

Актуальность темы. Широкое применение систем автоматизированного проектирования (САПР) позволило проектировать сложные технические объекты в сжатые сроки. Для повышения эффективности функционирования САПР и качества проектирования необходимо повысить "интеллектуальный" уровень САПР, который предполагает снижение вероятности концептуальных ошибок, повышение дружественности систем. Задачи проектирования безусловно относятся к классу интеллектуальных задач, связанных с выбором наилучшего варианта.

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

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

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

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

На основе анализа состояния вопроса в области интеллектуализации САПР, в настоящей работе поставлена цель:

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

Для достижения этой цели необходимо решить следующие задачи:

разработать интегрированную модель представления версий и процесса их порождения, образующую основу для баз данных/знаний САПР;

«

разработать язык описания процесса порождения версий;

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

* разработать инструментальные средства интеллектуализаиди процесса порождения версий в многовариантном автоматизированном проектировании.

Создаваемые инструментальные средства должны быть ориентированы на профессиональных программистов-разработчиков САПР.

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

Работа выполнялась в рамках темы 12.9.1.1.15 "Создание элементов автоматизированного проектирования и управления горнодобывающими предприятиями" программы РАН исследований в области естественных наук до 2000 г., раздела 6 "Разработка теоретических основ проектирования и создания автоматизированных и роботизированных технол гий добычи и переработки твердых полезных ископаемых" программы Министерства науки, высшей школы и технической политики РФ "Экологически чистое горное производство" на 1989-1992 гг., госбюджетной темы "Разработка концепций и принципов математического и программного обеспечения САПР и управления в горном дел^ на основе искусственного интеллекта", и двух хоздоговорных тем (ном. гос. регистрации 019000044. ,',01920012443).

Научная ноьизна работы заключается ь разработке:

Л ' '

• оригинальной интегрированной модели представления версий и описания процесса их порождения в Сазах дачных САПР, позволяющей

формализовать процесс многовариантного автоматизированного

проектирования;

• языков"х средств высокого уровня описания процесса порождения версий, основанных на предложенной модели версий;

• Р-сетей - теоретико-сетевой модели представ-шия динамики квазипараллельного выполь.ния процесса порождения версий;

• эффективных методов анализа свойств корректного поведан .г) процесса порождения версий, основанных на полученной теоретико-логической харакп. изац..и свойств активности Р-сетей.

Практическая ценность работы состоит в разработке:

• архитектуры комплекса программных средств поддержки процесса миоговариантного проектирования;

• инструментальных средств г.оддержки процесса порождения версий и анализа корректности поведения этого процесса.

Результаты работы внедрены в практику создания интеллектуальной САПР мотор-редукторов в НПЦ "ПЕКО" при Ижевском механическом институте и интеллектуальной САПР спецтехнологий проходки вертикальных стволов подземных сооружений в тресте "Шахтспецстрой". Применение указанных результатов позволило описать процесс управления проектированием на языке высокого уровня, выделив это опислньс в отдельный программный компонент,и избежать вмешательства в программы проектирую шх подсистем. В результате внедрения качество проектов повысилось на 5% за счет оптимизации процесса проектирования.

Апробация работы.Содержание и основные результаты работы доложены и обсуждены на: XV Международном симпозиуме "Логическое управление. Интеллектуальные информационные технологии и стратегии" (Москва, .992 г.), XIII,XIV Всесоюзных симпозиумах "Логически г управление с использованием ЭВМ" и XII, XIII координационные совещаниях "Математическое обеспечение интеллектуальных систем САП1'-ГАП" (Симеиз, 199С г., Новый Свет, 1991 г.), научно-технической конференции "Разработка и внедрение САПР и АСТПП в машиностроении" (Ижевск , 1990 г.) .

Публикации. Осногчое содержа! ¡е работы отражено в 5 публикациях.

Объем и структура диссертации. Диссертация состоит и. введения, четырех гл.ш и заключения . Она содержит 135 страниц машинописного текста, включает 35 рисунков и список литературы из 79 наименований.

ОСНОВНОЕ СОДЕРЖАНИЕ РАБОТЫ

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

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

Критерием, который можно положить в основу оценки различных механизмов, является удобство применения их для пр .дставления в базе данных версий проектного объекта к описания процесса формирования проектного решения как процесса порождения и оценки версий. Удобство определяется адекватностью механизмов представления данных/знаний о процессе формирования проектного решения реальным требованиям проект эй информации и представлению о процедуре проектирования со стороны конечного пользователя САПР. Таким образом, критерием для оценки является адекватность описания проектных данных и знаний о процессе проектирования.

Разработка модели данных/знаний о версиях проектного объекта

В диссертации на основе использования концепций объектни-ориентированного программирования предложена модель версий в базах данных/знаний САПР.

Класс ОБЪЕКТ определяется совокупностью атрибутов:А j. ,А - ,...,А„, > которые имеют конкретные типы, представляющие быть может структура или объекты других классов. Информационное состояние объекта в процессе проектирования представляется с помощью класса СОСТОЯНИЕ ОБЪЕКТА, в котором для каждого атрибута Ас класс? ОБЪЕКТ имеется атрибут-дублер В <, .Этот атрибут и: 1еет тот же тип, что А ;, если версии имеют точечное значение атрибута A i в процессе формирования проектного решения, групповой атрибут, если версии имеют значение как диапазон значений, и многозначный атрибут, если версии допускают множество значений.

Класс СОСТАВНОЙ ОБЪЕКТ определяется совокупностью имен классов О, ,0, ,...,0». .объекты которых участвуют в связях, представляющих экземпляры составных

объектов данного класса, и совокупностью информационных атрибутов А х Лг.....An.,

различающихся значениями атрибутов. Предлагаемые ниже механизмы инвариантны по отношению к объекту-сущности и объекту-связи, поэтому далее не будем ясно разли -ють объект-сущность и составной объект, ссылаясь просто на класс ОБЪЕКТ (при наслсдо-вани . свойств класса в случае, если это клаа: СОСТАВНОЙ ОБЪЕКТ, хотя мы это шецяально не оговариваем, наследуются, разумеется, и члены класса О л ,03 ,...,Ot).

Класс ЦЕЛЬ определяется как совокупность атрибутов, представляющих сонкретные цели: G (,Ga ,...,Gt и совокупность методов М i ,М2 ,...,Mt • Наименования прибутов соответствуют названиям целей. Их типы - числовые или символьные, а тачения представляют степень достижения цели (символьный тип значения атрибута гспользуется для нечетких значений, например, лингвистических переменных). Каждый (етод М представляет собой вычислительную процедуру, служсщую для вычисления 1трибутг G . В общем случае это может быть произвольная процедура, хоторая входит в -АПР в состав так называемых объектных подсистем, реализующих тс или иные этапы [роектирования.

Верст; объектов представляются как класс ВЕРСИЯ, порожденный из классов СОСТОЯНИЕ ОБЪЕКТА и ЦЕЛЬ, и, следовательно, наследующие их свойства-атрибуты

! 1 .....В„ ,G, ,Ог ,...,Gt. Кроме того, класс ВЕРСИИ имеет атрибуты : Status, который

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

В диссертации предлиж^но исчисление версий - детализация объектного исчпсле-ая,учитывающая разработанные механизмы представления версий. Оно построено ам.1-

логично реляционному исчислению кортежей. Можно считать, что отличие заключается лишь в том, что у объектов допускаются структурные атрибуты ( в реляционной модели в силу нормализации разрешены только простые атрибуты) и что есть составные объекты.

Для того, чтобы определить понятие исчисления,нужно определить понятие терма, формулы и выражения.

Терм исчисления версии есть предикат определенного вида:

-С(с)-означает, что 0 есть объект класса С (предикат истинный, когда объект 0 есть объект класса С );

- терм вида "включение":

■fieV(o), -«'ОРо^Ы. ,UE

(предикат истинный при выполнении соотнои шш) ■

- терм вида "сравнения"

JO*-..-».»....,*.) & glx,а™),

где til можетбыть , , VI(в), S(<), СалЛ (М(о)\ Caid.(aii(ú)),

G « L >, ^ J;

J и ^ - функции (в зависимости от контекста алгебраические, строковые шш логические) .

Формула определяется следующим образом:

- всякий терм есть формула;

- если i{,, - формулы, то ift'&if,. также формулы;

-если - формула, гс-переменная бъект(объектшш версия), то и (Vx )i¿>-

также формулы;

- формулы могут заключаться в скобки;

- ничто другое не является формулой.

Выражением исчисления версий назовем запись вида { оо I Ч (л)} , где пс -единственная свободная переменная в формуле ц> . Определим безопасные выражения аналогично поиятию безопасности выражения в реляционном исчислении. Для формализации доступа к версиям базы данных/знаний будем использовать безопасные выражения.

Предложим формализацию процесса порождения версий. Она образует процедурный аспект базы данных/знаний. Описание процесса порождения состоит из множества ква-зилараллельных продукций. Как обычно,продукция состоит из двух частей: условие » {действие 1,,..,де[1Ствие5).

В совокупности продукции представляют по-существу алгоритм многовариантного проектирования. В зто.м алгоритме используются "внешние данные" г версиях из базы данных н "внутренние данные", играющие вспомогательную роль в этом алгоритме. К вь j ipeiiHiiM данным этого алгоритма многовариантного проектирования относятс тоги-ческне переменные, используемые для управления процессом проектирован..л (флаги),и числовые переменные целого типа, используемые в качестве счетчика версий.

Условие -левую часть продукции - можно формально представить хак пред и чат, аргументы которого относятся к внешним и внутренним данным. Для формализации записи такого предиката дополним исчисление версий новыми термами: l!v0x , Ojí^Qx, wo (и) 9 ас , -xQu , х в const,

Ce-odCvWlBx, СадД.«Щ.М)0зс, CcwcL(PostO|))e:x.eel>.</':;^-)" где xjj- внутренние переменные.

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

Действнг - правая часть продукции - есть выражение расширенного исчисления версий с одной свободной переменной, называемое квалифицирующей частью, у которого после имени свободной переменной через двоеточие слецует перечисление действий, разделенных запятыми. К числу возможных действий относятся следующие: - { значение! ^ },

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

-{ ii(at.) I vo }- действие означает операцию порождения версии (или множества версий) из версии , выбранной с помощью квалифицирующей части.

Языковые средства о/шеа ни; л порождения версий

В диссертации разработан язык ВЕРСИЯ для представления версий в базе данных САПР и описания процесса их порождения. Языковые средства описания версии со -держат конструкции описания классов, которые по синтаксису близки к ставшим стандартом defacto языком объектно-ориентированного программирования С++.Введенные синтаксические конструкции позволяют описать про '.вольный атрибут объекта базы данных:

им.1_класса=идентификатор. описание_класса_ОБЪЕКТ»"ОУесГ имя_класса " {"описание_переменной_атрибута I {Vomica ние_переменной_атрибута 1}"}

описание_класса_СОСТОЯНИЕ_ОБЪЕКТА=' Objeci State" нмя_к псса " {" описание_ персмснной_атрибута2 {","описание_переменной_атрибута2}"}",

где атрибут1 - это информационный атрибут объекта, атрибут! - соответстлующим атрибут версии, представляющий диапазон значений. ' ог:исание_класса_ЦЕЛЬ""Оол1 for object" имя_кл;нса " ' {"описанне_переменной_цсли {","олисание_переменной_:1ели}"|"-

Описаний классов ОБЪЕКТ, СОСТОЯНИЕ ОБЪЕКТА, ЦЕЛЬ достаточно для описания класса ВЕРСИИ, поскольку оно автоматически определяется из этих описаний.

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

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

01шсание_переменных_обьектов="уаг01уесГ имя_класса имя_переменной_обьекта {" ,"имя_переменной_объекга}. описание_переменных_версий="уагУег5юп" имя_переменной_обгьекта имя_переменной_версии {","имя_переменной_версии}. кластера"Cluster" имя_класса имя_кластера {","имя_кластера}. описание_внутренних_переменных,=простой_тип имя_внутренне#_переменной. Для обозначения атрибута с учетом их вложения будем пользоваться нотацией: атрибут=(имя_переменной_версии i имя_кластера) "."имя_атрибута. цель^(имя_переменной_версии1имя_кластера)"."имя_цель. уегеюп~указатель_переменной_версии. с1из1ег=указатель_кластера. str_status=" рабочая" I "замороженная".

Для реализации термов исчисления термов в языке имеются функции: int "ЫО("имя_переменной_версии")" - возвращает номер версии. str_name "МАМЕ("имя_переменной_версии")" - возвращает имя версии str_status "STATUS("itMfl_nepeMe!iHOH_BepcHH")" - возвращает статус версии vei-ion "АЫТ("имя_переменной_версшГ)" - указывает ант цедент cluster "А1ЛЧпимя_переменной_версии")" - представляет множество альтернатив версий

cluster "РО$Т("имя_переменной_версии")" - представляет множество потомков версий.

простой_тип "ООАЫ"имя_иель")" - возвращает оценку достиж ния указанной цели для текущей версии.

bool "inClass("nMS_riepeMenHOH_o6beKTa,i!MS_ioiacca">" - функция возвращает 1 ,если указанный Ооьскт принадлежит классу, и 0, иначе.

bool "is Version С имя_переменной_версип"," имя_класса")' - функция возвращает 1 .если указанная версия принадлежит множеству версий объекта, и 0, иначе, bool "¡хРо51("имя_переменнон_версии1"," имя_переменнон_версии2")" функция возвращает 1,если в-ociigl является потомк "м версии2,и0, иначе, bool "¡5А!и"нмя_переменной_верс;ш1"," имя_перемештой_версин2")" - функция возвращает 1 ,ссли кераш 1 является одной из альтернатов верешгё, » 0, иначе, int "CARD ("cluster" Г - функция, определяющая мощность кластера.

внутренняя_функция-"СА1*0" I "NO" I "NAME" I "STATUS" I "ANT" I "ALT" I" POST" I "Goal".

внешняя_функция»=простой_т1ш идентификатор, (длина идентификатора ограничена 8 символами)

присвоить*""Обозначает операцию присваивания.

Для спецификации формулы исчисления версий введем следующие соглашения: связка»"&" ГГ. (конъюнкция или дизъюнкция соответственно) отрицание»"-".

терм_включение-=тС1а5$ I is Version I ¡-Post I isAlt.

терм_соотношекие-элементарное_условие. (сравнение двух элемент в, которыми могут бьпг внутренние или внешние функции, переменные .константы) терм-терм_соотношение1терм_включение1 Cl'eckAll. формула«" [" {отрицание! терм (связка [отрицание] терм }"]" имя_формульг*"Рогта" идентификатор формула.

Формула исчисления версий вида (Зж) терм_включение или (За) терм_соо-"ютение записывается как терм включение или как терм_соотношение. Квантор V позволяет представить функция

bool "ChekAll (" (имя_переменной_версии I имя_переменной_обьекта) ","(имя_формулы1формула)")". Возвращаемое значение есть 1, если для любой переменной версии или объекта истинна формула, и 0 в противном случае.

Следующие спецификации позволяют представить продукцию исчисления версий: действие=атрибут присвоить значение! "derive". последовательность_^яействий=" ("действие{","действие}")". переменная_выражения="("(имя_переменной_версии1 кластер) {","(имя_переменной_версии I кластер)}")". конструкция_цикла="ForAU ("переменяая_выражения " :" (имя_формулы I формула) "i '.

множество _действий»" ([" (конструк чя_цикла I формула I имя_формулы"]" (действие Iпоследовательность_действий)")"

{",([" (конструкция_цикла I формула I имя_формулы"]" ( дейстзие I последовательность_действий)")"}.

продукция*-"!?" (имя_формулы1 формула) "THEN" множество_действ'ий "ENDIF".

Программа на языке ВЕРСИИ включает в себя все необходимые описания и сопок\, ность продукций:

описание_переменных_объектов {описание_переменных_верснй} {кластер}

{описа)ше_константы}

{01шсани£;_внутренних_иереыен11ых)

{внешкяя_фувкция}

продукция {продукция}.

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

( 1 ) Если существует версия с характером трещиноватости 0 и признаком водоносного слоя 1, то вычислить поглощающую способность слоя и çn ре делить схему нагнетания растаора - зажимная для этой версии.

(2) Если существует версия, у которой схема заходкиЗ и нет альтернатив, то породить мл этой версии множество версий с подходящим расгв~ром (текучесть > 0 и выход тампокажного камня равен 100%) и озкачнпномер раствор? у порожденных версий.

(3) Если количество альтернатив версий со схемой проходки равной 3 меньше 20 и в этих версиях означен атрибут поглощающая способность, то для тех вьрсий, у которых ь&емя схватывания раствора меньше 50 минут, означить номер насоса (насос подходит, если его подача больше поглощающей способности слоя).

(4; Если количество альтернатив версий со схемой проходки равной 3 больше 20 и не было редукции, то для версий с характером трещиноватости 0 и признаком водоносного слоя 1 и схемой цементации 3 и стоимостью приготовления и нагнетания раствора больше 100G. тыс. рублей присвоить статус "замороженный".

Соответствующий фрагмент программы на языке ВЕРСИЯ имеет следующий вид: varOb.iect Techr. Т1 /"Технология*/ varObject Rastvor R1 /*Раствор*/

varObject Ntsos NS /*Насос*/ v

varVereionTl YTS.VT2

varVersion RI x

vai Version NSy

Cluster VTi Cvil

booi reduce

float fund ()

bool addition /"означивание группового а грибуа*/' fonriH i(VTl.RzVsi--l) & (VTI.Trs!= = 0)] Form F2 [!VTl.sh--j;3

form F3 [iCARl>(ALT(VTI))<20i Jt (VTl.Q#nu!!)l

IF IF' vVVTl.sli"mi!!] THEN <[F|] V'Ti.sh>-j),{[FI] VTl.Q:=fuicl 0)

KMDIF

IF [ tFî IVT2.st:= —2) & CARD'ALI (VTI)= =Oj THEN

i [ГогАИ tx: (>:.!>0) Л (х.чиг=100;) &. FI &F2J (DERIVE (Cvtl.VTl),

CvU,NR.is:-x,Nr)) ENDIF

IF [F2 & (addition-*^) & F3 ]' THEN

addition:»!, <[ForAll((Cvtl,y): isVersion(Cvtl,VTl) & Cvtl.tch<-50 & y.NN>VTl.Q)] add(Cvtl.Nnas,y.Nn) ENDIF

IF [F2 & (CARD(A' T(VT1))>~20) & (red==0) THEN red:=l, [ForAil (Cvtl: F1 & F2&isVersion(Cvtl,VT!) & Cvtl.cosPl0000] Cvt 1. S tatщ^-заморохенный" ENDIF

Таким образом, предложенные интегрированная модель представления версий к процесса их порождения и язык описания процесса порождения версий позволяют адекватно описать информационный и семантический аспекты версий и компактно представлять логику многовариантного проектирования в базе данных/знаний СЛII Г'.

Разработка модели динамики процесса порождения версий и методов ее анализа

В диссертации исследованы динамические аспекты процесса порождения версий, описанного на предложенном языке ВЕГСИЯ. Как и любгя программа, но крайней мере на стадии разработки и отладки, продукционное описание процесса порождения версий может содержать о .ибхи. Помимо синтаксических ошибок, которые легко обнаруживаются, и смысловых ошибок, которые, кик правило, обнаружить можег только разработчик программы, в описании процесса порождения версии могут присутствовать и ошибки, связанные с некорректным взаимодействием программных компонентов,

В работе предложена сетевая модель для адекватного описания динамики поведения описания процесса порождения версий-Р-сеть.

Р-сеть представ,..,ется совокупностью структуры S и маркировкиj*.:

Структура S определяется как семерка,-3=< Р, R, Т, i, F,0,# >, где

Р -{р( ,р.....рJ - конечное множество позиций типа условно,

R"{r1,r1,...,rm} - конечное множество позиций типа счетчик, iw{ílft } - конечное множество переходов,

I - входная функция, отображающая множество аереходов Т в совокупнее,ъ множеств позиций P'JR и множество позиций РОД j совокупность множеств переходов, F={t.,f2,.,,,fK ) - конечное множество -редикаюв. Всякому переходуItT ставится в а гвегсшие предикат Sj.

О - выходная функция, отображающая множество переходов Г ч множество позиций PUR и множество позиций PJR. в множество перекодов'Г.

Эти множества составляют структуру Р-сети и могут быть представлены графом:

в=< (РИЯ,Т),(1,0) >, где позиции Ртипа условие изображаются кружками, позиции I? типа счетчик-квадратами, переходы V - планками, а дуги задаются входной и выходной функциями 1 и О. К - функция, определенная на множестве пар вида (г;,^ ) и О- ,г») (задает ьес информационной связи) и множества пар вида (tj.pt ) (задает воздействие перехода ^на позицию р,).

Маркировка есть функция, отображающая множество позиций типаРв {0,1}, тяпав в множество неотрицательных целых чисел N: ¿д.: К—К Р—{0,1}. Маркировка может быть определена как 1-вектор ^-^ы,...,^«) .где 1-1Р1+1И1. Маркировка определяет для каждой позиции Р-сети количество фишек в этой позиции. Графически фишки изображаются маленькой точкой в кружке для позиций типа условие и цифрой внутри квадрата для позиции типа счетчик. Функция # определяет для позиции г типа счетчик количество фишек, которые должны быть в ней для того, чтобы переход запустился, и количество фишек, которые переходят от перехода к позиции в результате запуска. Если это количество положительно, то связь между переходом и позицией типа счетчик обозначается обычной дугой, если отрицательно, то дугой с кружочком на конце. Для позиции типа условие функция '-й 0^,рс) определяет состояние позиции р„ в результате срабатывания перехода ^ . Если И (^ )«1, то в результате срабатывания /-; независимо от се предыдущего состояния, если *(^,Р1)*0, то

(р^=0. Маркировка позиции типа счетчик; являющейся выходной для перехода изменяется в результате запуска ^ на величину * ) :|ц(г1)=1|^(г1)+^(^,г1).

Р-сеть < > интерпретируется подобно сети Петри следующим образом. Множество позиций в соответствии с их маркировкой служит для описания состояния процесса порождения версий (ППВ). Последовательность маркировки моделирует динамику функционирования Р-сети. Изменение маркировки происходит в результате запуск; перехода. Условие запуска перехода ^ з .дается предикатом ^.Всякий предикат ^ есть функция, допускающая произвольные связки аргументов (по конъюнкции и дизъюнкции), и аргументы которой определяются множеством позиций р.« [(^) и гьс ) и множество аргументов которой являются предикатами:

4 • -1

О, иначе '

.где , г?„Т*

.0, иначе

Если ^ для заданной < > истинно, то запуск перехода^ возможен. Выбор запускаемого перехода среди готовых к запуску, как и в сетях Петри, произволен.

В диссертации предложен метод построения Р-сети для описания ППВ. Например, описание ППВ для САПР проходки моделируется Р-сетью, пиказанной на рис.1.

Показано, что свойства некорректного поведения ППВ моделируются в Р-сети с помощью свойств активности. Введем понятие степени активности перехода: степень активности А": переход не может быть запущен; степень активности А4: переход может быть запущен хотя бы один раз; степень активности А1: переход может запускаться бесконечно. Высказывание "переход t • обладает степенью активности Добудем записывать для краткости следующим образом: j* Возможно следующее высказывание:"переход tj не обладает степенью активности А*". Обозначим это через отрицание: j».

В диссертации доказана справедливость следующих соотношений: j*=jl( если переход не обладае™ степенью активности А*, то он может быть запущен хотя бы один раз); j'=j° (если переход t j не обладает степенью активности А1, то он не может быть запущен ни одного раза и,следовательно,обладает активностью степени 0); j'-«-j1 (если переход t-обладает степенью активности А1, то он обладает и степенью активности A4); j«-0; j*-j*.

Отметим, что состояние перехода Р-сети, при котором он запускается ограниченное число раз,определяется через введенные степени активности как конъюнкция j'&j2, т.е. запускается хотя бы один раз,но не бесконечно. Обозначим это высказывание через Переход, ооладающий степенью активности 1, но не обладающий степенью активности 2, будем говорить обладает ограниченной степенью активности. В терминах введенных степеней активности перехода Р-сети свойства корректности поведения ППВ моделируются свойством активности j^cex переходов за исключением выделенного множества переходов со специальным смыслом (таких как переходы, представляющие самоуничтожение) .Задача моделирования корректного поведения ППВ сводится к анализу возмож- : ных степеней активности переходов.

В диссертации предложена теоретико-логическая характеризация свойств актг - ности Р-сетей.

Введем следующие обозначения:

- в позиции ¿..никогда нет фишки, МЧоУ - в позиции Ail жег быть фишка*

И1 (d[) - в позиции d; всегда может появляться нужное количество фишек, Hj'(cti) - в позиции dj было или может появляться необходимое количество перед запуском t ,

f 1,. .е входные позиции типа условие перехода t^ i;t могутсодержать ^(ifrjiH необходимое для запуска количество фишек, но не одновременно, и), иначе .

Показано, чю справедлива следующие утверждения:

для функции запуска '.'реходн t-, определяемой к;, к коимошчи'-' -

1г.,,,/.' ргг, СаШ1СУ11:№1С|»1> Сага.(.1х:ал>о& юооо»

С»И.Соь1»Д00!)0 ' )

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

\У Ах ■ь \ V

г

/> А

1 ■

Рис. 2. Преобразование Р-сети для перехода с произвольной функцией запуска

С—V ю<о V &, (1'

ь» & м]ио?вам, (2>

ПЧ^РЛП^)-, О)

л о^еШ^

для функции запуска перехода Г, определяемой как дизъюнкция -1

(4)

(5)

для функции запуска перехода ^, определяемой как диа" юнкция <1;с1'(1)и (^«¡17^) с отрицанием -

пЧа;), <7>

Л (8)

для функции запуска переход^ ^, определяемой как конъюнкция с отрицанием-

V \1 то/ п'(<0 м' (ЫО (10)

" V

С—(И)

<1 ^ьПк/»

(12)

где

& (С у#(ц.рЛ V V ЧиСц.р.). Предикат ^ц" (р^ ) истинен , если в р. отсутствуем фнпиа, с|/<Р. > - и е^тьфлиы.

1, если существует последовательность запусков переходоз, такая что

= < 11 запускается перед запуском I^ 10, кначе

Для общего случая функции запуска - произвольной ДЯФ - возможна трансформация Р-сети с приведением ее к виду, в котором будут только переходы с дизъюнктивной функцией запуска и с множеством переходов с функциями запуска типа конъюнкции с отрицанием (рис.2). Таким образом, справедливо следующее:

Для анализа всей Р-сети возьмем конъюнкцию всех переходов по всем степеням

где к »{0,1,2}- локальные зависимости для г* выражены в (13)-<15).

Преобразуя КНФ в ДНФ получим дизъюнктно конъюнкций, каждая из которых описывает возможное состояние Р-сети, т.е. промежуточные реализации Р-сети. Анали-зир> я каждую из шньюнхций,можно определить корректно ли доведение ППВ. Отметим , что данным образом можно ашигазировать Р-сеть, для которой используется начальная маркяревка. В этом случае некоторые предикаты имеют определенное значение сС- /д^Ы >■), что упрощает исходную КНФ.

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

Разработка программных средств 1.оддержки многоварпантного автоматизированного проектирования

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

- поддержку предложенной модели версий в базе данных/знаний САПР;

- транслятор с языка ВЕРСИЯ и исполнитель процесса порождения версий;

- построение Р - сетевой модели и анализ свойства корректности.

Система поддержки многовариантного проектирования включает три основные ком-понечты: проектную базу данных, комплекс модулей объектных подсистем и монитор процесса порождения версий (рис.3). -- ,;

(15)

(14)

(13)

активности:

(разработчик САПР)

Опсание ППВ

Транслятор

МОНИТОР ППВ

I Таблица продукций

......1--

Рабочая обл. памяти

Исполнитель

Подсистема 1

Подсистема 2

Подсистема N

О

Внутренний интерфейс (DB Engine)

Проектная база данных

О п И

б 0 н

ъ д Т

ь с Е

к и Р

т с Ф

н т Е

ы е Й

е м С

ы

Рис.Ь. Архитектура системы поддержки много вариантного проектирования (■ 111 ')> поток данных, -— поток управления)

Проектная БД хранит текущее состояние проектных данных. Ее организация основала на нредлож енной модели представления версий.Доступ к БД поддерживается на уровне пднятий объектов, версий, деревьев вер лЕ. альтернатив, кластеров, целей и т.д. Комплекс функций, поддерживающий доступ к БД, образует внутренний интерфейс БД (DB Engine). Всс взаимодействг" может вестись только через него. Комплекс модулей объектных подсистем включает объектные подсистемы, выполняющие сообственно проектирование. Передача данных между подсистемами производится через БД, поэтому кажиая подсистема содержит модули взаимодействия с БД. Они используют функции доступа к БД нз внутреннего интерфейса.

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

Разработанные программные средства поддержки представления версий основаны на предложенной модели представления версий. Они ориентированы на профессионального программиста- разработчика САПР и реализуются как библиотека классов для С++ и как библиотека функций для С.

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

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

Программные средства построения и анализа Р-сетей разработчик на языке С, ик.1ючают три модуля: PNet - построение Р-сети; LogForm - построение логического «ьфаженкя в виде КНФ, представляющее конъюнкцию предикатов, выражающих условие корректной активности п< .'ех^дог; LogTYans • преобразование КНФ в ДНФ.

внедрение инструментальных средств поддержки

порождения версий в практик, создания интеллектуальных САПР

\

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

•т

в практику создания интеллектуальной САПР мотор-редукторов и интеллектуальной САПР спецтехнологий проходки вертикальных стволов подземных сооружений. Внедрение САПР спецтехнологий проходки сг'олов подземных сооружений в тресте "Шахтспецстрой" позволило за счет научно обоснованных методов оптимизации перебора вариантов решения задачи выбора параметров тампонирования сократить сроки проектирования на этапе расчетио-поисковых работ в 3-5 раз, повысить качество проектов и, в частности, сократить расход материалов. Вклад разработанных в диссертации методов и средств интеллектуал» 1ции САПР в полученный эффект от внедрения САПР оценивается в 10%.

Результаты диссертации были внедрены при создании базы знаний САПР мотор-редукторов и других сложных изделий машиностроения в НПЦ "ПЕКО" при Ижевском механическом институте, в котором выпускается за год порядка 100 проектов новых изделий. Применение результатов при создании интеллектуальной САПР мотор-редукторов позволило описать процесс управления проектированием на языке высокого уровня, выделив это описание в отдельный программный компонент, и избежать вмешательства в программы проектирующих подсистем. В результате внедрения качество проектов повысилось на 5% за счет оптимизации проце.са проектирования.

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

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

5. Разработана архитектура комплекса программных средств поддержки процесса многовариаптг ->го проектирования, включающих инструментальные средства поддержки представления версий в базе данных, транслятор и исполнитель языкового описания процесса порождения версий, программные средства построения Р-сетевой модели описания этого процесса и анализа корректности его поведения.

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

Основные ¡положения диссертационной работы изложены в следующих публикациях:

1. Корочкова И.Г. Поддержка вариантности в базах данных САПР // Логическое управление с использованием ЭВМ.- М.-Симеиэ, Изд-во АН СССР, 1990,253-286.

2. Хорхов В Л., Комиссаров М.Ю., Корочкова И.Г. Инструментарий поддержки баз . данных в САПР передач и редукторов Л Разработка и внедрение САПР и АСТПП в машиностроении. Материалы научно-технической конференции- Ижевск, Удм. Правление СНИО СССР, 1990,47-50.

3. Корочкова И.Г. Механизм версий в инженерных базах данных // Логическое управление с использованием ЭВМ.- М.-Феодосия, 1991,169-171. "

4. Корочкова И.Г. Модель функционирования активной системы версий объектов в базах данных САПР // Всемирный конгресс 1ТБ-92 "Информационные коммуникации, сети, системы» технологии". Тезисы докладов- М., 1992, 196-201.

5. Корочкова И.Г. Характеризация свойств активности Р-сети // Всемирный конгресс 1ТБ-92 "Информационные коммуникации, сети, системы и технологии". Тезисы докладов- М., 1992, 7у-В6.

Подписано в печать 1.03.93.

Объем 1,25печ.л. Тираж 100 экз.

Формат 60x90/16 Заказ N //7

Типография МГИ. Ленинский проспект,6,.-.