авторефераты диссертаций БЕСПЛАТНАЯ БИБЛИОТЕКА РОССИИ

КОНФЕРЕНЦИИ, КНИГИ, ПОСОБИЯ, НАУЧНЫЕ ИЗДАНИЯ

<< ГЛАВНАЯ
АГРОИНЖЕНЕРИЯ
АСТРОНОМИЯ
БЕЗОПАСНОСТЬ
БИОЛОГИЯ
ЗЕМЛЯ
ИНФОРМАТИКА
ИСКУССТВОВЕДЕНИЕ
ИСТОРИЯ
КУЛЬТУРОЛОГИЯ
МАШИНОСТРОЕНИЕ
МЕДИЦИНА
МЕТАЛЛУРГИЯ
МЕХАНИКА
ПЕДАГОГИКА
ПОЛИТИКА
ПРИБОРОСТРОЕНИЕ
ПРОДОВОЛЬСТВИЕ
ПСИХОЛОГИЯ
РАДИОТЕХНИКА
СЕЛЬСКОЕ ХОЗЯЙСТВО
СОЦИОЛОГИЯ
СТРОИТЕЛЬСТВО
ТЕХНИЧЕСКИЕ НАУКИ
ТРАНСПОРТ
ФАРМАЦЕВТИКА
ФИЗИКА
ФИЗИОЛОГИЯ
ФИЛОЛОГИЯ
ФИЛОСОФИЯ
ХИМИЯ
ЭКОНОМИКА
ЭЛЕКТРОТЕХНИКА
ЭНЕРГЕТИКА
ЮРИСПРУДЕНЦИЯ
ЯЗЫКОЗНАНИЕ
РАЗНОЕ
КОНТАКТЫ


Pages:     | 1 | 2 || 4 |

«ИЗ ФОНДОВ РОССИЙСКОЙ ГОСУДАРСТВЕННОЙ БИБЛИОТЕКИ Секачёв, Виктор Александрович Компьютерная поддержка процесса структурного ...»

-- [ Страница 3 ] --

При представлении программного обеспечения в виде структуры имеет смысл воспользоваться замечанием Э. Дейкстры [102], по мнению которого программа является специфической формой аппаратуры и представить в виде сложного цифрового автомата с переменной структурой. В этом случае каж дый оператор реализуется совокупностью микропрограммных автоматов, по следовательность которых определяется микропрограммой, соответствующей последовательности символов в операторе. Программа, как последователь иость операторов, реализуется за счёт работающих микропрограммных авто матов или за счёт редукции микропрограммного автомата в связи с заменой символов в исходном операторе. Входом каждого из микропрограммных ав томатов является кодовая последовательность, соответствующая числу, адре су, номеру команды, а выходом - закодированные число, адрес, номер коман ды. Таким образом, действие вычислителя в процессе реализации программы сводится к формированию и трансформации исходной структуры, исполь зующей исходные данные и начальные адреса как начальную информацию и поэтапно перерабатывающую её до конечного результата и конечных адресов.

Такой подход согласуется с понятием дискретного преобразователя [18, 27, 38] имеющего важное значение в приложениях теории формальных языков.

В терминах конечных автоматов дискретный преобразователь представ ляется пятиэлементным множеством вида: {XBx,Fx,Yx,YBb,x,R}, хотя в зависи мости от конкретного представления число элементов может меняться.

Функция численного преобразователя может быть представлена в виде:

Y = ^^f," ({lx"oo I), где j - номер шага операционного преобразования, внутри 1=1 j=i которого осуществляется однократное или многократное обращение к памяти;

1х"оо - операционные переменные:

пО п1 п2 п 0 '^^11 "'11 '^^ п1 п2 п1 \ по пО ^loп'^^12'"•12 '"•12'•••/.л,оп nO п1 п2 п1 ^ по ^ 2 o n ' " ' 1 3 ' " ' 1 3 '"•13'•••/. Л2оп пО п1 п2 п1 I по,пО ^,п1 ^,п2 ^,п1 1 „по _ п.

4оп 4оп' ^пк^к 1,2,... _ аппаратная переменная, участвующая в образовании опера ционной переменной, появляющейся в процессе физической реализации one рации на регистровом автомате [95], который является физической моделью вычислительного устройства, В нроцессе функционирования программного конечного автомата воз можно возникновение ошибок программного характера [4, 8], Это ошибки в микро- и макрокомандах, в стандартных блоках и стандартных многофунк циональных подпрограммах. Количество программных ошибок зависит от квалификации специалистов-разработчиков, от степени автоматизации про цесса программирования, от объёма программного кода, от глубины воздейст вия алгоритмов и значений, получаемых при их работе друг на друга и ряда других факторов.

При разработке программ управления объектами на автокодах про граммные ошибки [8-10] можно классифицировать по критериям операций и взаимодействию с памятью на следующие группы:

1) ошибки использования типов операций и неправильное использова ние кодов команд при записи программы;

2) ошибки в адресах и идентификаторах записи и выбора переменных при взаимодействии с памятью глобальных и локальных переменных, приво дящих к искажению значений переменных;

3) ошибки в адресах передачи управления при условных и безусловных переходах;

4) ошибки в организации циклов и в использовании регистров для не прямой адресации;

5) ошибки использования переменных, занимающих часть ячейки памя ти ЦВМ, путём использования операций выделения, формирования и конфи гураций.

Перечисленные источники погрешностей связаны с различными уров нями программирования и определяет различную природу возникновения по грешности программного обеспечения:

- на уровне языка высокого уровня;

- на уровне компилятора;

- на уровне объектного языка.

В самом широком смысле, нод ошибкой понимается неправильность, погреш ность, или неумышленное искажение в описании процесса. Чаще всего ошиб ка в программном обеспечении возникает в процессе его написания.

4.2. Теоретические осиовы оцеики иогрешиости ИИС 4.2.1. Накопление ногрешности в многоуровневой ИИС Оценивание характеристик погрешности ИИС есть метрологический анализ (МА). Возможно расчётное оценивание характеристик погрешности и оценивание с помош,ью имитационного моделирования. Усложнение измери тельных уравнений и расширение функционирования измерительных систем путём использования микроконтроллеров для выполнения косвенных, итера тивных и стохастических измерений, усложняет и уравнения МА. Кроме то го, не всегда есть возможность отобразить функцию определённого блока.

В этом случае для метрологической оценки наиболее приемлимым явля ется применение имитационного моделирования (РШ). Это моделирование, при котором осуш;

ествляется прямая подстановка чисел, имитирующих внеш ние воздействия, параметры и переменные процессов, в математическую мо дель процедуры измерений (уравнение измерений). Процедуру МА с исноль зованием ИМ можно представить следующей последователыюстью отобра жений [12,13]:

где Yj-входной сигнал;

X,j-истинное значение измеряемой величины;

А,*- ре зультат измерения, который был бы получен при реальной реализации урав нения измерения;

А*А.*-значение оцениваемой погрешности;

0*[АХ,*] - оценка вероятностной характеристики результата измерения.

В случае многоуровневой структуры значение А A,j можно представить как множество погрешностей измерительного канала (ИК) или всей МИС.

4.2.2. Алгоритм оценки примерной погрешности структуры при взаимном влиянии компонентов Пусть имеется некоторая распределённая ИС [57], в которой при проек тировании выделено v-уровней. Пусть F - главная функция, подразумевающая всё функционирование системы, заданное в техническом задании (ТЗ).

Если принять во внимание функциональность, то F=f(X), где под X по нимается всё описательное функционирование ИС. Пусть А - общесистемная погрешность, которая включает разные функциональные зависимости по грешностей, имеющие место в F. AE=f(Ax). Общесистемную погрешность АЕ можно разложить на компоненты, обусловленные преобразованиями, состав ляющими процедуру измерений. Должно выполняться условие равенства пол ной погрешности сумме введённых составляющих и каждая составляющая должна быть сложена с составляющей такой же размерности [92]. Если рас пределить F на v-уровней, то первый уровень - это подсистемы. Пусть имеет ся п подсистем, которые реализуют функции Fi, F2,.--, Fn, При этом каждая из подсистем уровня 2 входит в систему уровня 1:

F=f(f,(X,), f2(X2),...,fn(Xn)), а погрешность АЕ =f(f,(An), f2(Ao),...,fn(Afn)) В любую из подсистем уровня 2 входит подсистема (устройство, стой ка, блок, плата - в зависимости от конструктивной реализации) F=f((fn(Xn),fi2(X.2),...,flk(X,k)), (f2i(X2i), f22(X22)v,f2w(X2w)),...,(fnq(Xnq))) И Т. Д. В ЗаВИСИМОСТИ ОТ КОЛИ чества уровней.

Разложение погрешности будет иметь вид:

