СПОСОБ И УСТРОЙСТВО ДЛЯ ВОСПРОИЗВЕДЕНИЯ ПРОГРАММЫ И НОСИТЕЛЬ С ЗАПИСАННОЙ НА НЕМ ПРОГРАММОЙ ДЛЯ ВОСПРОИЗВЕДЕНИЯ ПРОГРАММЫ Российский патент 2005 года по МПК G06F9/44 

Описание патента на изобретение RU2260206C2

Область техники

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

Предшествующий уровень техники

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

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

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

Раскрытие изобретения

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

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

Как описано подробно ниже, программа (программные компоненты) в соответствии с методологией Lyee является программой, в которой слова предоставляются в виде стандартных блоков для каждой из палет W04, W02, W03. В соответствии с настоящим изобретением, поскольку извлекают все слова, содержащиеся в существующей программе, то программа, которая должна быть воспроизведена, будет удовлетворять структуре программы Lyee, которая является совокупностью (множеством) программ, которые основаны на словах. Слова, содержащиеся в существующей программе, выделяют в форме, в которой определяемый элемент, к которому эти слова относятся, является идентифицированным, и эти слова назначают одной или множеству палет в зависимости от типа определяемого слова, к которому относятся выделяемые слова.

Что касается каждого оператора или команды существующей программы, то они преобразуются на основе коррелирования с множеством программных компонентов (программа в соответствии с методологией Lyee) в одной или множестве палет, которым были назначены слова, содержащиеся в операторах или командах. Так как операторы или команды существующей программы используются также в воспроизведенной программе, то выполняются функции, идентичные таковым в существующей программе.

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

Способ воспроизведения программы может быть выражен следующим образом: способ согласно настоящему изобретению является способом воспроизведения существующей программы, которая была создана способом, отличным от способа разработки Lyee, в виде новой программы, имеющей структуру в соответствии со способом разработки Lyee, при поддержке функций, выполняемых существующей программой. Способ включает в себя выделение из существующей программы определяемого элемента, который управляется существующей программой; подготовку, относящуюся к выделенному определяемому элементу, множества программных компонентов для работы основной структуры, состоящей из набора палет W02, W04 и W03; выделение из существующей программы слов, которые используются в существующей программе, в такой форме, в которой идентифицируются определяемый элемент, к которому принадлежат слова, и категории ввода/вывода слов; назначение слов одной или множеству палет из палет W02, W04 и W03, с учетом определяемого элемента, к которому принадлежат слова, в зависимости от определяемого элемента, к которому принадлежат выделенные слова, и категорий ввода/вывода слов; и преобразование оператора или команды, которая содержит слово существующей программы, в форму в соответствии с любым из множества программных компонентов, имеющих структуру, совместимую со способом разработки Lyee, в палете, связанной с оператором или командой посредством слова.

Существующая программа в общем случае содержит описание определяемого элемента (экран, файл и т.д.), управляемого этой программой. Определяемый элемент, управляемый существующей программой, устанавливают из описания, касающегося определяемого элемента, и подготавливается множество программных компонентов (палет) для работы основной структуры с учетом этого определяемого элемента. Основная структура является структурой программы, совместимой с методологией Lyee и включает в себя палету (программу) W02, налету (программу) W04 и палету (программу) W03.

Тип определяемого элемента, к которому принадлежат слова, используемые в существующей программе, и категории ввода/вывода могут быть установлены на основании описания существующей программы. На основе типа определяемого элемента и категорий ввода/вывода устанавливают, является ли слово, используемое в существующей программе, словом, которое должно быть назначено палете W02, палете W04 или палете W03.

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

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

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

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

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

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

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

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

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

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

Условный оператор или команду условия, представляющие условие ввода данных или условие вывода данных, отыскивают на основе описания существующей программы и, в случае, когда условный оператор или команда условия, представляющие условие ввода данных или условие вывода данных, выделены, то выделенный условный оператор или команду условия преобразуют в форму, которая находится в соответствии с программным компонентом (программой вектора ввода/вывода) для операции ввода или вывода из множества программных компонентов в палете, в которой действует условие ввода данных или условие вывода данных.

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

В настоящем изобретении также предлагается устройство воспроизведения программы для воспроизведения существующей программы в виде новой программы (программы Lyee), имеющей структуру в соответствии со способом разработки Lyee, при поддержке функций, выполняемых существующей программой.

Устройство воспроизведения программы согласно настоящему изобретению имеет первое средство хранения для сохранения множества программных компонентов, которые образуют программу Lyee; второе средство хранения для сохранения информации функции временного управления, информации основной структуры, информации палет, информации определяемого элемента, информации маршрута и информации команды, полученной из диаграммы маршрута обработки, созданной на основе существующей программы; третье средство хранения для сохранения существующей программы, применяемой для этой цели; первое средство назначения для назначения слова, которое используется в существующей программе, которая сохранена в третьем средстве хранения, одной или множеству палет из числа палет W04, палет W02 и палет W03, которые включены в основную структуру, к которой относится слово, на основе программы, функции временного управления, информации основной структуры, информации палеты, информации определяемого элемента, сохраненной во втором средстве хранения; и средство преобразования, которое на основании информации маршрута и информации команды, хранящихся во втором средстве хранения, предназначено для преобразования каждого оператора или команды существующей программы, хранящейся в третьем средстве хранения, в форму в соответствии с любым из множества программных компонентов, которые сохранены в первом средстве хранения, в одной или множестве палет, которым назначено слово, включенное в оператор или команду.

В соответствии с настоящим изобретением слово, используемое в существующей программе, назначают одной или множеству палет из числа палет W04, палет W02 и палет W03 на основе различной информации (информации функции временного управления, информации основной структуры, информации палет и информации определяемого элемента), полученной из диаграммы маршрута обработки, созданной на основе существующей программы. В результате в отношении любого слова легко может быть установлено, может или не может быть создана программа, совместимая с методологией Lyee. Из информации маршрута и информации команды устанавливают, должны ли оператор или команда в существующей программе быть преобразованы в форму в соответствии с любым из множества программных компонентов.

Устройство воспроизведения программы имеет средство ввода для считывания оператора или команды существующей программы. Оператор или команду существующей программы, считанные с помощью средства ввода, используют в программном компоненте (палете), который совместим с методологией Lyee.

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

Краткое описание чертежей

Фиг.1 изображает блок-схему, иллюстрирующую общую форму модели программного обеспечения в соответствии с методологией Lyee;

фиг.2 иллюстрирует пример диаграммы маршрута обработки в оперативном (онлайновом) режиме;

фиг.3 иллюстрирует пример диаграммы маршрута обработки в пакетном режиме;

фиг.4 иллюстрирует пример диаграммы маршрута обработки вместе с диаграммой маршрута обработки в оперативном (онлайновом) процессе ТО;

фиг.5 иллюстрирует часть диаграммы маршрута обработки, касающейся общего программного обеспечения;

фиг.6 изображает концептуальный вид, показывающий обработку слов (соотношение между словами) в методологии Lyee;

фиг.7 иллюстрирует типы программ, которые требуются для каждой основной структуры, и их позиционирование;

фиг.8 - последовательность операций, иллюстрирующая обработку программы функционирования палеты W04;

фиг.9 - последовательность операций, иллюстрирующая обработку программы функционирования палеты W02;

фиг.10 - последовательность операций, иллюстрирующая обработку программы функционирования палеты W02;

фиг.11 - последовательность операций, иллюстрирующая обработку программы (шаблона) вектора дублирования;

фиг.12 - последовательность операций, иллюстрирующая обработку программы (шаблона) вектора однородности;

фиг.13 - последовательность операций, иллюстрирующая обработку программы (шаблона) вектора вывода;

фиг.14 - последовательность операций, иллюстрирующая обработку программы (шаблона) вектора осуществления маршрутизации;

фиг.15 - последовательность операций, иллюстрирующая обработку структурной программы (шаблона) вектора;

фиг.16 - последовательность операций, иллюстрирующая обработку программы (W02) (шаблона) вектора однородности;

фиг.17 - последовательность операций, иллюстрирующая обработку программы (W02G) (шаблона) вектора однородности;

фиг.18 - пример конкретной программы (W02) (шаблона) вектора для однородности;

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

фиг.20 - блок-схема, иллюстрирующая структуру устройства обработки для воспроизведения программы;

фиг.21 - конкретный пример обычной программы;

фиг.22 - пример экрана заказа продукции;

фиг.23 - пример таблицы продукции;

фиг.24 - последовательность операций, иллюстрирующая обработку обычной программы, показанной на фиг.21;

фиг.25 - последовательность операций, иллюстрирующая обработку обычной программы, показанной на фиг.21;

фиг.26 - последовательность операций, подробно иллюстрирующая последовательность обработки форматирования;

фиг.27 - пример таблицы команд (ее полноту);

фиг.28 - пример таблицы команд (систематизированной программой) ;

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

фиг.30 - пример информационной таблицы диаграммы маршрута обработки;

фиг.31 - последовательность операций, подробно иллюстрирующая последовательность обработки по выбору первичной координаты;

фиг.32 - пример программы Lyee после обработки по выбору первичной координаты;

фиг.33- последовательность операций, подробно иллюстрирующая последовательность обработки стандартизации;

фиг.34 - последовательность операций, подробно иллюстрирующая последовательность выбора вторичной координаты;

фиг.35 - пример программы Lyee после обработки по выбору вторичной координаты;

фиг.36 - последовательность операций, подробно иллюстрирующая последовательность обработки раскрытия оператора;

фиг.37 - пример таблицы последовательности команд;

фиг.38 - последовательность операций, подробно иллюстрирующая последовательность обработки при анализе условного оператора IF;

фиг.39 - последовательность операций, подробно иллюстрирующая последовательность обработки при анализе условного оператора IF;

фиг.40 - последовательность операций, подробно иллюстрирующая последовательность обработки при анализе условного оператора IF;

фиг.41 - последовательность операций, иллюстрирующая конкретные детали обработки ALL ("ВСЕ") согласно методу Lyee;

фиг.42 - пример обработки по раскрытию оператора копирования;

фиг.43 - другой пример обработки по раскрытию оператора копирования;

фиг.44 - еще один пример обработки по раскрытию оператора копирования;

фиг.45 - пример обработки по раскрытию подпрограммы;

фиг.46 - пример обработки по очистке;

фиг.47 - пример обработки по пересмотру правила;

фиг.48 - пример обработки одной строки;

фиг.49 - другой пример обработки одной строки;

фиг.50 - пример обработки для преобразования в простую иерархическую структур.

Наилучший способ осуществления изобретения

1. Модель программного обеспечения в соответствии с методологией Lyee

Основная роль обработки информации, которую человек требует от компьютера, заключается в том, чтобы информация, которая должна быть получена, была отображена на экране устройства отображения, распечатана на принтере или сохранена в запоминающем устройстве. Информация, которая должна быть получена (включая и отсутствие информации) выдается компьютером. В модели программного обеспечения в соответствии с методологией Lyee раздел вывода (раздел программы, относящийся к выводу информации) принимается в качестве отправной точки. Раздел программного обеспечения, относящийся к выводу информации, определяется как "палета W04" (термин "палета" означает что-то, используемое для передачи значения).

Новую информацию для обработки информации, которая должна быть затем выполнена, вводят в компьютер в соответствии с работой компьютера (например, отображение результатов обработки информации на экране дисплея), управляемой разделом программного обеспечения, относящимся к выводу. Например, если информация, которая выдана разделом (палетой W04) программного обеспечения, относящимся к выводу, является выходной информацией (численное значение и т.д., отображаемое на экране дисплея), которую человек может распознавать, то человек распознает значение этой информации, принимает решение и действует. Действие, предпринятое человеком, принимает форму ввода информации в компьютер. Раздел программного обеспечения, относящийся к вводу, определяется как "палета W02".

Компьютер реагирует на ввод данных, выполняя заранее определенную обработку. Эта обработка предназначена для формирования необходимой информации, и эта информация должна быть выведена вышеуказанной палетой W04. Раздел программного обеспечения, который обеспечивает работу компьютера в ответ на ввод информации, определяется как "палета W03".

Компьютер выдает результаты обработки, выполненные в ответ на ввод данных. Другими словами, в последовательности (выполнения) палета W04 помещается после палеты W03. В соответствии с методологией Lyee модель программного обеспечения в основном имеет циклическую структуру, выполнение которой начинается с палеты W04, затем проходится палета W02 и палета W03 и снова осуществляется возврат к палете W04. Общая форма этой циклической структурной модели такова, как показано на фиг.1.

В циклической структурной модели (определенной как "основная структура"), показанной на фиг.1, палета W03 включает в себя W02G и W04P, которые являются субпалетами. Субпалета W02G является разделом программного обеспечения для выполнения обработки, связанной с загрузкой данных, которые передаются от палеты W02 к палете W03. Субпалета W04P является разделом программного обеспечения для создания новых данных посредством заранее определенной обработки данных. В модели программного обеспечения Lyee в основном информацию, принятую палетой W02, загружают в субпалету W02G палеты W03. Заранее определенную обработку (четыре арифметических операции) выполняют в субпалете W04P. Информацию субпалеты W04P передают в палету W04 и выводят посредством палеты W04 (отображают на экране дисплея или сохраняют в файле, или базе данных и т.д.).

В модели программного обеспечения в соответствии с методологией Lyee основная структура, содержащая палету W04, палету W02 и палету W03, разделена на указанные ниже три класса в зависимости от типа данных, выдаваемых палетой W04.

Первый класс соответствует случаю, когда вывод данных посредством палеты W04 предполагает участие оператора (например, выдача информации на экран дисплея в устройстве отображения). Основная структура, которая включает в себя такую палету W04, в целом названа "онлайновый процесс Т0". Палета W04, палета W02 и палета W03 в онлайновом процессе Т0 определяются как палета T0W04, палета T0W02 и палета T0W03, соответственно. Палета T0W03 включает в себя субпалету T0W02G и субпалету T0W04P.

