В условиях рыночной экономики одной из главных задач в проектировании судов становится повышение конкурентоспособности проекта судна, что достигается широким использованием систем автоматизированного проектирования (САПР). Благодаря применению САПР обеспечивается:
- повышение качества проектных работ, особенно на ранних стадиях проектирования;
- уменьшение издержек на многовариантные проработки;
- сокращение общих сроков выработки проекта.
Существующие в отечественном судостроении САПР не вполне удовлетворяют повысившимся требованиям. Это связано в первую очередь:
- с недостаточной глубиной и детализацией математических моделей, описывающих проектируемое судно;
- с низкой адаптационной способностью к решению новых проектных задач, что препятствует перепрофилированию проектной организации на проектирование судов других типов вусловиях быстрого изменения конъюнктурырынка;
- с наличием трудно преодолимого барьера между возможностями современной вычислительной техники и достаточно консервативнойпсихологией проектантов.
В рамках традиционных структур математических моделей проектируемого судна и САПР, построенных на основе этих моделей, устранение указанных недостатков сопряжено со значительным увеличением сроков и трудоемкости создания самих САПР для современных и перспективных типов судов. При этом затраты на создание собственно САПР становятся сопоставимы со стоимостью разработки судна по обычной технологии, а сроки разработки математического и программного обеспечения даже превышают длительность проектирования судна. Такое положение делает экономически нецелесообразным разр! ботку судостроительных САПР без привлечен новых идей и подходов.
Главная причина недопустимо больших ср ков разработки САПР для нового типа суд» заключается в представлении модели судна | виде некоторого набора функций [2J. Соответс венно отдельные программные модули CAJ7JJ представляют собой блоки судостроитель™ расчетов, выполняемых по детерминированным алгоритмам с жесткой, программно реализова ной схемой обмена данными между ними, пользование баз данных (БД) для организация! потоков информации принципиальную картину! не меняет, так как остаются проблемы реали-f зации интерфейсов между модулями и БД, г' кроме того, возникают дополнительные проблемы переструктуризации и целостности БД при изменении структуры модели проектируемого судна и/или моделей его функционирования, Изменения в описании структуры модели проектируемого судна неизбежно возникают пря попытке повышения степени детализации его описания, а также в смене решаемой проектной задачи. Отдельная проблема, на порядок более сложная, возникает с изменением архитектурно-компоновочного типа судна в связи с переходом к другой компоновочной схеме в процессе оптимизации. Любое из описанных изменений связано, с одной стороны, со сменой структуры и состава расчетов,а с другой - со схемой и характером информационных потоков, что при традиционной архитектуре программного обеспечения САПР неминуемо приводит к необходимос-
ти вмешательства программистов-разработчиков САПР, а в некоторых случаях и к фактической разработке больших объемов нового программного обеспечения.
Выход может быть найден в применении новой структуры математической модели проектируемого судна, используемой в составе САПР, в максимально возможной степени сохраняющей структуру системного описания судна. Общий вид предлагаемой структуры судна как сложной многоуровневой технической системы представлен на рисунке 1. С содержательной точки зрения подобная структура может быть интерпретирована следующим образом. На нулевом уровне рассматривается только одно понятие, а именно - "судно в целом". На первом уровне декомпозиции судно рассматривается как совокупность подсистем, выделяемых по функциональному признаку, например "Корпус", "Гидродинамический комплекс" и т.д. В свою очередь подсистемы первого уровня также являются набором подсистем более низкого порядка. Между смежными уровнями могут существовать как одно-, так и двунаправленные связи. Например, для связи по электроэнергии электростанция имеет однонаправленные связи с потребителями. Связи в обоих направлениях можно проиллюстрировать на примере выполнения требований остойчивости судна. Расположение подсистем определяет аппликату центра тяжести судна, но выполнение требований по обеспечению остойчивости диктует возможные схемы компоновки и, следовательно, расположение подсистем. Возможно наличие двусторонних связей и между подсистемами одного уровня. Они возникают в том случае, если один и тот же физический элемент функционально входит в разные подсистемы или имеется материально реализованная функциональная связь, например зависимость частоты вращения гребного винта и частоты вращения вала отбора от мощности главных двигателей энергетической установки.
Допустим, что для ранних стадий проектирования подсистемы второго и дальнейших уровней декомпозиции образуют изолированные группы, замыкающиеся на одну подсистему вышележащего уровня. Иными словами, в структуре модели судна не рассматриваются связи между элементами несмежных уровней. Это допущение позволяет стандартизировать описание судна как циклически повторяющуюся структуру двух смежных уровней.
Процесс проектирования при таком допущении может быть описан как манипуляции с объектами, принадлежащими к определенным классам. При проектировании судна основными классами являются: помещения, конструкции, оборудование, коммуникации и запасы. Каждая подсистема - это набор, состоящий из совокупности реализаций объектов, принадлежащих к указанным классам. Каждый класс характеризуется определенным набором признаков и характеристик, идентифицирующих класс.
Такой набор признаков в инженерии знаний принято называть фреймом [3]. Например, для
класса "помещение" данный набор признаков будет включать:
< ПОМЕЩЕНИЕ >:: =
< имя_помещешм >, < №_помещевиа>,<Х0>, , , , ,,,,,,,
< описание_граней >, < оборудование >,
< коммуникации >, < запасы >,
< геометрический_образ >,<дополнительные_сведения>, (1)
где < ХО >, , < Z0 > - координаты собственной системы координат помещения в общекорабельной системе координат;
, , <Нтах> — габариты помещения (габариты описанного параллелепипеда в случае криволинейных стенок);
< W>, , < Yw>, - объем помещения икоординаты центра объема помещения в собственнойсистеме координат;
< S > — площадь помещения;
< геометрический_образ > — массив ординат теоретического чертежа помещения (каркасной геометрической модели);
< оборудование >, < коммуникации >, < запасы > —ссылки на элементы (списки элементов) соответствующих классов, относящихся к данному помещению;
< описание граней > - ссылки на фреймы класса"конструкции", содержащие описания конструкций,ограничивающих данное помещение.
Каждый элемент фрейма, в свою очередь, описывается некоторым набором полей, который может быть стандартизирован для любого элемента любого фрейма всех классов [4]. Основными полями являются:
- имя элемента - идентификатор, являющийся уникальным во фрейме элементов данного класса, - это единственное отличие в описаниях элементов, принадлежащих к фреймамразных классов;
- указатель наследования, показывающийвозможность определения данного элементафрейма через уже имеющуюся информацию;
- указатель типа данных, к которым относится данный элемент. Наряду с традиционными типами данных, такими как указатель, целый, действительный и др., используются список, таблица, выражение, процедура;
- значение элемента, соответствующее указанному типу;
- демон - процедура, которая автоматически инициализируется при выполнении некоторого условия, связанного со значением элемента,например процедура обработки ситуации выхода значения элемента из некоторого диапазона;
- присоединенная процедура, обрабатывающая информацию, поставляемую другими фреймами для определения значения данного элемента.
Таким образом, подсистема судна описывается в виде набора фреймов, связанных системой ссылок. Реализация связей между подсистемами - это установление системы ссылок между совокупностями фреймо.
В определенной степени поддается этому и стандартизация представления описания судна и на нулевом, системообразующем уровне. Как
правило, "судно в целом" описывается системой уравнений - нагрузки, вместимости, остойчивости и т.д. Данные уравнения представляют собой позиномы (суммы произведений), причем каждое из слагаемых относится к какой-либо подсистеме и, следовательно, может быть определено по значениям элементов относящихся к ней фреймов. Использовав поле <дополнительные_сведения> для представления уникальной информации о "судне в целом", удается стандартизировать все представление фреймов.
С позиции разработки программного обеспечения иерархическая система фреймов может быть естественным образом представлена в виде иерархии нормализованных таблиц.
Рассмотрим структуру САПР судов, построенной с использованием базы знаний (БЗ) на базе фреймов (рис. 2). Задание на проектирование включает в себя:
- имя проекта судна, под которым он будет идентифицироваться системой;
- собственно техническое задание, включающее в себя стандартизированный текст и перечень нормируемых параметров с указанными величинами или диапазонами величин;
- перечень необходимых выходных документов и форму их представления, образующих итоговую информацию по проекту.
Наибольшую часть БЗ представляют декларативные знания, т.е. факты. Ядром этой части БЗ является реляционная таблица "Судно-Подсистемы" (поз. 3 на рис. 2). Кортежами этой таблицы являются все возможные судовые подсистемы первого уровня. Для каждого проекта судна возможен свой состав подсистем. В качестве атрибутов выступают те характеристш подсистем судна, которые необходимы для определения кораблестроительных качесп (свойств) "судна в целом": массы, объемы, координаты центров тяжести и др., а также показатели эффективности и стоимости. Кроме того, в качестве атрибутов выступают указатели да» ной подсистемы в других таблицах, описывающих помещения, оборудование, коммунивции и запасы, а также ссылки на фай.к содержащие дополнительные сведения по пол системе (файлы с той информацией, которая либо не поддается стандартизированному пре ставлению, либо используется нестандартна образом, например таблица ординат теоретического чертежа, описание функционального назначения и т.п.) ( поз.20 на рис. 2).
С таблицей "Судно-Подсистемы" непосредственно связаны таблицы отношений связи (поз. 4, 6, 10, 13 и 16 на рис. 2). Структуры всех этих таблиц совпадают с точностью до идентификаторов полей. Они ставят в соответствие индексы - указатели подсистемы с индексами объектов всех классов в соответствующих таблицах, объединяющих фреймы объектов одного класса. Принцип организации таблиц связи может изменяться в зависимости от требований задания на проектирование. Постоянную (стандартную) часть БЗ для САПР судов определенного типа составляют таблицы, описывающие фреймы объектов отдельных классов, атрибуты которых соответствуют номенклатуре элементов фрейма данного класса. Например, для фрейма "помещение" список атрибутов соответствует (1) (поз. 5, 7, И, 14, 17 на рис. 2).
Описанная структура БЗ оказывается достаточно гибкой, а именно: при необходимости сменить тип проектируемого судна изменяются только указатели на активные кортежи таблицы "Судно-Подсистемы" и регенерируются таблицы связей в соответствии с новыми требованиями (разделами) задания на проектирование. При необходимости увеличения степени детализации представления модели корабля опять корректируются состояния таблиц связей и, возможно, добавляются новые кортежи в таблицы постоянной части БЗ, характеризующие, например, дополнительное оборудование или конструкции. При этом структура всей БЗ кардинальным изменениям не подвергается (в данном случае кардинальными считаются те изменения, которые в принципе могут привести к противоречивости или утрате целостности БЗ).
Благодаря достаточно устойчивой структуре БЗ отпадает необходимость постоянной перестройки механизмов обработки знаний, содержащихся в модулях процедурных знаний. Блок процедурных знаний включает в себя словарь элементов и словарь присоединенных процедур. Словарь элементов содержит список идентификаторов переменных (элементов БЗ) САПР. Для каждого идентификатора указывается имя фрейма, в котором он содержится, а также индекс присоединенной процедуры, с помощью которой он может быть получен. Если индекс присоединенной процедуры не указан, то должна быть создана дополнительная присоединенная процедура, либо данный элемент входит в задание на проектирование судна, либо он должен быть определен константой. Элемент (запись) словаря присоединенных процедур содержит поля: индекс процедуры; идентификаторы переменных, определяемых с помощью процедуры; ссылку на программный модуль, непосредственно реализующий процедуру; список входных параметров, необходимых для выполнения процедуры; признак рекурсивности. Последнее поле элемента словаря содержит индекс порядка обращения к процедуре в расчетной схеме реализации задачи проектирования конкретного типа судна на САПР. Этот элемент может быть установлен как проектантом-исследователем, так и автоматически - при синтезе расчетного алгоритма на основании описаний фреймов и присоединенных процедур. Краткое описание сценария работы САПР на базе фреймовой структуры представления модели судна сводится к следующему:
1. Проектант-исследователь вводит заданиена проектирование выбранного типа судна и проверяет наличие требуемых элементов в БЗ средствами САПР на основании перечня входных данных, содержащихся в задании, и состава выходных докуметов. В случае, если эти элементы имеются, то относящиеся к заданию на проектирование помечаются как константы, а относящиеся к выходным документам - как вычисляемые. Если элеметы входных данных отсутствуют, то производится запрос к пользователю.
2. С помощью словаря элементов определяется номенклатура фреймов и присоединенных процедур. Проверяется соответствие полученной номенклатуры фреймов, содержащейся в таблице "Судно-Подсистемы", системному описанию модели требуемого типа судна. Если- необходимого фрейма (совокупности фреймов)нет, то производится запрос к пользователю, а после ввода требуемых описаний - перегенерация таблиц связи.
3. Выделенной совокупности присоединенных процедур присваиваются соответствующие индексы, устанавливающие порядок определения вычисляемых выходных и промежуточных величин. В случае образования коллизиипроизводится запрос к пользователю и переходиз автоматического режима генерации алгоритма вычислений (реализации математической модели судна) в режим советов пользователю.
4. После генерации математической моделипроектируемого судна осуществляется определение вычисляемых величин и формирование выходных документов с помощью упорядоченной последовательности присоединенных процедур и системы ссылок.
Предложенная структура системы автоматизированного проектирования судов позволит в значительной степени преодолеть проблемы, указанные в начале статьи. Кроме того, фреймовая структура САПР позволяет повысить ее "интеллектуальный" уровень за счет использования математико-лингвистических моделей решения задач компоновки [1], а также шире использовать в САПР новые информационные технологии.
Список литературы
1. Гайкович А.И. Применение современных математических методов в проектировании судов. - Л.: ЛКИ, 1982.
2. Дорин B.C. Общие принципы построения системы автоматизированного проектирования судов //Вопр. судостроения. Сер. 1-2.19. - 1972. - С 3-22.
3. Поспелов Д.А. Логико-лингвистические модели в системах управления.- М.: Энергоиздат, 1981. - 246 с.
4. Представление и использование знаний /Под ред. X.Уэно, М. Исидзука- М.: Мир, 1989.