AE=f((fll(Ani), fl2(An2)v.,flk(Ank)), Ав-оператор погрешности может включать в себя не только одну обще системную погрешность, но и погрешности разных преобразований по мере, разных по мере. Суммировать можно только погрешности одной меры.

В связи с этим, метрологический анализ сложной ИС на структурном уровне можно производить двумя способами: по слою одного уровня и по ветке многоуровневой иерархии. Если принять во внимание изложенное вы ше, когда общесистемная погрешность есть сумма погрешностей преобразо вательных компонентов слоя одного уровня, то надо принять условие, что между этими компонентами передаётся информация одной и той же меры. Но это частный случай для одноканальной или многоканальной системы, когда по каналам передаётся однородная информация. В случае разнородной изме рительной информации, когда в одном слое определённого уровня циркули руют разные сигналы, несущие каждый свою измерительную информацию, оператор будет содержать не единую общую, а общую разнородную погреш ность.

Если для примера рассмотреть декомпозицию ИС система подсистемы-устройства-узлы-блоки-платы-электронные элементы, то можно обнаружить, что системная функция на каждом уровне (слое) одинако ва, различны только представление и конструктивные особенности. Многока нальная ИИС содержит в себе множество сложных функций, распределённых сверху вниз по подсистемам, устройствам, узлам - вплоть до электронных компонент элементной базы. На нормальное функционирование оказывают влияние, помимо внешних, ещё и внутренние факторы, состоящие из характе ристик электронных компонентов, их взаимного влияния друг на друга, и имеющихся связей между ними. В реальных МИС функция, выполняющая косвенное измерение, распределена но онределённым подсистемам - устрой ствам - узлам - блока - платам. Кроме того, встречаются функции, исноль зующие одни и те же нодсистемы, устройства, узлы, блоки, платы. Поэтому, в соответствии с [91], эти погрешности могут быть сложены по нижеследую щему алгоритму. Складывать можно только погрешности, относящиеся к строго определённым функциям.

Пусть AS-оператор погрешностей ИС S. Принимая во внимание уровень подсистем, можно написать:

а а AS = Fs(U(S3,Vs),U(AS,,Vs)), где S - набор операторов всей ИС, AS^ набор операторов погрешности а-той подсистемы, V^-множество, опреде ляющее взаимосвязь подсистем в системе.

Для а-той подсистемы, содержащей Ь-устройств:

Ь b AS, =Р5_(У(и81ь,У5,),и(Аи81ь,У8,)),где AS^ - набор операторов а-той подсистемы, У^^ -множество, определяющее взаимосвязь устройств в подсис теме S.

а Для Ь-того устройства, содержащего v-узлов:

V V AUstb = Fi,^,^(U(Uzl,,Vi,s.b)'U(AUzI,,Vi,,,J), где AUst^ - набор операторов Ь I той подсистемы, V,, -множество, определяющее взаимосвязь узлов в устрой ^^^ стве Ustfe.

Так как погрешность имеется и у электронных компонентов (элементная база), то суммировать надо с учётом алгоритма функционирования, множест ва, определяющего взаимосвязь узлов в устройстве. Оператор погрешности, который может содержать как функциональную зависимость, так и интерва лы, на каждом уровне (слое) имеет один и тот же системный оператор, и один и тот же оператор погрешности. И возможная сумма, например для Ь-того устройства, содержащего v-узлов:

AUst, = 1 Алгоритм функционирования, или алгоритм взаимосвязи, есть граф.

Ниже будет представлен алгоритм для расчёта погрешности путём суммиро вания с учётом влияния соседних компонентов. В качестве алгоритма взаимо связи используется граф. При моделировании имеется в виду измерительный канал ИС.

Измерительная информация поступает через набор датчиков. Аппарат ная реализация измерительного канала в исходной системе может включать как все уровни иерархии исходной системы, так и некоторые из них, которые, в свою очередь, связаны с другими компонентами. Обычно датчик - компо нент элементной базы, поэтому отношение здесь обратное: датчик (элемент ная база) — плата ~ блок — устройство — стойка ~ подсистема — сис тема. Но чаще это соотношение имеет иерархию: датчик-плата-блок или датчик—плата—блок—устройство. Реже встречаются каналы, число уров ней иерархии которых превышает семь.

Если надо оценить погрешности такого канала, то задача ставится по иному. Пусть нужно определить погрешность измерительного канала А4— А6. С теоретической точки зрения задача сводится к нахождению пути меж ду вершинами графа А4 и А6. Причём длина пути не всегда должна быть кратчайшей, это зависит от условий реализации конкретного измерительного канала. Кроме того, на общую погрешность измерительного канала влияют погрешности соседствующих узлов, которые тоже необходимо учитывать.

Если имеется древовидная иерархия, и известен один из её уровней, в данном случае, это уровень блоков, то граф можно изобразить в виде:

i \ —^ ~ Уровень БЛ2 БЛЗ БЛ блоков Рис. 4,2. Примерный граф устройства некоторой системы с разбивкой по блокам.

В свою очередь, каждый блок можно разбить на граф печатных плат.

Если примерно сделать это, сохранив старые интерфейсные связи, мож но получить такую картину:

i Уровень плат ПЛ1 БЛ ПЛ2 БЛ ПЛ5 БЛ ПЛ4 БЛ ПЛ1 БЛ Рис. 4.3. Детализация графа устройства на платы.

Для оценки маршрутной погрешности необходимо, чтобы компоненты, эквивалентные вершинам графа системы, имели одинаковую принадлежность к элементам меры, то есть в пределах одного уровня, устройств, блоков, или печатных плат.

В нашем случае, на рис. 4,2 отчётливо прослеживается путь БЛ4-БЛЗ БЛ1, имеются в виду блоки. Если их детализировать (см. рис. 4.3) то можно иметь маршрут между двумя платами, например ПЛ1_БЛ1 и ПЛ2_БЛ4. Таким образом невозможен путь оценки между блоком БЛ1 и платой ПЛ4 блока БЛ напрямую.

Для оценки погрешностей можно предложить следующий обобщённый алгоритм (рис. 4.4):

Задание уровня иерархии Задание V и Vk- начального и n конечного компонента задан ного уровня иерархии Нахождение промежуточных компонентов из пути V, таких, чтобы между ними существо вала связность.

Последовательный проход по пути V, со сложени ем/вычитанием погрешностей самих компонентов пути, так и т смежных компонентов Рис. 4.4. Обобщённый алгоритм оценки погрешностей для структуры однородного уровня.

1) Так как, несмотря на количество уровней в иерархии представления структуры, она на каждом уровне представляет собой единое целое, т.е. обще системная функция не меняется, значит, общесистемное значение погрешно сти так же не изменится. В соответствии с накоплением погрешностей, по грешность элемента An уровня п есть сумма погрешностей элементов А|,+, уровня п+1, то есть X-^n+i • 2) В случае, когда надо выборочно оценить погрешность выбранного фрагмента структуры для уровня п можно задать или вычислить кратчайший путь V между вершинами V и v^.

n 3) Если путь V не задан, то определение кратчайшего нути между вер шинами УпИ V осуществляется автоматически, согласно теореме Менгера [63].

k На алгоритмическом языке Object Pascal, реализован модифицированный ал горитм, описание которого будет приведено ниже.

4) Проход по полученному пути V со сложением/вычитанием погрешно стей компонентов элемента пути и смежных с ними элементов.

Если функциональное представление блока достаточно сложное, то по грешность может быть представлена в виде формулы или сниска формул. В этом случае также используется приведённый выше алгоритм. Рассмотрим каждый его шаг подробнее. Метод основан на преобразовании обычной гра фовой структуры, заданной при помощи матрицы инциденций, в иерархиче ский список вершин.

Проиллюстрируем алгоритм поиска пути между двумя вершинами гра фа. Пусть дан граф G(V, Е) (рис. 4.5). Пусть требуется найти путь между вер шинами v2 и v6. Направление связей в пути не учитываем.

vlO Рис. 4.5. Графическая иллюстрация алгоритма ноиска нути в графе (шаг 1).

Если перерисовать граф в виде дерева: (рис. 4.6) v iv Рис. 4.6. Графическая иллюстрация алгоритма ноиска нути в графе (шаг 2).

Перечисляя все возможные нути от начальной вершины к остальным вершинам графа, нолучим:

{v2}[v2] {v2, vl}{v2, vl 0}{v2, v3}{v2, v8}[v2, vl, vl 0, v3, v8] {v2, vl 0, v7}{v2, vl 0, v9}{v2, v3, v4}{v2, v8, v6}[v2, vl, vl 0, v3, v8, v7, v9, v4, v6] где в квадратных скобках обозначены вершины, уже включённые в нуть. По иск заканчивается, если все вершины графа включены в нуть. Найденный нуть имеет вид:

v Рис. 4.7. Графическая иллюстрация алгоритма поиска пути в графе (шаг 3).

Выбор пачальной и конечной вершин пути осуществляется назначением имён системных составляюш,их, принадлежащих одному уровню. Имена и структура, где надлежит искать этот путь заданы изначально. Путь должен быть кратчайшим и не содержать циклов, повторяющихся вершин, уже прой денных путей.

Для прохода по заданному маршруту, для каждой вершины из пути, со ставляется массив смежных вершин. Далее имя каждой вершины, смежной с именем вершины из списка пути, заменяется на её номер, который будет сов падать с порядковым номером строки из исходной структуры. Надо в этом случае учитывать и связи от вершины, к вершине. В нервом случае погреш ность будет вычитаться, во - втором - складываться.

После сложения погрешности для первой вершины, то же будет проде лано и со второй, с учётом сложения первой по тому же принципу, т. е.:

Пусть множество Р - путь от вершины Vi до вершины Vj в графе G(V, X), где V - множество всех его вершин, X - множество всех его связей. Из этого можно утверждать, что Р \ V G V и то, что v, е У и v^ e V. Значит, пра вильно и Vj е X и у„ G X.

Пусть Ру| - множество смежных вершин для графа G(V, X) для вершины Vj, тогда Рр- множество всех смежных вершин пути Р. Поэтому справедлива формула суммы погрешностей для каждой вершины пути Р.

Если сложить все погрешности на пути Р, то получим общую погреш ность измерительного канала.

1еп(Р) 4.2.3. Оценка программно-ориентированных алгоритмов Классическая схема сочленения аппаратура - программный объект.

Программа на проблемном Программа на макрокомандах языке Образцы микропрограммных Образцы трансляторов и автоматов транслирующих автоматов Программа на микрокомандах у,- ••'/.-' •'/'• •'•• •/-• •/. /\ •/'' к Апцаратная база "^ if//- •//// 'У// • ////•' 'Г///.'.'//• "//• •''•• Образцы элементарных автоматов Рис. 4.8. Общая схема сочленения программный объект-аппаратура.

Из этой схемы следует, что программа, написанная на языке ЯВУ, при помощи транслятора, представляющего собой также ПО, переводится в набор макрокоманд, представляющих собой структурный набор микрокоманд. Далее этот набор разделяется на микрокоманды, понятные непосредственно процес сору. Микрокоманды отображаются на структуру элементарных цифровых автоматов, реализуемых аппаратной базой вычислительного устройства.

В соответствии с приведённой схемой программа, написанная на ЯВУ языке, независимо от аппаратной базы вычислительного устройства, реализу ется в среде конкретного вычислительном устройства.

Любое ПО может находиться в статическом и динамическом состояни ях. Написание - статическое состояние трансляция и выполпение - динамика.

Из вышеизложенного вытекает, что к погрешности программного обес печения относится отклонение результата вычислений от эталонного резуль тата в форме части значений эталонной функции, совпадаюшее с ней по раз мерности и отклонение как факт в течение некоторого промежутка времени.

При рассмотрении ошибки как отклонения от эталона не делается различия между отклонениями, вызываемыми непрерывно действующими факторами и отклонениями, вызываемыми мгновенными воздействиями.

Среди источников погрешностей работы ПО наиболее часто встречают ся:

1) ошибки компоновки (необъяснимые остановки программы);

2) ошибки сопряжений (ошибки в результате сбоев ПЗУ);

3) неопознанные ошибки;

4) неясности.

Эти ошибки не тестируются, а только фиксируются, поскольку их ре альная причина - в несогласованности функционирования некоторых автома тов, соединение которых определяется структурой программы. Это ешё раз показывает, что в оценке программного обеспечения используются 2 состав ляюшие, элементная (статическая) - во время написания и корреляционная (динамическая) - во время работы.

В рамках разработанного программного обеспечения можно сказать то, что оно относится к прикладному программному обеспечению и предназначе но для функционирования на универсальном вычислительном устройстве:

персональной ЭВМ. Логическая сущность современной ЭВМ отличается от управляющего программного обеспечения ИИС, ИВК, хотя универсальная ЭВМ, основанная на микропроцессорных устройствах, хотя и с усечёнными наборами функциональных характеристик, используется в качестве вычисли тельного устройства. Если представить схему сочленения программное обес печение-ЭВМ, то видно, что она схожа со схемой сочленения программный продукт-аппаратура, однако в этом случае под аппаратурой понимается кон кретное техническое устройство - ЭВМ. Программное обеспечение представ ляет собой отдельные подсистемы, функционирующее в рамках управляющей программной системы - операционной системы. Разработка программ произ водится в средах программирования, имеющих в своём составе или интерпре татор, непосредственно выполняющий заданную систему инструкций, или компилятор, генерирующий непосредственно исполняемый аппаратной ча стью машинный код. Машинный код генерируется исходя из свойств опера ционной системы, которая, посредством драйверов и управляющих программ исполняет этот машинный код, сгенерированный под конкретную аппаратную базу и конкретную операционную систему.

