Волков В.В. () - , Мешков С.А. () - , Норов A.T. () - | |
Ключевое слово: |
|
Ключевое слово: |
|
|
Основные принципы объектно-ориентированного подхода, предлагаемые авторами, разработаны как на основе общесистемных понятий автоматизации научных исследований, так и в процессе совместной практической реализации систем автоматизации исследовательского проектирования (САИПР). Относительная простота и отсутствие формально-математического аппарата не есть следствие пренебрежения строгостью теоретических изысканий, но результат естественного стремления к быстрой практической реализации. Современные системы исследовательского проектирования, как правило, не реализуют достаточно гибкой единой системо-образующей технологии и поэтому обладают рядом существенных недостатков. Накопленный научно-методический потенциал не может быть эффективно использован в рамках существующих САИПР, поскольку в них отсутствуют удобные средства классификации, структуризации, накопления и поиска методов проектных исследований, алгоритмических и процедурных знаний. Кроме того, отсутствие современных средств, позволяющих проектантам оперировать в традиционных для кораблестроения терминах и понятиях, существенно сдерживает расширение круга пользователей таких систем. Классическая модель разработки программного обеспечения таких крупных и сложных систем, как системы автоматизированного проектирования кораблей, не предполагает информационной технологии, позволяющей практически реализовать принципы системного подхода. Опыт разработки и эксплуатации САИПР показал, что программные системы на базе классической модели "программы+данные" могут в большинстве случаев эффективно эксплуатироваться только их разработчиками, что принципиально противоречит основополагающим целям разработки таких систем. Системы автоматизации проектирования традиционного типа довольно жестко настроены на определенную модель конкретного предмета проектирования или в лучшем случае на определенный, достаточно узкий класс моделей. При исследовательском проектировании сама модель предмета исследования реально является динамически изменяемой, многовариантной, и жесткость структур данных и процедур становится препятствием для успешного и эффективного их использования. По сравнению с традиционными методами объектно-ориентированная технология обладает следующими преимуществами: -возможность оперативной сборки корректных прикладных программ из готовых модулей; -наличие естественных средств создания привычной семантической среды для проектных исследований; - возможность унификации форм представления информации для взаимодействия между различными категориями разработчиков и проектантов-исследователей; - возможность управления специальной деятельностью проектантов-исследователей в рамках общей стратегии проектных исследований. Вместе с тем использование объектно-ориентированной технологии требует: • проведения значительных предварительных исследований по вопросам: - разработка варианта(ов) классификации используемых объектов (корабля, его подсистем и элементов); - структуризация понятий предметной области, методов и методик проектирования; • разработки: - программной поддержки для описания объектов и их функциональности в терминах предметной области; - интегрированной среды разработки моделей и проведения вычислительных экспериментов. Объектно-ориентированный подход к автоматизации проектирования и/или научных исследований - это естественный способ осмысления и структуризации процесса построения моделей реального мира. Термин "объектно-ориентированный" означает, что мы разрабатываем модель предмета проектирования/исследования как структуру данных, включающую набор объектов, каждый из которых объединяет конкретную информацию (совокупность данных) и определенное поведение (набор допустимых операций). В этом аспекте излагаемый подход может быть противопоставлен традиционному, при котором такое объединение не фиксируется. Для объектно-ориентированного подхода характерно присутствие следующих четырех аспектов: идентификации, классификации, полиморфизма и наследования. Идентификация означает, что вся совокупность рассматриваемой в рамках модели информации сгруппирована в отдельные, различаемые элементы, называемые объектами. Классификация означает, что объекты с одинаковыми наборами атрибутов и поведением группируются в классы. Каждый объект относится к некоторому классу, и в качестве экземпляра этого класса имеет собственные значения для каждого из атрибутов, но разделяет имена атрибутов и операций с другими экземплярами этого класса. Полиморфизм означает, что одна и та же операция может определять различное поведение для различных классов. Операция - это действие или преобразование, выполняющееся объектом, или выполняемое над ним. Реализацию операции в рамках определенного класса будем называть методом. Можно сказать, что каждый объект "знает", как производить собственные операции -посредством методов своего класса. Поэтому исследователю не нужно думать о всей совокупности методов, существующих для реализации данной полиморфной операции. При этом новые классы могут быть добавлены без переработки существующей модели, поскольку они обеспечивают собственные методы, реализующие специфическое поведение этих классов. Наследование - это разделение атрибутов и операций между классами, основанное на иерархических взаимосвязях. Сущность отношения наследования заключается в том, что каждый класс наследует все свойства своих предков и, как правило, добавляет еще и собственные, уникальные. Таким образом, объектно-ориентированные модели обладают свойством расширяемости, которое является естественным результатом наследования. Последовательное применение объектно-ориентированного проектирования позволяет использовать существующие классы, модели и объекты в других исследованиях и проектах, обеспечивая реальную возможность накапливать знания в виде алгоритмов и методов исследования, в конечном итоге создавая библиотеки таких знаний. В основе объектно-ориентированной технологии лежат также принципы абстракции и инкапсуляции. Хотя они присущи не только объектно-ориентированным системам, их последовательное проведение является характерным свойством объектно-ориентированного подхода. Абстракция заключается в выделении существенных свойств предмета и игнорировании случайных свойств. Большинство современных языков программирования обеспечивают абстракцию данных, но возможность использовать наследование и полиморфизм придают этому принципу дополнительную мощность. Инкапсуляция (сокрытие информации) заключается в отделении внешних аспектов объекта, которые доступны другим объектам, от внутренней реализации деталей объекта, которые скрыты от других объектов. При этом реализация объекта может быть изменена без какой-либо модификации модели, его использующей. Технология объектно-ориентированного подхода в САИПР предназначена для выполнения следующих функций: - обеспечения единства подходов в рамках САИПР к структуризации и средствам обработки информации; - концентрации интеллектуальных, алгоритмических и процедурных знаний для различных проектных задач; - управления проведением проектных исследований и получения выходных документов установленных форм; - создания и управления программными средствами семантики конечного пользователя; - подготовки информационно-программной среды для автоматизации разработки новых моделей исследований. Под моделью предмета исследовательского проектирования здесь будет пониматься совокупность объектов вместе с определенной структурой связей между ними, отражающей значимые для целей конкретной задачи исследовательского проектирования свойства и качества реального предмета проектирования и в силу этого позволяющей проведение определенного набора вычислительных экспериментов. Модель предмета проектирования - совокупность объектов, являющихся частными моделями компонентов или аспектов предмета проектирования, связанных в одну или несколько древовидных структур. При этом для одного и того же объекта допускается вхождение в несколько древовидных структур одновременно. Древовидные структуры модели отражают декомпозицию предмета проектирования по различным критериям или различные аспекты рассмотрения предмета проектирования. Отношения между составляющими модель объектами должны быть достаточно богаты, чтобы обеспечивать единство и относительную стабильность ее. Представляется разумным потребовать, чтобы совокупность отношений (ссылок) между объектами составляла некоторую типовую структуру. К общеизвестным типовым структурам относятся (линейный или кольцевой) список, дерево (с его разновидностями) и сеть (то есть произвольный граф). Не накладывая категорических ограничений на допустимые в рассматриваемых моделях структуры, в рамках настоящего подхода представляется целесообразным принять в качестве основной древовидную структуру. В пользу этого говорят следующие соображения. 1. Для исключительно широкого класса предметов и явлений реального мира (сложные технические объекты, управленческие структуры, файловые системы и т.д.) имеются и используются на практике модели с древовидной структурой. 2. Обычно применяемый для построения моделей сложных систем метод декомпозиции также приводит к древовидной структуре модели. 3. Древовидная структура, в отличие от списковой, достаточно богата, чтобы отражать чрезвычайно распространенные в реальном мире отношения иерархического характера: отношения подчинения, включения и т.п. 4. Древовидная структура, в отличие от общей сетевой, достаточно обозрима и допускает известные алгоритмы просмотра, обхода, поиска и т.п. Каждый объект в соответствии с принципами объектно-ориентированной технологии является экземпляром некоторого класса. Поэтому каждая модель существует только в контексте совокупности доступных в текущий момент классов. Отношение наследования наделяет совокупность классов некоторой частично-упорядоченной структурой, которая, вообще говоря, в силу возможности множественного наследования не является древовидной. Допущение множественного наследования делает структуру модели гораздо богаче, но в этом случае возникают определенные формальные проблемы, связанные с разрешением возможных конфликтов между порождающими классами. Однако приемлемое решение, как правило, достижимо. Процесс классификации предмета исследования может уже изначально являться предметом раздора со стороны различных групп проектантов либо из-за реально существующих различных принципов классификации, отвечающих целям конкретных частных исследований, либо из-за вкусовых пристрастий. Поэтому наряду с некоторым базовым набором классов (например структурированных по геометрическому и функциональному принципам), не вызывающих сомнений в научной истинности и не страдающих излишней детализацией, в САИПР должна существовать технологическая дисциплина классификации и семантического наполнения, обеспечивающая, как минимум, следующие возможности: - определение классов; - порождение классов, включая множественное наследование; - определение новых данных и методов классов. Следует подчеркнуть, что процесс построения иерархии классов концептуально наиболее труден. Определение классов и объектов - одна из самых сложных задач объектной технологии. В настоящее время авторами предпринимается попытка разработки общей классификации ключевых объектов предметной области исследовательского проектирования с целью построения варианта упорядоченных системных знаний об изучаемом круге явлений при исследовательском проектировании кораблей и судов. Базовый вариант классификации будет заложен в реализацию конкретной САИПР, в разработке которой принимают участие авторы. Один и тот же предмет может быть структурирован разнообразно при рассмотрении его в различных аспектах. При этом зачастую оказывается необходимой работа с различными структурами одновременно. Типичный пример такой ситуации - наличие функционального и пространственного аспектов. Отсюда проистекает необходимость поддержки моделей, совокупность отношений которых образует две или более структуры. При этом в составе модели могут присутствовать объекты, принадлежащие лишь к некоторым из имеющихся в ней структур. Предполагаемый сценарий проведения конкретного исследования состоит из следующих основных стадий: - выбор прототипа модели и его необходимая модификация для достижения целей конкретного исследования; - планирование, подготовка и проведение вычислительного эксперимента; - анализ результатов вычислительного эксперимента и генерация отчетной документации. Под прототипом понимается уже существующая модель предмета исследовательского проектирования. Модификация и развитие прототипа включает создание новых экземпляров используемых в прототипе классов, а также создание новых классов, наследуемых от уже используемых в прототипе, и их экземпляров. В силу известного предубеждения проектанта и пользователя вообще к вводу данных до начала эксплуатации среды исследовательского проектирования должен быть разработан некоторый стартовый набор прототипов, допускающих проведение основных классов исследований. Процесс создания модели включает все или некоторые из следующих технологических процедур: - определение состава и структуры модели; - определение состава математических операций над моделью (оптимизация, редуцирование и т.п.); - отладка методической части модели. В общем случае модель может являть собой алгоритмический элемент, и ее можно рассматривать как метод предопределенного системного объекта "Моделирование". Операции над моделью, ставшие ее свойствами на основе методов, наследуемых из системного объекта, придают любой порожденной модели особый интеллектуальный привкус, поскольку в данном случае средствами САИПР создается объект, способный к собственной, например, оптимизации либо к самостоятельному расчету инерционных и массогабаритных характеристик, если применяемая геометрическая модель допускает такую возможность. Включение объекта в те или иные древовидные структуры модели определяется при создании класса посредством наследования от соответствующих вспомогательных классов, реализующих требуемые структуры. Один и тот же реальный объект, то есть предмет реального мира или нашего мышления, интересующий нас как прототип некоторой объектно-ориентированной модели, может иметь модели различных уровней детализации. В объектно-ориентированной среде эта концепция реализуется с использованием механизма наследования, поскольку более детализированная модель должна по крайней мере обеспечивать тот же интерфейс с более глобальными моделями. В части параллельной работы с моделями одного и того же реального объекта САИПР должна предоставлять возможности динамической замены отдельных объектов модели на аналогичные, но другого уровня детализации с контролем допустимости такой замены и с сохранением значений семантически соответствующих полей данных. Под планированием вычислительного эксперимента понимается определение последовательности выполнения доступных в конкретном исследовании вычислительных процедур (главным образом определенных методов объектов, входящих в модель) и совокупности исследуемых вариантов для последующего сравнительного и/или статистического анализа. Подготовка вычислительного эксперимента осуществляется непосредственно перед его проведением и включает: - при использовании уже имеющегося определения вычислительного эксперимента его модификацию; - определение конкретных значений условно-постоянных параметров и характеристик изменения варьируемых параметров; - определение совокупности и формы представления результатов вычислительного эксперимента. Проведение вычислительного эксперимента включает непосредственно запуск подготовленной задачи на счет, наблюдение за процессом счета и обеспечение соответствующих реакций при возникновении необычных или ошибочных ситуаций. Под задачей в данном случае понимается сформированное определение вычислительного эксперимента вместе с заданными значениями необходимых данных и/или характеристик их варьирования. В рамках САИПР должны существовать две разновидности непосредственно выполнимых алгоритмических элементов: - непосредственно вызываемые методы; - сценарии. Совокупность непосредственно вызываемых методов по умолчанию включает все методы, которые не изменяют состояния объекта. Сценарий - алгоритмический элемент, оформляемый аналогично методу любого объекта. Содержательно его можно рассматривать как метод предопределенного системного объекта "Исследование". Сценарии создаются пользователем, которому предоставляются все возможности языка описания методов. Кроме того, имеются предопределенные шаблоны сценариев, реализующие наиболее типовые алгоритмы (например просчет набора вариантов с изменением указанных параметров в определенных пределах с необходимым шагом). Кроме того, возможно создание методов и сценариев, позволяющих: - получить с графического образа посредством клавиатуры или манипулятора новые значения некоторых параметров (например координат элементов размещения); - осуществить соответствующие расчеты; - отобразить на графическом образе полученные результаты. Средства управления проектом обеспечивают возможность совместной работы коллектива исполнителей, в том числе в условиях ЛВС. Этот аспект уместнее отнести к вопросу реализации объектно-ориентированной технологии. Отметим только, что в концептуальном плане проект представляет собой набор управляемых ресурсов, включающий структуру классов, модель или набор моделей и их структурные составляющие, а также права доступа участников проекта к ресурсам. Объекты как элементы модели, допускающие их изображение на геометрическом образе корабля, должны удовлетворять определенным условиям по наследованию и иметь специальные методы, обеспечивающие их отрисовку, методы общесистемной визуализации, наследуемые, возможно, от предопределенного объекта "Геометрическая модель" и позволяющие производить над геометрической моделью групповые операции (удаление невидимых линий, закраска и т.п.). Кроме этого, такие элементы модели должны содержать структуру данных, описывающую их геометрический образ. Подобная структура данных может быть создана и изменена с помощью графического редактора. На основе изложенного принципа САИПР обеспечивает возможность представления моделей в "натурализованном" виде, то есть в виде геометрических образов, близких к привычным для пользователя изображениям моделируемого предмета проектирования и его подсистем. При этом обеспечивается также возможность "обратной связи", то есть изменения параметров модели посредством манипуляций с ее геометрическим изображением. На завершающей стадии вычислительного эксперимента САИПР должна обеспечивать выбор подлежащих включению в отчетную документацию результатов вычислительного эксперимента (таблиц, геометрических образов, текстовых файлов и т.п.), удобный визуальный интерфейс с общесистемными средствами визуализации результатов исследования (с генераторами экранных форм, отчетов, графиков, диаграмм, с системой геометрического моделирования и т.п.) и возможность оперативной навигации по совокупности данных, представляющих результаты деятельности отдельных подсистем САИПР. Необходимо подчеркнуть, что аналогично элементам модели, допускающим их графическое изображение на геометрическом образе корабля, выходные либо транзитные документы также можно считать элементами модели, которые могут иметь специальные методы своего графического представления. Эти элементы в состоянии наследовать методы общесистемного документирования от предопределенного объекта "Документация САИПР", позволяющие, к примеру, в рамках одного сценария или эксперимента автоматически получать полный комплект документации, определенный проектантом для целей конкретного исследования. |
http://swsys.ru/index.php?id=1059&lang=.&page=article |
|