Второй класс соответствует случаю, когда вывод данных посредством палеты W04 не предполагает участие оператора (например, вывод информации в запоминающую среду, такую как файл). Основная структура, которая включает в себя такую палету W04, в целом определяется как "пакетный процесс Т1". Палета W04, палета W02 и палета W03 в пакетном процессе Т1 определяются как палета T1W04, палета T1W02 и палета T1W03 соответственно. Палета T1W03 включает в себя субпалету T1W02G и субпалету T1W04P.

Третий класс соответствует случаю, когда данные, выданные палетой W04, не являются данными, которые должны быть получены в конечном счете (например, случай, когда заданные данные создают заранее в качестве (данных) предварительной обработки, чтобы обеспечить вывод данных на экран дисплея посредством субпалеты T0W04). Основная структура, которая включает в себя такую палету W04, в целом обозначается "К" (знание). В общем случае, когда программное обеспечение в соответствии с методологией Lyee создается с самого начала, основная структура К не появляется (программное обеспечение может быть создано таким образом, что эта основная структура не будет появляться). Когда существующая (обычная) программа воспроизводится в качестве программы в соответствии с методологией Lyee, требуется основная структура К, чтобы преобразовать обычную структуру программы в структуру программы Lyee. Основную структуру К позиционируют как раздел программного обеспечения для обработки слов, созданных программистом обычной программы, или как раздел программного обеспечения для выполнения обработки ошибок.

Палета W04, палета W02 и палета W03 в К обозначены как палета K-W04, палета K-W02 и палета K-W03 соответственно. Палета K-W03 включает в себя субпалету K-W02G и субпалету К-W04P.

Программное обеспечение для выполнения предписанной обработки может быть выражено визуально с использованием основной структуры, содержащей палеты W04, W02 и W03. Диаграмма, которая представляет последовательность обработки основной структурой программного обеспечения, будет определяться как "диаграмма маршрута обработки". Пример диаграммы маршрута обработки, которая включает в себя онлайновый процесс Т0, приведен на фиг.2. Эта диаграмма маршрута обработки включает в себя основную структуру (циклическую структуру), состоящую из палеты 11 T0W04, палеты 12 T0W02 и палеты 13 T0W03.

Блок 14, представляющий экран устройства отображения, расположен между палетой 11 T0W04 и палетой 12 T0W02. Символы, цифры и т.п. отображаются на экране 14 устройства отображения с помощью палеты 11 T0W04.

Наблюдая символы и цифры и т.д., отображаемые на экране 14 дисплея, оператор использует устройство ввода для ввода символов и цифр и т.д. Введенные символы и цифры обрабатывают палетой 12 T0W02.

Предписанную обработку выполняют в палете 13 T0W03, используя символ и цифры и т.д., введенные в палету 12 T0W02. То есть субпалета T0W02G (программа вектора дублирования, описанная ниже) в палете 13 T0W03 принимает данные, представляющие собой символы и цифры, от палеты 12 T0W02. Предписанную обработку (четыре арифметических операции и т.д.) выполняют, используя данные и т.д. палеты T0W02, в палете T0W04P. Данные (результаты обработки), которые подвергают предписанной обработке, передают к палете 11 T0W04. Палета 11 T0W04 принимает данные (результаты обработки) субпалеты TOW04P и отображает данные на экране 14 дисплея.

Маршрут, исходящий из палеты 12 T0W02, разделяется на два маршрута. Один маршрут ведет к палете 13 T0W03, а другой ведет к окончанию обработки. Например, когда кнопка "QUIT" ("Выход") отображается на экране 14 дисплея (то есть, когда создана программа для отображения такого изображения на экране дисплея), это приводит к данной диаграмме маршрута обработки. Если нажата клавиша ввода на устройстве ввода данных компьютера, то выбирается маршрут, направленный к палете 13 T0W03. Если нажата кнопка "Выход", то выбирается маршрут, направленный к завершению обработки.

Пример диаграммы маршрута обработки, которая включает в себя пакетный процесс Т1, показан на фиг.3. Эта диаграмма маршрута обработки включает в себя основную структуру (циклическую структуру), составленную из палеты 21 T1W04, палеты 22 T1W02 и палеты 23 T1W03.

Палета 22 T1W02 считывает данные, которые были сохранены в файле В 25. Считанные данные передаются в палету 23 T1W03 (то есть данные перемещаются из палеты 22 T1W02 в субпалету T1W02G палеты 23 T1W03). Предписанную обработку (прием данных субпалеты T1W02G субпалетой T1W04Р и предписанную обработку в субпалете T1W04P) выполняют в палете 23 T1W03. Палета 21 T1W04 принимает результаты этой обработки (то есть данные перемещаются из субпалеты T1W04P к палете 21 T1W04). В палете 21 T1W04 результаты обработки записываются в файл А 24.

Маршрут, исходящий из палеты 22 T1W02, разделяется на два маршрута. Один маршрут ведет к палете 23 T1W03, а другой ведет к окончанию обработки. Например, когда палета 23 T1W03 последовательно выполняет предписанную обработку в отношении множества записей, включенных в файл В 25, и считывание всех записей и предписанная обработка закончены, получается такая же диаграмма маршрута обработки, как, если выбран маршрут, направленный к палете 13 T0W03.

Пример диаграммы маршрута обработки, которая включает в себя К, показан на фиг.4. Основная структура (циклическая структура) К является основной структурой для случая, когда данные, выданные палетой W04, не являются данными, которые должны быть получены окончательно. Так как необходимо осуществить связь для вывода данных, которые должны быть получены в конечном итоге (выходные данные вследствие обработки палетой T0W04 или палетой T1W04), в диаграмме маршрута обработки, которая включает в себя К, всегда выбирают, по меньшей мере, одну из упомянутых диаграмм маршрута обработки онлайнового процесса Т0 или маршрута обработки пакетного процесса Т1. Диаграмма маршрута обработки (идентичная таковой на фиг.2) оперативного процесса Т0, приведена вместе с диаграммой маршрута процесса К в диаграмме маршрута обработки, изображенной на фиг.4. Часть, которая является диаграммой маршрута процесса К, и часть, которая является диаграммой маршрута онлайнового процесса Т0, каждая обведены пунктирными линиями.

Диаграмма маршрута обработки К является основной структурой (циклической структурой), состоящей из палеты 31 K-W04, палеты 32 K-W02 и палеты 33 K-W03.

Маршрут, исходящий из палеты 13 T0W03 (субпалеты T0W04Р палеты 13 T0W03) разделяется в точке А ветвления на маршрут, который возвращается к палете 11 T0W04, и маршрут, который ведет к палете 31 K-W04. Решение о том, следует ли возвратиться к палете 11 T0W04 или перейти к палете 31 K-W04 (решение о выборе маршрута), принимается в субпалете T0W04P палеты 13 T0W03.

Аналогично, маршрут, исходящий из палеты 33 K-W03 (субпалеты K-W04Р палеты 33 K-W03), разделяется в точке В ветвления на маршрут, который возвращается к палете 31 K-W04, и маршрут, направленный к субпалете T0W0P4 (т.е. субпалете T0W04P палеты 13 T0W03). Решение о том, следует ли перейти к палете 31 K-W04 или к субпалете T0W04P, принимается в субпалете К-W04P палеты 33 K-W03. Соединение основной структуры отличающегося типа между Т0 и К и между Т1 и К и т.д. может быть определено, в частности, как "рациональность" согласно методологии Lyee.

Если в точке А ветвления выбран маршрут, который ведет к палете 31 K-W04, то последовательность операций выполняется в соответствии с переходами от палеты 31 K-W04 к палете 32 K-W02 и палете 33 K-W03, в которых выполняется предписанная обработка (четыре арифметические операции).

Хотя фиг.4 иллюстрирует связь (единичную группу, unit-team) между основной структурой онлайнового процесса Т0 и основной структурой К, диаграмма маршрута обработки может быть получена аналогичным образом для связи между основной структурой пакетного процесса Т1 и основной структурой К.

Фиг.5 иллюстрирует часть общей диаграммы маршрута обработки, касающейся программного обеспечения для выполнения предписанной обработки. Если выбрана диаграмма маршрута обработки, касающаяся программного обеспечения, которое обеспечивает выполнение компьютером предписанной обработки, в общем случае выбирается диаграмма маршрута обработки, которая включает в себя множество основных структур (основную структуру онлайнового процесса Т0, основную структуру пакетного процесса T1 и основную структуру К), как показано на фиг.5.

Единица информации, обрабатываемая моделью программного обеспечения Lyee, является элементом, отображаемым на экране дисплея, или элементом данных, который появляется в файле. Эти элементы определяются как поля данных в компьютерной обработке. В методологии Lyee состояние, в которое в поле данных устанавливается значение некоторого типа, названо "значимое состояние" (значимость, значение). Обработка для установки некоторого значения в поле данных названо "обработкой принятия". Программное описание, которое определяет поле данных (элемент, который дает возможность судить, имеется ли значимость или нет, наименьшая основная единица для манипулирования данными, обрабатываемыми программным обеспечением), в котором установлены данные некоторого вида, или поле данных, в котором должны быть установлены данные, определяется как "слово". Обычно, слово (поле данных) связано с экраном, формой (экранным бланком), файлом, базой данных или телеграммой (слово на экране, слово в форме, слово в файле и т.д.). Экран, форма, файл, база данных или сообщение и т.д., которому принадлежит слово, будут называться "определяемым элементом". Вообще говоря, множество слов принадлежит определяемому элементу. Кроме того, определяемые элементы грубо подразделяют на определяемый элемент, используемый при вводе данных (например, база данных, в которой сохранены данные, которые должны быть загружены в компьютер), и определяемый элемент, используемый при выводе данных (например, экран для отображения результатов обработки). Определяемый элемент, используемый при вводе данных, называется "определяемым элементом ввода", а определяемый элемент, используемый при выводе данных, называется "определяемым элементом вывода". Определяемый элемент, используемый при вводе данных и при выводе, называется "определяемым элементом ввода-вывода". Слово, принадлежащее к определяемому элементу ввода, будет называться "словом ввода", слово, принадлежащее к определяемому элементу вывода, будет называться "словом вывода", и слово, принадлежащее к определяемому элементу ввода/вывода, будет называться "словом ввода/вывода".

В модели Lyee программного обеспечения создается программа для каждого слова с использованием вышеуказанных слов в качестве основы. Более конкретно, решение о том, все ли слова, используемые в модели Lyee программного обеспечения, являются словами, используемыми в любой из палет W04, W02, W03 в вышеуказанных Т0, Т1 или К, решается заранее (размещение слов в палетах и выбор координат).

Если определено, что одно слово имеет значение, то возможно оценить значение по отношению к другому слову, которое использует данные, сохраненные в первом указанном слове. Другими словами, создавая программы на пословной основе, можно выяснить на пословной основе, имеется ли значение слова, в котором должна быть сохранена информация, которая должна быть получена в конечном счете (сохранены ли данные в поле данных), и можно выяснить, имеется ли значение другого слова, требуемое для получения информации, которая должна быть в конечном счете получена. Пример такой обработки слов (соотношения слов) в методологии Lyee схематично иллюстрирует фиг.6.

Предположим, что информация В и С необходима, чтобы получить информацию (информация А вывода), которая должна быть получена в конечном счете (то есть для того, чтобы сохранить данные в поле данных, в котором должны быть сохранены данные, представляющие информацию А). Предположим, что информация D, Е и F необходима, чтобы получить информацию В, а информация G и Н необходима, чтобы получить информацию С. Если такое соотношение существует для множества слов (полей данных), то вопрос о том, будет ли получена информация А вывода, необходимая в конечном счете, может быть выяснен посредством принятия решения, имеется ли значимость для каждого слова. В модели Lyee программного обеспечения таким образом подготавливается программа для каждого слова.

Например, предположим, что информация А вывода является результатом сложения данных В и С (А=В+С). Другими словами, если информация В и С получена, то информация А вывода может быть получена с использованием этой полученной информации (информации В и информации С). В случае, когда было вычислено А=В+С, поле "а" данных (слово "а"), в котором информация А должна быть сохранена, должна быть указана как "собственно слово" в методологии Lyee. Поле "b" данных и поле "с" данных (слова "b" и "с"), в которых сохранена информация (здесь - информация В и С), используемые для сохранения данных (информации А) в слове "а" (то есть для формирования информации А), могут быть названы "заданными словами". Имеются случаи, когда данные, которые должны быть сохранены в собственно слове, и данные, которые должны быть сохранены в заданном слове, отличаются (например, случай, описанный выше) и случаи, когда они являются одинаковыми (случаи, когда данные перемещены).

В соответствии с методологией Lyee, как описано выше, основная структура (циклическая структура), составленная из палеты W04, палеты W02 и палеты W03, является фундаментальной программной структурой программы Lyee. Подготавливают различные программы для реализации этой программной структуры. Типы программ, служащих в качестве элементов программы (называемых ниже "программа Lyee"), созданные в соответствии с методологией Lyee, описаны ниже.

Фиг.7 иллюстрирует типы программ, которые требуются для каждой основной структуры, и позиционирование этих программ. В основном эти программы подготавливают для каждой из основных структур, а именно, основной структуры онлайнового процесса ТО, основной структуры пакетного процесса Т1 и основной структуры К. В описании фиг.7 различия Т0, Т1 или К не показаны.

Основная структура (циклическая структура) управляется программой функции временнóго управления. Более конкретно, программа функции временнóго управления является программой, обеспечивающей поочередную работу палет W04, W02 и W03 (программы функционирования палет описаны ниже), образующих основную структуру. Например, беря программу на языке COBOL в качестве примера, программа функции временнóго управления позиционируется как основная программа, а палета W04 (программа функционирования), палета W02 (программа функционирования) и палета W03 (программа функционирования) позиционируются как подпрограммы. В основном программа функции временнóго управления подготавливается для каждой основной структуры. Программа функции временнóго управления также выполняет обработку для запуска программы функции временнóго управления другой основной структуры при заданных условиях, а также обработку для управления физическим определяемым элементом.