Прикладная программа в виде од ного или нескольких модулей, на писанная на языке высокого уров ня Среда разработки с Среда разработки с компилятором интерпретатором г Макрокоманды, полученные при Перевод каждой строки ис компиляции модулей ходной программы в машин ные команды и их выполне ние непосредственно в опера ционной системе Объединение скомпилированных модулей в файл машинных ко манд, предназначенный для ис полнения в операционной систе ме Операционная система Драйвера и программы взаимодействия Рис. 4.9. Структурная схема сочленения профаммной и аппаратной час ти в ПЭВМ.

В работах [11-13, 81, 95] рассматривались оценки компонентов и про цессов измерительных систем для системной метрологической оценки всей РШС в целом. При работе программы компоненты аппаратной базы работают одновременно, между ними возникают как равно подчинённые, так иерархи ческие связи. Характер этих связей определяется структурой программного обеспечения. Если аппаратную часть ПЭВМ, ИВК, ИИС можно представить иерархически (гл. 1 и гл.2), то ПО - тоже, только уровни иерархии будут изме няться в последовательности и в зависимости от конкретной ситуации от про граммы в командах языка высокого уровня до двоичных команд. Кроме того, ПО при разработке уже можно представить в виде иерархической структуры.

Оценка точности программного обеспечения структурным методом позволяет оценить влияние структурно-программной организации работы блоков ЭВМ, оценить потенциальную погрешность, которой обладает каждый оператор языка высокого уровня (проблемного) даже при правильно написанной про грамме.

С целью оценки точности обратимся к рис. 4.8 и рис.4.9. Из анализа этих схем можно выделить следующие источники погрешностей:

1) сбой в компонентах аппаратной базы;

2) ошибка при распознавании символа при выборе команды объектного языка;

3) ошибка в местах соединения отдельных команд в процессе оргапиза ции программы в целом (компиляция);

4) ошибка при неправильном распознавании блоков и процедур про граммы (уровень языка высокого уровня).

Все эти источники погрешности тесно взаимосвязаны между собой, причём сильнее всего эта взаимосвязь проявляется в динамическом состоя нии, во время работы программы.

Если программные ошибки можно устранить путём создания автомати зированных сред разработки, то аппаратные ошибки будут присутствовать всегда из-за физических свойств компонентов аппаратуры, обусловленных шумами нелинейных элементарных компонентов вследствие разброса их па раметров. Именно на аппаратном уровне реально применить различные схемы коррекции с использованием обратных связей для аналоговых сигналов, а так же помехоустойчивое кодирование для цифровых.

При оценке погрешности алгоритма программного обеспечения имеет место накопленная погрешность вдоль пути, которому отвечает максимальная путевая погрешность из всех возможных.

(4.1) 4.3. Пример метрологической оценки иогрешности 4.3.1. Оценка погрешности фрагмента структуры Попробуем на основании вышеизложенного определить погрешность ка нала А1-А12 для следующей структуры:

А2 А Рис.4.10. Произвольный пример структуры с погрешностью блоков.

1) Определим кратчайший путь из вершины А1 в А12 по вышеописан ному алгоритму.

А1-А2-АЗ-А5-А 2) Определим списки смежных вершин для каждой вершины пути:

А1-{А2,А6} А2-{А1,АЗ} А3-{А2,А4,А4,А5} А5-{АЗ, А4, А4, А Н, А12, А12} А12-{А5,А5,А13} 3) Заменяем наименования вершин значениями погрешностей:

А1(0,006)-{А2(-0,01),А6(-0,00078)} А2(0,01)-{А1(0,006),АЗ(-0,0004)} АЗ(0,0004)-{А2(0,01), А4(-0,00023), А4(0,00023), А5(-0,005)} А5(0,005)-{АЗ(0,0004), А4(0,00023), А4(-0,00023), А11(-0,0007), А12(0,004),А12(-0,004)} А12(0,004)-{А5(-0,005), А5(0,005), А13(-0,0056)} 4) Складываем значения погрешностей самих вершин с погрешпостями А1=-0,00478;

А 2 = 0,0156;

A3 = 0,0054;

А5 = 0,0047;

А12 =-0, 5) Теперь складываем суммарные погрешности по пути:

Получаем, что '^i-^2-/(3-/i5-^i2 "0,01932, погрещность положительная.

Если известен интервал ногрещностей, то вычисления производят по грани цам интервала. Если погрешность представлена аналитически, то формулы складываются по тому же принципу.

Вышеописанный алгоритм реализован в виде исполняемого профамм ного модуля (модуля оценки погрешности) в системе объектно ориентированного профаммирования Delphi. Окно работы профаммного мо дуля показано на рис. 4.11:

Оценка погрешности структуры медицхмсклй йзиерительмой сшгжадй!!

Сохранить в файл... 'CbKs«M)\Mpi№fa%biuiHifmnir.ir Считать погрешность из Файла... |: РАСЧЕТ!

А А А до - А РАССТОЯНИЕ: ОТ - |А (А1.А2. A3. А5. А12) Погрешность по компонентам и пцтям с учётом ввлиянияи без:

Общая погрешность:

Имя вершииы!Собственная погрешность [Погрешность с учётом вямяния 0[[|||||||||Ц|||Щапо06 0. 0, А2 0.01 0. A3 0.0004 0. А5 0.005 0. 0. А12 0. Рис. 4.11. Диалоговое окно работы модуля, реализующего алгоритм об щей оценки погрещности Р1ИС.

Как видно из рис. 4.11, значение общего расчёта погрещности для кана ла А1 - А12 совпадает с теоретическим расчётом.

4.3.2. Оценка погрешности программно-ориентированных алгоритмов Операторы программного языка также могут обладать погрешностью.

Очевидно, что программные системы, непосредственно предназначенные для выполнения в среде разработки (интернретаторы), как видно на рис. 4.9, должны обладать меньшей степенью погрешности, так как выполнение про исходит напрямую, без создания объектных модулей. Однако преимущество программных систем в том, что они могут работать напрямую в операциоппой системе или на конкретной аппаратуре, в зависимости от конечного предна значения. Каждый оператор проблемного языка обладает погрешностью.

В рамках разработки базы для компьютерной поддержки процесса про ектирования структуры сложной ИИС, разработанной при помощи проблем ного языка высокого уровня Object Pascal, в среде разработки и отладки Delphi, иснользуются все 3 возможных вида организации алгоритмического процесса: следование, ветвление и цикл. Используются вычислительные опе рации, стандартные процедуры и функции (включенные в язык Object Pascal функции и процедуры) преобразования строк, файлов, динамических масси вов переменной длины, а также оригинальные процедуры и фупкции преобра зования записи проектируемой структуры.

Методика оценки погрешности проектируемой структуры содержит в се бе:

1) Выделение в процедуре или функции на проблемном языке команд преобразования и описания характера (команды преобразования непосредст венно преобразуют данные в связи с алгоритмами, команды описания - ре зервируют место в памяти для численных данных);

2) Построение по алгоритмической структуре направленного графа, где узлы - команды преобразования, рёбра - направление передачи данных;

3) Построение двудольного графа;

4) Анализ двудольного графа на предмет простых висячих вершин с включением последних в МПВУ;

5) Восстановление графа второго порядка на МНВУ по методике в п.2. и проход по графу с выводом аналитической зависимости погрешности;

6) Пусть имеется функция, реализованная на проблемном языке Object Pascal. Она выполняет преобразование структуры вида strukt, (см. прил.1), описывающей граф в структуру того же типа, но описывающий двудольный граф и масштабируя последний в масштабе координат контекста отображения.

function create_dv(W, Н : integer;

ql : strukt): strukt;

var deltaw, xn, i, j : integer;

qp: strukt;

begin deltaw := ((W - 60) div (Length(ql)-l));

{kl} SetLength(qp, 2*Length(ql));

{k2} fV i := 1 to 2*Length(ql) do {кЗ} SetLength(qp[i-l].sv, Length(ql)+Length(ql[O].sv));

{k4} xn:=30;

{k5} fVi:=ltoLength(ql)do {к6} begin qp[i-l].nam := ql[i-l].nam;

{k7} qp[i-l+Length(ql)].nam := '-•+ql[i-l].nam+'-';

{k8} qp[i-l].dirtext:='U';

{k9} qp[i-l+Length(ql)].dirtext :='D';

{klO} qp[i-l].koVd.X:=xn;

{kll} qp[i-l+Length(ql)].koVd.X := xn;

{kl2} xn := xn + deltaw;

{kl3} qp[i-l].koVd.Y:=62;

{kl4} qp[i-l+Length(ql)].koVd.Y := H-62;

{kl5} fVj := 1 to Length(ql[O].sv) do {kl6} begin l].svO-l];

{kl7} qp[i-l+Length(ql)],sv[]-l] := ql[i-l].sv[)-l];

{kl8} end;

end;

fVi:=ltoLength(ql)do {kl9} fV j := 1 to Length(ql [O].sv) do {k20} begin ifqp[i-l].sv|j-l]0 then {k21} qp[i-l].sv[j-l] :=-l {k22} else qp[i-l].svD-l]:=O;

{k23} if qp[i-l+Length(ql)].svIj-l] 0 {k24} then qp[i-l+Length(ql)].sv|j-l] := 1 {k25} else {k26} qp[i-l+Length(ql)].svO-l] :=0;

end;

fVi := 1 toLength(ql)do {k27} fVj := 1 to Length(ql[O].sv) do {k28} ifi=j then {k29} begin qp[i-l].sv[j+Length(ql[O].sv)-l] := -1;

{кЗО} {к31} qp[i-l+Length(ql)].svQ+Length(ql[O].sv)-l] := 1;

end;

{к32} create dv := qp;

end;

Построим граф функционирования. Он будет аналогичен блок-схеме.

Рис. 4.12. Функциональный граф модуля для преобразования структуры графа в двудольный граф.

Для построения структуры воспользуемся программой ФОС, п.3.2.

Двудольный граф структуры на рис. 4.10 будет иметь вид:

k1 k2 кЗ k4 kS кв k7 k8 kQ k10k11k12k13k14k15kiek18k10k21 к22к23к24к25к2вк27к28к2дк30к31 k32k17k \ /J n и I f IF m П I! I -k1--k2--k3--k4--k5--kQ-.k7.-k8--kQ-k1&k11-k12-k13-k14k15kie-k18-k1&k21-k22-k23-k24k25-k2e-k27-k2&k2e-k30-k31-k32-k17-k20 Рис. 4.13, Двудольный граф для графа на рис. 4.10.

Онтимизацию проведём в автоматическом режиме, нри котором после автоматического удаления простых и висячих вершин с включением послед них в МНВУ, в М Ш У автоматически выбирается вершина с наибольшим ко личеством связей. МНВУ будет иметь вид:

Т = {к2', кЗ', к4', к6', к8', кЮ', kl2', kl4', kl6', kl8', k20', k21', k22', k23', k25', k26', k27', k29', кЗО', к32'}, a построенный на его основе граф:

кЗ к6 к8 кЮ k k к Рис. 4.14. Оптимизированная структура.

Принимая во внимание выражение [4.1] значение погрешности будет равно:

L' + Y L'+Yi 4- + ' 'flc4' + Y TclO' I + YL8' +YLO +YLI,+ 2 +y^23' +YL, 5, + Y;

T26•+Y Yfk29' + ^YSC32' Анализируя граф на рис. 4.12 по методу Мэзона [55], можно расшифровать погрешность алгоритма по следующему сценарию:

1.

