
- •Глава 1. Анализ процессов проектирования алгоритмов
- •1.1. Актуальность создания системы проектирования алгоритмов
- •1.2. Анализ форм представления алгоритмов
- •1.3. Анализ процесса проектирования алгоритмов
- •1.4. Документы описания алгоритма
- •1.5. Определение системы программирования татра
- •Раздел 2. Языки описания алгоритмов
- •4.1. Язык заполнения сводной документа описания признаков
- •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. Состав программного обеспечения
АВТОМАТИЗИРОВАННАЯ ИНТЕГРИРОВАННАЯ СИСТЕМА ТЕХНОЛОГИИ "АИСТ"
СИСТЕМА ПРОГРАММИРОВАНИЯ ТАТРА-2
(версия 2)
Язык описания алгоритмов выбора решений
(руководство разработчика)
Листов 49
г.Санкт-Петербург
2012
АННОТАЦИЯ
В документе дано описание системы программирования ТАТРА второй версии, предназначенной для проектирования в диалоговом режиме алгоритмов выбора решений из допустимого и явно заданного их множества.
Описание предназначено для технологов, проектирующих алгоритмы, и прикладных программистов.
СОДЕРЖАНИЕ
Глава 1. Анализ процессов проектирования алгоритмов …………………… |
4 |
1.1. Актуальность создания системы проектирования алгоритмов …... |
4 |
1.2. Анализ форм представления алгоритмов ………………………….. |
4 |
1.3. Анализ схем и действий по проектированию алгоритмов ……….. |
10 |
1.4. Документы описания алгоритма …………………………………… |
10 |
1.5. Состав системы проектирования алгоритмов ТАТРА ……………. |
10 |
Глава 2. Диалоговый компонент системы проектирования алгоритмов ТАТРА ………………………………………………………………... |
11 |
2.1. Язык описания алгоритма ………………………………………... |
11 |
2.2. Язык заполнения сводной документа описания признаков …… |
13 |
2.3. Язык описания правил выбора решений ………………………... |
14 |
2.4. Язык описания решений задачи ………………………………..... |
16 |
Глава 3. Базы данных и знаний системы проектирования алгоритмов ТАТРА ………………………………………………………………... |
|
3.1. База данных «Алгоритмы» …………………………………………. |
|
3.1. База данных «Внешняя форма алгоритмов» ……………………. |
|
3.2. База данных «Внутренняя форма алгоритмов» ………………… |
|
3.3. Базы знаний систем проектирования …… |
|
5. Дополнительные возможности описания алгоритмов |
17 |
5.1. Оптимизация объема памяти, занимаемой алгоритмом …………….. |
17 |
5.2. Язык заполнения таблицы признаков ………………………………… |
19 |
5.3. Язык описания правил выбора решений без ссылки на сводный документ описания признакового пространства ……………………. |
24 |
6. Организация ввода алгоритмов в базу данных …………………………… |
24 |
6.1. Ввод данных в диалоговом режиме ………………………………….. |
24 |
6.2. ………………………………… |
19 |
7. Применение системы программирования ТАТРА при проектировании программной системы ……………………………………………………… |
25 |
7.1. Организация обращение к обрабатывающим программам …………. |
25 |
7.2. Методика проектирования программы вычисления признаков …….. |
27 |
7.3. Методика проектирования программы оформления решения ……… |
25 |
8. Организация хранения алгоритмов в базе данных ……………………….. |
27 |
8.1. …………. |
25 |
8.2. Организация информационных массивов в системе программирования "ТАТРА" ……………………………………….... |
27 |
9. Состав программного обеспечения ……………………….. |
27 |
|
|
|
|
7. Обработка двумерных таблиц ...........................24
8. Некоторые приемы программирования алгоритмов
в системе программирования ТАТРА.....................22
13. Замечания по программному обеспечению..........28
Глава 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. Алгоритм, представленный в табличной форме
В то же время любое изменение в блок-схеме потребует целую цепь изменений как в ней самой, так и в программе, которая реализует эту схему (поскольку программа моделирует работу этой схемы).
Вместе с тем алгоритмы, представленные в табличной форме, имеют недостатки, а именно:
невозможно организовать циклы внутри таблиц и
возможно замедление вычислительного процесса.