Программа функции временнóго управления управляет (вызывает) программу функционирования палеты W04, программу функционирования палеты W02 и программу функционирования палеты W03. Программа функционирования палеты W04, программа функционирования палеты W02 и программа функционирования палеты W03 являются программами, каждая из которых предназначена для управления множеством программ (программ векторов), которые описаны ниже. Различные программы векторов, описанные ниже, размещают в позиции, на которые даются ссылки как на программы, вызываемые программой функционирования палеты W04, программой функционирования палеты W02 и программой функционирования палеты W03 оператором PERFORM ("Выполнение") или оператором CALL ("Вызов"), например, для программы COBOL.

В программе Lyee, как указано выше, решение, является ли слово (поле данных) словом (связанным со словом), которое должна обрабатывать программа функционирования палеты W03 (указанная ниже как "палета W03"), словом, которое должна обрабатывать программа функционирования палеты W04 (указанная ниже как "палета W04") или словом, которое должна обрабатывать субпалета W02G или часть субпалеты W04P программы функционирования палеты W03 (указанной ниже как палета W03), принимается заранее (назначение слов палетам и выбор координат). В описании, приведенном ниже, эти слова определяются как "слово палеты W04", "слово палеты W02", "слово субпалеты W02G" и "слово субпалеты W04P" соответственно.

(1) Программа функционирования палеты W04 (палета W04) Эта программа является программой для управления, в свою очередь, программой вектора дублирования, программой вектора однородности, программой вектора вывода, программой вектора осуществления маршрутизации и программой структурного вектора. Программа функционирования палеты W04 подготавливается для каждого (экран А, экран В и т.д.) выходного определяемого элемента. Последовательность работы программы функционирования палеты W04 (палета W04) изображена на фиг.8. Обработка в каждой программе отдельного вектора, управляемой палетой W04, описана ниже.

Программа вектора дублирования (W04): последовательность обработки иллюстрируется фиг.11. Программа вектора дублирования определяет, было ли каждое слово (слово субпалеты W04P), которое принадлежит (назначено) предшествующей палете (субпалете W04P, так как это предшествующая палета для W04), пустым [было ли установлено значение (были ли данные сохранены в поле данных)]. Если значение было установлено по отношению к субпалете W04P (если данные были сохранены в поле данных), то данные, которые были сохранены в этом слове (поле данных), дублируют (перемещают) из субпалеты W04P в соответствующее слово (поле данных) палеты W04. Состояние, в котором данные не были сохранены в слове, названо как "пустое". Если слово субпалеты W04P является "пустым", то обработка на этом заканчивается.

Программа вектора однородности (W04): последовательность обработки иллюстрируется фиг.12. Она является программой для выполнения редактирования выходной информации в отношении каждого из слов палеты W04. Например, в случае, когда выводимые данные были сохранены в слове (поле данных) посредством кодовой информации, она является программой для преобразования этой кодовой информации на язык и вывода результата преобразования на экран дисплея. В случае, когда численное значение должно быть выведено в форму (экранный бланк), она является программой для выполнения редактирующей обработки, то есть для выдачи численного значения с добавлением запятой (,) через каждые три цифры (например, 1,000). Обработка редактирования (описание программы для обработки редактирования) позиционируется как "обработка редактирования - 1", "обработка редактирования - 2". Обработка редактирования может быть различной в зависимости от того, является ли слово палеты W04 пустым (данные не были сохранены в поле данных) или не пустым (данные были сохранены в поле данных). Решение "ACCEPTANCE?" ("ПРИНЯТИЕ?") предназначено для определения, может ли быть выполнена или нет обработка редактирования. Если обработка редактирования может быть выполнена, то управление передают блоку "ACCEPTANCE PROCESSING" ("ОБРАБОТКА ПРИНЯТИЯ") (например, обработка продолжается как есть). Если обработка редактирования не может быть выполнена, то управление передают блоку "NON-ACCEPTANCE PROCESSING" ("ОБРАБОТКА НЕПРИНЯТИЯ") (например, устанавливается флаг ошибки).

Программа вектора вывода: последовательность обработки иллюстрируется на фиг.13. Она является программой, подготовленной для каждого выходного определяемого элемента, то есть экрана, формы (экранного бланка) или файла. Определяют, выводятся ли данные в выходной определяемый элемент (должны ли данные, которые сохранены в слове, выводиться на экран дисплея), и выполняют обработку на основании этого определения (отображают данные на экране дисплея, если данные являются выводимыми данными, воздерживаются от отображения на экране, если данные не являются выводимыми данными и т.д.).

Программа вектора осуществления маршрутизации (W04): последовательность обработки иллюстрируется на фиг.14. Как указано выше, существуют случаи (ветвления), когда программа Lyee создана таким образом, что после обработки одной палетой осуществляется обработка какой-либо палетой из двух или более других палет. Программа вектора осуществления маршрутизации (W04) является программой, которая предусматривает, к какой палете W02 управление обработкой должно перейти в зависимости от некоторого условия. Например, если маршрут от палеты W04 к палете W02 разветвляется на диаграмме маршрута обработки, то подготавливают программы вектора осуществления маршрутизации, количество которых соответствует числу ветвей. Команду подают из программы вектора осуществления маршрутизации к программе функции временного управления, и на основании этой команды программа функции временного управления активизирует палету W02, которая должна использоваться следующей.

Программа структурного вектора: последовательность обработки иллюстрируется на фиг.15. Она является программой, которая в ответ на выполнение обработки вывода с помощью описанной выше программы вектора вывода для всех слов палеты W04 последовательно выполняет обработку для очистки данных слова палеты W04 и слова субпалеты W04G (поля данных) и обработку для сброса флагов, установленных в случае, когда была выполнена обработка непринятия.

Таким образом, как описано выше, программа Lyee в основном является набором программ, созданных с использованием слов в качестве единичных объектов (блоков). Вышеуказанные программа вектора дублирования, программа вектора однородности (W02) и программа вектора вывода создаются по отношению к слову (слову палеты W04), принадлежащему (назначенному) палете W04. Программа структурного вектора создается с учетом определяемого элемента (здесь - выходного определяемого элемента), которому принадлежит слово, назначенное палете W04. Вектор осуществления маршрутизации является таким, что его количество (размерность) изменяется в зависимости от числа ветвей в маршруте, исходящих из палеты W04, что образует основную структуру (циклическую структуру), как описано выше.

(2) Программа функционирования палеты W02 (палета W02)

Эта программа управляет, в свою очередь, программой вектора ввода, программой вектора однородности и программой вектора осуществления маршрутизации. Программу функционирования палеты W02 подготавливают для каждого входного определяемого элемента. Последовательность обработки в программе функционирования палеты W02 (палеты W02) иллюстрируется на фиг.9. Ниже описана обработка каждой отдельной программы вектора, управляемой палетой W02.

Программа вектора ввода. Это программа, подготовленная для каждого входного определяемого элемента, то есть экрана или файла. Определение делают относительно того, должны ли данные считываться из входного определяемого элемента (должны ли данные и т.д. считываться из базы данных), и выполняют обработку (считывание данных, которые должны быть считаны из файла, и сохранение данных в предписанном слове, которое было назначено палете W02) на основании результатов обработки. Последовательность обработки аналогична последовательности программы вектора вывода, изображенной на фиг.13.

Программа вектора однородности (W02): последовательность обработки иллюстрируется фиг.16. Она является программой для проверки атрибута (типа) данных, которые сохраняют в слове, назначенном палете W02. Например, выполняют обработку (проверку атрибута) программой вектора однородности (W02) для случая, когда пользователем были введены символьные данные, несмотря на факт, что тип данных, которые должны быть сохранены в предписанном слове (поле данных и т.д., в котором должны быть сохранены данные, введенные пользователем с использованием устройства ввода), определен как численное значение. Количество подготовленных программ вектора однородности (W02) равно количеству слов палеты W02.

Программа вектора осуществления маршрутизации (W02): она является программой, предусматривающей, к какой палете W03 должно перейти управление обработкой в зависимости от некоторого условия в случае, когда маршрут переходит от палеты W02 к палете W03. Количество подготовленных программ вектора осуществления маршрутизации соответствует количеству ветвей. Последовательность обработки такова, как показано на фиг.14.

(3) Программа функционирования палеты W03 (палета W03)

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

Программа вектора дублирования (W02G) является программой для определения того, было ли установлено значение в отношении каждого слова, которое было назначено палете W02 (были ли данные сохранены в поле данных). Если значение было установлено, данные, которые были сохранены в этом слове (поле данных), дублируются (перемещаются) из палеты W02 в слово (поле данных) субпалеты W02G. Количество подготовленных программ вектора дублирования равно количеству слов палеты W02. Обработка аналогична обработке, проиллюстрированной фиг.11.

Программа вектора однородности (W02G): содержание этой обработки иллюстрируется фиг.17. Подготавливают программы вектора однородности, количество которых равно количеству слов, которые были назначены субпалете W02G. Программа вектора однородности определяет, является ли слово, которое было назначено субпалете W02G, значимым (были ли данные сохранены в поле данных слова). Если слово имеет значение (не пусто), обработка сразу заканчивается. Если слово не имеет значения (пусто), предпринимается предписанная обработка (установка начального значения и т.д.) для установки значения. Если имеет место случай, когда слово, которое не имеет значения, подается со значением (если данные сохранены в поле данных), то обработка заканчивается. Программа вектора однородности (W02G) требуется не всегда.

Программа вектора однородности дублирования векторного типа: является программой для определения того, было ли установлено значение для каждого слова, которое принадлежит субпалете W02G. Обработка аналогична обработке, проиллюстрированной фиг.17 (где "самогенерация" является обработкой перемещения данных).

Программа вектора дублирования рационального типа. Программа вектора дублирования рационального типа (называемая ниже программой вектора дублирования R-типа) является программой, которая, если используются данные, сохраненные в слове (поле данных), обрабатываемой программой функции палеты, управляемой другой программой функции временнóго управления (например, применим случай, когда "Т0" и "К" связаны в диаграмме маршрута обработки, показанной на фиг.4), выполняет обработку для дублирования (перемещения) данных, которые были сохранены в таком слове. Данные, которые были сохранены в слове, назначенном субпалете W04P (другой субпалете W04P), управляемым другой программой функции временнóго управления, перемещаются этой программой вектора дублирования R-типа. Обработка аналогична обработке, изображенной на фиг.11.

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

Результаты обработки, выполненной программой вектора дублирования R-типа, программой вектора дублирования и программой вектора однородности (W04P) становятся объектом для блока принятия решения RESTART ?" ("РЕСТАРТ ?") (описано ниже) в программе функции палеты W03, описанной ниже.

Программа вектора осуществления маршрутизации. Является программой для определения того, к управлению обработкой какой палеты W04 необходимо перейти в зависимости от некоторого условия. Количество подготовленных программ вектора осуществления маршрутизации соответствует количеству ветвей. Обработка аналогична обработке, проиллюстрированной фиг.14.

Обработка "РЕСТАРТ ?" в программе функции палеты W03 (фиг.10) означает повторяющуюся обработку, пока не будет установлено значение "DUPLICATE" ("ДУБЛИРОВАТЬ") в программе вектора дублирования R-типа, и кроме того, пока данные заново не будут сохранены в слове, в котором данные должны быть сохранены, в разделе "SELF-GENERATE" ("САМОГЕНЕРАЦИЯ") программы вектора однородности дублирования векторного типа, и раздела "SELF-GENERATE" в программе вектора однородности. Так как палета W03 является палетой, которая связана с основной структурой, к которой затем должно перейти управление в основной структуре Lyee (см. фиг.4 и т.д.), в общем случае необходимо, чтобы данные некоторого вида были сохранены в слове (которое было назначено субпалете W04P). В случае, когда данные не были сохранены в слове, обработку повторяют в этом месте, и управление переходит к обработке в следующей основной структуре, если данные сохранены в слове.

Конкретный пример программы вектора однородности, которая является программой одного вектора, приведен на фиг.18. Эта программа написана так, чтобы удовлетворять структуре обработки, показанной на фиг.16. Идентификатор (идентификатор слова), который представляет слово палеты W02, сохраняют в ячейках (пустых полях) , [то есть, программа вектора однородности (W02) создается для каждого слова палеты W02]. Та же самая обработка (проверка атрибута) выполняется для множества слов палеты W02. Только часть описания программы изменяется в зависимости от изменения в слове (часть для создания определения в том смысле, что, если данные, которые были сохранены в слове, являются "численным значением", то управление переходит к следующему процессу, и если данные, которые были сохранены в слове, являются "символом", то управление переходит к следующему процессу).

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