.f _ ^к' _ 1-к к к к к кf 1 ^22^.f _f ' 4'32 ~H'3I Значения отдельных операторов алгоритма к зависят от, конкретной ап паратной реализации программных автоматов компонентов алгоритма.

ОСНОВНЫЕ ВЫВОДЫ к ГЛАВЕ 1) Обосновано возникновение помех на измерительном канале.

2) Приведены зависимости накопления погрешностей при многоуровне вом преобразовании.

3) Предложен алгоритм определения погрешности участка структуры с взаимным влиянием смежных вершин для произвольной графовой структуры ИИС и реализован на ПЭВМ.

4) Показана связь между программной и аппаратной частью в ИИС и ПЭВМ.

5) Получены аналитические зависимости оценки погрешности для одной из программной функции разработанного программного пакета.

ОСНОВНЫЕ РЕЗУЛЬТАТЫ РАБОТЫ (ЗАКЛЮЧЕНИЕ) В ходе выполнения данной работы были нолучены теоретические и практические результаты, которые могут быть использованы для проектиро вания структур ИИС и предварительной оценки их погрешностей, а именно:

1. Получены операторы для преобразования данных, отождествляющей собой структуру ИИС, в процессе проектирования.

2. Разработан алгоритм преобразования функционального уравнения в граф на основе типовых фрагментов, которые в данном алгоритме представ лены математическими функциями, эквивалентными блоками ИИС, 3. Реализован программный пакет, в который входит редактор структур, оптимизатор структур ИИС с учётом блочных функций, программный модуль для расширения блоков структуры ИИС другой структурой, модуль для пре образования функций в граф, модуль для моделирования и обобщённой оцен ки погрешностей спроектированных структур РШС.

4. Выведены аналитические зависимости оценки погрешности для про граммно реализованной функции преобразования данных обычного графа в двудольный и предложен алгоритм для получения подобных аналитических зависимостей. Приведён пример метрологического исследования измеритель ного канала ИИС машиностроительного производства до и после применения оптимизации.

Использование разработанных программных модулей позволяет сокра тить время структурного проектирования ИИС.

БИБЛИОГРАФИЧЕСКИЙ СИИСОК ИСИОЛБЗОВАИИОЙ ЛИТЕРАТУРЫ 1. Александров П. С, Пасынков Б. А. Введение в теорию размерностей. М.: Наука, 1973.-575 с.

2. Александров П. С. Введение в теорию множеств и общую топологию.

- М. : Наука, 1977.-367 с.

3. Анресян Ю. Д. Экснериментальное Исследование семантики русско го глагола. М., «Наука», 1967. - 252 с.

4. Бабенко Л. П., Ющенко Е. Л. и др. Об отладочных средствах в сис теме программирования. - Труды Симпозиума «Теория языков и методы по строения систем программирования». Киев, 1972. - С. 120-127.

5. Барканов Н. А. и др.. Конструирование микромодульной аппаратуры, «Советское радио», М., 1968. -185 с.

6. Берж К. Теория графов и ее применение. - М.: Изд.-во иностр.

лит.,1962.-319 с.

7. Болтянский В, Г. Оптимальное управление дискретными системами.

-М.: Наука, 1973.-446 с.

8. Борисенко Л. Г., Лаврищева Е. М. Диалоговая семантическая отлад ка исходных программ на машине «Днепр-2». - Труды Симпозиума «Теория языков и методы построения систем программирования». Киев, 1972. - С.

89-95.

9. Борщев В. Б., Хомяков М. В. Схемы для функций и отношений.— Сб. «Исследования по формализованным языкам и неклассическим логи кам». М., ВИНИТИ, 1974.

10. Борщев В. Б., Хомяков М. В. Аксиоматический подход к описа нию формальных языков. - Сб. «Математическая лингвистика». М..ВИНИТИ, 1973.

11. Браславский Д. А., Нетров В. В. Точность измерительных устройств.

- М: Машиностроение, 1976 г. - 236 с.

12. Брусакова И,А., Цветков Э. И, Достоверность результатов метроло гического анализа: Учеб. пособие. - СПб.: Изд-во СПбГЭТУ "ЛЭТИ", 2001. 120 с.

13. Брусакова И.А., Цветков Э.И. Концепция применения информаци онных технологий в измерительной технике //Вопросы проектирования изме рительных систем («Известия СПбГЭТУ». Вып. 491) 1997. С. 8-17.

14. Бурбаки П., Теория множеств, «Мир», М., 1965. - 256 с.

15. Бурков В. Н., Ловецкий С. Е., Методы решения экстремальных комбинаторных задач. Изв. АН СССР, Техн. кибернетика, 1968, JT 4. С. 24-34.

16. Бусленко П. П. Моделирование сложных систем. -М.: Наука, 1978. 400 с.

17. Бусленко Н. П., Калашников В. В., Коваленко И. Н. Лекции по тео рии сложных систем. - М.: Сов. радио, 1973. - 440 с.

18. Бутрименко А. В. Разработка и эксплуатация сетей ЭВМ. - М.: Фи нансы и статистика, 1981. - 256 с.

19. Бутрименко А. В., О поиске кратчайших путей по графу при его из менениях. Изв. АН СССР, Техн. Кибернетика, 1964 № 6. С. 10-13.

20. Бутрименко А. В., О среднем расстоянии между вершинами графа. В кн. Сети передачи информации и их автоматизация, «Наука», М., 1965. - 189 с.

21. Вальков В. М. Контроль в ГАП. - Л.: Машиностроение, Ленингр.

отд-ние, 1986.-232 с.

22. Вейцуман К. Распределенные системы мини- и микро-ЭВМ, -М.:

Финансы и статистика, 1982.- 382 с.

23. Вычислительные машины и мышление. Под ред. И. П. Минского М., «Мир», 1967.-378 с.

24. Глушков В. М., Довгялло А. М. и др. Типовая диалоговая обу чающая система «ПЕДАГОГ» с сервисным режимом «АВТОР» для обучения языкам программирования.— Труды Симпозиума «Теория языков и методы построения систем программирования». Киев, 1972. - С. 132 140.

25. Гурвич Е. И., Матюхин Н. Я., Автоматизация проектирования циф ровых автоматов, Автоматика и вычислительная техника, 1969, № 5. - С. 8 17.

26. Джоне Дж. К Методы проектирования: Пер. с англ.- 2-е изд, дон. М.: Мир, 1986.-326 с.

27. Журавлев Ю. П. Системное проектирование управляющих ЦВМ. М.: Сов. радио, 1974. - 368 с.

28. Зиновьев А. А. Об основных понятиях и принципах логики нау ки. Сб. «Логическая структура научного знания». М., «Наука», 1965. 126 с.

29. Золотов Е. В., Кузнецов И. П. Некоторые направления развития диалоговых систем. - Сб. «Нсследование систем», вып. 3. ХабКРШИ. Хаба ровск, 1973. - С. 34-38.

30. Информационно-поисковая система «БИТ». Киев, «Наукова дум ка», 1968. - 98 с.

31. Кушнеров Ф. Р., Люфанов В. А., Северьянов В. А., Система автома тизации схемного проектирования ЦВМ, Проектирование блоков и узлов вы числительных машин, Киев, 1970. -153 с.

32. Каверкин И. Я., Цветков Э. И. Анализ и синтез измерительных сис тем. Л.: Энергия, 1974. -156 с.

33. Касьянов В. Н., Евстигнеев В. А. Графы в программировании: обра ботка, визуализация и нрименение. СПб.: БХВ - Петербург, 2003. -1104 с.

34. Клини С. К. Введение в метаматематику. М., «Мир», 1958. - 510 с.

35. Клыков Ю. И. Ситуационное управление большими системами. М., «Наука», 1974.-241 с.

36. Клюев Н.И. Информационные основы передачи сообщений. - М.:

Сов. Радио, 1966. - 360 с.

37. Крапчин А. И., Покровский А. Н., Малыйнов Е. И., Компоновка и размещение модулей при автоматизированном нроектировании радиоэлек тронной аппаратуры, Автоматика и вычислительная техника, 1969, № 5.- С. 5 14.

38. Крыжановский Ю. М., Компоновка конструкторских элементов цифровых устройств. В кн. Применение вычислительных машин для проекти рования цифровых устройств, «Советское радио», М., 1968. - С. 15-23.

39. Кузнецов И. Л. Некоторые механизмы порождения текстов опи сания. - «Научно-техническая информация», серия 2, J » 9. ВИНИТИ. М., 1975.

V 40. Кузнецов И. Н. Принципы по строения систем, формулирующих осмысленные вопросы. - Сб. «Исследование систем», вып. 3. ХабКНИИ. Ха баровск, 1973.-С. 14-19.

41. Лазарев В. Г., Саввин Г. Г. Сети связи. Управление и коммутация. М.: Связь, 1973.-264 с.

42. Лазарев И. А. Композиционное проектирование сложных агрега тивных систем. - М.: Радио и связь, 1986. - 250 с.

43. Левич А. Н., Соловьев А. В. Категорно-функторное моделирование естественных систем //Анализ систем на пороге XXI века. - М.: Интеллект, 1997.-С. 66-78.

44. Майоров С. А., Нетухов Г. А., Алгоритмические методы проекти рования многослойных печатных схем. В кн. Методы, разработки схем кон струкций цифровых систем, ЛДНТН,Л., 1967. - С. 220-283.

45. Майоров С. А., Проектирование и производство модулей и микро модулей, изд-во «Машиностроение», М., 1967. -193 с.

46. Майорова Т. Л., Минимальное покрытие графа. В кн. Самонастраи вающиеся системы. Распознавание образов. Релейные устройства и конечные автоматы, «Наука», М., 1967. - С. 123-145 с.

47. Мачулин В. В., Пятибратов А, П. Эффективность систем обработки информации. - М.: Сов. радио, 1972. - 280 с.

48. Мелик-Шахназаров А. М., Маркатун М. Г., Дмитриев В. А. Измери тельные приборы со встроенными микропроцессорами. - М.: Энергоатомиз дат, 1985. - 240 с.

49. Мелихов А. Н., Ориентированные графы и конечные автоматы, «Наука», М., 1971.-196 с.

50. Мельчук Н. А. Оныт теории лингвистических моделей «смысл текст». М., 1974. - 217 с.

51. Методы схемотехнического нроектирования раснределенных ин формационно-вычислительных систем микропроцессорных систем. - М.:

Энергоатомиздат, 1988. -128 с.

52. Михайлов А. И., Черный А. И., Гиляревский Р. С. Основы науч ной информации. М., «Наука», 1965.-362 с.

53. Многоцелевые системы ЧПУ с гибкой механообработкой / В. Н.

Алексеев, В. Г. Воржеев, Г. Н. Гырдымов и др.;

Под общ. ред. нроф. В. Г. Ко лосова. Л.: машиностроение, Ленингр. отд-ние, 1984. - 224 с.

54. Моисеев Н. Я, Иванилов Ю. П., Столяров Е. М Методы оптимиза ции. - М.: Наука, 1978. - 351 с.

55. Муха Ю.П., Авдеюк О.А., Антонович В.М. Теория и практика синте за управляющего и информационного обеспечения измерительно вычислительных систем: Монография / ВолгГТУ, - Волгоград, 2004. - 220 с.

