Формализация технологических знаний при разработке автоматизированных систем
Покупка
Новинка
Тематика:
Автоматика
Год издания: 2014
Кол-во страниц: 138
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-7038-3771-9
Артикул: 842302.01.99
Рассмотрены основы применения решателя инженерных задач, предназначенного для автоматизации решения расчетных и логических задач. Изложены способы описания знаний предметной области с использованием естественного языка и табличных форм представления методик исходных нормативно-справочных документов. Основное внимание уделено процессу создания специалистами информационного обеспечения для автоматизированного решения различных задач технологического проектирования. Приведена методика формализации технологических знаний средствами решателя инженерных задач и ее использование в учебном процессе.
Для студентов старших курсов МГТУ им. Н. Э. Баумана.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 15.03.01: Машиностроение
- 15.03.02: Технологические машины и оборудование
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Московский государственный технический университет имени Н.Э. Баумана О.Ф. Лукьянец, С.Е. Каминский, О.М. Деев Формализация технологических знаний при разработке автоматизированных систем Допущено Учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебного пособия для студентов высших учебных заведений, обучающихся по специальности 151701 «Проектирование технологических машин и комплексов» направлений подготовки 150700 «Машиностроение», 151000 «Технологические машины и оборудование» Москва 2014 1
УДК 627.7: 681.5 (075) ББК 65.050.2 Л84 Издание доступно в электронном виде на портале ebooks.bmstu.ru по адресу: http://ebooks.bmstu.ru/catalog/51/book107.html Факультет «Машиностроительные технологии» Кафедра «Технологии машиностроения» Рецензенты: д-р техн. наук, профессор И.И. Артемов, д-р техн. наук, профессор А.Ю. Албагачиев Лукьянец О.Ф. Л84 Формализация технологических знаний при разработке автоматизированных систем : учеб. пособие / О. Ф. Лукьянец, С. Е. Каминский, О. М. Деев. — М. : Изд-во МГТУ им. Н. Э. Баумана, 2014. — 136, [4] с. : ил. ISBN 978-5-7038-3771-9 Рассмотрены основы применения решателя инженерных задач, предназначенного для автоматизации решения расчетных и логических задач. Изложены способы описания знаний предметной области с использованием естественного языка и табличных форм представления методик исходных нормативно-справочных документов. Основное внимание уделено процессу создания специалистами информационного обеспечения для автоматизированного решения различных задач технологического проектирования. Приведена методика формализации технологических знаний средствами решателя инженерных задач и ее использование в учебном процессе. Для студентов старших курсов МГТУ им. Н.Э. Баумана. УДК 627.7: 681.5 (075) ББК 65.050.2 МГТУ им. Н.Э. Баумана, 2014 Оформление. Издательство ISBN 978-5-7038-3771-9 МГТУ им. Н.Э. Баумана, 2014 2
Введение При решении задач технологического проектирования в процессе выполнения работ по технологической подготовке производства инженеры-технологи используют разнообразную нормативную и справочную документацию, представленную как на бумажных носителях, так и в электронном виде. Применение автоматизированных систем для решения задач технологического проектирования до сих пор еще недостаточно распространено. Основной причиной этого являются как большие объемы накопленных знаний и справочной информации, так и сложность формализации решений многих прикладных задач. Все это делает практическую разработку таких систем чрезвычайно трудоемкой, требует привлечения к работе не только технологов, но и программистов. Значительного сокращения трудоемкости создания прикладных автоматизированных систем технологического проектирования и повышения их качества можно добиться, если такие системы смогут разрабатывать, изменять и дополнять сами пользователи — инженеры-технологи. В учебном пособии рассмотрена технология разработки прикладных автоматизированных систем технологического проектирования, ориентированная на ее применение специалистами для решения практических задач в своих предметных областях. Для автоматизированного поиска решений используется специальное программное обеспечение, которое по своей структуре и функциональным возможностям представляет собой оболочку простой экспертной системы [1]. Экспертная система является простой в том смысле, что предназначена для автоматизации применения известных знаний, а не для генерации новых знаний. Преимущество использования технологии экспертных систем заключается в том, что она не требует подробной алгоритмизации решения всей прикладной задачи, а простой язык описания задач позволяет отказаться от услуг программистов, сократить время, необходимое для разработки прикладных систем автоматизации, повысить их качество и уменьшить финансовые затраты. 3
В пособии приведено описание программной системы, которая включает в себя компоненты поиска и поддержки решения прикладных задач. Компонент поддержки решения помогает пользователю взаимодействовать с главной программой и содержит средства редактирования, отладки, тестирования, а также развитые средства ввода/вывода информации. Построение прикладных автоматизированных систем осуществляется с помощью естественного языка программирования, который отличается от специальных языков программирования тем, что обеспечивает формальное описание технологических знаний в явном и доступном виде посредством использования терминологии предметной области и привычных форм документов. Основой рассматриваемой в учебном пособии технологии разработки прикладных автоматизированных систем проектирования является формализация и структурирование исходных технических и технологических знаний (фактов) с целью упрощения автоматизированного поиска и принятия решений. При этом формализованные знания организуются в такой форме, которая дает возможность их накапливать, а затем использовать для автоматизированного поиска решений прикладных задач по простым формальным правилам. Комплекс программ, работающий со знаниями, организованными подобным образом, также называют системой, основанной на знаниях. Знания о предметной области в такой системе отделены от остальных программ, выражены в явном виде и организованы так, чтобы упростить поиск и принятие решений. Формализованные знания о предметной области называют базой знаний, а программу, реализующую процесс поиска и принятия решений задач, — решателем или машиной вывода. Структура системы, основанной на знаниях, представлена на рис. В1. Эта система включает в себя несколько относительно независимых друг от друга компонентов: средства приобретения знаний — пользовательский интерфейс, позволяющий вводить знания в виде элементарных фрагментов и выполняющий их автоматизированное преобразование для дальнейшего использования решателем; базу знаний — модуль хранения особым способом элементарных фрагментов решений предметной области и их логической взаимосвязи; 4
решатель (машину вывода) — программный модуль, использующий входные данные и базу знаний. Алгоритмы, заложенные в решатель, позволяют находить взаимосвязи объектов базы знаний и строить логические последовательности вывода; средства объяснения — модуль отображения пояснений к процессу получения решения и обеспечения визуального контроля правильности получаемых результатов; интерфейс запросов — модуль, обеспечивающий работу непосредственного пользователя прикладной системы. Интерфейс запросов может быть визуальным (при прямой работе с системой) или программным (при использовании в работе с системой внешних вызовов). Интерфейс запросов Ввод/вывод данных поиска решений Визуальный пользовательский интерфейс. Программный интерфейс Средства управления функциональностью Использование истории предыдущего поиска, включение учета весовых критериев и т. п. Средства объяснения Критерии выбора пути поиска. Визуализация процесса поиска в виде трассы последовательности определения параметров РЕШАТЕЛЬ (машина вывода) Использование известных фактов БАЗА ЗНАНИЙ Фрагменты технологических знаний, готовые к использованию машиной вывода. Словарь и информационные блоки для различных технологических задач Средства формализации знаний Внешний интерфейс подготовки словаря и информационных блоков. Предварительная обработка и преобразование в машинное представление фрагментов технологических знаний Исходные технологические знания (факты) Рис. В1. Структура системы, основанной на знаниях 5
При описании этапов формализации знаний в пособии использованы следующие термины. Знания (технические знания, технологические знания) — общие понятия, включающие различные сведения, с помощью которых можно находить решения прикладных задач. Форма представления этих знаний традиционная: справочные таблицы, расчетные формулы, методики и т. п. При разработке систем автоматизированного решения прикладных задач эти знания выступают в качестве исходных. Предметная область — область знаний, связанная с конкретной прикладной деятельностью человека, с решением разнообразных прикладных задач. В пособии в качестве примера рассмотрен один из этапов технологического проектирования — расчет режимов резания и норм времени. Поиск решения — процесс применения исходных знаний для выбора решения конкретной прикладной задачи с помощью машины вывода — решателя. Предполагается существование однозначного решения задачи, поэтому его поиск выполняется по формальным правилам. Формализация знаний с помощью формальных правил является основной для большинства задач технологического проектирования. Правило представляет собой выражение вида ЕСЛИ (условие), ТО (решение). Сопоставление части ЕСЛИ с входными данными порождает цепочку выводов. Цепочка выводов, образованная последовательным применением формальных правил, показывает, как автоматизированная система использует их для нахождения решения задачи. Формальные правила обеспечивают естественный способ описания процессов управления ходом решения задачи. Отметим, что в программе традиционного типа схема передачи управления данными и их использования предопределена в самой программе: обработка данных в ней осуществляется последовательными шагами, а ветвление алгоритма происходит только в заранее выбранных точках. При решении реальных задач технологического проектирования ветвление алгоритма — скорее норма, чем исключение, и в связи с этим традиционный способ разработки программ малоэффективен. Поэтому в автоматизированной системе, предназначенной для решения задач технологического проек 6
тирования, ход решения задачи должен управляться самими данными. Формальные правила дают возможность на каждом шаге поиска решения оценивать данные и предпринимать соответствующие действия. Использование этих правил упрощает объяснение того, что и как сделала программа и каким способом она пришла к конкретному результату при решении задачи. Термин — слово или словосочетание, являющееся точным обозначением определенного понятия в области техники и технологии. Термины используются при описании предметной области в технической литературе, т. е. при неформальном описании технических и технологических решений. Параметры — названия свойств объектов предметной области, применяемые в процессе автоматизированного поиска решений. Определение параметра может полностью совпадать с определением соответствующего термина. Совокупность параметров обусловливает терминологию предметной области в системе автоматизированного проектирования. При формальном описании процесса поиска решений параметр является переменной величиной и имеет свои значения. Данные — конкретные значения, которые могут принимать параметры в процессе поиска решений. Факты — часть исходных знаний, содержащая формулы, значения коэффициентов, констант, а также конкретные проектные решения и рекомендации. Проектная процедура — совокупность действий по определению значений одних параметров по значениям других. Проектная процедура является составной частью процесса поиска решений. Как формальный, так и неформальный поиск решений может быть разделен на отдельные проектные процедуры. Проектная процедура характеризуется наборами входных и выходных параметров, а также условиями, ограничивающими ее применение. Информация — общее понятие для совокупности конкретных сведений о параметрах и данных предметной области, используемых при решении прикладной задачи. Информацию называют исходной, если она известна до решения задачи, и промежуточной (производной), если она получена при решении задачи в процессе преобразования исходной информации в проектных процедурах. Контекст (область контекста) — информация, уточняющая и сужающая область применения проектных процедур. При реше 7
нии конкретной прикладной задачи контекст будет описываться определенным набором параметров (влияющих факторов) и их значений, задающих применимость отдельной проектной процедуры. Как же традиционно представлен основной объем знаний, с которыми работает инженер-технолог? Прежде всего — это нормативы, представляющие собой совокупность таблиц, которые в справочниках часто называют картами. Карта — это нормативная таблица, как правило, сложной и произвольной структуры. В частности, карты с технологическими нормативами составляют основное содержание справочников по расчетам режимов резания и норм времени [2]. Для технологических знаний таблицы — это привычная и естественная форма записи правил использования содержащихся в них фактов. На первый взгляд нормативные таблицы — наиболее формализованная часть представления информации, но это не совсем так. Если эти таблицы имеют произвольную структуру и дополнительно сопровождаются многочисленными комментариями и пояснениями по использованию содержащихся в них данных, то непосредственно применять их для автоматизированного поиска решений становится невозможным. В связи с этим одной из основных задач формализации технологических знаний является переработка сложных исходных таблиц, карт и комментариев в несколько простых таблиц: фрагментов решения задачи и условий их применимости. В пособии подробно рассмотрено использование простейшей двухвходовой таблицы традиционной формы. На рис. В2 приведена структура этой таблицы в соответствии с ГОСТ 25762–83 [3]. Расчеты по формулам — неотъемлемая часть любого процесса технологического проектирования. Последовательность применения формул определяется алгоритмом расчета и достаточностью данных для его выполнения. Расчетные формулы используют данные, полученные из нормативных таблиц. Кроме того, они сами являются источником получения промежуточных данных, необходимых для выбора значений параметров из других таблиц. Описание процедуры получения тех или иных расчетных данных является основой методики расчетов. Иногда это достаточно четкий алгоритм, однако распространено и неявное описание последовательности действий, которые необходимо выполнить для получения желаемого результата. Часто вместо четкого алгоритма приводится только пример 8
расчета, поясняющий возможное использование таблиц и формул. Для автоматизированного решения задачи расчетная методика должна быть представлена набором небольших взаимосвязанных фрагментов, которые затем формализуются в виде комплекта двухвходовых таблиц с фрагментами расчета и логически взаимосвязанными условиями их применения. ВХОД 2 Заголовки граф ВХОД 1 Параметр 2 Параметр 1 Значение_1 ____…____ Значение_m Значение 1 Решение 1,1 Значение 2 Решение 1,2 Строки … Подзаголовки граф, значения второго входного параметра Значение n Решение n,m Графы Ячейка Графа заголовков строк, используется для указания значений первого входного параметр Рис. В2. Простейшая (базовая) двухвходовая таблица (соответствует ГОСТ 2.105–95) Практика формализации технологических знаний для систем автоматизированного проектирования показывает, что основные проблемы формализации связаны с невысоким качеством исходных знаний: неопределенностью понятий, нечеткостью формулировок, методик, наличием описок и ошибок. При неавтоматизированном проектировании эти проблемы снимаются квалифицированным специалистом непосредственно в ходе решения прикладных задач. Для автоматизированного решения задач знания должны быть строго формализованы по специальным правилам на этапе разработки информационного обеспечения. 9
1. ОСНОВЫ ФОРМАЛИЗАЦИИ ТЕХНОЛОГИЧЕСКИХ ЗНАНИЙ 1.1. Терминологический словарь языка программирования прикладных задач Для того чтобы специалисты предметной области могли понимать друг друга они должны: во-первых, применять одну и ту же терминологию; во-вторых, вкладывать в используемые понятия один и тот же смысл. Термины и определения понятий — важная часть неформального представления технических (технологических) знаний. Термины современного машиностроения во многом устоялись, а их определения в виде соответствующих текстов и графических иллюстраций представлены в широко известных источниках: международных, государственных и отраслевых стандартах, энциклопедических и специализированных технических словарях и справочниках, специальной технической литературе и учебниках [4–15]. Термины и определения, включенные в стандарты, обязательны для применения в документации всех видов, а также в научно-технической, учебной и справочной литературе. При программной реализации процесса решения технологической задачи знания описываются с использованием параметров — переменных величин, которым соответствуют реальные понятия и термины предметной области. Чтобы описание задачи в системе автоматизированного поиска решений было доступно прикладному специалисту, оно должно быть выражено в явном виде. Для этого в качестве наименований параметров следует использовать наименования терминов, принятые в соответствующей предметной области. Важность этой особенности системы, основанной на знаниях (см. рис. В1), трудно переоценить, поскольку формализованные знания — основа системы автоматизированного поиска 10