Файл: Клевенский А.Е. Моделирование геометрических понятий и технология проектирования.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 25.07.2024

Просмотров: 103

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

списковой структурой, д о л ж н ы иметь операторы, с по­ мощью которых можно вводить данные в список; выпи­ сывать (или читать) список или элемент списка; нахо­ дить требуемый список или его элемент; изменять весь список или его элементы; дополнять список; исключать список из описания или элемент из списка.

При работе со списками в о з м о ж н ы такие ситуации, когда искомая информация отсутствует в общем описа­

нии. Это

обстоятельство (в

отличие от

вида

обычного

обращения к подпрограммам, для которых

характерно

требование:

один вход — один выход)

ставит

особые

условия д л я

организации

обращения

к

операторам

комплекса

программ, обеспечивающих

построение ин­

формационных массивов (ИМ) со списковой структурой. Например, оператор Н А Й Т И (список описания объекта) д о л ж е н иметь минимум д в а возможных исхода проце­ дуры: когда список найден и когда список в общей си­

стеме

описания

отсутствует.

Данные, входящие

в И н К Д , а т а к ж е организация

набора

самих

И н К Д ,

целесообразно подчинить требо ­

ваниям общего подхода к формированию информации в

виде массивов со списковой структурой. В этом

смысле

информация в

И н К Д складывается

из

следующих ком­

понент^

списка:

 

 

 

 

 

 

 

 

 

 

1-я

строка

П а р а м е т р ы

Q,

определяющие

 

переход

 

 

П О С Л Е

 

выполнения процедуры і-го

 

 

уровня

детализации .

 

 

 

 

 

2-я

строка

П а р а м е т р ы

Q,

определяющие

 

переход

 

 

П О С Л Е

выполнения і+

\ уровня

детали­

 

 

зации. -

 

 

 

 

 

 

 

 

п-я

строка

П а р а м е т р ы

Q,

определяющие

 

переход

 

 

НА

В Ы П О Л Н Е Н И Е

процедуры.

 

/ i + 1 - я

строка

Указатель

строки, с которой

начинаются

 

 

данные о размещении

и пуске программы

 

 

(модуля),

обеспечивающей

выполнение

 

 

той

части

процедуры,

которую

выполня­

 

 

ет

машина

без

вмешательства

человека.

/г + 2-я

строка

Указатель

строки, с

которой

начинается

 

 

массив

И н К Д ,

в ы д а в а е м ы й

на

 

внешнее

 

 

устройство

отображения

информации.

 

 

Это текст

служебного

сообщения, текст

 

 

запроса,

изображения

эскиза

и т. п.

85


Р а н е е было сказано, что процедура

Р Е А Л И З О В А Т Ь

состоит в поиске шага

действия по заданному

значению

Q и прежде всего значению х. Теперь м о ж н о

уточнить,

что некоторые компоненты

Q (в том числе и х)

являются

элементами языка

поиска

следующего

И н К Д

и,

следо­

вательно, являются аргументами оператора НАР1ТИ.

Таким образом,

в

И н К Д сконцентрированы

данные

поиска следующего

шага

действия; признаки

действия

(или макрокоманды) управления процессом; информа ­

ция, позволяющая оператору-конструктору

контролиро­

вать

H воздействовать на

процесс проектирования;

нако­

нец, сведения о программной реализации

определенной

части

процедуры.

 

 

 

 

Таково

полное содержание И н К Д , и так

как

И н К Д

является

представителем

фиксированной

«точки»

про­

цесса, а из таких «точек» строится ветвь

процесса про­

ектирования, то теперь

можно несколько

видоизменить

первоначальную постановку задачи о программе управ­

ления процессом.

По

новой формулировке

требуется

р а з р а б о т а т ь

программу,

с помощью которой

можно

ана­

лизировать

и о б р а б а т ы в а т ь

любой

И н К Д процесса,

ины­

ми словами,

путем

анализа

строк

описания

И н К Д

уточ­

нить его состав и определить дальнейший ход действия.

Что касается обработки

И н К Д ,

то

она

заключается в

реализации тех процедур, которые