56. Муха Ю.Н., Авдеюк О.А., Королёва И.Ю. Алгебраическая теория синтеза сложных систем: Монография / ВолгГТУ, - 2003. - 320 с.

57. Муха Ю.П., Секачёв В. А. Общая оценка погрешности медицинской измерительной системы на этапе создания её структуры //Биомедицинская ра диэлектроника. - 2006. - № 4. - С. 47-53.

58. Мэзон С, Циммерман Г. Электронные цепи, сигналы и системы. - М.:

Изд.-во иностр. Лит., 1963. - 619 с.

59. Недосекин Д.Д., Прокопченко СВ., Чернявский Е.А. Информацион ные технологии интеллектуализации измерительных процессов. - СНб.: Энер гоатомиздат, 1995. -187 с.

60. Нечипоренко В. И. Структурный анализ и синтез. Эффективность и надежность. - М.: Сов. радио, 1980. - 216 с.

61. Николаев В.И., Брук В.М. Системотехника: Методы и приложения. Д.: Машиностроение, 1985. -199 с.

62. Нильсон Н. Искусственный интеллект. М., «Мир», 1973. - 446 с.

63. Новиков Ф. А. Дискретная математика для программистов. - СПб.:

Питер, 2001.-304 с.

64. Новицкий П. В., Зограф И. А. Оценка погрешности результатов измерений. 2-е изд., перераб. и доп. - Л.: Энергоатомиздат, ленинг. отд-ние, 1991. - 304 с.

65. Павловский Ю. Н., Смирнова Т. Г. Проблема декомпозиции в мате матическом моделировании. - М.: ФАЗИС, 1998. - 266 с.

66. Падучева Е. В. Проблемы семантического сопоставления естест венных языков с языками математической логики. - Сб. «Исследование сис тем», М., «Наука», 1969. - С. 56-68.

67. Панфилов И. В., Половко А. М. Вычислительные системы. - М.:

Сов. радио, 1980.-304 с.

68. Пастухов Р.П., Секачёв В.А. Автоматизация процесса проектирова ния средства технической диагностики ЯМР-томографа. //Вопросы физиче ской метрологии. Вести. Поволжск. отд. Метрол. акад. России. - 2004. - № 5. С. 22-33.

69. Поспелов Д. А. Логические методы анализа и синтеза схем. - М.:

Энергия, 1974.-368 с.

70. Поспелов Д. А., Пушкин В. Н. Мышление и автоматы. М., «Со ветское радио», 1972. - 256 с.

71. Нримак А.В. Методология проектирования и разработки автомати зированных систем контроля и управления качеством воздуха. //Автоматика, 1984, N4, с. 30-38.

72. Примак А.В. Принципы проектирования автоматизированных сис тем контроля и управления качеством воздуха в городах и промышленных ре гионах. Киев: Наукова думка, 1989 -168 с.

73. Примак А.В., Щербань. Методы и средства контроля загрязнения атмосферы. Киев: Наукова думка, 1980. - 278 с.

74. Райншне К., Ушаков И. А. Оценка надежности систем с использова нием графов. - М: Радио и связь, 1988. - 208 с.

75. Рапонорт Г. Н., Солин Ю. В., Гривцов С. П. Автоматизированные системы управления технологическими процессами. - М.: Машиностроение, 1977.-246 с.

76. Розенберг В. Я. Введение в теорию точности измерительных систем.

- М.: Сов. радио, 1975. - 304 с.

77. Романов В. Н., Соболев В. С, Цветков Э. И. Интеллектуальные сред ства измерений. - М.: «Татьянин день», 1994. - 280 с.

78. Секачёв В.А. Специализированный программный пакет для автома тизации проектирования измерительных систем //Биомедицинская радиэлек троника. - 2003. - № 6. - С.59-61.

79. Секачёв В.А. Структурно-иерархический метод на графах для проек тирования информационно-измерительных систем. //Вопросы физической метрологии. Вестн. Поволжск. отд. Метрол. акад. России. - 2005. - № 2. - С. 3 12.

80. Слейгл Дж. Искусственный интеллект. М., «Мир», 1973.- 450 с.

81. Соболев B.C. Новые аспекты метрологического обеспечения слож ных измерительных процедур, реализация ИИС/Измерительная техника. 1990,№5.-С. 8-15.

82. Строганов Р. П. Управляющие машины и их применение. - М.:

Высш. Шк., 1986.-240 с.

83. Трауб Дж., Вожъняковский X. Общая теория оптимальных алгорит мов. - М.: Мир, 1983. - 382 с.

84. Туманова Н.А. Автоматизированные системы контроля качества ок ружающей среды. Опыт ведущих западных фирм, перспективы развития. М.:

1990.-227 с.

85. Хетагуров Я. А., Древе Ю. Г. Проектирование информационно вычислительных комплексов: Учеб. для вузов по спец. «АСУ». - М.: Высш.

шк., 1987. - 280 с.

86. Хилл Т, И. Современные теории познания. М., «Прогресс», 1965. 234 с.

87. Холмский Н. Три модели онисания языка. - «Кибернетический сборник», № 2. М., ИЛ, 1961. - С. 13-19.

88. Холмский Н., Миллер Д. Языки с конечным числом состоя ний. - «Кибернетический сборник», J^2 4. М., ИЛ, 1962. - С. 15-20.

89. Цаненко М. П. Измерительные информационные системы. - М.:

Энергоатомиздат, 1985. - 440 с.

90. Цветков Э. И. Алгоритмические основы измерений. - Л.: Энерго атомиздат, 1992. - 320 с.

91. Цветков Э. И. Основы теории статистических измерений. - Л.:

Энергия, 1979.-288 с.

92. Цветков Э. И. Основы математической метрологии. - СПб.: Поли техника, 2005. - 510 с.

93. Цветков Э. И. Процессорные измерительные средства. - Л.: Энерго атомиздат, 1989. - 510 с.

94. Чернявский В. С, Лахути Д. Г. О критериях оценки поисковых систем. - «Паучно-техническая информация», № 3, ВИНИТИ, 1964.

95. Чернявский Е. А., Педосекин Д. Д., Алексеев В. В. Измерительно вычислительные средства автоматизации производственных процессов: Учеб.

пособие для вузов. - Л.: Энергоатомиздат., Ленингр. отд-ние, 1989. -120 с.

96. Шрейдер Ю. А., Шаров А. А. Системы и модели. - М.: Радио и связь, 1982.-152 с.

97. Энкарначчо Ж., Шлехтендаль Э. Автоматизированное проектирование.

Основные понятия и архитектура систем: Пер. с англ. - М.: Радио и связь, 1986. - с.

98. Ямпольский В. 3., Погребной В. К., Автоматизация некоторых эта пов проектирования цифровых устройств. Теория автоматов, Киев, 1969, вып.

2.-С. 28-39.

99. Янбых Г. Ф., Эттингер Б. Я. Методы анализа и синтеза сетей ЭВМ. М.: Энергия, 1980. - 96 с.

100. Янов Ю. И. О логических схемах алгоритмов // Проблемы киберне тики -1968.-№1.-С. 75-127.

101. Якубайтис Э. А. Информационные сети и системы: Снрав. книга. М.: Финансы и статистика, 1996. - 365 с.

102. Andrews Н. С, Computer Techniques in Image Processing, Aca demic Press-New YVk, 1970. - 289 p.

103. Andrews H. C, Introduction to Mathematical Techniques in Pat tern» Recognition, Wiley, New YVk, 1972. - 309 p.

104. Beineke I., Harary Fr., On the thickness of the complete graph.. Bull.

Amer. Math. Soc, 1964, № 4. - pp. 57-61.

105. Bruno I., A new planarity test based on 3-connectivity, IEEE Trans, on Circuit TheVy, 1970, № 2. - pp. 28-47.

106. Carnap R. Introduction to semantics;

f\/malization of logic. N. J., 1959.-98 p.

107. Chen С H., Statistical Pattern Recognition, Hayden, Washing ton, D.C., 1973. - 341 p.

108. Demoucron G., Malgrange I., Pertuiset R., Graphs planares;

reconnais sance et construction de representation planaires topologiques. Rev. trans, rech. Op erat., 8, 1964. - 321 p.

109. Dunn W. R., Jr., Chan S. P., An algVithm fV testing the planarity of a graph, IEEE Trans. Circuit TheVy, 15,1968, N2 2. - pp. 34-68.

110. E. Behrends. Introduction to Markov Chains, with Special Emphasis on Rapid Mixing. - Vieweg & Solin, Braunschweig/Wiesbaden, 2000. - 438 p.

111. Engl W. L.;

Mlynski D. A., Embedding a graph in a plane with certain constraints, IEEE Trans, on Circuit TheVy, 1970, ^22. - pp. 39-71.

112. Fokkinga M. M. A Gentle Introduction to CategVy TheVy. The calcula tional approach. - University of Twente, 1992. - 80 p.

, 113. Fukunaga К., Introduction to Statistical Pattern Recognition, Academic Press, New YVk, 1972.-377 p.

114. GeVgescu I. A CategVial approach to knowledge-based systems. Com puters;

Artical Intelligence, V.3, №2,1984. - pp. 105 - 113.

115. Haggstrom. Finite Markov Chains;

AlgVithmic Applications. - Cam bridge University Press, 2002. - pp. 58-67.

116. Hawkins J. K., Image processing: A review;

projection. In Auto matic Interpretation;

Classification of Images (A. Grasselli, ed.). Academic Press, New YVk, 1969. - pp. 78-89.

117. Hewit C. Description;

theVetical analyses of PLANNER, Dept. of math., MIT, Cambridge, Mass 1972. -159 p.

118. Hopcroft J. E.;

Ullman J. D. Introduction to Automata TheVy, Lan guages,;

Computation. Addison-Wesley, 1979. -198 p.

119. NVris J. R. Markov Chains. - Cambridge University Press, 1998.-384 p.

120. Lin P. M., On the methods of detecting planar graphs, Proc. 8"^ Midwest Symp. on Circuit TheVy, ColVado State University, 1965. - 274 p.

121. Lempei A., Eden S., Cederbaum I., An algVithm A/ planarity testing of graphs theVy, New YVk, 1967. - 473 p.

122. Meisel W., Computer-Viented Approaches to Pattern Recognition, Academic.Press, New YVk, 1972. - 121 p.

123. Mendel J. M.;

Fu K. S., eds.. Adaptive Learning;

Pattern Recog nition Systems: TheVy;


Applications, Academic Press, New YVk, 1970. 229 p.

124. Michael Barr, Charles Wells. Toposes, Triples;

TheVies. - E-print:

http://www.cwru.edu/artsci/math/wells/pub/ttt.html.

125. Miller W. F.;

Shaw A. C, Linguistic methods in picture process ing - A survey, Proc. AFIPS Fall Joint Comput. Conf., San Francisco, 1968.-pp. 279-290.

126. Nicolas Т. М., Syre Т. С Natural language question answering;

auto matic deduction in the system SYNTEX. InfVmation processing 74, Stockholm, 1974.-270 p.

127. Kechepu T. G., Kurtz T. E. Bacis Programming. N. J. Tohn Wiley, 1967.-178 p.

128. Patrick E. A., Fundamentals of Pattern Recognition, Prentice Hall Englewood Cliffs, New Jersey, 1972 - 90 p.

129. Pattern Recognition, 3 (1971);

