ICAD
ICAD — система инженерии на основе знаний(англ. Knowledge-Based Engineering, KBE),[1] предназначенная для кодирования и семантического представления инженерных знаний с возможностью генерации выходных файлов для Parasolid. ICAD обладает открытой архитектурой, которая позволяет использовать все возможности и гибкость базового языка.
Реализация
KBE, реализованная через ICAD, привлекла значительное внимание благодаря впечатляющим результатам, достигавшимся небольшими усилиями. ICAD стала примером пользовательских вычислений, не имеющим аналогов: большинство разработчиков ICAD имели высшее инженерное образование, а разрабатываемые ими системы отличались высокой сложностью и состояли из сложного кода. В области пользовательских вычислений ICAD стала первой системой, позволившей пользователям использовать возможности инструментов предметной области и расширять функциональность в соответствии с потребностями и определениями эксперта-практика или эксперта по предметной области (SME).
В публикации на сайте COE[2] была рассмотрена "вспышка" ожиданий (Зима искусственного интеллекта), которые оказалось невозможным поддержать. Тем не менее, разочарование не отменяет саму возможность применения подобных решений при реалистичных ожиданиях и грамотном управлении.
История
Изначально ICAD была реализована на Lisp-машине. К числу разработчиков относились Ларри Розенфельд[3], Аврум Белзер, Патрик М. О’Киф, Филип Гринспан и Дэвид Ф. Плейс. Разработка велась в 1984–1985 годах[4][5].
Первоначально ICAD работала на специализированном оборудовании Symbolics Lisp и была портирована на систему Unix после появления переносимой реализации Common Lisp для рабочих станций общего назначения.
Исходно областью применения были инженерные задачи в машиностроении, при этом было реализовано множество успешных приложений. Однако ICAD применялась и в других областях, таких как электротехника, моделирование форм и др. Примером проекта может служить проектирование аэродинамической трубы или создание инструмента поддержки многодисциплинарного проектирования самолётов[6][7][8]. Дополнительные примеры приведены в ежегодных материалах Международной группы пользователей ICAD (IIUG), публиковавшихся в архиве KTI[9] (1999–2002)[10]. В 1990-х и начале XXI века ICAD широко использовалась компаниями Boeing и Airbus для различных проектных задач.
По состоянию на 2003 год ICAD оставалась заметным инструментом, о чём свидетельствует, например, презентация Product Vision and Strategy. После 2003 года использование ICAD резко сократилось: в конце 2001 года компания KTI столкнулась с финансовыми трудностями и уволила большую часть ключевых сотрудников, после чего была приобретена компанией Dassault Systèmes, которая фактически свернула развитие продукта.
Система ICAD была очень дорогой и относилась к ценовой категории профессиональных решений. Рыночная конъюнктура не поддерживала столь высокую стоимость, особенно в условиях недостаточной разницы между ICAD и более доступными по цене системами (или на фоне обещаний Dassault). KTI была полностью интегрирована в структуру Dassault Systèmes, и с тех пор ICAD не рассматривается этой компанией как перспективное решение для КВЕ-задач. Dassault Systèmes развивает линейку средств на базе пятой версии своей CAD-системы CATIA, где роль ICAD выполняет модуль Knowledgeware.
На 2005 год ситуация оставалась неопределённой. ICAD 8.3 оставалась доступной. На последней конференции COE по аэрокосмической отрасли обсуждались перспективы КВЕ; одной из тем стала проблема "мета-"уровней в компьютерных моделях. Каким образом эта проблема будет решена — внедрением большего числа графических элементов или расширяемых внешних языков, — оставалось неясным.
Продукт Genworks GDL (включая ядро из проекта Gendl) — функционально близкая альтернатива ICAD, доступная на сегодняшний день.
Технические особенности
ICAD предоставляла декларативный язык IDL, реализованный с помощью New Flavors (никогда не был переведён на Common Lisp Object System (CLOS)). Язык обеспечивал механизм иерархических связей между частями (defpart). Технически, конструкция ICAD defpart реализована как макрос Lisp; список defpart — это набор обобщённых классов, которые могут быть инстанцированы с разными свойствами в зависимости от моделируемой сущности. Этот список мог расширяться через составные части, отражающие элементы предметной области. Дополнительно, помимо отношений "часть–подчасть", ICAD поддерживала обобщённые отношения через объектное моделирование средствами Lisp.
К примеру, при проектировании крыла самолёта число элементов крепежа и вариантов их размещения может достигать тысяч, и каждая позиция требует индивидуальной оценки набора параметров, влияющих на результат проектирования.
Проблемы и перспективы КВЕ
ICAD может рассматриваться как прототип для всех современных систем КВЕ — для всестороннего анализа необходима более полная информация за последние 15 лет (многие данные до сих пор недоступны ввиду корпоративной и коммерческой тайны). С распространением функциональных языков программирования (например, Haskell), часть потенциала, реализованного на Lisp, возможно, воспроизводится в новых технологиях.
Примечания
Литература
- Switlik J. M. Practical issues of AI (1994) — основываясь на проекте ICAD. [1]
- Switlik, J.M. Geometric/Knowledge Modeling Challenges — ICAD Surfacing Project. Архив
- Research group that used to work with ICAD: Systems Engineering and Aircraft Design, Faculty of Aerospace Engineering, Delft University of Technology, The Netherlands. [2]Systems Engineering and Aircraft Design, Faculty of Aerospace Engineering, Delft University of Technology (англ.). lr.tudelft.nl. Дата обращения: 11 апреля 2017.
- Бесплатная книга о технологиях знаний — Nick Milton. Глава 3 (КВЕ, автор Gianfranco La Rocca, TU Delft) Архив


