Введение
использование технологий, основанных на знаниях, в области CAD
Инженерная деятельность, основанная на знаниях (KBE), – это применение технологий систем, основанных на знаниях, к области проектирования и производства. Процесс проектирования по своей сути требует значительных знаний, поэтому основное внимание в KBE уделяется использованию технологий, основанных на знаниях, для поддержки автоматизированного проектирования (CAD). Однако методы, основанные на знаниях (например, управление знаниями), могут применяться на протяжении всего жизненного цикла продукта. Область CAD всегда была в числе первых, кто внедрял методы разработки программного обеспечения, используемые в системах, основанных на знаниях, такие как объектно-ориентированное программирование и системы правил. Инженерная деятельность на основе знаний интегрирует эти технологии с CAD и другими традиционными инженерными программными инструментами. Преимущества KBE включают улучшение взаимодействия в команде проектировщиков благодаря управлению знаниями, повышение повторного использования проектных данных и автоматизацию основных этапов жизненного цикла продукта.
История
KBE был разработан в 1980-х годах. Он являлся частью первой волны инвестиций в искусственный интеллект для бизнеса, которая стимулировала развитие экспертных систем. Как и экспертные системы, KBE опирался на передовые для того времени корпоративные информационные технологии, такие как персональные компьютеры, рабочие станции и клиент-серверные архитектуры. Эти же технологии способствовали росту CAx и CAD-систем. CAD, как правило, стимулировал развитие передовых технологий и даже расширял их текущие границы. Наиболее ярким примером этого стало объектно-ориентированное программирование и технологии баз данных, которые были адаптированы CAD, в то время как большинство корпоративных ИТ-отделов использовали реляционные базы данных и процедурное программирование. Как и экспертные системы, KBE пережил спад во время "зимы ИИ". Также, как и в случае с экспертными системами и технологиями искусственного интеллекта в целом, с развитием Интернета возник новый интерес к этой области. В случае KBE этот интерес был особенно силен в сфере электронной коммерции типа "бизнес для бизнеса" и технологий, облегчающих определение отраслевых стандартов терминологии и онтологий для промышленных изделий. Семантическая сеть – это видение Тима Бернерса-Ли для следующего поколения Интернета, основанного на знаниях и построенного на онтологиях, объектах и фреймовых технологиях, которые также были ключевыми для KBE. Важными технологиями для семантической сети являются XML, RDF и OWL. Семантическая сеть обладает значительным потенциалом для KBE, а онтологии и проекты в области KBE являются перспективным направлением для современных исследований.
KBE и управление жизненным циклом продукта
Управление жизненным циклом продукта (PLM) – это управление процессом производства в любой отрасли, выпускающей товары. Оно может охватывать весь жизненный цикл продукта, от зарождения идеи до реализации, поставки и утилизации. На этом уровне KBE будет решать более общие вопросы, связанные с продуктом, чем CAx. Естественным направлением внимания является производственный процесс, однако управление жизненным циклом может охватывать гораздо больше аспектов, таких как бизнес-планирование, маркетинг и другие. Преимущество использования KBE заключается в интеграции автоматизированных функций рассуждения и управления знаниями, предоставляемых средой, основанной на знаниях, с разнообразными, но взаимосвязанными потребностями управления жизненным циклом. KBE поддерживает процессы принятия решений в области конфигурирования, компромиссных решений, контроля, управления и ряда других областей, включая оптимизацию.
KBE и CAx
CAx относится к области компьютерных инструментов для анализа и проектирования. CAx охватывает множество областей, включая компьютерное проектирование изготавливаемых деталей, программное обеспечение, архитектуру зданий и т.д. Хотя каждая конкретная область применения CAx имеет свои уникальные проблемы и результаты, все они сталкиваются с общими задачами, такими как управление сотрудничеством высококвалифицированных специалистов, проектирование и повторное использование сложных объектов и т.п. По сути, KBE расширяет, развивает и интегрируется с областью CAx, обычно называемой автоматизированным проектированием (CAD). В этом смысле KBE аналогичен Knowledge Based Software Engineering, который расширил область Computer Aided Software Engineering инструментами и технологиями, основанными на знаниях. Как KBSE было для программного обеспечения и CASE, так KBE является для промышленных изделий и CAD. Примером может служить опыт компании Boeing. Программа 777 поставила перед собой задачу создания полностью цифрового самолета, что потребовало инвестиций в масштабные системы, базы данных и рабочие станции для проектирования и инженерного анализа. Учитывая объем необходимых вычислений, KBE получил возможность внедрения, своего рода, по принципу "оплата по факту". Эта стратегия заключалась в демонстрации преимуществ и последующем получении новых задач (подобно гибкой методологии разработки). В рамках программы 777 проект достиг стадии, когда влияние изменений в начальной фазе проектирования и производства (нагрузки) можно было пересчитать за выходные, чтобы обеспечить оценку последующими этапами. Инженеры подключались к процессу по мере необходимости для завершения и утверждения работы. Одновременно с этим, CAx позволил достичь более жестких допусков. Благодаря успеху KBE в рамках программы 777, он был применен в большем количестве областей в последующих проектах. Со временем инструменты KBE были интегрированы в платформу CAx и стали неотъемлемой частью рабочих процессов.
КБО и управление знаниями
Одной из важнейших технологий, основанных на знаниях для KBE, является управление знаниями. Инструменты управления знаниями поддерживают широкий спектр репозиториев, то есть репозитории, способные хранить все типы рабочих артефактов: от неформальных эскизов и заметок до больших таблиц баз данных, мультимедийных и гипертекстовых объектов и т.д. Управление знаниями предоставляет различные средства групповой поддержки, помогающие заинтересованным сторонам сотрудничать при разработке и внедрении продуктов. Оно также предоставляет инструменты для автоматизации процесса проектирования (например, правила) и упрощения повторного использования.
Методология КБЭ
Разработка KBE-приложений связана с требованиями к выявлению, сбору, структурированию, формализации и, в конечном итоге, реализации знаний. Многие различные так называемые KBE-платформы поддерживают только этап реализации, который не всегда является основным препятствием в процессе разработки KBE. Чтобы снизить риски, связанные с разработкой и сопровождением KBE-приложений, необходимо опираться на соответствующую методологию управления знаниями и поддержания их актуальности. В качестве примера такой KBE-методологии, проект ЕС MOKA, "Методология и инструменты, ориентированные на приложения, основанные на знаниях", предлагает решения, которые фокусируются на этапах структурирования и формализации, а также на связи с этапом реализации. Альтернативой MOKA является использование общих методов инженерии знаний, разработанных для экспертных систем в различных отраслях, или общих методологий разработки программного обеспечения, таких как Rational Unified Process или Agile-методы.
Знание-ориентированное программирование против процедурного
Основной компромисс, связанный с представлением знаний в искусственном интеллекте, заключается в балансе между выразительностью и вычислительной сложностью. Как продемонстрировал Левеск в своей классической работе по этой теме, чем мощнее формализм представления знаний, тем ближе он по выразительным возможностям к логике первого порядка. Левеск также показал, что чем ближе язык к логике первого порядка, тем выше вероятность того, что он позволит выражениям, которые будут неразрешимы или потребуют экспоненциального времени вычислений для завершения. При реализации систем KBE этот компромисс проявляется в выборе между мощными средами, основанными на знаниях, и более традиционными процедурными и объектно-ориентированными средами программирования.
Стандартизация против патентов
Существует компромисс между использованием стандартов, таких как STEM, и проприетарными языками, специфичными для поставщиков или бизнеса. Стандартизация облегчает обмен знаниями, интеграцию и повторное использование. Проприетарные форматы (например, CATIA) могут обеспечить конкурентное преимущество и расширенные возможности, превосходящие текущие стандарты. Genworks GDL, коммерческий продукт, ядро которого основано на проекте Gendl, лицензированном по AGPL, решает проблему долговечности приложений, предоставляя ядро декларативного языка высокого уровня, являющееся надмножеством стандартного диалекта языка программирования Lisp (ANSI Common Lisp, или CL). Gendl/GDL сам по себе предлагается в качестве фактического стандарта для языков KBE, основанных на ANSI CL. В 2006 году Объектная группа управления (OMG) опубликовала запрос предложений (RFP) по услугам KBE и запросила обратную связь. На сегодняшний день спецификации OMG для KBE не существует, однако стандарт OMG для услуг CAD существует. Gellish English является примером системно-независимого языка для разработки машиночитаемых онтологий в области KBE.