Файл: Клевенский А.Е. Моделирование геометрических понятий и технология проектирования.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