4 (1972). Specialissues on syntac tic pattern recognition.

130. R. F. C. Walters, CategVies;

computer science. Cambridge University Press, 1991.-97 p.

131. Saaty Th. L., Two theVems on the minimum number of intersections fV complete graphs. I, Combin. TheVy, 2, 1967, № 4. - pp. 31-82.

132. Sandewall E. PCF-2, A first-Vder calculus fV expressing conceptual in fVmation, UPPSALA University, 1972. - 307 p.

133. Sandewall E. Some examples of disambiguation, through deduction, UPPSALA University, 1973.

134. Semantic inf\/mation progressing, editV Marvin Minsky. N. J., 1968.

-328 p.

135. Sklansky J., ed.. Pattern Recognition: Introduction;

Foundations, Dowden, Hutchinson;

Ross, Inc., Stroudsburg, Pennsylvania, 1973. - 299 p.

136. Smith T. W. JOSS: Central Progressing Routines. The Rand CV pVation, RM - 5270-PK, august, 1967. -169 p.

137. Tacob Palme. Making computers understand natural language, UPPSALA University, 1972. - 321 p.

138. Vladimir V. Kisil, Mikhail V. Kuzmin. Inf^mational systems with structures simulating their contents. E-print: http://www.amsta.leeds.ac.uk/ kisilv/kuzminl.pdf 139. Zadeh L. A. Fuzzy logic;

its application to approximate reasoning.

InfVmation processing 74, Stockholm, 1974. - 218 p.

ПРИЛОЖЕНИЕ Характеристики реализованных программных модулей компью терной поддержки и требования к аннаратному н системному программному обеспечению:

IBM-совместимый компьютер с процессо Аппаратные требовапия ром не ниже Pentium, ОЗУ - не менее Мб, SVGA-совместимый видеоадаптер Требования к системпому ОС Win 95/98/2000/ХР с файловой системой программному обеснеченню NTFS или FAT Характеристики программпых модулей Функциональный модуль для Максимальное количество вершин - 250* оптимизации структур ИИС с Максимальное количество связей - 1000* учётом блочных функций с редактором структур.

Модуль для функционального Максимальное количество функций - преобразования описания Максимальная длина строки в символах структуры ИИС в граф. Модуль для расширения вер- Максимальное общее количество вершин шин структуры ИИС другой 250* структурой. Максимальное обш,ее количество связей 1000* Модуль для оценки погреш- Максимальное количество вершин - 250* ностей Максимальное количество связей - 1000* Заданная точность расчёта при моделирова нии-10'^ - ограничено по параметрам быстродействия и отображения.

ПРИЛОЖЕНИЕ Формат файла данных Данные занисываются строками вида:

Имя вершиныразделитель положение текста названия вершиных разделитель Х-координатанробелУ-координата разделитель блочная функцияразделитель сведения о связях («-1»- исход связи, «1» - вход связи, «О» - занолнитель), «-1» и «1» иснользуются, если связь между вершинами - прямая, «-2» и «2»

- если дуга. В сведениях о связях между строками «О», «-1» или «1», «-2» или «2» пробелы не ставятся.

Для представления структуры системы выбран ориентированный граф, так как для него имеет место направленность рёбер. Для представления графа в ЭВМ выбран способ, основанный на матрице инцидентности, которая имеет прямоугольный вид, число столбцов которой равно числу связей орграфа, а число вершин - числу строк. Столбцы этой матрицы включают в себя «О», « 1», «1», «-2», «2». «-1» или «-2» означает исход связи, причём номер строки, где расположен «-1» («-2») или «1» («2») соответственно есть номер вершины структуры системы, откуда исходит связь и номер вершины, куда эта связь входит, «О» служит заполнителем. На основании этой матрицы инцидентьюсти можно построить объект типа записи, который будет хранить данные о графе в памяти машины. Этот объект статичный. Он представляет собой одномер ный массив типа строк, которые содержат данные о вершинах графа. Вершина графа описывается динамическим массивом, состоящим из «-1», «1», «О», « 2», «2», который показывает, сколько связей в вершину входит и сколько вы ходит. Одна строка этой записи содержит в себе имя вершины графа, сведения о положении текста имени вершины графа, координаты положения вершины графа в окне редактора и массив, содержащий одну строку матрицы инци дентности, количество ненулевых элементов которой равно количеству свя зей, входящих и исходящих из данной вершины. Количество элементов в этом массиве равно количеству связей в графе. Весь граф может быть представлен как массив переменной длины, элементом которого являются вышеописанные записи.

ПРИЛОЖЕНИЕ Текст программы важнейших процедур и фупкций 1) Функция загрузки структуры графа из файла иерархической структу ры function Load (NF : string): strukt;

var i, nspc, nnO, kol_sv : integer;

sname, stext, sx, sy, temp_str, sst, sfun : string;

dfg: strukt;

mjh: TextFile;

begin {1} AssignFile(mjh, NF);

reset(mjh);

readln(mjh, temp_str);

if temp_str = 'NMI' then begin {2} nnO := 0;

while not eof(mjh) do begin {4} readln(mjh, temp_str);

if temp_str о 'ENDNMI' then begin {5} inc(nnO);

SetLength(dfg, nnO);

nspc:=O;

sname:-';

sftin:-';

stext:-';

sx:-';

sy:-';

sst:-';

N i:=\ to length(temp_str) do if copy(temp_str, i, 1) о " then begin if nspc = 0 then sname := sname + copy(temp_str, i, 1);

if nspc = 1 then stext := stext + copy(temp_str, i, 1);

if nspc = 2 then sx := sx + copy(temp_str, i, 1);

if nspc = 3 then sy := sy + copy(temp_str, i, 1);

if nspc = 4 then sfun := sfun + copy(temp_str, i, 1);

if nspc = 5 then sst := sst+copy(temp_str, i, 1);

end else inc(nspc);

dfg[nnO-l].nam := sname;

dfg[nnO-l].dirtext := stext;

dfg[nnO-l].koVd.X := StrToInt(sx);

dfg[nnO-l].koVd.Y := StrToInt(sy);

dfg[nnO-l].fun := sfun;

kol_sv := 0;

while length(sst)oO do begin if((copy(sst, 1,1)-O')V (copy(sst, 1, l)='l') V (copy(sst, 1,1)='2')) then begin inc(kol_sv);

SetLength(dfg[nnO-l].sv, kol_sv);

dfg[nnO-l].sv[kol_sv-l] := StrToInt(copy(sst, 1, 1));

delete(sst,l,l);

end else begin inc(kol_sv);

SetLength(dfg[nnO-1 ].sv, kol_sv);

dfg[nnO-l].sv[kol_sv-l] := StrToInt(copy(sst, 1,2));

delete(sst,l,2);

end;

end;

end;

{5} end;

{4} closefile(mjh);

Load := dfg;

end;

{2} end;

{l} 2) Функция генерации цроизвольной структуры графа function gen_new_graf(W_, Н_, n_ver, n_sv : integer): strukt;

var i, j, il, priV, izl, iz2, zapoln, svv : integer;

rrf: strukt;

begin randomize;

SetLength(rrf, n_ver);

fV i:=l to n_ver do SetLength(rrf[i-l].sv, n_sv);

// Формируем массив графовой структуры fV i:=l to n_ver do begin il :=random(9);

ifil=Othenil:=l;

rrf[i-l].nam := Ver'+IntToStr(i);

rrf[i-l].dirtext :=R_Text[il];

rrfli-1 ].koVd.X := random(WJ;

rrf[i-l].koVd.Y :=random(H_-30);

rrf[i-l].dirtext := R_Text[random(8)+l];

rrf[i-l].flm := new_fun(2);

end;

fVj:=l ton_svdo begin if random(lOO) = 50 then priV := 1 else priV := 2;

if random(200) = 100 then svv := 1 else svv := 2;

izl := l+random(n_ver);

ifpriV= 1 then begin rrf[izl-l].sv[j-l] :=-l*svv;

zapoln :=-l*svv;

end else begin rrftizl-l],svO-l] := svv;

zapoln := svv;

end;

repeat iz2 := l+random(n_ver);

until iz2 о izl;

ifzapolnOthen rrf[iz2-l].sv[j-l] := svv else rrf{iz2-l].sv[j-l] :=-l*svv;

end;

gen_new_graf := rrf;

end;

3) Функция поиска МНВУ по алгоритму Бёржа function Get_mnvu(aax : strukt): array_stroka;

varmm, cc, ccl : integer;

temp_mnvu: array_stroka;

ss : string;

begin mm := 0;

repeat repeat // 1-й шаг. Удаление простых вершин cc := 0;

while kolprost(aax) о 0 do begin inc(cc);

if prost(aax, num_name(aax, cc)) then begin aax := del_srsc(aax, cc);

cc:=O;

end;

end;

// 2-й шаг. Удаление висячих вершин с включением // их в МНВУ сс1 := 0;

while kolvis(aax) о О do begin inc(ccl);

if vis(aax, num_name(aax, ccl)) then begin inc(mm);

SetLength(temp_mnvu, mm);

temp_mnvu[mm-l] := num_name(aax, ccl);

aax := del_mn(aax, num_name(aax, ccl));

ccl:=O;

end;

end;

until ((kolvis(aax)=0);

(kolprost(aax)=0));

// 3-й шаг. Удаление вершин с максимальным количеством связей // с включением в МНВУ или выбор произв. вершин SS := copy(max_sv(aax, -1), Ь pos(',', max_sv(aax, -1))-1);

inc(mm);

SetLength(temp_mnvu, mm);

temp_mnvu[mm-l] := ss;

aax := del_mn(aax, ss);

if end_opt(aax) = 1 then begin inc(mm);

SetLength(temp_mnvu, mm);

temp_mnvu[mm-l] := num_name(aax, end_opt(aax));

aax :- del_mn(aax, num_name(aax, end_opt(aax))) end;

until length(aax) = 0;

Get_mnvu := temp_mnvu;

end;

4) Процедура получения оптимальной структуры procedure TFVml.But5Click(Sender: TObject);

var vv: array_stroka;

aa, b b : integer;

rtt: matr_zam;

tty: strukt;

begin optimiz := false;

mass_is := DelDoubles(mass_is);

tty := Mi2Ms(mass_is);


SetLength(vv, 0);

if CheckBoxl.Checked then begin F_Dial.m_dv_ := create_dv(F_Dial.Im2.Width, F_Dial.Im2.Height, massjs);

F_Dial.ShowModal;

ifF_Dial.rdo thenvv := F_Dial.mnvu_;

end else vv := Get_Mnvu(create_dv(Imagel.Width, Image 1.Height, mass_is));

if length(vv)=O then exit;

Ver_ost.ColCount := length(vv);

Ver_ost.RowCount := 1;

fV aa :=1 to length(vv) do Ver_ost.Cells[aa-l, 0] := vv[aa-l];

rtt := mz(mass_is, vv);

MZam.RowCount := length(rtt)+l;

MZam.ColCount := length(rtt[O])+l;

Matr_fun.RowCount := length(rtt)+l;

Matr_flm.ColCount := length(rtt[O])+l;

if CheckBoxl.Checked then mass_opt := MAB_D(mass_is, vv) else mass_opt := MAB(mass_is);

doul_petl(mass_opt);

mass_is := Ms2Mi(tty);

