- •Среда проектирования алгоритмов татра-2 (версия 2) (руководство разработчика)
- •Аннотация
- •Содержание
- •Глава 1. Анализ процессов проектирования алгоритмов
- •1.1. Актуальность создания системы проектирования алгоритмов
- •1.2. Анализ форм представления алгоритмов
- •1.3. Анализ схемы проектирования алгоритмов
- •1.4. Документы описания алгоритмов
- •2. Состав среды проектирования алгоритмов татра-2
- •1.5. Состав среды проектирования алгоритмов татра-2
- •3. Алгоритм функционирования среды проектирования алгоритмов татра-2
- •Aist.Mnt
- •Srtatr00.Exe
- •Выход в операционную систему
- •Решение задачи
- •Закрытие файлов
- •Алгоритмов татра-2
- •Глава 2. Компоненты среды проектирования алгоритмов татра-2
- •2.1. Диалоговый компонент ввода алгоритмов
- •Подготовка рабочих переменных и полей
- •Алгоритм применения правил и выбора допустимого множества решений
- •Алгоритм оформления решений
- •Оформление решения заданного константами
- •Глава 3. Базы данных и знаний среды проектирования алгоритмов татра-2
- •3.1. База данных «Алгоритмы»
- •3.2. База данных «Текстовая форма алгоритмов»
- •4.2. Язык описания правил выбора решений (язык описания таблицы предикатов)
- •4.3. Язык описания решений задачи
- •5. Дополнительные возможности описания алгоритмов
- •5.1. Оптимизация объема памяти, занимаемой алгоритмом (язык описания таблицы предикатов)
- •5.2. Язык заполнения таблицы признаков
- •5.3. Язык описания правил выбора решений без ссылки на сводный документ описания признакового пространства
- •6. Организация ввода алгоритмов в базу данных
- •6.1. Ввод данных в пакетном режиме
- •Int filtr(long n, long a, short l, short *I, short *j, long *m, int RazM, long *k, int RazK) ,
- •Int predi( long n, long k, long m, int RazM, long r, int RazM) ,
- •Int resch(long n, short f, long a, short l, short I, short j, long m, int RazM) ,
- •7.2. Методика проектирования программы вычисления признаков
- •7.3. Методика проектирования программы оформления решения
- •8. Организация хранения алгоритмов в базе данных
- •7.2. Организация информационных массивов в системе программирования tatra
- •8.1. Структура массива мо
- •8. Состав программного обеспечения
- •4. Организация базы данных системы программирования татра
- •5. Организация базы знаний системы программирования татра
Глава 1. Анализ процессов проектирования алгоритмов
1.1. Актуальность создания системы проектирования алгоритмов
Эффективность проектирования и функционирования систем автоматизированного проектирования технологической подготовки производства (САПР ТПП) во многом определяется технологией и качеством проектирования алгоритмов и программ решаемых задач. Учитывая слабую формализацию задач ТПП, многие из них требуют предварительной формализации, а затем их алгоритмизации и программирования. Как правило, алгоритм решения задачи многократно меняется, причем проверить его достоверность можно только после написания программы и анализа контрольных примеров. Количество итераций при формировании достоверного алгоритма, а, следовательно, и программ равно 412. В первых итерациях обычно больше времени затрачивается на проектирование алгоритма. В последующих итерациях незначительные изменения алгоритма часто приводят к значительным изменениям программы, т.е. на проектирование программы затрачивается больше времени, чем на проектирование алгоритма. Общее соотношение времени, затрачиваемое на разработку алгоритма и программы, составляет приблизительно 1:2. Следует также отметить, что большие потери времени возникают при передаче алгоритма программисту, так как последний должен не только понять алгоритм, но и изучить его.
Несомненно, оптимальный вариант - это совмещение в одном лице алгоритмиста и программиста, т.к. при этом не требуется время на передачу алгоритма. Но соединить в одном лице технолога и программиста, а также уменьшить количество итераций при проектировании алгоритма является задачей очень сложной, поэтому в настоящее время ведутся работы по уменьшению объема программирования при проектировании САПР, чего можно добться применением инструментального программного обеспечения и специальных сред проектирования и отладки алгоритмов.
1.2. Анализ форм представления алгоритмов
Алгоритмы решения технологических задач могут быть представлены на естественном языке, в графическом виде (в виде блок-схем) и в табличной форме. Описание алгоритма на естественном языке, как правило, не может быть непосредственно использовано для проектирования программы. Это обусловлено слабой формализацией такого описания. Поэтому программисту необходимо провести большой объем работ, связанных с формальным описанием входных и выходных данных, с доопределением отдельных понятий, положений и решений. Описание алгоритма на естественном языке эффективно в случае, когда технолог практически не знаком с возможностями ЭВМ и основами программирования.
Блочное представление является наглядным средством записи алгоритма. По схеме довольно легко можно проследить связь между входными данными и решениями. Но это справедливо только в случае, когда в схеме содержится небольшое количество логических блоков. Обычно в алгоритме решения технологической задачи таких блоков очень много, что значительно затрудняет их чтение и анализ, а также обмен алгоритмами между разработчиками САПР ТПП. Следует также отметить, что качество разработки схем во многом определяет трудоемкость проектирования программ и эффективность работы системы. Поэтому от технолога, составляющего схему алгоритма, требуются довольно глубокие знания возможностей ЭВМ и вопросов программирования. Но самый существенный недостаток блочного представления алгоритмов – это отсутствие адаптивных свойств алгоритмов и программ к вносимым корректировкам. Любые изменения алгоритмов приводят довольно часто к значительным изменениям программ.
Табличная форма представления алгоритмов задач с большим числом условных вершин является наиболее прогрессивной. Сущность такого представления алгоритмов состоит в том, что семантическая часть алгоритма отделяется от синтаксической. Синтаксис представления алгоритмов не меняется от задачи к задаче, поэтому произвести семантический разбор алгоритмов разных задач можно по одним и тем же правилам. Следовательно, для обработки алгоритмов, представленных в табличной форме, эффективно использовать инвариантные программные средства, что значительно сокращает время разработки автоматизированных систем. Табличная форма записи алгоритмов является наглядной и удобной для проведения анализа алгоритма. Алгоритмы САПР хранятся в виде данных, которые служат исходными данными для работы инструментальных процедур. При изменении алгоритмов меняются данные, а не программа. Таким образом, повышаются адаптивные свойства САПР.
Для того чтобы наглядно проиллюстрировать преимущества табличной формы представления алгоритмов перед блочной, рассмотрим упрощенный пример. Построим алгоритм решения задачи «Назначение технологического метода обработки цилиндрического отверстия на последнем переходе». В этом случае учитываются два основных требования чертежа: шероховатость поверхности и точность диаметрального размера отверстия. На рис.1 показана схема расположения областей, определяющих технологические возможности методов обработки внутренних цилиндрических поверхностей. По оси Rz откладываются значения шероховатости, обусловленные технологическими методами, а по оси JT - значения экономически целесообразной точности в единицах допуска СТ СЭВ 144-75, свойственной рассматриваемым методам. Найти решение в данной ситуации означает выбрать технологический метод или методы, с помощью которых можно получить требуемое качество поверхности. Алгоритм программы поиска решений, представленный в блочной форме, показан на рис.2. Табличный алгоритм поиска тех же решений представлен на рис.3.
Сравнивая блок-схему и таблицу, нетрудно убедиться в преимуществе составления последней. Кроме того, внесение изменений в таблицу не влечет за собой изменений в программе ее обработки ( т.е. в программе поиска решений).
JT
9,0
5
8,4
8,2
3
4
7,8
7,2
7,0
2
6,8
6,5
1
6,0
5,9
Rz
1,8
6,3
0,32
0,5
0,6
0,7
1,25
1,4
2,5
Рис. 1. Схема расположения областей решений
Рис. 2. Блок-схема алгоритма
Т А Б Л И Ц А П Р И З Н А К О В О Г О П Р О С Т Р А Н С Т В А |
||||||||||||
Но- мер при знака |
Примечание |
Алгоритм |
Составил |
Проверил |
||||||||
А=МЕТ; |
Пелих В.Н. |
Падун Б.С. |
||||||||||
строка |
столбец |
разбиение |
значение |
программа |
имя алгоритма |
|||||||
min |
max |
номер |
имя |
|||||||||
1 |
Р1-шероховатость поверхности |
Ц=1; |
Т=1; |
Е=0,01; |
А=0,31; |
В=6,31; |
|
|
|
|||
2 |
Р2-точность диаметрального размера |
Ц=1; |
Т=2; |
Е=0,01; |
А=0,31; |
В=9,1; |
|
|
|
|||
3 |
|
|
|
|
|
|
|
|
|
|||
Т А Б Л И Ц А П Р А В И Л |
|||||||||||
Алгоритм |
Составил |
Проверил |
|||||||||
А=МЕТ; |
Пелих В.Н. |
Падун Б.С. |
|||||||||
Номер решения |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
|
||
1; |
[0.32,1.4] |
[5.9,7.2] |
|
|
|
|
|
|
|
||
2; |
[0.7,1.25] |
[6.0,7.0] |
|
|
|
|
|
|
|
||
3; |
[0.5,1.25] |
[6.5,2.4] |
|
|
|
|
|
|
|
||
4; |
[0.6,2.5] |
[6.8,8.2] |
|
|
|
|
|
|
|
||
5; |
[1.8,6.3] |
[7.8,9.0] |
|
|
|
|
|
|
|
||
Т А Б Л И Ц А Р Е Ш Е Н И Й |
|||||
Алгоритма |
Составил |
Проверил |
|||
А=МЕТ; |
Пелих В.Н. |
Падун Б.С. |
|||
Номер решения |
Адрес расположения |
Программа |
Решение |
||
Р=1; |
Ц=1; Т=3; |
К=’шлифование’; |
|
||
Р=2; |
Ц=1; Т=3; |
К=’развертывание’; |
|
||
Р=3; |
Ц=1; Т=3; |
К=’точение’; |
|
||
Р=4; |
Ц=1; Т=3; |
К=’протягивание’; |
|
||
Р=5; |
Ц=1; Т=3; |
К=’зенкирование’; |
|
||
Рис. 3. Алгоритм, представленный в табличной форме
В то же время любое изменение в блок-схеме потребует целую цепь изменений как в ней самой, так и в программе, которая реализует эту схему (поскольку программа моделирует работу этой схемы).
Вместе с тем алгоритмы, представленные в табличной форме, имеют недостатки, а именно:
невозможно организовать циклы внутри таблиц и
возможно замедление вычислительного процесса.
