УДК 004.021
МЕТОДИКА РАЗРАБОТКИ ИНФОРМАЦИОННОЙ СИСТЕМЫ СИНТЕЗА ПРОЦЕДУР ВНУТРИЛАБОРАТОРНОГО КОНТРОЛЯ КАЧЕСТВА
В.П. Григорьев*, А.Г. Терещенко**, С.В. Щелканов**
*Томский политехнический университет **Институт физики высоких технологий Томского политехнического университета
Разработана методика автоматизации множества вычислительных процедур, основанная на конфигурировании и интерпретации вычислительной процедуры средствами особых информационных систем. Разработана обобщенная модель алгоритмов внутрилабораторного контроля качества на основе автоматного программирования и методов теории графов. Подробно описаны результаты моделирования таких систем.
Ключевые слова:
Лабораторные информационно-управляющие системы, внутрилабораторный контроль, конструктор алгоритмов.
Key words:
Laboratory information management systems, internal laboratory verification, algorithm constructor.
Введение
Аналитическая лаборатория (АЛ) является важной частью производственных организаций различных отраслей. Независимо от формы организации, на всех промышленных предприятиях она выполняет определенные задачи, основной целью которых является контроль качества изготовления производимой продукции.
Аналитический контроль производства включает в себя практическое применение теории и методов аналитической химии к определению состава конкретных объектов какого-либо производства. Под аналитическим контролем понимают выполнение
всей последовательности операций по отбору и подготовке аналитических проб, их
количественный анализ с целью нахождения оценок истинного содержания компонентов в веществе, партиях, материалах, оценке различных параметров и свойств контролируемых образцов [1].
АЛ, в соответствии с федеральным законом «О техническом регулировании», несет ответственность за недостоверность или необъективность результатов измерений. Поэтому органами, проводящими аккредитацию лаборатории, предъявляется ряд требований, в том числе - наличие и функционирование системы контроля качества получаемых результатов анализа. Данная система состоит из нескольких элементов (контроль правильности применения нормативных документов (НД), контроль правильности выполнения измерений и т. д.), среди которых особо выделяется внутрилабораторный контроль качества результатов количественного химического анализа (ВЛК).
Григорьев Владимир
Петро-вич, д-р физ.-мат. наук, проф., заведующий кафедрой прикладной математики факультета автоматики и вычислительной техники ТПУ.
E-mail: grig@am.tpu.ru Область научных интересов: математическое моделирование динамических систем -плазмохимии, сильноточной электроники.
Терещенко Анатолий
Георгиевич, канд. техн. наук, заведующий лабораторией информационных технологий НИИ ВН ТПУ. E-mail: git@hvd.tpu.ru Область научных интересов: аналитическая химия в информационных технологиях.
Щелканов Сергей Владимирович, канд. техн. наук, инженер лаборатории информационных технологий
Института физики высоких технологий ТПУ.
E-mail: shchelkanov@sibmail.com Область научных интересов: проектирование и разработка корпоративных информационных систем.
Результатом применения ВЛК является обеспечение требуемой точности результатов анализов и подтверждение компетентности лаборатории в части проведения данных исследований.
1. Недостатки существующих программных комплексов автоматизации ВЛК
В настоящее время на российском рынке существует ряд информационных систем, обеспечивающих автоматизацию процесса ВЛК. Анализ показал [2], что все современные средства обладают схожими недостатками, главный из которых заключается в невозможности адаптироваться к модификациям нормативных требований при проведении ВЛК.
Учитывая наиболее существенные замечания и предложения, выявленные в ходе многолетней эксплуатации функционального блока автоматизации ВЛК в лабораторной информационно-управляющей системе (ЛИУС) «Химик-аналитик» и принимая во внимание взятый за основу подход автоматного программирования [3], автором были сформулированы следующие требования к информационным системам синтеза и автоматизации процедур ВЛК:
1) реализовать возможность анализа сразу нескольких характеристик погрешности результатов анализа в рамках одной последовательности вычислительных экспериментов (серии контрольных процедур) в соответствии с нормативным документом РМГ 76-2004;
2) предусмотреть проведение анализа всех сформированных графиков контрольных карт Шухарта или кумулятивных сумм (визуального представления статистического анализа) в соответствии с ГОСТ Р ИСО 5725-6-2002 и РМГ 76-2004;
3) разработать возможность реализации сложных алгоритмов контроля, содержащих нелинейные вычисления (циклический пересчет, ветвления);
4) реализовать динамическое изменение количества контрольных процедур в расчете, а также настройку условий исключения и успешности процедур;
5) реализовать возможность настройки алгоритмов оценки характеристик погрешности результатов анализа.
В данной статье предлагается методика проектирования и разработки информационных систем, отвечающих указанным требованиям.
2. Методика автоматизации множества вычислительных процедур.
Оригинальность предложенной методики состоит в использовании в качестве средства автоматизации информационной системы, предоставляющей пользователю функциональные возможности самостоятельно сконфигурировать процедуры ВЛК и проводить по ним контроль характеристик погрешности. В методике приведены рекомендации по последовательности проектирования и разработки таких информационных систем (рис. 1).
Применение методики заключается в обобщении исследуемого множества вычислительных процедур, определении критериев выбора конкретного элемента из этого множества, автоматизации формирования и расчета по вычислительным процедурам и предоставлении пользователю возможности выбора конкретной вычислительной процедуры для расчета в зависимости от задаваемых критериев.
На первом этапе необходимо соотнести два множества - множество вычислительных процедур и множество критериев их выбора.
На втором этапе необходимо исследовать типовые элементы множества вычислительных процедур для формирования обобщенной модели множества. Разработанная модель позволит выявить общие для вычислительных процедур элементы.
На третьем этапе необходимо определить корректный порядок элементов обобщенной модели для учета ограничений, накладываемых на вычислительные процедуры из исследуемого множества.
На четвертом этапе необходимо создать возможность формализованного описания вычислительной процедуры на основе обобщенной модели.
На пятом этапе, в соответствии с используемым в данной работе подходом автоматного программирования, необходимо предоставить каждому конечному автомату доступ к результатам расчета остальных автоматов, образовав единое информационное пространство расчета.
На шестом этапе необходимо реализовать управляющие автоматы, формирующие результат расчета процедуры. Таким образом, достигается автоматизация расчета по вычислительным процедурам.
На седьмом этапе необходимо разработать механизм выбора вычислительных процедур согласно задаваемым пользователем критериям.
Восьмой этап является завершающим и подразумевает формализацию вычислительных процедур из исследуемого множества с помощью разработанной обобщенной модели посредством реализованного на предыдущих этапах программного инструмента.
В данной работе последовательно выполняются все шаги данной методики с описанием полученных результатов на каждом этапе.
Рис. 1. Методика автоматизации множества вычислительных процедур
Анализ процедур ВЛК из предложенной в [4] классификации позволил разработать обобщенную модель алгоритма ВЛК на основе модели автоматизированного объекта управления из теории автоматного программирования. Модель представлена следующей шестеркой:
(х ,у, х, уо ,р,3),
где X = ХЕ Х х0 - конечное множество входных воздействий, причем каждое входное
воздействие х состоит их компоненты хЕ, порождаемой внешней средой, и компоненты ХО, порождаемой объектом управления; У - конечное множество управляющих состояний; Z -конечное множество выходных воздействий; у0 еУ - начальное состояние; р = (ф, ср") -функция выходов (выходных воздействий) в состояниях ф : У ^ г и функции выходных воздействий на переходах ф : ххУ ^г; 3 : X х У ^ У - функция переходов.
Графически модель может быть представлена ориентированным графом (рис. 2). Каждый алгоритм имеет подмножество входов X’ из множества входов X, подмножество состояний У’ из множества возможных состояний У, подмножество условных переходов Б’ из множества Б и подмножество циклических переходов Ь ’ из множества Ь реализуют функцию переходов ё, подмножество выходов X’ из множества X. Кроме того, существует набор критериев С ’ из всего перечня возможных критериев С, определяющий выбор того или иного алгоритма ВЛК. Построенный граф является обобщенной моделью множества допустимых алгоритмов, так что любой из множества алгоритмов может быть представлен как маршрут, прокладываемый на этом графе.
...
Рис. 2. Методика автоматизации множества вычислительных процедур
іг®
На основе обобщенной модели были исследованы все алгоритмы из анализируемого множества. В результате выявлены шесть типовых элементов графа, из которых состоит любой алгоритм контроля: ввод данных, выражение, условие, цикл внутри состояния (меньший цикл), цикл по группе состояний (больший цикл), вывод результатов.
Базируясь на выводе о недостаточности описания расчетной последовательности алгоритма двумя автоматами (для расчета контрольных процедур и расчета серии), полученном при анализе структурных элементов информационной системы автоматизации ВЛК первого поколения [2], была предложена новая концепция описания расчетной последовательности. Концепция заключается в декомпозиции единой вычислительной последовательности алгоритма на произвольное количество расчетных составляющих. Декомпозиция осуществляется по принципу как функциональной принадлежности расчета (расчет одной контрольной процедуры, либо комплексный расчет всех процедур), так и по блоковой структуре самого алгоритма.
3. Функциональная модель информационной системы
Концептуальная модель синтеза вычислительных процедур ВЛК представлена двумя моделями: функциональной (СЛ8Е-методология ГОЕБО), представленной набором диаграмм.
Ниже представлены ключевые элементы функциональной модели, соответствующие предложенной в данной работе методике проектирования информационной системы.
На рис. 3 отражено первое ключевое изменение, заложенное в идею конфигурирования и интерпретации алгоритмов контроля, а именно - создание структуры для хранения описания расчетной последовательности. Это является реализацией шага 4 разработанной методики автоматизации множества вычислительных процедур.
Рис. 3. Декомпозиция диаграммы «Конфигурирование расчетных формул»
Аналитик конфигурирует расчетную последовательность заполнением тел формул расчета контрольных процедур, серии и оценки характеристик погрешности (блоки 1-3). При этом автоматически выполняется синтаксический разбор формул с помощью интерпретатора
расчетов (передача входных данных в теле расчетной формулы). Результатом разбора является перечень переменных, который используется аналитиком при настройке переменных (задание входных и выходных переменных, определение порядка переменных на форме, описание назначения переменных) в блоке 4. При необходимости изменения количества контрольных процедур в ходе расчета аналитик настраивает условия исключения процедур из расчета и условия успешности (удовлетворительности) в блоке 5. При формализации сложных алгоритмов настраивается связь между формулами расчетной последовательности - задаются условия перехода (блок 6). Как правило, применение блока 6 необходимо для формализации нелинейного поведения расчетной последовательности, в том числе - с циклическим пересчетом ранее пройденных итераций.
Вторая ключевая особенность системы - включение в интерпретатор расчетов возможности формирования единого информационного пространства (рис. 4). Это является реализацией шага 5 разработанной методики автоматизации множества вычислительных процедур. Единое информационное пространство расчета формируется при запуске интерпретатора расчетов на вычисление формул журналом «Контрольные процедуры». Вычисление происходит итерационно по всем формулам, установленным в справочнике «Алгоритмы контроля», согласно условиям перехода.
Рис. 4. Декомпозиция диаграммы «Расчет по формуле»
Каждая итерация состоит из нескольких стадий:
• получение расчетной формулы в соответствии с настройками алгоритма;
• анализ формулы по строкам с вычислением каждой строки формулы. При этом идет запрос к хранилищу функций для вызова предопределенных функций (например, значение характеристики погрешности методики анализа). В случае использования неинициализированной в данной формуле переменной идет обращение к единому информационному пространству расчета (блок 4) для получения её значения;
• пополнение единого информационного пространства расчета значениями всех переменных с обновлением предыдущих значений и формирование протокола результата расчета после завершения вычислений по формуле.
Циклическая обработка итераций расчетной последовательности - третья и последняя составляющая идеи конфигурирования и интерпретации алгоритмов ВЛК. Это является реализацией шага 6 разработанной методики автоматизации множества вычислительных процедур.
Декомпозиция блока итерационного перебора содержит 6 функций (рис. 5). Блок представляет собой большой цикл, условием выхода из которого является выполнение всех формул из настроек алгоритма. На каждой итерации выполняются следующие шаги:
1) определяется тип формулы в соответствии с настройками алгоритма (блок 1). Если формула принадлежит к типу процедур, то это служит сигналом к циклическому пересчету всех
2)
3)
4)
5)
6)
процедур в данной серии по этой формуле (блоки 2-5 повторяются для каждой зарегистрированной в серии контрольной процедуры). Если формула принадлежит к типу серии или оценки характеристик погрешности, то блоки 2-6 выполняются один раз; на основе формализованных данных для расчета подготовленные в предыдущих блоках структуры для хранения результатов расчета инициализируют входные переменные исходными значениями (блок 2);
блок 3 инициирует запуск интерпретатора расчетов, передавая на вход основные сведения об итерации - расчетную формулу, перечень переменных с инициализированными значениями входных переменных;
результат выполненной в интерпретаторе расчетов итерации поступает на вход блока 4, где в соответствии с настройками алгоритма проверяются условия исключения и успешности. В случае исключения контрольной процедуры на данной итерации в зависимости от настроек возможны два варианта: данная процедура считается исключенной только для следующей итерации по агрегированному расчету (формула для серии или оценки); данная процедура считается исключенной для всех следующих итераций. Такой подход предоставляет гибкую возможность автоматизировать различные по своему смыслу правила исключения. Например, при контроле стабильности по нескольким характеристикам погрешности исключение по каждой характеристике (повторяемость, внутрилабораторная прецизионность, погрешность) должно проходить независимо друг от друга. И, наоборот, при оценке показателей качества исключенная контрольная процедура одного показателя не должна больше использоваться при расчете последующих показателей качества;
в блоке 5 на основании измененных атрибутов итерации (исключенная, неисключенная, удовлетворительная, неудовлетворительная) и результатов расчета формируется протокол расчета итерации, включающий расчетную и проверочную части;
на последнем шаге проверяются условия перехода на следующую итерацию (блок 6). Если условия перехода не были заданы и после данной итерации нет расчетных формул, то цикл завершается с передачей результатов расчета по всем итерациям блоку формирования общего протокола расчета.
Рис. 5. Декомпозиция диаграммы «Итерационный перебор последовательности по расчетным формулам»
Все описанные выше шаги выполняются автоматически средствами ЭВМ без привлечения аналитика.
Ниже проведено сопоставление сформулированных ранее задач с ключевыми элементами функциональной модели.
1. Оценка нескольких характеристик погрешности результатов анализа в рамках одной серии контрольных процедур реализуем благодаря двунаправленным изменениям. С одной
стороны, разработана возможность использования произвольного количества расчетных формул для контрольной процедуры с настройкой условий исключения и успешности для каждой расчетной формулы в справочнике «Алгоритмы контроля» (блоки 1, 2, 3, 5 на рис.
3). С другой стороны, реализована интерпретация этих условий в журнале «Контрольные процедуры» (блок 4 на рис. 5).
2. Анализ всех сформированных графиков контрольных карт Шухарта или кумулятивных сумм реализуем благодаря настройке свойств каждого графика контрольных карт в справочнике «Алгоритмы контроля».
3. Реализация сложных алгоритмов контроля, содержащих нелинейные вычисления (циклический пересчет, ветвления) стала возможной вследствие создания и ведения единого информационного пространства в интерпретаторе расчетов (блоки 3, 4 на рис. 4). Также этому способствовала реализация возможности установки условий перехода между расчетными формулами в настройке алгоритмов контроля (блок 6 на рис. 3) и обработке этих условий в журнале «Контрольные процедуры» (блок 6 на рис. 5).
4. Динамическое изменение количества контрольных процедур в расчете, а также настройка условий исключения и успешности процедур заложены в настройках алгоритма контроля в блоке 5 на рис. 3 и в реализации алгоритма в блоке 4 на рис. 5.
5. Для настройки алгоритма оценки характеристик погрешности результатов анализа в блоке 3 на рис. 3 реализован отдельный тип формул для оценки, схожий по функциональным возможностям с типом формул для серии. Также дополнен процесс обработки полученных результатов при оценке характеристик погрешности.
Заключение
Предложенная методика автоматизации множества вычислительных процедур ВЛК позволила учесть критерии выбора конкретной вычислительной процедуры и использовать в качестве средства автоматизации информационную систему конфигурирования и интерпретации вычислительной процедуры ВЛК. Разработанная функциональная модель отразила решение всех сформулированных ранее задач за счет реализации выявленных типовых блоков, составляющих любой алгоритм контроля.
Основываясь на методике и функциональной модели, автором был разработан программно-алгоритмический комплекс по конфигурированию и интерпретации алгоритмов ВЛК как новый функциональный блок ЛИУС «Химик-аналитик». Создано хранилище формализованных алгоритмов ВЛК, приведенных в современных нормативных документах, которые аккумулирует опыт интерпретации результатов аналитического контроля более чем по 200 объектам анализа в 250 лабораториях России.
Внедрение обновленной ЛИУС «Химик-аналитик» позволит аналитическим лабораториям оперативно получать точные, достоверные и воспроизводимые результаты анализов, по которым можно будет принимать оптимальные управленческие решения.
СПИСОК ЛИТЕРАТУРЫ
1. Андреев B.C., Попечителев Е.П. Лабораторные приборы для исследования жидких сред. -Л.: Машиностроение, Ленингр. отделение, 1981. - 312 с.
2. Щелканов С.В., Терещенко А.Г., Григорьев В.П., Вылегжанин О.Н. Разработка конструктора и интерпретатора алгоритмов внутрилабораторного контроля качества результатов анализа // Известия ТПУ. - 2010. - Т. 316. - № 5. - С. 162-168.
3. Поликарпова Н. И., Шалыто А. А. Автоматное программирование. - СПб.: СПбГПУ, 2008.
- 167 с.: ил.
4. Толстихина Т.В. Разработка структуры информационной системы и алгоритмов реализации метрологических требований документов аналитической лаборатории: дис. канд. тех. наук.
- Томск, 2009. - 147 с.
Поступила 18.10.2011 г.