//mass_is := strgrid_arr(MII);

ftt := mf(rtt, massjs, vv);

fV aa := 1 to length(rtt) do begin Matr_fiin.Cells[O, aa] := vv[aa-l];

MZam.Cells[O, aa] := vv[aa-l];

end;

fVbb:=l to length(rtt[O]) do begin Matr_fun.Cells[bb, 0] := mass_is[bb-l].nam;

MZam.CelIs[bb, 0] := mass_is[bb-l].nam;

end;

fVaa:=l to length(rtt) do A/bb:=l to length(rtt[O]) do begin ifrtt[aa-l,bb-l] = 2then MZam.Cells[bb, aa] := 'l/Bx';

ifrtt[aa-l,bb-l] = 3then MZam.Cells[bb, aa] := '1/Вых';

ifrtt[aa-l,bb-l] = l then MZam.Cells[bb,aa]:='r;

ifrtt[aa-l,bb-l] = Othen MZam.Cells[bb, aa] := '0';

end;

doul_petl(mass_is);

fVaa:=l to length(rtt) do fVbb:=l to length(rtt[O]) do Matr_fun.Cells[bb, aa]:= ftt[aa-l, bb-1];

output_strukt(MSO, del_col_zero(mass_opt));

PageControl 1,ActivePage := TabSheet5;

Label5.Caption := 'Вершин -' + IntToStr(Length(mass_opt))+ ';

Связей - '+IntToStr(Length(mass_opt[0].sv));

Draw_Graph(Image2, mass_opt, false);

optimiz := true;

But5.Enabled := False;

Button4.Enabled := True;

end;

5) Функция синтеза графовой структуры из строки функции (измери тельного уравнения) function StringToStrukt(f3: string): strukt;

var iil, nn, nnl, pi, asq, podstav : integer;

ml, m2 : massjpos;

preobr, O_cut, bl_, bl_O : string;

vl, v2, v_podst, sokr : arr;

strukt_, rezh: strukt;

begin SetLength(rezh, 0);

preobr := О;

podstay := 0;

SetLength(v_podst, 0);

SetLength(sokr, 0);

repeat Initial_Mass('o_strukt.bdq', obr_sokr, obr_pol, obr_strukt);

inc(podstav);

vl := _s_(preobr);

f3_cut :=_sl_(preobr, vl);

SetLength(ml, 0);

fV iil :=1 to Iength(f3_cut) do if copy(f3_cut, ii 1,1 )='?' then begin SetLength(ml, length(ml)+l);

ml[length(ml)-l]:=iil;

end;

bl_ := obr_pol[s_o_m(f3_cut)-l];

pi :=pos(bl_, f3_cut);

SetLength(strukt_, 0);

strukt_ := obr_strukt[s_o_m(f3_cut)-l];

nn := 0;

nnl := 0;

if seek_int(ml, pl)oO then begin nn :=pl-l;

nnl :=seek_int(ml,pl)-l;

end;

while nn+lpl do begin inc(nn);

if copy(f3_cut, nn, 1) ='?' then inc(nnl);

end;

SetLength(v2, 0);

while ascan(bl_, '?')oO do begin inc(nn);

if copy(fi_cut, nn, 1) ='?' then begin inc(nnl);

asq := posC?', blJ;

delete(bl_, asq, 1);

insert(vl[nnl-l], bl_, asq);

SetLength(v2, Iength(v2)+1);

v2[length(v2)-l] := end;

end;

fViil :=ltolength(v2)do begin strukt_[iil-l].Nam := struktjiil-lj.flin := v2[iil-l];

end;

bl_O := obr_sokr[s_o_m(f3_cut)-l];

if seek_aiT(sokr, bl_0)=O then begin SetLength(sokr, length(sokr)+l);

sokr[length(sokr)-l] :=bl_O;

SetLength(m2, Iength(m2)+1);

m2[length(m2)-l]:=0;

end;

if seek_arr(sokr, bl_0)oO then begin inc(m2[seek_arr(sokr, bl_O)-l]);