запрограммированы

в виде м а к р о к о м а н д и описаны в

самом

И н К Д .

 

Существенные этапы

такой

программы

состоят в

следующем . Сперва по

наименованию и

данным

описа­

ния списка И н К Д находится

массив И н К Д . По

заданно ­

му значению параметра

Q и

у к а з а т е л я м

списка

опреде­

ляются данные первого

И н К Д . Д а л е е

начинается

анализ

и обработка выбранного кадра . Последовательно выби­ раются п а р а м е т р ы Q и по значениям м а к р о к о м а н д вы­ полняются соответствующие им операции. З а т е м на вне­ шнее устройство (ВнУ) отображения информации выда ­ ется сообщение, по которому конструктор может оценить ситуацию выполнения операции процесса. Оценив инфор­ мацию и приняв решение (по команде с пульта), выпол­ няется заключительная операция обработки И н К Д , ко­ торая может принимать различное смысловое значение. Например, отрицание предложенной процедуры, или ввод информации и ее перекодировка, или программное выполнение директивы и т. п. Заканчивается обработка

86


И н К Д тем,

что

по

заданным

в этом И н К Д

п а р а м е т р а м

Q (ближайшего

по

уровню

детализации)

выбирается

следующий

И н К Д

и т.

д.

 

 

Необходимо

отметить,

что

на запрограммированную

часть выполнения процедуры

могут в принципе возла­

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

определив д л я них роль

операторов

подготовительных

операций. В число таких

операций входят:

 

1)

простейшие

процедуры перекодирования

вводимой

и выводимой

на

ВнУ

информации;.

 

 

2)

поиск

и загрузка

в

оперативную

память

рабочих

программ (узкоспециализированного назначения) и ор­

ганизация обращения к

ним;

3) поиск и загрузка

массивов И н К Д встраиваемой

ветви и выполнение необходимых операций по прерыва­ нию выполняемой ветви процесса.

Ж е л а т е л ь н о , чтобы эти операции

были

оформлены

как сервисные подпрограммы системы.

 

Выполнение

запрограммированной

части

И н К Д мо­

ж е т оказаться

длительным во времени.

Поэтому целесо­

образно выполнить только подготовительные процедуры. Это значит, что обработка некоторого набора И н К Д пер ­ воначально сводится к «планированию» операций ветви или ее части, а затем, если конструктор считает необхо­ димым, ветвь выполняется. Число планируемых опера ­ ций ветви регламентируется конструктором. Очевидно, что данные, определяющие выполнение ветви, а т а к ж е вводимые или вычисляемые переменные, д о л ж н ы реги­ стрироваться.

И з л о ж е н н а я

схема обработки

И н К Д в

виде алгори­

тма приведена

на рис. 5. Нетрудно

видеть,

что эта схема

не зависит от структуры процесса проектирования. И те­ перь безразлично, рассматривается процесс конструиро­

вания

формы

Е Э л Д

или какой-либо другой

фрагмент

проектирования. Ход

процесса

в деталях

предопределен

п а р а м е т р а м и

Q, с

помощью

которых

осуществляется

связь

м е ж д у И н К Д .

 

Конечно,

наборы И н К Д , из

которых

складываются

ветви

 

процесса

проектирования,

д о л ж н ы

быть тщательно разработаны, особенно их взаимосвя ­ занность. Н о принцип многоуровневой детализации по­ зволяет осуществить уточнение не только в процессе разработки ветви, но и в процессе развития системы.

87


( Нашло )

По заданному наимеио- Ванию^ветви іНАИТИ

массиіiccuo ИнКД

выход

НАЙТИ ПОописание

ИнКД

1 Выход

Анализ 1-й строки дан­ ных В ИнКД

Анализ^ следущей стро­ ки данных о ИнКД

нет

Обращение В 53СП

X

Перейти л следующей строке описания ИнКД

Выход

,,

М*0Д2

4 D -

Необходимо сформи­

 

роватьмассив ИнКД

Выход

ВЫХОД 1 Выполнение Ветви завершено

Рис. 5. Блок-схема программы упра