Программное обеспечение, которое создается в соответствии с методологией Lyee, в целом составлено из множества программ, описанных выше. Даже если обработка программного обеспечения отличается, тип созданной программы и структура обработки программы (последовательность обработки в описанных выше последовательностях операций) являются одинаковыми. Описание раздела "SELF-GENERATE" в программе вектора однородности (фиг.17) и описание раздела принятия решения в программе вектора вывода (ввода) (фиг.13) различается просто в соответствии с функцией программного обеспечения. [Программа такого типа, который показан на фиг.8-17, имеющая часть, которая не изменяется в зависимости от функции программного обеспечения программы (часть, используемая при повторении, когда программа Lyee генерируется автоматически), и часть, для которой обработка, специфическая для программного обеспечения, заменяется, как в случае блоков "ACCEPTANCE?" или "DETERMINE" ("Определить"), названы шаблоном. Таким образом, программное обеспечение, созданное способом разработки в соответствии с методологией Lyee, является простым для анализа, так как его структура четко определена. Кроме того, даже если добавляется новая функция, будет достаточно прибавить программу (их множество) (или описание программы) так, чтобы удовлетворить требованиям основной структуры в отношении слова (поля данных) (в случае, когда добавлен новый экранный элемент вывода), которое реализует функцию. Пересмотр программы (обновление) также быстро реализуется.

2. Реконструкция обычной программы в качестве программы Lyee

Фиг.19 изображает последовательность операций, иллюстрирующую общую последовательность обработки для реконструкции (воспроизведения) существующей программы (ниже названной как "обычная программа"), которая была создана способом, отличным от способа разработки Lyee, в виде программы, имеющей новую структуру, которая соответствует методологии Lyee, в то же время поддерживающей функции, выполняемые обычной программой.

Обработку по воспроизведению программы (программу) выполняют в порядке обработки форматирования (программы) 31, обработки стандартизации (программы) 32 и обработки Lyee "ВСЕ" (программы) 33. Часть этой обработки может быть выполнена вручную вместо компьютерной обработки. Программа для обработки воспроизведения программы может быть записана на носителе записи, таком как CD-ROM (постоянное запоминающее устройство на компакт-диске). Если программа обработки воспроизведения программы, записанная на носителе записи, таком как CD-ROM, установлена в компьютере (персональном компьютере или рабочей станции и т.д.), компьютер может работать в качестве устройства воспроизведения программы. Пример аппаратной конфигурации устройства воспроизведения программы изображен на фиг.20.

Устройство 1 воспроизведения программы включает в себя центральный процессор 2 (ЦП). К центральному процессору (ЦП) 2 подключены устройство 3 ввода (клавиатура, мышь и т.д.) для приема введенных данных по шине; устройство 4 отображения (устройство отображения на электронно-лучевой трубке, принтер и т.д.) для выдачи данных и т.п. в наглядном виде; дисковод 5 гибких дисков для считывания данных и т.д., записанных на накопителе на гибком магнитном диске (НГМД) и для записи данных и т.п. на НГМД; дисковод 6 CD-ROM для считывания данных и т.п., записанных на CD-ROM; и внешнее запоминающее устройство 7, на которое записаны операционная система, программа обработки воспроизведения программы и описанные выше палеты и т.д. Внутреннее запоминающее устройство 8 в ЦП 2 (или связанное с ЦП процессором 2) обеспечивает программную область и буферную область и т.д.

В случае, когда компьютерная система, используемая на предприятии, в офисе или дома, приспособлена для осуществления предписанной функции, часто программа (обычная программа) для такой обработки состоит из множества программ. В большой системе количество программ может достигать нескольких сотен. В соответствии с обработкой создания программ в основном три вышеуказанных типа обработки (обработка форматирования, обработка стандартизации и обработка Lyee "ВСЕ") по одной в каждый момент времени применяют к программам.

(1) Обработка форматирования (этап 51)

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

(2) Обработка стандартизации (этап 52)

При обработке стандартизации выполняемая обработка включает в себя определение позиционирования (назначение слова палетам) слов, которые содержатся в обычной программе, в структуре программы Lyee, и переписывание операторов, содержащихся в обычной программе, чтобы они соответствовали методологии (правилам) Lyee. Создание информации для ввода (записи) в инструментальное средство (Lyee "ВСЕ") для создания программы Lyee также выполняется в этой обработке стандартизации. Подробности обработки стандартизации описаны ниже.

(3) Обработка Lyee "ВСЕ" (этап 53)

В обработке Lyee "ВСЕ" обработку выполняют для замены информации, которая была получена посредством вышеуказанной обработки форматирования и обработки стандартизации, и которая требуется, чтобы удовлетворить требованиям структуры программы Lyee, в то же время поддерживая функции обычной программы, в предписанной позиции программы (шаблона), которая представляет основную структуру для обработки программы Lyee. Подробности обработки Lyee "ВСЕ" описаны ниже.

В нижеследующем описании подробно описана последовательность обработки для генерирования программы Lyee (программы, созданной в соответствии со способом разработки Lyee) из обычной программы, созданной на языке КОБОЛ (COBOL - язык программирования для промышленных и правительственных учреждений) (т.е. программы, созданной способом, не соответствующим способу разработки Lyee).

Фиг.21 изображает пример обычной программы, созданной на языке COBOL. С целью пояснения номера строк показаны слева от операторов программы и разделены на "РАЗДЕЛЫ ПРОЦЕДУР" ("PROCEDURE DIVISIONS") (описаны ниже) и другие разделы.

Сначала описано содержимое обычной программы (программа на языке COBOL), показанной на фиг.21.

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

(i) IDENTIFICATION DIVISION (РАЗДЕЛ ИДЕНТИФИКАЦИИ); строка 01

(ii) ENVIRONMENT DIVISION (РАЗДЕЛ СРЕДЫ); строка 03

(iii) DATA DIVISION (РАЗДЕЛ ДАННЫХ); строка 11

(iv) PROCEDURE DIVISION (РАЗДЕЛ ПРОЦЕДУР); строка 01

(i) имя программы (идентификатор (ИД) программы) описано в IDENTIFICATION DIVISION (строка 02: PROGURAMU-ID. AAA1.). Эта программа на языке COBOL является программой, имя этой программы (ИД программы) - "AAA1".

(ii) ENVIRONMENT DIVISION включает в себя CONFIGURATION SECTION (СЕКЦИЮ КОНФИГУРАЦИИ) (строка 04) и INPUT-OUTPUT SECTION (СЕКЦИЮ ВВОДА-ВЫВОДА) (строка 07).

Имена компьютеров (имя компьютера трансляции и имя компьютера выполнения), которые должны обработать программу на языке COBOL, записаны в секции конфигурации. В обычной программе, показанной на фиг.21, записано, что именем компьютера трансляции является "AS400" (строка 05: SOURCE-COMPUTER. AS400.), и что именем компьютера выполнения является "AS400" (строка 06: OBJECT-COMPUTER. AS400.). Фрагмент для управления файлами (FILE-CONTROL) (строка 08) секции ввода-вывода, описывает имя устройства (имя устройства ввода-вывода) для ввода данных в компьютеры (компьютер трансляции и компьютер выполнения) и выдачи результатов обработки. Записано, что файл, названный "GAMEN-F", находится в устройстве ввода-вывода, названном "SCREEN-AAA" (строка 09: SELECT GAMEN-F ASSIGN TO SCREEN-AAA). "ORGANIZATION IS TRANSACTION." (строка 10) означает, что файл, называемый "GAMEN-F", должен быть подвергнут обработке транзакций.

(iii) Раздел данных включает в себя секцию файлов FILE-SECTION (строка 12) и WORKING-STORAGE SECTION (СЕКЦИЯ РАБОЧЕЙ ПАМЯТИ) (строка 19).

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

В соответствии с обычной программой, показанной на фиг.21, файл под именем GAMEN-F является файлом (строка 09), находящимся в устройстве "SCREEN-AAA" ввода-вывода. То есть, он является файлом для обработки элемента, отображаемого на экране дисплея устройства отображения. На запись такого файла ссылаются как на определяемый "экран". Идентификатором, который идентифицирует тип определяемого элемента "экран", является GAMEN-R, описанный ниже.

Факт, что GAMEN-F имеет запись (элемент группы), называемую "GAMEN-R", и что он включает в себя элементы (основные элементы) "SHIN-CD", "SU", "TANKA" и "KINGAKU", описан в строках 13 - 18 РАЗДЕЛА ДАННЫХ. "PIC X" после описания основного элемента означает, что данные, которые должны быть обработаны этим основным элементом, являются символьными данными, а "PIC S9" означает, что данные, которые должны быть обработаны, являются численными данными, сопровождаемыми кодом. Численное значение в круглых скобках указывает количество цифр (количество символов).

Как указано выше, поле данных, в котором установлены данные некоторого вида (наиболее важная, наименьшая единица для манипулирования данными, обрабатываемыми программным обеспечением), названо согласно Lyee "словом". Из описания вышеуказанного раздела FILE-SECTION понятно, что слова "SHIN-CD", "SU", "TANKA" и "KINGAKU" используются в обычной программе, показанной на фиг.21. Понятно, что эти слова являются словами, которые принадлежат определяемому элементу "GAMEN-R".

Области (рабочие области), в которых хранят результаты, подвергаемые обработке в текущее время, определены в WORKING-STORAGE SECTION (СЕКЦИИ РАБОЧЕЙ ПАМЯТИ). Две области "SHIN-CD" и "TANKA" предусмотрены в базе данных "SHIN-TBL", а также предусмотрены две области "END-BTN" и "WK". Так как эти области также являются полями данных, в которых записаны данные некоторого типа, они определены в Lyee в качестве "слов".

(iv) Содержание конкретной обработки описано в PROCEDURE DIVISION (РАЗДЕЛ ПРОЦЕДУР). Пример изображения (экран заказа изделий), отображаемого на экране устройства отображения обычной программой, приведенной на фиг.21, изображен на фиг.22, пример базы данных (таблицы изделий), подготовленной заранее, изображен на фиг.23, и последовательность операций, иллюстрирующая последовательность обработки обычной программы на основании описания PROCEDURE DIVISION, изображена на фиг.24 и 25.

Ячейка (блок, окно) 55 для ввода кода изделия, ячейка 56 для ввода количества, ячейка 57 для ввода цены единицы изделия, ячейка 58 для отображения суммы и кнопка 59 выхода отображены на экране 54 дисплея [идентификатором (идентификатором определяемого элемента) этого изображения (экрана) является "GAMEN-R"]. Полями данных, соответствующих этим ячейкам ввода и вывода, являются SHIN-CD, SU, TANKA и KINGAKU соответственно. База данных 60 изделий (таблица изделий) [идентификатором (идентификатором определяемого элемента) этой базы данных является "SHIN-TBL"] включает в себя код (SHIN-CD) изделия и цену единицы изделия (TANKA).

Если выполняется обычная программа, приведенная на фиг.21, то выполняют инициализацию (этап 61) и затем считывают GAMEN-F (файл для представления изображения на устройстве отображения) (этап 62). Изображение 54, показанное на фиг.21, отображают на экране дисплея устройства отображения.

Кнопку 59 выхода на экране 54 дисплея нажимают, если обработка обычной программы должна быть закончена. Если кнопка 59 выхода нажата, обработка обычной программы заканчивается ("ДА" на этапе 63; этап 72).

Если нажата клавиша ENTER ("ВВОД") на устройстве ввода (клавиатуре и т.д.), то выясняют, были ли данные введены в ячейку 55 для ввода кода изделия и ячейку 56 для ввода количества с экрана 54 дисплея ("Нет" на этапе 63; этап 64). В обычной программе, показанной на фиг.21, то факт, что данные были введены в ячейку 55 для ввода кода изделия и ячейку 56 для ввода количества, является предпосылкой ряда этапов обработки. В случае, когда данные не были введены в какую-либо или обе из ячейки 55 для ввода кода изделия и ячейки 56 для ввода количества, выполняют обработку ошибки ("Нет" на этапе 64; этап 73; "99999", отображенные в поле 58 отображения суммы на экране 54 дисплея).

В случае, когда данные были введены в ячейку 55 для ввода кода изделия и ячейку 56 для ввода количества с экрана 54 дисплея ("ДА" на этапе 64), данные, представляющие собой введенный код изделия и количество, записываются в рабочей памяти. На основании введенного кода изделия можно обращаться к таблице 60 изделий (этап 65).

Определяют, являются ли введенные данные (код изделия и количество) подходящими данными (этап 66). Например, решено заранее, что ячейка 55 для ввода кода изделия должна соответствовать полю данных "SHIN-CD" (данные, введенные в ячейку 55 для ввода кода изделия, сохраняют в поле данных "SHIN-CD") и что данные, которые должны быть сохранены в "SHIN-CD", должны быть символьными данными, состоящими из пяти символов (секция данных "DATA DIVISION" в строке 15). Если числовые данные введены в ячейку 55 для ввода кода изделия, в секцию кода изделия таблицы 60 изделий введен несуществующий код или символьные данные введены в ячейку 56 для ввода количества, то выполняется обработка ошибки ("Нет" на этапе 66; этап 74; "99999", отображенное в поле 57 цены единицы изделия экрана 54 дисплея).

Если входные данные являются подходящими ("ДА" на этапе 66), то результат умножения цены единицы изделия (см. таблицу 60 изделий), соответствующей коду изделия, который был введен в ячейку 56 для ввода количества, на количество, которое было введено в ячейку 56 для ввода количества, записывается в рабочую память (этап 67).

Определяется, превысил ли результат умножения 10000 (иен) (этап 68). Если результат умножения превысил 10000 иен ("ДА" на этапе 68), то вычисленная сумма становится результатом умножения результата умножения (цена единицы изделия х количество) на 0,8 (этап 69). Цена единицы изделия отображается в ячейке 57 цены единицы изделия, а вычисленная сумма отображается в ячейке 58 для отображения суммы (этап 71). Если результат умножения равен 10000 иен или менее ("Нет" на этапе 68), то результат умножения результата умножения на 0,9 отображается в ячейке 58 для отображения суммы (этапы 70, 71).

Последовательность обработки для реконструкции (воспроизведения) обычной программы, показанной на фиг.21, в качестве программы Lyee, в то же время поддерживающей функции обычной программы, описана подробно ниже. Как указано выше, обработку воспроизведения программы выполняют в порядке обработки форматирования, обработки стандартизации и обработки Lyee "ВСЕ" (фиг.19).

Фиг.26 изображает последовательность операций, иллюстрирующую подробности обработки форматирования (этап 51). Большинство этих процессов может быть выполнено компьютером автоматически.

Таблица команд (общая таблица) создается на основе описания обычной программы (этап 81). Фиг.27 иллюстрирует таблицу команд (общая таблица), созданную на основании описания обычной программы (COBOL-программы), показанной на фиг.21.

Таблица команд (общая таблица) создается с использованием в качестве объекта всех программ, которые выполняет система. С целью пояснения, предположим, что обычная программа, показанная на фиг.21, является программой (общей программой), которая выполняется системой.

Таблица команд (общая таблица) имеет столбцы для типов определяемых элементов, команд, типов команд (языки программирования), условий, внешних файлов, категорий ввода/вывода и местоположений палет.

Данные, представляющие типы определяемых элементов, определенных обычной программой (используемые обычной программой обработки), сохраняют в столбце "DEFINITIVE TYPE" ("ТИП ОПРЕДЕЛЯЕМОГО ЭЛЕМЕНТА"). Определяемый элемент указывает среду ввода/вывода, которой манипулирует компьютер, и включает в себя экран, базу данных и файл, и т.д. как сформулировано ранее. Тип определяемого элемента, определенный обычной программой, получают из описания "INPUT-OUTPUT SECTION" ("СЕКЦИИ ВВОДА-ВЫВОДА") в разделе ENVIRONMENT DIVISION и описания DATA DIVISION обычной программы. Конечно, если, например, используются экраны различных типов в одной системе (то есть, в случае обычной программы, соответствующим образом описанной), то описывают данные, которые дают возможность отличать даже тип экрана, такие как "SCREEN 1" ("Экран 1") и "SCREEN 1" ("Экран 2"). То же самое справедливо в отношении базы данных (БД, DB).

Команды, используемые для того, чтобы элементы ввода/вывода (определяемых элементов), определенные в обычной программе, могли быть найдены из описания обычной программы, сохраняют в столбце "COMMAND" ("КОМАНДЫ").

Столбец "ТИП КОМАНДЫ" ("COMMAND TYPE") указывает тип описания языка программирования (соглашения), используемые в качестве описания для поиска устройства ввода/вывода, описанного в столбце "УСЛОВИЕ" ("CONDITION") или столбце "УСТРОЙСТВО ВВОДА/ВЫВОДА" ("INPUT/OUTPUT UNIT"), описанных ниже.

Условия для нахождения из описания обычной программы устройства ввода/вывода, которое обрабатывает определяемый элемент, описаны в столбце "УСЛОВИЯ" ("CONDITION"). "НАЗНАЧИТЬ ЭКРАНУ" ("ASSIGN TO SCREEN") означает, что имя устройства ввода/вывода, относящееся к определяемому элементу "ЭКРАН" ("SCREEN") описано после описания "ASSIGN TO SCREEN" в обычной программе. "FROM" ("ИЗ") означает, что имя устройства ввода/вывода, касающееся определяемого элемента "БД", описано после описания "FROM" (это соответствует условиям программы COBOL). Столбец "ЭЛЕМЕНТ ВВОДА/ВЫВОДА" (INPUT/OUTPUT UNIT) описывает тот факт, что имя файла описано в операторе "ASSIGN" ("НАЗНАЧИТЬ"), и что имя базы данных описано в операторе "FROM" программы COBOL.

Данные ("INPUT" ("ВВОД") или "OUTPUT" ("ВЫВОД")), указывающие, является ли определяемый элемент, который сохранен в столбце "ТИП ОПРЕДЕЛЕНИЯ" ("DEFINITIVE TYPE"), определяемым элементом, относящимся к вводу, или определяемым элементом, относящимся к выводу, сохраняют в столбце "категория ввода/вывода" ("INPUT/OUTPUT CATEGORY") "ВВОД/ВЫВОД" (INPUT/OUTPUT).

Тип палеты сохраняют в столбце "МЕСТОПОЛОЖЕНИЕ ПАЛЕТЫ" ("PALLET LOCATION"), на основании данных, которые сохранены в столбце DEFINITIVE TYPE и данных, которые сохранены в столбце "КОМАНДЫ" ("COMMAND") (или данных, которые сохранены в столбце INPUT/OUTPUT CATEGORY). Решение о "Т0", или "Т1" или "К" принимается исходя из типа определяемого элемента, сохраненного в столбце "DEFINITIVE TYPE". Решение о W04 или W02 принимается на основе команды, которая сохранена в столбце "КОМАНДЫ" (или посредством категории, которая сохранена в столбце "INPUT/OUTPUT CATEGORY"). Например, определяемый элемент "SCREEN" ("ЭКРАН") является определяемым элементом, обрабатываемым в онлайновом процессе Т0. Далее, определяемый элемент "SCREEN" используется при вводе (ввод кода изделия и ввод количества) и при выводе (вывод цены за единицу и вывод суммы). Если типом определяемого элемента является "SCREEN", и категорией ввода/вывода является "INPUT" ("ВВОД"), сохраняют "T0W02", если типом определяемого элемента является "SCREEN" и категорией ввода/вывода является "OUTPUT" ("ВЫВОД"), то сохраняют "T0W04". Таблица команд (общая таблица) может быть создана специалистом на основании описания обычной программы.

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

Создают таблицу команд (систематизированную программой) (этап 85). Таблица команд (систематизированная программой) иллюстрируется на фиг.28.

Как показано на фиг.28, таблица команд (систематизированная программой) имеет столбцы идентификатора (ID, ИД) программы, команды, внешних файлов, определяемого элемента, категории ввода/вывода и местоположения палет.

Имена программы (ИД программ), описанные в IDENTIFICATION DIVISION обычной программы, сохраняют в столбце "ИД ПРОГРАММЫ". Программа, которая использует систему, может быть определена именем программы (ИД программы). Таблицу команд (систематизированную программой) создают для каждого имени программы (ИД программы).

Команды, относящиеся к вводу/выводу данных, которые появляются в PROCEDURE DIVISION обычной программы, определенной вышеуказанными ИД программ, сохраняют в столбце "КОМАНДЫ" ("COMMAND").

Данные, представляющие имена устройства ввода/вывода, извлеченные из обычной программы, описаны в столбце "INPUT/OUTPUT UNIT" в соответствии с описаниями в столбце "УСЛОВИЯ" ("CONDITION") описанной выше таблицы команд (общая таблица команд).

Имена определяемых элементов (экран, БД и т.д.), обрабатываемые командами, сохраненными в столбце "КОМАНДЫ", сохраняют в столбце "ОПРЕДЕЛЯЕМЫЙ ЭЛЕМЕНТ" ("DEFINITIVE") на основании описаний в DATA DIVISION и PROCEDURE DIVISION.

Например, так как команда WRITE ("Запись") в строке 06 из раздела PROCEDURE DIVISION в обычной программе, показанной на фиг.21, является командой для выполнения обработки, касающейся "GAMEN-R", то "GAMEN-R" сохраняют в столбце "ОПРЕДЕЛЯЕМЫЙ ЭЛЕМЕНТ", соответствующем команде "WRITE".

Столбец "КАТЕГОРИЯ ВВОДА/ВЫВОДА" и столбец "МЕСТОПОЛОЖЕНИЕ ПАЛЕТЫ" аналогичны таковым таблицы команд (общей таблицы), описанной выше.

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

Создают диаграмму маршрута обработки (этап 46). Фиг.29 иллюстрирует диаграмму маршрута обработки, которая была создана на основании описания обычной программы, показанной на фиг.21.

Из созданной таблицы команд (систематизированной программой) устанавливают, что обычная программа включает в себя основные структуры Т1 и Т0. Далее, учитывается, что основная структура К существует в обычной программе, так как обычно используется слово (поле данных), определенное программистом, который создал эту программу. Кроме того, учитывается, что основная структура (один тип К) для выполнения обработки ошибок добавлена к каждой из основных структур Т0 и Т1. Основная структура (циклическая структура), состоящая из палеты W04, палеты W03 и палеты W02, создается для каждой из Т0 и Т1, и эти основные структуры связаны [палеты W03 (субпалеты W04P) основной структуры Т0 и палеты W04 основных структур Т1 соединены линиями, представляющими маршрут]. Основные структуры К выбраны и соединены с основными структурами Т0. Создаются основные структуры К по обработке ошибок, относящихся к каждой из основных структур Т0 и Т1, и они соединены с основными структурами Т0 и Т1. Создается диаграмма маршрута обработки такого вида, который показан на фиг.29.

Информацию, извлеченную из созданной диаграммы маршрута обработки, сводят в таблицу (информационную таблицу диаграммы маршрута обработки). Фиг.30 иллюстрирует информационную таблицу диаграммы маршрута обработки. Информационная таблица диаграммы маршрута обработки снабжается ИД существующей программы (ИД существующей ПРГ (программы)), ИД диаграммы маршрута обработки, ИД единичной группы, ИД палеты, ИД вектора маршрутизации, ИД следующей палеты, ИД вектора команд ввода/вывода, столбцами команд и определяемых элементов.

"ИД существующей ПРГ" ("PRESENT PROGRAM ID") является идентификатором, назначенным каждой обычной программе. В случае, когда множество обычных программ воспроизводят в виде программы Lyee, каждую (из них) идентифицируют с помощью ИД текущей программы.

"ИД ДИАГРАММЫ МАРШРУТА ОБРАБОТКИ" (PROCESS ROUTE DIAGRAM ID") является идентификатором, назначенным каждой основной структуре. Как указано выше, в основном программа функции временнóго управления предусматривается для каждой основной структуры (циклической структуры). Идентификаторы, которые идентифицируют программы функции временнóго управления для общего управления соответствующими основными структурами, сохраняют в столбце идентификаторов единичных групп.

"ИД ПАЛЕТЫ" ("PALLET ID") является идентификатором для идентификации, каждой палеты, образующей основную структуру. Идентификаторы назначают таким образом, что каждая из палет (палета W04, палета W02 и палета W03), включенных во множество основных структур, может быть идентифицирована.

"ИД ВЕКТОРА МАРШРУТИЗАЦИИ" является идентификатором для обозначения маршрута, исходящего из палеты, идентифицированной посредством ИД ПАЛЕТЫ. Например, в диаграмме маршрута обработки, показанной на фиг.29, маршрут, исходящий из палеты T0W03 (палеты T0W04P), связан с палетой T0W04, палетой T1W04, палетой KW04 и палетой K(Err)W04 [обозначен символами А (точки ветвления) на фиг.29]. Идентификаторы (Route-1, Route-2, Route-3, Route-4) (Маршрут-1, Маршрут-2, Маршрут-3 и Маршрут-4) назначены соответствующим маршрутам.

"ИД СЛЕДУЮЩЕЙ ПАЛЕТЫ" ("NEXT PALLET ID") является идентификатором для идентификации палеты (следующей палеты), которая связана с палетой, указанным ИД палеты, который сохранен в столбце "ИД палеты" ("PALLET ID") в соответствии с маршрутом, идентифицированным посредством ИД вектора маршрутизации. Так как вышеуказанный ИД палеты назначают каждой палете, присутствующей в диаграмме маршрута обработки, этот ИД палеты используют, чтобы представить палету (следующую палету), связанную с маршрутом, идентифицированным посредством ИД вектора маршрутизации.

"ИД ВЕКТОРА КОМАНД ВВОДА/ВЫВОДА" ("INPUT/OUTPUT COMMAND VECTOR ID") является идентификатором, который, в случае, когда палета, идентифицированная ИД палеты, получает доступ к экрану, базе данных или файлу и т.д. (считывает данные или записывает данные и т.д.), указывает, является ли эта палета палетой, которая выполняет обработку по считыванию данных (ввода), или палетой, которая выполняет обработку по записи данных (выдаче). "ЗАПИСЬ-1" ("WRITE-1") сохраняют в палете, которая выполняет обработку считывания данных (ввод), и "СЧИТЫВАНИЕ-1" ("READ-1") сохраняют в палете, которая выполняет обработку записи данных (выдачу). Конкретные команды ввода/вывода данных, используемых в PROCESS DIVISION ("РАЗДЕЛЕ ОБРАБОТКИ") обычной программы, сохраняют в столбце "КОМАНДЫ".

Имена определяемых элементов, обрабатываемых командами, которые сохранены в описанном выше столбце "КОМАНДЫ", сохраняют в столбце "ОПРЕДЕЛЕНИЯ" ("DEFINITIVE").

Обработку (фиг.26) для определения оператора (оператора программы), который должен быть обработан программой функции временнóго управления (обработкой для указания оператора, обрабатываемого программой функции временнóго управления; этап 84), и обработку по выбору первичной координаты (этап 85) выполняют на основании обычной программы и таблицы команд (систематизированной программой). Результаты этой обработки отражены в таблице Lyee, которая приведена ниже. Фиг.31 изображает последовательность операций, иллюстрирующую подробности обработки выбора первичной координаты, а фиг.32 иллюстрирует пример таблицы Lyee (таблицы Lyee, созданной из обычной программы, показанной на фиг.21).

Таблица Lyee (фиг.32) включает в себя столбец описания номера строки, столбец описания типа команды, столбец описания функций единичной группы и столбец описания программы, в котором описан раздел PROCEDURE DIVISION обычной программы (таблица, в которой описаны эти элементы информации, является таблицей Lyee). Результаты обработки для указания оператора, который должен быть обработан функцией временнóго управления (этап 84), описаны в столбце описания функций единичной группы. Результаты обработки по выбору первичной координаты (этап 85) описаны в столбце описания программы.

В отношении операторов (операторов программы), описанных в столбце описания программы, типы описанных выше команд, содержащихся в этих операторах, описаны в столбце описания "ТИП КОМАНДЫ" ("COMMAND TYPE"). Этот столбец описывает, является ли команда, включенная в оператор, описанный в столбце описания программы, командой (собственно командой) для применения обработки к собственно слову, условным оператором IF (ЕСЛИ), или другой командой (CMD), относящейся к вводу/выводу данных. Например, "MOVE 99999 ТО KINGAKU OF GAMEN-R" в строке 14 операторов, описанных в PROCEDURE DIVISION обычной программы, является оператором программы для применения обработки к собственно слову "KINGAKU (OF GAMEN-R)". "КОМАНДА СОБСТВЕННО СЛОВА" "SELF-WORD COMMAND" (данные, представляющие тот факт, что команда является командой собственно слова), описана в столбце описания типа команды, соответствующем строке 14.

Результаты обработки (этап 84) для определения оператора, который должен быть обработан функцией временнóго управления, описаны в столбце описания "ФУНКЦИЯ ЕДИНИЧНОЙ ГРУППЫ" ("UNIT-TEAM FUNCTION"). Это является обработкой для определения оператора (оператора программы), который должен быть обработан вышеуказанной программой функции временнóго управления. Предписанную метку сохраняют в соответствии с оператором для выполнения физической обработки в отношении определяемого элемента (экрана и т.д.). Оператор, который был отмечен, указывает, что он является оператором, который нужно использовать в программе функции временнóго управления (в качестве части оператора программы функции временнóго управления).

Результаты обработки программой обработки по выбору первичной координаты (этап 85) добавляют к описанию PROCEDURE DIVISION обычной программы в столбце описания программы. Подробности обработки по выбору первичной координаты описаны со ссылкой на фиг.31. Обработку по выбору первичной координаты в основном выполняют компьютером. Конечно, часть этой обработки может быть выполнена оператором.

Первая строка операторов обычной программы, описанных в разделе PROCEDURE DIVISION обычной программы, считывают в ЦП 2 (или внутреннее запоминающее устройство или средство хранения) устройства 1 для воспроизведения программы (этапы 101, 103). Счетчик в устройстве 1 воспроизведения программы увеличивает свое значение на 1.

Определяют, включает ли в себя оператор, считанный в ЦП 2, описание слова (включает ли в себя слово) (этап 104). Действительно ли слово, включенное в оператор, может быть определено посредством определения того, включена ли строка символов, идентичная символьной строке, представляющей слово, описанное в DATA DIVISION обычной программы, в часть символьной строки, содержащейся в операторе, который считывается.

Если оператор, считанный в ЦП 2, не включает в себя слово, то значение счетчика увеличивает и считывает оператор следующей строки ("Нет" на этапе 104; этап 105; этап 103).

Если оператор включает в себя слово ("ДА" на этапе 104), то определяют, является ли слово словом (словом определяемого элемента), которое принадлежит определяемому элементу [экран, файл, БД (база данных) и т.д.], численным значением (значением) или словом, которое не принадлежит определяемому элементу, и которое не является численным значением (обычно слово, созданное программистом, который создал обычную программу; это называют "работой"). Далее, если слово в операторе является словом определяемого элемента, то осуществляют распознавание имени определяемого элемента, которому принадлежит слово (этап 106).

При определении типа слова, которое включено в оператор, осуществляется ссылка на описание DATA DIVISION и описание фрагмента (управления) файлами (FILE-CONTROL) раздела ENVIRONMENT DIVISION. Например, если считывается "MOVE 99999 ТО KINGAKU OF GAMEN-R" в строке 14, понимается, что этот оператор содержит "99999" и слово "KINGAKU (OF GAMEN-R)". Понимается, что "99999" является численным значением (значением). Далее, понимается, что слово "KINGAKU (OF GAMEN-R)" является словом, которое принадлежит определяемому элементу экрана, названного "GAMEN-R", на основе описания ("OF GAMEN-R"), относящемуся к определяемому элементу, который следует за "KINGAKU", описания ("FD GAMEN-R" и "01 GAMEN-F") в DATA DIVISION и описания "SELECT GAMEN-F" ASSIGN TO SCREEN - ААА" фрагмента по управлению файлами FILE-CONTROL в разделе ENVIRONMENT DIVISION. Идентификатор (первичная координата), указывающий численное значение (значение), присоединяют к "99999", а идентификатор (первичная координата, "SCREEN" ("ЭКРАН")), указывающий слово, принадлежащее определяемому элементу экрана, присоединяют к слову "KINGAKU (GAMEN-R)". Таким образом, первичную координату добавляют к описанию программы таблицы Lyee ["MOVE 99999 ТО KINGAKU OF GAMEN-R"].

Слову ("STATUS" ("СОСТОЯНИЕ") в строке 18), отличному от слова определяемого элемента, численному значению "работы", присваивают идентификатор (первичную координату; здесь "CONTROL BOX" ("БЛОК УПРАВЛЕНИЯ")), указывающий на этот факт. Добавленный идентификатор сохраняют временно во внутреннем запоминающем устройстве 8 (средстве хранения) вместе с программой (обычной программой), описанной в столбце описания программы.

Затем, для слова, к которому был присоединен идентификатор любого из типов определяемого элемента, численного значения или "работы", определяют, является ли слово собственно словом или заданным словом (этап 107). Если слово не является ни собственно словом, ни заданным словом ("Нет" на этапе 107), то управление переходит к обработке, относящейся к следующему оператору (этапы 105, 103).

Определение того, является ли слово собственно словом или заданным словом, осуществляют посредством определения того, является ли слово, обнаруженное при обработке определения слова (этап 104), словом в операторе, в котором используют слово для замены (ссылки на) значения оператора MOVE ("ПЕРЕМЕСТИТЬ") или оператора COMPUTE ("ВЫЧИСЛИТЬ") и т.д., и словом, в котором значение заменено. Например, так как "COMPUTE WK (work) = TANKA OF GAMEN-R (screen) * SU OF GAMEN-R (screen)" в строке 22 является оператором COMPUTE ("ВЫЧИСЛИТЬ"), понимается, что этот оператор включает в себя собственно слово и заданное слово. В случае оператора COMPUTE слово, расположенное перед "= (равно)" является словом (собственно словом), в котором данные заменены. Слово, расположенное после" = (равно)", является словом (заданным словом) для замены данных. Идентификатор, указывающий собственно слово, назначают слову "WK", а идентификатор, указывающий заданное слово, назначают словам "TANKA" и "SU" ["COMPUTE WK (собств.: работа) = TANKA OF GAMEN-R (заданное: экран) * SU OF GAMEN-R (заданное: экран)]. В случае оператора MOVE, слово, расположенное перед "Т0", является заданным словом, а слово, расположенное после "Т0", является собственно словом. Идентификаторы (данные, представляющие идентификаторы) добавляют к программе, которая сохранена во внутреннем запоминающем устройстве 8 (программа, к которой были добавлены идентификаторы определяемых элементов и т.д., модифицируется).

Когда создание таблицы Lyee и создание информационной таблицы диаграммы процесса маршрута завершено, управление переходит к обработке стандартизации (этап 52 на фиг.19). Фиг.33 изображает последовательность операций, иллюстрирующую подробности обработки стандартизации (этап 52).

При обработке стандартизации новую информацию добавляют к описанной выше таблице Lyee (фиг.32) с помощью обработки выбора вторичной координаты (этап 91). Кроме того, выполняют обработку раскрытия команды (этап 92) и обработку анализа оператора IF (этап 93), чтобы создать таблицу последовательности команд. Обработку для формирования регистрационной информации Lyee "ВСЕ" выполняют (этап 54) на основании созданной таблицы последовательности команд и описанной выше информационной таблицы диаграммы процесса маршрута и т.д. Подробности этих процессов последовательно описаны ниже.

Фиг.34 изображает последовательность операций, иллюстрирующую подробности обработки по выбору вторичной координаты (этап 91), и фиг.35 иллюстрирует таблицу Lyee (модифицированную таблицу Lyee), полученную обработкой выбора вторичной координаты. Так как обработка выбора вторичной координаты (фиг.34) включает в себя обработку, идентичную обработке выбора первичной координаты (фиг.31), описанной выше, этапы обработки, идентичные этапам обработки выбора первичной координаты, обозначены аналогичными номерами этапов и повторно не описываются.

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

В отношении каждого из обнаруженных слов [данные, представляющие вышеуказанные идентификаторы (первичные координаты), добавляют к словам], определяют тип функции временнóго управления (Т0, Т1 или К) и тип палеты (слово палеты W04, слово палеты W02, слово субпалеты W02G или слово субпалеты W04P) и идентификатор, указывающий их, присоединяют к слову (этап 111; назначение слова палете).

Суждение относительно типа функции временнóго управления слова может быть сделано на основании типа определяемого элемента, к которому принадлежит слово, содержащееся в операторе, который считывается в ЦП 2 (или внутреннее запоминающее устройство 8; средство хранения). Например, определяемый элемент "GAMEN-R" является определяемым элементом экрана. Слова, принадлежащие к определяемому элементу, такому как экран, позиционируют как функции временнóго управления Т0 (типом функции временного управления является "Т0"). "Т0" оценивают как тип функции временнóго управления для слов ("SHIN-CD", "SU", "TANKA" и "KINGAKU"), принадлежащих к определяемому элементу "GAMEN-R" (из описания "OF GANEN-R", следующего после этих слов, определяется, что эти слова являются словами, принадлежащими к определяемому элементу "GAMEN-R"). В случае, когда эти слова включены в оператор, который считывается в ЦП 2, идентификаторы (данные, указывающие Т0, Т1 или К) добавляют так, чтобы они были присоединены к этим словам.

Решение относительно типа палеты для слова принимаются в зависимости от того, является ли слово словом, относящимся к вводу, или словом, относящимся к выводу. Например, тот факт, что слова "SHIN-CD" (OF GAMEN-R)" и "SU (OF GAMEN-R)" являются словами, имеющими отношение к вводу, то есть словами палеты W02, становится понятным из описания строки 13 в разделе PROCEDURE DIVISION. В конечном счете идентификатор T0W02 присоединяют к словам "SHIN-CD" (OF GAMEN-R)" и "SU (OF GAMEN-R)" (идентификаторы добавляют к столбцу описания программы) (фиг.35; модификация таблицы Lyee). Каждое слово, включенное в обычную программу, назначают любой из множества палет.

Когда обработка выбора вторичной координаты (этап 91) завершается, управление переходит к обработке раскрытия операторов. Фиг.36 показывает последовательность операций, иллюстрирующую последовательность обработки раскрытия операторов (для удовлетворения основной структуре). Обработка на этапах, идентичных этапам обработки выбора первичной координаты (фиг.31), обозначается аналогичными номерами этапов и повторно не описывается. В основном обработку раскрытия операторов также выполняют компьютером.

В отношении операторов, которые считаны в ЦП 2 (или внутреннее запоминающее устройство 8), определяют, является ли оператор оператором (оператором MOVE или оператором COMPUTE и т.д.) (оператор программы, который включает в себя собственно слово и заданное слово), в котором используют слово (заданное слово) для замены (ссылка на) значения и словом (собственно словом), в котором значение должно быть заменено. В случае оператора программы, отличного от оператора MOVE или оператора COMPUTE, значение счетчика увеличивается, и считывается оператор со следующей строки ("Нет" на этапе 121; этап 105).

Если оператор, который считан, является оператором MOVE или оператором COMPUTE и т.д. ("ДА" на этапе 121), делается ссылка на вторичную координату заданного слова и вторичную координату собственно слова, содержащихся в операторе. Определяют, удовлетворяются ли требования циклической структуры (основной структуры) Lyee (этап 122).

Как указано выше, программа (программа Lyee), созданная в соответствии с методологией Lyee, написана таким образом, что обработку выполняют в порядке: палета W04, палета W02 и палета W03. Так как создание программы в соответствии с таким способом разработки не выполняется для обычной программы, существуют программы (операторы), которые не удовлетворяют циклической структуре. Обработка раскрытия операторов (для удовлетворения требованиям циклической структуры) является обработкой обнаружения операторов, которые не удовлетворяют циклической структуре, и их реконструкции так, чтобы эти операторы удовлетворяли циклической структуре.

Например, "MOVE TANKA OF SHIN-TBL (заданное: T1W02) ТО TANKA GAMEN-R (собственное: T0W04)" в строке 21 является оператором сохранения данных, которые сохранены в слове палеты T1W02 [TANKA (OF SHIN- TBL)], в слове палеты T0W04 [TANKA (OF GAMEN-R)]. Как следует с точки зрения методологии Lyee, этот оператор является оператором, с которым палета T0W04 оперирует после палеты T1W02. Он является оператором, который запускает счетчик для структуры программы, которая соответствует методологии Lyee, осуществляющей управление так, что палета W04, палета W02 и палета W03 должны использоваться в порядке, указанном в каждом из Т0, Т1 и К. Соответственно, обработка раскрытия операторов такова, что, если такой оператор считан в ЦП 2, обработку добавления оператора (и нового слова) (или для оператора декомпозиции и раскрытия) выполняют таким образом, чтобы оператор удовлетворял циклической структуре (этап 123). Результаты (таблица последовательности команд) выполнения обработки раскрытия операторов в отношении оператора на строке 21 показаны на фиг.37.

Обработка раскрытия операторов для оператора "MOVE TANKA OF SHIN-TBL (заданное: T1W02) TO TANKA OF GAMEN-R (собств.: T0W04)" в строке 21 описана со ссылкой на диаграмму процесса маршрутизации, показанную на фиг.29, и таблицу последовательности команд, показанную на фиг.37.

Палета, которой принадлежит заданное слово "TANKA OF SHIN-TBL" оператора в строке 21, является палетой T1W02. Правило для назначения слова палеты в методологии Lyee заключается в том, что слово, идентичное слову палеты W02, назначают также субпалете W02G. Новое слово "TANKA (OF SHIN- TBL)" назначают субпалете T1W02G. Добавляют оператор, связывающий па-лету T1W02 и субпалету T1W02G [MOVE TANKA OF SHIN-TBL (T1W02) ТО TANKA OF SHIN-TBL (T1W02G)].

Правило назначения слова палете в соответствии с методологией Lyee заключается в том, что слово, соответствующее слову субпалеты W02G, назначают также субпалете W04P. Добавляют оператор, связывающий субпалету T1W02G и субпалету T1W04P [MOVE TANKA OF SHIN-TBL (T1W02G) ТО TANKA OF SHIN-TBL (границы T1W04P)]. Слово, назначаемое в таком случае, указывают как "граничное слово".

Так как собственно слово [TANKA OF GAMEN-F (T0W04)] оператора в строке 21 является словом основной структуры онлайнового процесса Т0, необходимо переместить (дублировать) данные из основной структуры пакетного процесса Т1 к основной структуре онлайнового процесса Т0. В этом случае новое слово, которое является адресатом (листом назначения) дублирования, обеспечивается в субпалете W04P основной структуры онлайнового процесса Т0 [TANKA OF GAMEN-R (T0W04P)]. Слово, назначаемое в таком случае, называют "граничным словом". Добавляют оператор, связывающий субпалету W04P пакетного процесса Т1 и субпалету W04P онлайнового процесса Т0 [MOVE TANKA OF SHIN-TBL (границы T1W04P) ТО TANKA OF GAMEN-R (границы T0W04P)].

Необходимо сохранить слово, которое сохранено в граничном слове, в субпалете W04P. Новое слово [TANKA OF GAMEN-R (TOW04P)] передают в субпалету W04P онлайнового процесса Т0. Добавляют оператор, связывающий граничное слово и вновь сформированное слово субпалеты W04P [MOVE TANKA OF GAMEN-R (границы TOWOP) TO TANKA OF GAMEN-R (T0W04P)].

Наконец, добавляют оператор, связывающий слово "TANKA OF GAMEN-R (T0W04P)", вновь назначенное субпалете T0W04P, и слово палеты T0W04 "TANKA OF GAMEN-R (T0W04) [MOVE TANKA OF GAMEN-R (T0W04P) TO TANKA OF GAMEN-R (T0W04)].

Номер строки, для которого была выполнена обработка по раскрытию оператора, позиционирование (тип) раскрытого оператора в программе Lyee, палета (программа функции палеты), в которой обрабатывается оператор (местоположение), и оператор после раскрытия описаны в таблице последовательности команд (фиг.37). Само собой разумеется, что содержимое таблицы последовательности команд сохраняют в запоминающем устройстве (средстве хранения) устройства 1 воспроизведения программы. Конечно, таблица последовательности команд (результаты обработки раскрытия операторов) может быть описана в столбце описания программы таблицы Lyee (в этом случае столбец описания программы таблицы Lyee может быть впоследствии обновлен).

Затем выполняют обработку анализа условного оператора IF (этап 93). Фиг.38 - 40 поясняют последовательность операций, иллюстрируя подробности обработки анализа оператора IF. Обработка анализа оператора IF использует информационную таблицу диаграммы маршрута обработки (или диаграмму маршрута обработки). Компьютер может быть запрограммирован для выполнения обработки анализа посредством использования информации, сохраненной в информационной таблице диаграммы маршрута обработки. Может быть принято соглашение, в соответствии с которым специалист вводит информацию в компьютер на основании информационной таблицы диаграммы маршрута обработки (диаграммы маршрута обработки).

Обработка анализа оператора IF является обработкой распознавания оператора IF, используемого в обычной программе, и позиционирования в программе Lyee. Условные операторы IF, которые появляются в обычной программе, обычно классифицируются на (1) условный оператор IF, предусматривающий маршрут от одной основной структуры к другой основной структуре (или к завершению обработки), (2) условный оператор IF, предусматривающий условие ввода или условие вывода, и (3) условный оператор IF для управления эквивалентным словом (в случае, когда одно и то же собственно слово используют в двух или более операторах, это собственно слово называют "собственно слово"). Должен ли оператор IF в обычной программе использоваться в какой-либо программе вектора программы Lyee, устанавливают путем обработки анализа оператора IF (фиг.38 - 40).

Точку разветвления, из которой должен быть выполнен переход программой вектора осуществления маршрутизации, выбирают из столбца "ROUTING VECTOR ID" информационной таблицы диаграммы маршрута обработки (фиг.30) [или из диаграммы маршрута обработки (фиг.29)] (этап 131).

Если выбранная точка ветвления является той, что ведет к основной структуре обработки ошибок ("ДА" на этапе 132), оператор IF, относящийся к обработке основной структуры обработки ошибок, которая является обработкой, следующей после выбора ветви, выделяют из столбца описания программы таблицы Lyee. Другими словами, оператор IF, выделяемый в этом случае, является таким оператором, который выбирают для обработки ошибок в зависимости от заранее описанного условия.

Выделенный оператор IF позиционируют как условие выполнения, используемое в программе вектора осуществления маршрутизации (см. фиг.7 и 14) палеты, которая является началом выбранной точки ветвления, указанной выше (например, палеты, которая является началом точки А ветвления в диаграмме маршрута обработки на фиг.29, является субпалета T0W04P). Отношения между выделенным оператором IF и палетой, в которой должен использоваться этот оператор IF, временно сохраняют во внутреннем запоминающем устройстве 8 (этап 133).

В диаграмме маршрута обработки, показанной на фиг.29, точки А ветвления (в которой маршрут разделяется на четыре части) включают в себя точку ветвления, которая ведет к обработке ошибки. Строки 13 и 18 (см. фиг.35) выделяют в качестве операторов, которые управляют основной структурой при обработке ошибок. (Так как "99999" установлено в качестве условия представления ошибки, оператор IF, который управляет оператором, к которому относится "99999", выделяют в качестве оператора IF, который управляет основной структурой обработки ошибок.) Из описания, которое следует за "ELSE" ("ИНАЧЕ") после оператора IF в строке 13, устанавливают, что этот оператор IF обеспечивает переход к обработке ошибки при обработке, относящейся к экрану. [Из описания, которое следует вслед за "ELSE" ("ИНАЧЕ") после оператора IF в строке 18, устанавливают, что этот оператор IF обеспечивает переход к обработке ошибки при обработке, относящейся к БД (базе данных).] Оператор IF в строке 13 позиционируется как оператор IF, используемый в программе вектора осуществления маршрутизации в субпалете T0W04P, которая является началом точки А ветвления. Оператор IF в строке 18 позиционируется как оператор IF, используемый в программе вектора осуществления маршрутизации в субпалете T1W04P, которая является началом точки С ветвления.

В случае, когда выбранная точка ветвления не ведет к основной структуре обработки ошибок (точка ветвления ведет к основной структуре Т0, Т1 или К, которая выполняет обычную обработку), оператор IF, относящийся к обработке основной структуры, которая выполняет следующую обработку выбранной точки ветвления, выделяют из описания обычной программы, и выделенный оператор IF позиционируется как оператор, используемый в программе вектора осуществления маршрутизации палеты, которая является началом выбранной точки ветвления (этап 134). Например, точка В ветвления в диаграмме маршрута обработки, показанной на фиг.29, является точкой, в которой маршрут ведет к основной структуре для завершения обработки. Выделяется строка 09 описания программы в качестве оператора IF, используемого в части "DETERMINE EXECUTION CONDITIONS" ("ОПРЕДЕЛЕНИЕ УСЛОВИЯ ВЫПОЛНЕНИЯ") программы вектора осуществления маршрутизации (фиг.14) палеты T0W02.

Затем из информационной таблицы диаграммы маршрута обработки (диаграммы маршрута обработки) выбирается одна из палет, для которой имеется вероятность того, что условие ввода или условие вывода должно оговариваться программой вектора ввода или программой вектора вывода (этап 141). Когда данные считывают из базы данных или с экрана только в случае предписанного условия, оговаривается условие ввода. В случае, когда данные выводят в базу данных или на экран в случае предписанного условия, оговаривается условие вывода.

Для выбранной палеты определяют, имеется ли условие ввода или условие вывода (этап 142). Если не имеется такого условия, управление переходит к выбору следующей палеты ("Нет" на этапе 142; этап 140, 141).

Если имеется условие ввода или условие вывода, оператор IF, который оговаривает это условие ввода или условие вывода, выделяется из описания столбца описания программы. Если палета, выбранная на этапе 141, является палетой W02, то выделяется оператор IF, представляющий это условие ввода, и позиционируется как "EXECUTION CONDITION" ("УСЛОВИЕ ВЫПОЛНЕНИЯ") программы вектора ввода выбранной палеты W02. Если выбранная палета является палетой W04, то выделяют оператор IF, представляющий это условие вывода, и позиционируется как "EXECUTION CONDITION" программы вектора вывода выбранной палеты W04 (этап 143). Обычная программа (программа из столбца описания программы, показанной на фиг.35), приведенная на фиг.21, не имеет такого оператора IF.

Наконец, отыскивают оператор MOVE или оператор COMPUTE, в котором собственно слово является эквивалентным словом, в столбце описания программы (этап 151). Если такой оператор MOVE или оператор COMPUTE найдены, выделяют оператор IF, который управляет этим оператором. Выделенный оператор IF используется (этап 152) в блоке "ACCEPTANCE?" ("ПРИНЯТИЕ?") программы вектора однородности субпалеты W04P, которой принадлежит заданное слово, используемое для сохранения данных в эквивалентном слове (собственно слове), используемом в операторе MOVE и т.д. Эту обработку выполняют в отношении всех операторов программы, которые включают в себя эквивалентные слова (этап 153).

Например, см. столбец описания программы на фиг.35, "KINGAKU OF GAMEN-R (собств.: T0W04)" используют в качестве собственно слова в обеих строках 24 и 26. Понимается, что собственно слово "KINGAKU OF GAMEN-R (собств.: T0W04)" является эквивалентным словом. Оператором IF, который управляет оператором (MOVE), относящимся к этому эквивалентному слову, является оператор IF в строке 23. Оператор IF из строки 23 позиционируется как часть "ACCEPTANCE?" программы вектора однородности субпалеты K-W04P, которой принадлежит "WK", являющееся заданным словом по отношению к этому эквивалентному слову.

Обработка для анализа операторов IF, описанных выше, необязательно должна быть выполнена в описанном выше порядке.

Обработка (фиг.40) для анализа оператора IF, относящегося к эквивалентному слову, может быть выполнена первой, или первой может быть выполнена обработка (фиг.39) для анализа оператора IF условия ввода/вывода.

Если таблица последовательности команд, созданная при обработке (этап 93) раскрытия операторов, завершена и обработка (этап 94) анализа операторов IF закончена, управление переходит к обработке (этап 94) для осуществления преобразования в обработку регистрации Lyee "ВСЕ". Эта обработка преобразования является обработкой для преобразования информации, полученной последовательностью процессов вплоть до описанной выше обработки анализа операторов IF (информация, которая сохранена в информационной таблице диаграммы маршрута обработки, вторичные координаты слов, которые появляются в обычной программе, вторичные координаты новых слов, созданных обработкой раскрытия операторов и позиционирование операторов IF обычной программы в программе Lyee и т.д.), в формат данных ввода для обработки на основе программы обработки Lyee "ВСЕ", описанной ниже. Так как она является обработкой для изменения формата данных (конфигурация данных и т.д.), описание подробностей опущено.

Когда изменение формата данных (создание информации регистрации Lyee "ВСЕ") завершено, управление переходит к обработке Lyee "ВСЕ" (фиг.19; этап 53). Фиг.41 изображает последовательность операций, иллюстрирующую специфику обработки "ВСЕ" Lyee.

Как описано выше, в случае программы Lyee подготавливают общие формы (шаблоны) программ функций временнóго управления, программ функций палеты и программ векторов, причем указанные программы имеют заранее определенные структуры обработки. Информация и операторы IF (информация условия принятия) информационной таблицы диаграммы маршрута обработки и операторы, которые появляются в обычной программе, заменяются в шаблонах в предписанных позициях ("ACCEPTANCE?", "SELF-GENERATE", "DETERMINE"). Например, оператор MOVE и оператор COMPUTE в обычной программе заменяются в виде информации самогенерации в (разделе) "SELF-GENERATE" программы вектора однородности субпалеты W04P в основной структуре, которой принадлежит собственно слово этого оператора. Множество программ (программы, показанные на фиг.7) (программы Lyee), имеющие структуру программы в соответствии с методологией Lyee, завершаются, при этом сохраняются функции обработки, выполняемые обычной программой (этап 96).

Ниже описана обработка формирования обычной программы (фиг.26, этап 82) с использованием программы COBOL в качестве примера.

Имеются случаи, когда программа, созданная на языке COBOL, включает в себя оператор копирования. Она заранее записывает часть исходной программы (текст) в библиотеке и использует ее при копировании как есть в другой программе. Если используется оператор копирования, то выполняется обработка (обработка раскрытия оператора копирования) для раскрытия текста, указанного этим оператором копирования.

Фиг.42 иллюстрирует обработку раскрытия оператора копирования в DATA DIVISION, а фиг.43 и 44 иллюстрируют обработку раскрытия оператора копирования в PROCEDURE DIVISION.

В случае, когда операторы "COPY А." и "COPY В." включены в операторы программы до раскрытия, и оператор копирования А [часть (включенная в рамку), которая следует за A PROC], и оператор копирования В (часть, которая следует за В PROC) подготовлены отдельно, как показано на фиг.42, содержимое А PROC раскрывается (вставляется) в часть "COPY А.", а содержимое В PROC раскрывается в части "COPY В.". Описание программы до раскрытия (с левой стороны) перезаписывается в описание программы после раскрытия (с правой стороны).

То же самое справедливо для примера раскрытия, показанного на фиг.43. Содержимое Х PROC раскрывается в часть "COPY X.". То же самое справедливо для примера раскрытия, показанного на фиг.44. Содержимое Y PROC раскрывается в часть "COPY Y.".

Имеются примеры, когда описание, которое вызывает подпрограмму (подпрограмму), включено в обычную программу (основную программу). Если подпрограмма вызывается из основной программы и выполнение вызванной подпрограммы завершается, обработка возвращается снова к обработке основной программы. В этом случае команда (подпрограмма CALL (вызов)) для вызова подпрограммы включается в основную программу. Выполняется обработка (обработка раскрытия подпрограммы) раскрытия (вставки) оператора подпрограммы в основную программу вместо подпрограммы CALL в основной программе. Фиг.45 иллюстрирует обработку раскрытия подпрограммы.

В случае, когда команда CALL (CALL 'SUB001' USING WK-A WK-B WK-C) для считывания подпрограммы включена в основную программу перед раскрытием и подготовлена подпрограмма [ИД программы (PROGRAM-ID.) является "SUB001." подпрограммы], как показано на фиг.45, содержимое подпрограммы, вызываемой этой командой CALL, раскрывается (вставляется) в основную программу вместо команды CALL в основной программе. [В подпрограмме, показанной на фиг.45, часть ("WK-Z=2*WK-X*WK-Y*WK-Y"), которая следует после оператора COMPUTE, является существенной частью подпрограммы, и поэтому только эта часть вставляется в основную программу.] В соответствии с описанием "USING WK-A WK-B WK-C", включенным в команду CALL, WK-X, WK-Y, WK-Z в подпрограмме заменяется на WK-A, WK-B, WK-C соответственно в основной программе.

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

Например, в случае, когда описание (LABEL-X) (МЕТКА-Х) места назначения перехода с помощью команды перехода "GO TO" ("Перейти к") имеется в обычной программе, но описание команды (GO TO LABEL-X) для перехода к этому месту назначения не присутствует в обычной программе, как показано на фиг.46, описание LABEL-X удаляют посредством очищающей обработки.

Существуют команды, используемые в обычной программе, которые могут быть заменены другой командой. Например, в языке COBOL оператор, использующий ADD (СЛОЖИТЬ), SUBTRACT (ВЫЧЕСТЬ), MULTIPLY (УМНОЖИТЬ) и DELETE (РАЗДЕЛИТЬ), все могут быть заменены оператором, который использует COMPUTE. Оператор, который использует SET (УСТАНОВИТЬ), может быть заменен с использованием MOVE. В случае, когда команда, используемая созданной в итоге программой Lyee, выбрана заранее, программа пересматривается, чтобы использовать выбранную команду (это называют "обработка пересмотра неоднородности").

Например, в случае, когда тот факт, что "SET" не используется в окончательно созданной программе Lyee, и тот факт, что в программе используется "MOVE", выбраны заранее, описание "SET IDX ТО 1" в программе может быть заменено на "MOVE I TO IDX".

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

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

(в) оператор, содержащий множество слов, подвергают декомпозиции. Например, оператор "MOVE А ТО В, С" подвергают декомпозиции на операторы на двух строках, а именно "MOVE А ТО В" и "MOVE А ТО С", как показано на фиг.48. В части условия IF добавляют "END-IF", что означает конец условного оператора IF, как показано на фиг.49;

(c) строки комментария удаляют;

(d) преобразуют к простой иерархии. В случае языка COBOL имеются случаи, когда программа имеет многоуровневую иерархическую структуру вследствие использования оператора PERFORM (ВЫПОЛНИТЬ) или подобных. Ее преобразуют к простой иерархической структуре. Например, в случае, когда в обычной программе используется оператор PERFORM, как показано на фиг.50, команду PERFORM и соответствующую ей команду EXIT (ВЫХОД) удаляют, и часть программы, вызываемую оператором PERFORM, перемещают в часть команды PERFORM.

В описанной выше обработке для воспроизведения программы описан способ, посредством которого обычную программу, которая была создана на языке COBOL, воспроизводят в виде программы Lyee в соответствии со способом разработки Lyee. Однако подход, который в основном является аналогичным, может быть применен и в отношении обычной программы, которая была создана на другом языке программирования. То есть, если предписанное правило (соглашение относительно описания программы) существует в обычной программе, созданный на другом языке программирования таким же образом, как и программа, созданная на языке COBOL, и это предписанное правило может быть установлено, то можно установить, какие слова (поля данных) используются, а также и то, с какими устройствами ввода/вывода (определяемыми элементами) эти слова связаны. Назначая палете слова, которые появляются в обычной программе, и новые слова, которые предназначены для удовлетворения основной структуре Lyee (слова, которые выбирают первичные и вторичные координаты), и создавая палеты [различные программы (фиг.7), использующие палеты], в которые включены эти слова и операторы, даже обычная программа, которая была создана с использованием другого языка программирования, может быть воспроизведена в виде программы Lyee, которая соответствует методологии Lyee.

Похожие патенты RU2260206C2

название год авторы номер документа
УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, СПОСОБ ВОСПРОИЗВЕДЕНИЯ И ПРОГРАММА ДЛЯ СТЕРЕОСКОПИЧЕСКОГО ВОСПРОИЗВЕДЕНИЯ 2009
  • Ямасита Кен
  • Лейчсенринг Джермано
RU2512135C2
СИСТЕМА И СПОСОБ УСТАНОВКИ И ВЫПОЛНЕНИЯ ПРИКЛАДНЫХ ПРОГРАММ ПРЕДПОЧТЕНИЙ 2004
  • Гербер Роберт Х.
  • Найт Холли
  • Крушна Мурали М.
  • Нилакантан Нираньян
  • Абилеа Шахаф
  • Патхер Шьямалан
RU2364917C2
Автоматическое обучение программы синтаксического и семантического анализа с использованием генетического алгоритма 2014
  • Анисимович Константин Владимирович
RU2638634C2
НОСИТЕЛЬ ЗАПИСИ, УСТРОЙСТВО ВОСПРОИЗВЕДЕНИЯ, СПОСОБ ЗАПИСИ, ИНТЕГРАЛЬНАЯ СХЕМА, ПРОГРАММА И СПОСОБ ВОСПРОИЗВЕДЕНИЯ 2004
  • Маккроссан Джозеф
  • Окада Томоюки
  • Мотинага Казухиро
RU2477574C2
УСТРОЙСТВО ДЛЯ СИСТЕМЫ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ И СПОСОБ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ В СИСТЕМЕ РАСПРЕДЕЛЕНИЯ ТЕЛЕВИЗИОННЫХ ПРОГРАММ 1993
  • Джон С.Хендрикс
  • Альфред Е.Боннер
RU2138923C1
КОМПЬЮТЕРНОЕ УСТРОЙСТВО ДЛЯ ВЫПОЛНЕНИЯ ПРИКЛАДНЫХ ПРОГРАММ 1997
  • Беннет Джеймс
  • Кларк Метью
  • Макгуйрк Фред
  • Мейвиз Уолтер
RU2210803C2
СПОСОБ И УСТРОЙСТВО ФОРМИРОВАНИЯ ЗАЩИЩАЮЩИХ ДАННЫХ И ПРОДУКТ КОМПЬЮТЕРНОЙ ПРОГРАММЫ 2008
  • Урьен Паскаль
RU2487482C2
ПОИСК ПРОИЗВОЛЬНОГО ТЕКСТА И ПОИСК ПО АТРИБУТАМ В ДАННЫХ ЭЛЕКТРОННОГО РУКОВОДСТВА ПО ПРОГРАММАМ 2004
  • Сандерс Скотт Д.
RU2365984C2
СИСТЕМЫ И СПОСОБЫ СОЗДАНИЯ, ВОСПРОИЗВЕДЕНИЯ И ПОДДЕРЖАНИЯ ЭЛЕКТРОННЫХ КНИГ 2011
  • Онума Кэнсукэ
  • Фукуй Кодзи
  • Ямагути Юта
  • Кацумото Тосиюки
RU2589380C2
СИСТЕМА ВОСПРОИЗВЕДЕНИЯ МУЛЬТИМЕДИА В ПОРТАТИВНОМ УСТРОЙСТВЕ 2003
  • Патвари Сринивас
RU2316907C2

Иллюстрации к изобретению RU 2 260 206 C2

Реферат патента 2005 года СПОСОБ И УСТРОЙСТВО ДЛЯ ВОСПРОИЗВЕДЕНИЯ ПРОГРАММЫ И НОСИТЕЛЬ С ЗАПИСАННОЙ НА НЕМ ПРОГРАММОЙ ДЛЯ ВОСПРОИЗВЕДЕНИЯ ПРОГРАММЫ

Изобретение относится к способу преобразования существующей программы в новую программу, поддерживающую функции существующей программы и имеющей циклическую структуру, и к носителю записи, на котором записана программа преобразования. Технический результат заключается в уменьшении времени и повышении качества преобразования. Способ заключается в том, что выделяют из существующей программы элемент, определяющий среду ввода/вывода компьютера. Создают для выделенного элемента множество программных компонентов для работы циклической структуры. Соотносят команды, операторы и поля данных существующей программы с соответствующими программными компонентами циклической структуры. 2 н. и 9 з.п. ф-лы, 50 ил.

Формула изобретения RU 2 260 206 C2

1. Способ реконструкции программ, предназначенный для реконструкции существующей программы в виде новой программы, поддерживающей функции существующей программы и имеющей циклическую структуру, состоящую из палет (программ), включая палету W04, относящуюся к обработке вывода, палету W02, относящуюся к обработке ввода, и палету W03, при этом упомянутая циклическая структура из палет W04, W02 и W03 предусматривает возможность выполнения онлайнового процесса ТО, предусматривающего вывод данных посредством палеты W04 на экран с участием оператора, пакетного процесса Т1, предусматривающего вывод данных посредством палеты W04 в запоминающую среду без участия оператора, и возможность выполнения процесса К создания промежуточных данных и выполнения обработки ошибок, заключающийся в том, что выделяют из существующей программы элемент, определяющий среду ввода/вывода (экран, база данных, файл) компьютера и управляемый существующей программой, создают для выделенного определяемого элемента множество программных компонентов (шаблонов) для работы упомянутой циклической структуры, состоящей из набора палет W02, W04 и W03, выделяют из существующей программы команды и операторы и на основе определяемого элемента соотносят их с соответствующими палетами из набора палет W02, W04 и W03, создают маршрут обработки на основе последовательности команд и операторов существующей программы и соотнесенных с ними палет в виде одной или множества циклических структур, состоящих из палет W04, W02 и W03, выделяют из существующей программы слова (поля данных) в форме, идентифицирующей определяемый элемент, к которому относятся слова существующей программы, и категории ввода/вывода для слов, соотносят выделенные слова существующей программы с одной или множеством из упомянутых палет W02, W04 и W03 в зависимости от упомянутого определяемого элемента, к которому относятся слова, и категорий ввода/вывода для слов, преобразуют операторы или команды, которые содержат слова существующей программы, в форму, определяемую соответствующими программными компонентами из упомянутого множества программных компонентов в упомянутой одной или множестве палет, с которыми было соотнесено слово, связанное с оператором или командой, с использованием упомянутого маршрута обработки.2. Способ по п.1, отличающийся тем, что оператор или команду существующей программы, предназначенные для формирования данных, которые должны быть сохранены в поле, представленном словом, преобразуют в соответствии с программным компонентом для формирования данных (программой вектора однородности) из упомянутого множества программных компонентов.3. Способ по п.1, отличающийся тем, что для оператора или команды существующей программы, включающих в себя два или более слов, определяют, является ли соотношение между двумя или более палетами, которым соответствуют два или более слов, используемых в операторе или команде, соотношением, которое удовлетворяет предварительно определенной последовательности, в случае если соотношение между двумя или более палетами не удовлетворяет предварительно определенной последовательности, оператор или команду подвергают декомпозиции на множество операторов или команд, и вставляют новое слово в каждый оператор или команду, полученные в результате декомпозиции, и соотносят новые слова с одной или множеством палет таким образом, чтобы соотношение между двумя или более палетами, с которыми соотнесены два или более слова, включенных в каждый из операторов или команд, полученных в результате декомпозиции, удовлетворяло предварительно определенной последовательности.4. Способ по п.1, отличающийся тем, что выделенное слово является собственно словом (определяемым) или заданным (определяющим) словом.5. Способ по п.1, отличающийся тем, что используют оператор или команду существующей программы, выполняющие физическую обработку ввода/вывода в отношении элемента, определяющего среду ввода/вывода, в качестве части программного компонента (программа временного управления) из упомянутого множества программных компонентов, который предназначен для выполнения общего управления палетами.6. Способ по п.1, отличающийся тем, что если выделенное слово относится к элементу, определяющему среду ввода/вывода, используемому в обработке ввода, то назначают это слово по меньшей мере палете W02, если выделенное слово относится к элементу, определяющему среду ввода/вывода, используемому в обработке вывода, то назначают это слово по меньшей мере палете W04, если выделенное слово не относится к элементу, определяющему среду ввода/вывода, то набор, состоящий из палеты W04, палеты W02 и палеты W03 для назначения этого слова, предоставляют отдельно.7. Способ по п.1, отличающийся тем, что если описание обработки ошибок включено в упомянутую существующую программу, то набор, состоящий из палеты W04, палеты W02 и палеты W03, для управления этой обработкой ошибок, предоставляют отдельно.8. Способ по п.1, дополнительно включают этапы, при которых если маршрут, связанный с двумя или более различными циклическими структурами, или маршрут, связанный с обработкой выхода, выражен в диаграмме маршрута обработки, то выделяют из упомянутой существующей программы условный оператор или команду условия, представляющие условие перехода в точке ветвления маршрута, и преобразуют выделенный условный оператор или команду условия в форму, совместимую с программным компонентом, который предназначен для определения маршрута, из числа множества программных компонентов палеты, из которой исходит указанная точка ветвления.9. Способ по п.1, отличающийся тем, что дополнительно включает этапы, при которых осуществляют поиск условного оператора или команды условия, представляющих условие ввода данных или условие вывода данных, на основании описания существующей программы, и если условный оператор или команда условия, представляющие условие ввода данных или условие вывода данных, выделены, то преобразуют выделенный условный оператор или команду условия в форму, которая соответствует программному компоненту для операции ввода или операции вывода из числа множества программных компонентов в палете, в которой действует условие ввода данных или условие вывода данных.10. Способ по п.1, отличающийся тем, что дополнительно включает этапы, при которых осуществляют поиск условного оператора или команды условия, представляющих условие выбора эквивалентного слова, на основании описания существующей программы, и если условный оператор или команда условия, представляющие условие выбора эквивалентного слова числа, выделены, то преобразуют выделенный условный оператор или команду условия в форму, которая соответствует программному компоненту из множества программных компонентов в палете, которой было назначено эквивалентное слово.11. Носитель записи, на который записана программа, при выполнении которой осуществляет способ по любому пп.1-10.

Документы, цитированные в отчете о поиске Патент 2005 года RU2260206C2

ЭЛЕКТРОННОЕ ИНФОРМАЦИОННОЕ УСТРОЙСТВО 1994
  • Пападопоулос Мариос Габриэль
RU2127908C1
КОНТРОЛЛЕР СЕТИ ДЛЯ СИСТЕМЫ КАБЕЛЬНОГО ТЕЛЕВИДЕНИЯ (ВАРИАНТЫ), КОНТРОЛЛЕР СЕТИ ДЛЯ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ БУХГАЛТЕРСКОЙ ИНФОРМАЦИЕЙ, СПОСОБ ИСПОЛЬЗОВАНИЯ ОБОРУДОВАНИЯ ДЛЯ ОБРАБОТКИ ЦИФРОВЫХ СИГНАЛОВ (ВАРИАНТЫ), СПОСОБ ИСПОЛЬЗОВАНИЯ ГОЛОВНОЙ СТАНЦИИ СИСТЕМЫ КАБЕЛЬНОГО ТЕЛЕВИДЕНИЯ ДЛЯ ДИСТАНЦИОННОЙ АДРЕСАЦИИ РЕКЛАМЫ И СПОСОБ ДИСТАНЦИОННОГО УПРАВЛЕНИЯ БУХГАЛТЕРСКОЙ ИНФОРМАЦИЕЙ 1993
  • Джон С.Хендрикс
  • Альфред Е.Боннер
RU2119726C1
Дорожная спиртовая кухня 1918
  • Кузнецов В.Я.
SU98A1
Прибор, замыкающий сигнальную цепь при повышении температуры 1918
  • Давыдов Р.И.
SU99A1

RU 2 260 206 C2

Авторы

Негоро Фумио

Даты

2005-09-10Публикация

2000-11-10Подача