strukt_[length(straktJ-2].Nam :=strukt_[length(struktJ-2].Nam+ IntToStr(m2[seek_arr(sokr, bl_O)-l]);

end;

SetLength(v_podst, podstav);

vj3odst[podstav-l] := •##'+IntToStr(podstav)+'='+bl_;

strukt_[Iength(struktJ-l].Nam := '##'+IntToStr(podstav);

asq := pos(bl_, preobr);

delete(preobr, asq, iength(bl_));

if length(preobr)oO then insert(strukt_[length(strukt_)-l].Nam, preobr, asq);

uses_string(v_podst, strukt_[length(struktj-2].fun := bl_;

bl_ :=";

rezh := uses_stnikt(rezh, strukt_);

Del_Soed_Line(rezh);

Del_Odn_Name(rezh);

until length(preobr)=0;

randomize;

fV iil:=l to length(rezh) do begin rezh[iil-l].koVd.X := random(400);

rezh[iil-l].koVd.Y := random(300);

end;

StringToStrukt := rezh;

end;

2. Алгоритм поиска кратчайшего пути в ориептированном графе n_ier := 0;

// Обпуляем количество уровней иерархии // Устанавливаем длину массива использованных вершин ist_mass в // единицу и заносим туда начальную вершину пути iic[_n SetLength(ist_mass, 1);

ist_mass[O] :=jjq_n;

// Сбрасываем массив смежности SetLength(ggq, 0);

// Далее наполняем двумерный массив связности ffq, элементы которого // представляют собой одномерные массивы длины 2 - для исхода и входа // связи. Для этого организуем цикл с постусловием, repeat inc(n_ier);

// увеличиваем на единицу уровень иерархии if n_ier=l then // если он первый, то begin // устанавливаем длину массива согласно числу иерархий SetLength(ffq, n_ier);

// определяем список вершин, смежной с начальной вершиной jjq_n ggq := _smeg(kkw, jjq_n);

// каждую из полученных вершин добавляем в список использованных // вершин если этой вершины там ещё нет А/ ii:=l to length(ggq) do if seek_str(ist_mass, ggq[ii-l])=O then begin SetLength(ist_mass, length(ist_mass)+l);

ist_mass[length(ist_mass)-l] := ggq[ii-l];

end;

// заносим каждую из смежных вершин в массив связности. При этом // первым элементом массива связности при n_ier=l будет начальная // вершина jjq_n, а вторым - один из элементов массива ggq смежных с // вершиной jjq_n вершин A/ ii:=l to length(ggq) do begin SetLength(ffq[n_ier-l], ii);

ffq[n_ier-l, ii-l][l] := jjq_n;

ffq[n_ier-l,n-l][2]:=ggq[ii-l];

end;

end else // если уровень иерархии больше begin // начинаем исследовать предыдущий уровень иерархии, в нашем случае // предыдущую строку массива связности.

// для этого организуем цикл по длине строки fVjj:=l to length(ffq[n_ier-2]) do begin // для каждой второй вершины из каждого элемента строки определяем // список смежных вершин ggq :=_smeg(kkw, ffq[n_ier-2, jj-l][2]);

// проводим исследование этого списка fV кк:=1 to length(ggq) do // если вершины нет в списке использованных if seek_str(ist_mass, ggq[kk-l])=O then begin // добавляем её в список связности, предварительно добавив для этой // цели место SetLength(ffq, n_ier);

SetLength(ffq[n_ier-1 ], length(ffq[njer-1 ])+l);

// в качестве первой берём вторую вершину из предыдущей строки ffq[n_ier-l, length(ffq[n_ier-l])-l][l] := ffq[n_ier-2, jj-l][2];

// a в качестве второй - одну из смежных вершин из ggq ffq[n_ier-l, length(ffq[n_ier-l])-l][2] := ggq[kk-l];

// так же заносим её в массив использованных вершин SetLength(ist_mass, length(ist_mass)+l);

ist_mass[length(ist_mass)-l] := ggq[kk-l];

end;

end;

end;

// продолжаем до тех пор, пока не будут просмотрены все вершины графа, until length(ist_mass)=length(kkw);

// теперь формируем иерархический список возможных путей в виде массива // кке. Он представляет собой двумерный массив, элементами в котором // служат одномерные массивы строк - списки вершин // заносим в него начальную вершину пути первую из первого элемента в // данном списке ffq.

// В двумерном массиве ffq, который состоит из бинарных строк, где вторая // часть элементов последующей строки совпадает первой частью некоторого // элемента предыдущей строки. На основании этого можно построить // двумерный массив элементами которого являются одномерные массивы // строк, причём количество элементов одномерного массива равно номеру // строки массива ffq. Этот элемент может содержать путь между двумя // вершинами графа, SetLength(kke,l);

SetLength(kke[O],l);

SetLength(kke[O,O],l);

kke[O,O][O]:=ffq[O,O][l];

// Копируем остальные вершины и выполняем преобразования структуры ffq //вкке.

fV ii:=l to length(ffq) do begin SetLength(kke, ii+1);

fV jj:=l to length(ffq[ii-l]) do begin SetLength(kke[ii],jj);

fVkk:=l to length(ffq[ii-l, jj-1]) do begin SetLength(kke[ii, jj-1], kk);

kke[ii,jj-l][kk-l] := ffq[ii-l, jj-l][kk];

end;

end;

end;

A/ ii:=3 to length(kke) do fV jj:=l to length(kke[ii-l])do N kk:=l to length(kke[ii-l, jj-1]) do SetLength(kke[ii-l, jj-1], ii);

fV ii:=2 to length(kke)-l do begin fVjj:=l tolength(kke[ii-l])do fVjl := 1 to length(kke[ii]) do ifkke[ii-l, jj-l][length(kke[ii-l,jj-l])-l] = kke[ii, jl-l][O] then kke[ii, j 1-1] :=add_arr(kke[ii-l, jj-1], kke[ii,j 1-1]);

end;

// Выбираем из kke те элементы, которые содержат jjq_n - начальную // вершину пути, jjq_k-кoнeчнyю вершину пути и те элементы, что // расположены между ними и помещаем их в результирующую перемепную.

SetLength(rezz, 0);

fVii:=l tolength(kke)do fV jj:=l to length(kke[ii-l]) do if (seek_str(kke[ii-l,jj-1], jjq_n)oO) and (seek_str(kke[ii-1, jj-1 ], jjq_k)oO) then begin SetLength(rezz, length(rezz)+l);

rezz[length(rezz)-l] :=copy(kke[ii-l,jj-l], seek_str(kke[ii-l,jj-l], seek_str(kke[ii-l, jj-1], jjq_k)-seek_str(kke[ii-l, jj- end;

ПРИЛОЖЕНИЕ Пример применения автоматизированной поддержки при проектирова нии ИПС машиностроительного нроизводства.

В качестве примера проектирования структуры рассмотрим проектиро вание ИИС для централизованного управления обрабатывающими центрами (ОЦ) с системой ЧПУ МЛ 655. Упрощённая структурная схема этого центра выглядит так:

Рисунок 1. Схема обрабатывающего центра с ЧПУ МЛ-622. 1 - устрой ство заточки инструмента с двигателями позиционирования;

2 - инструмент с крепящим устройством;

3 - привод вертикального неремещения карусели с инструментами;

4 - направляющая вертикального перемещения карусели;

5 курусель;

6 - шаговый привод карусели;

7 - акустический датчик износа;

8 оптические датчики контроля размеров заготовки;

9 - обрабатываемая деталь;

10 - продольно перемещающаяся направляющая;

И - поперечно перемещаю щаяся направляющая;

12 - станина.

Пусть ИИС контролирует п одинаковых ОЦ, распределённых по разным цехам и выполняющим обработку деталей по разным микропрограммам. Дан ные о технологическом процессе (включая сведения о износе и произведён ной заточке рабочего инструмента передаются в центральную ЭВМ для обра ботки). Структурная схема объединения может быть нредставлена как п ОЦ объединённых при помощи коммутирующего устройство, служащего для сбо ра информации и передачи управляющих команд и соединённое посредством интерфейса центральная ЭВМ (ЦЭВМ), См. рис.2:

0Ц1 0Ц2 ОЦп ОЦЗ...

Коммутирующее устройство ЦЭВМ Рисунок 2. Структурная схема объединения ОЦ При обработке детали осуществляется процесс измерения детали при помощи оптических датчиков. Результаты измерений используются в управ ляющих программах станка. При технологическом процессе предполагается вести акустический контроль остроты инструмента. В случае понижения ост роты - не прерывая технологического процесса обработки изделия отвести рабочий орган от обрабатываемого изделия и подвести его к устройству за точки. В процессе заточки устройство должно само выбирать оптимальный режим исходя из заложенной в ЗУ микропрограммы.

Задача - спроектировать оптимальную структуру распределённой ИИС с применением разработанных программных модулей компьютерной поддерж ки.

Применение разработанного метода по функциональному выделению основных компонент в данном случае более целесообразно, так как нет воз можности более точно провести разбиение по компонентно-иерархическому выделению. У станка с ЧПУ имеется подсистема электроприводов, ЧПУ (управляющее устройство), подсистема датчиков (перемещения, контроля размеров заготовки, безопасности, контроля износа инструмента). В процессе функционирования станка информация снимается с датчиков и передаётся на управляющее устройство, формирующее команды управления и силовые сиг налы высокого напряжепия для подачи на электроприводы. Часть команд, представляющая собой сигналы, по интерфейсу передаётся на пункт обработ ки на центральное вычислительное устройство для обработки и построения технологической документации, сопровождающей выпуск того или иного об разца, поскольку каждый станок обрабатывает свою деталь. Для передачи служит интерфейс, производящий перевод команд ЧПУ в команды вычисли 174, тельного устройства. В соответствии с изложенным структурная схема для одного станка имеет вид:

Иодсистема датчи Подсистема ков с начальными ЧПУ электроприводов преобразователями Интерфейс передачи Центральное вычислительное устройство Рисунок 3. Структура ИИСиУС станка с ЧПУ.

Здесь логичны связи подсистемы электроприводов и ЧПУ, как прямые, так и обратные.

Если рассматривать электроприводы, то можно выделить привод верти кального перемещения (ПВП), привод поперечного перемещения детали (ППрП), привод (ППпП), шаговый двигатель поворота карусели (ШДПК), двигателей привода инструментов (ИД), двигатели перемещения устройства заточки в 3-х направлениях (Dx, Dy, Dz), сам двигатель заточки (Дз). Каждый двигатель содержит своё пусковое устройство, служащее для запуска и точной остановки, а также для контроля позиционирования.

Структурная схема позиционирующего электропривода выглядит так:

Регулятор Пусковое Регулятор ускорения —^ m Р устройство скорости • —• (РУ) (ПУ) (PC) Электропривод (Эп) Рисунок 4. Структура следящего электропривода одной координаты и поворотного шагового двигателя.

Каждый позиционирующий электропривод содержит в себе пусковое устройство, управляемое от сигналов преобразователя, которое, в свою оче редь, получает команды от контроллера ЧПУ. Обычные электроприводы так же содержат в себе пусковое устройство, для регулирования оборотов враще ния инструмента.

Подсистема электроприводов для обрабатывающего центра МЛ- может выглядеть так:

i p.

ml ПУПВП РСПВП РУПВП ПЕ И р —• т2 ППр ПУППрП РСППрП РУППрП пппП -• РУППпП тЗ РЗ ПУППпП РСППпП г ЧПУ Коммутационно- р -т4 РУШДПК ПУШДПК РСШДПК шдпк распределитель ное устройство (КМРУ) р т5 PCDx ПУОх РУОх Dx * т6 р PCDy nyDy PyDy Dy ml ml PCDz PyDz Dz Рисунок 5. Структура всех приводов обрабатывающего центра.

Если рассматривать управляющее устройство, то оно содержит в себе микроконтроллер, ПЗУ, ОЗУ АЦП, ЦАП, выходные преобразователи.

Интерфейс передачи содержит в себе коммутаторы с распределителями и защитой от помех.

Центральное вычислительное устройство - может быть настольный или мобильный ПК.

В подсистеме датчиков расположены фильтры и усилители для началь ного преобразования сигналов.

Подсистема контроля остроты режущего инструмента акустическим ме тодом:

Датчик ус Акустический Регулятор величины корений датчик (АД) подачи (РВП) (ДУ) Предварительный Блок управления усилитель (ПрУ) (БУ) Устройство Демодулятор обработки и передачи данных (Дмд) (УОПД) Усилитель (У2) К АЦП Рисунок 6. Подсистема контроля остроты режущего инструмента аку стическим методом.

Подсистема измерения размеров детали может быть представлена как:

Изм,головка Исполнительное (ИГ1) устройство (ИУ) Изм.головка (ИГ2) Измерительные МКр ОЗУр ПЯУ преобразователи (ИПр) Рисунок 7. Подсистема измерений размеров детали.

Если расширить полученную структурную схему на рис. 2, учитывая ранее к изображённые подсистемы, то можно получить структуру ИИС одного из обрабатывающих центров. Она будет выглядеть так:

ЛУ ИУ РВП пз АЛ У ИГ2 /- БУ МКр ип ОЗУ ИГ • Лмд ППР ППп ШЛП Dx Рисунок 8. Структурная схема ИИС, составленная из подсистем, изображёп ных на рис. 7, рис. 6, рис. 5 в соответствии со структурной схемой на рис. 3.

И так как обрабатывающие центры соединены в сетевую топологию по схеме «звезда», которая изменениям не подлежит, то целесообразно оптимизировать структуру ИИС одного обрабатывающего центра. Оптимизацию будем произ водить при помощи компьютерной поддержки, используя программный мо дуль функциональный оптимизатор структур (ФОС), При этом структура бу дет выглядеть более наглядней и компактней, так как для отображения ис пользуется направленный граф.

Вершим - 70, Связей • ^ \ Сокрднить игх граф | Г-^г-^л^с i «^ / 1 -f »" 1 Пптим1ЛЧУ)(и?гь 1 г" u'Mjf VHP' Orrriwii»мр»анная:гру.т •К» Грач»пеское представ rmmut отимиэиро0а1««й структуры 1 Графическое |ф«АСТавяенме исходного графа Генерация им* •arpjana Результаты олти»шэацич - — •' • • • ИУ да РБП ИП : о о БО У }—'" jN^ - ОПЗУр а "' " ОЗУр. Мкр..„-. • уопл • Дна й 1 игг уг Чu\Xhm... - •••'"" РСПВП Т ПУПВП РУПВП «НПВП ПУППрП РСППрП РУППрП / / «ЛПрП ^^ ' »-Ц, дз ПУППпП РСППпП РУППпП »-«ППпП ПУШШТ ТОИЯПТ РУШДПТ /ШрУа а-о «•чщдпг.

руох РСОх' - *М5 а-Л^ Пи Ыж т.. ^ 9*"00у „лидг ПУОу т.PCOz РУОг N» a-fV, а-о виз г-вИД4 nyDz гп ОПу/ *«1Я "\дз Рисунок 9. Расширенная структура подсистемы управления одни'м из 8 ми управляющих центров с ЧПУ После проведения структурной оптимизации возможно возрастание сложности функциональных элементов и упрощение общего вида структуры.

Оптимизацию проведём в автоматическом режиме, когда после удаления всех простых и висячих вершин из двудольного графа с включением последних в МНВУ выбирается вершина с наибольшим количеством связей.

Вид фрагмента двудольного в диалоговом окне режима поиска МПВУ функционального графа:

Поиск МНВУ в диалоговом режиме Вия двудольного графа ПП:

1рП РУППрП ПУППпП тЗ РСППпП РУППпП рЗ ППпП о о Q о О О О ч • — • —/„.,.

'—•i • - — -4-..

\г 1f I -РУППрП- -p2- -ППрП- -ПУППпП- -тЗ- -РСППпП- -РУППпП- -рЗ- -ППпП- -ПУШj ± Ш МНВУ Кол-во исх. с в я з е Й К каким верши Имя верх. вер. Имя нижн. вер.

Запуск!!! Вариант по ^^молчанию Рисунок 10. Фрагмент двудольного графа в диалоговом окне оптимиза ции с пользователем. (Вверху справа - кнопка отката, внизу - кнопки запуска, выше - списки оставшихся вершин и список вершин МНВУ).

Вершин - 70: Связей - Злгрузш-ь из Фг^п9 { ГвнврировГ'Ь crpi^ijpy,. \ Сохрзмть ио( Греф } Сохранить пр«о6р граф. Опп^^^зири^з Генерация или эвгр^зка j Графическое предстаолмше исходного графе Рсз1}ЛЫЛЫ ОПТИММ эацин j аиияте оптннйзированной С1|)ктяы Опт1тнэ)фоввнная стр|^т()ра 1 ИУ fj., УОГШ • у *Ч1ПВП РУПВП " ^ ПУПВП м-ОППрП : •' • руппрп '.. ПЫППрП т2* г=-ОППпП РУППпП -.. •. ' ПУППпП тЗ / 1 • /'' /' РУШШТ ПУШЯПТ "ы* 1 / -^ zf^zs ПУОу т nyD: m7 РУРг ОПуСГ ав^цгт;

**0ИД Рисунок 11. Вид графа оптимизированной структуры Правда, система в автоматическом режиме не всегда корректно распре деляет операторные функции, поэтому нужно использовать ручное корректи рование распределения. Папример, в нашем случае оказались совмещены ИД и ЧПУ, а так же приводы устройства заточки и приводы перемещения дета лей, что не допустимо.

Далее оценим погрешность при помощи модуля оценки погрещностей (МОП). Выберем путь от измерительного устройства Ипр - устройства пози ционирования измерителя размеров детали и до вертикального привода, по скольку именно оно перемещает карусель с инструментами.

Оценка погрешности структуры пашиносгроигелыши '/УС \ Сохранить в файя... I ь ш'$Ит.пп-~ль\ Счктапъ погреямость из Файла..РАСЧЕТ!

Погрешность першин:

ИУ РВП АЛ ип ДУ •Г ИП-9.33771661314015Е.

ИГ2.0,000313053426067" ByJ L. ПР У1 ИУ»1,725311068194Е С ПЗУр 1 ОЗУр=2,9479157180519!

Мкр ОЗУр УОПД, & ПЗУр.0.0001156462078( ИГ2 рспеп ПУПВП РУПВП ЛУ=0,00а108717535262;



Pages:     | 1 | 2 || 4 |
 





 
© 2013 www.libed.ru - «Бесплатная библиотека научно-практических конференций»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.