Блок передачи данных ИнКД на ВнУ Принятие констриктором решения Ввод данных о принятом решении -

fa ^^веделеньг^нет

\данные объекта?

Занесение данных Ö

Занесение данных В

„Проект объекта "

„Протокол процесса "

нет

нет

Обращение В БЗСП

ВЫХОД 3 Сбойная ситуация

вления процессом проектирования

88

И з м е н е н ие связей производится

путем

замены

парамет ­

ров Q,

что не

затрагивает

другие компоненты

И н К Д .

Легко

формулируются и сами

правила

замены.

 

 

П р о г р а м м а ,

написанная

по

приведенной

на

рис.

5

блок-схеме, занимает незначительную часть памяти.

 

Необходимо

отметить недостаток такого подхода:

на

к а ж д у ю «полезную» операцию

процесса

проектирования

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

совершенствования технических

средств,

а

динамиче­

ским показателям

гибкости

программного

обеспечения

и - проявлению

свойства

инвариантности.

 

 

4. Некоторые

особенности технологии

конструирования

формы детали

 

 

Теперь можно

с

уверенностью

отметить,

что

создание

технологической схемы процесса проектирования сводит­

ся к

разработке наборов И н К Д

и установлению между

ними

связей. Несмотря на то что трудоемкость

разра ­

ботки

схем ветвей процесса все

ж е остается

высокой,

т а к а я форма программирования процессов проектирова­ ния обладает, на наш нзгляд, существенными преимуще­ ствами.

Во-первых, от специалиста - разработчика не требует­ ся знания специальных алгоритмических языков или ка­ кой-либо системы кодирования, так как информация, ко­ торая записывается в И н К Д при выполнении операций процессов проектирования, не используется. Эта инфор­ мация необходима только для того, чтобы подсказывать конструктору-оператору проекта, в какой последователь­ ности он может вводить в машину данные о конструкции;

какие альтернативы решения

он

может

использовать

в процессе

проектирования;

как

может

воздейство­

вать

на у ж е

сформированное

в памяти машины описа­

ние

и т. п.

 

 

 

 

90


Во-вторых, вопросы, которые приходится исследовать специалисту-разработчику, относятся к области проек­ тирования конкретного класса объектов. Ему не нужно

решать чисто программистские задачи.

Единственное,

что ему необходимо

знать, так

это набор

макрокоманд,

с помощью которых

осуществляется, связь

между

И н К Д

и некоторые

приемы

их использования.

 

 

 

В-третьих,

к а ж д ы й И н К Д

представляет

собой

фор­

мулировку конкретной задачи с определенным

значением

входа и выхода. Это

значит, что написание

программно­

го модуля, с помощью которого д о л ж н о выполняться дей­ ствие, записанное в И н К Д , можно поручить программи­

сту,

от

которого специальные знания инженерного дела

у ж е

не

требуются, но который

обязан в

совершенстве

владеть

алгоритмическим языком

и знать

основные тре­

бования к оформлению модулей программных решений.

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

структура ветвей может быть представлена

следующим

составом И н К Д :

 

1) И н К Д , в котором определены условия

подготовки

исходной информации д л я формализованной и програм­ мно описанной части процесса;

2)

И н К Д — организация обращения к рабочей

про­

грамме, представляющей

формализованную часть

про­

цесса;

«

 

 

3)

И н К Д — о б р а б о т к а

результатов

выполнения

рабо -

I чей

программы .

 

 

 

Однако вполне возможно, что И н К Д

потребуется

раз ­

вернуть в специальную ветвь, т г к к а к

подготовка

дан­

ных может не ограничиться поиском переменных в мо­ дели описания объекта проектирования. М о ж е т потре­

боваться

специальный

пересчет некоторых

параметров,

что

определит

собой и

специальные И н К Д

и

разработ ­

ку

соответствующих им модулей расчета этих данных.

Это

относится

и к последнему И н К Д , когда

данные, по­

лученные

в результате

выполнения операции, необходи-

г мо

перекодировать и ввести в соответствующие

позиции

И Б

уровней

описания.

 

 

 

91