На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

4
Ожидается:
09 Сентября 2024

Языки четвертого поколения

Статья опубликована в выпуске журнала № 1 за 1992 год.
Аннотация:
Abstract:
Автор: () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 14469
Версия для печати

Размер шрифта:       Шрифт:

Как направление в области программного обеспечения языки четвертого поколения существуют с конца 70-х годов, и может показаться, что с концептуальной точки зрения они себя уже исчерпали. Однако, появление все новых языков этого класса, таких как Empress, filePro + , Thoroughbred IDOL-IV, UNIFACE, NOMAD, опровергает подобное предположение.

 

Рассматривая первые три языка, можно отметить, что каждый из них характеризует отдельное направление в этом классе языков.

Empress - это большая система управления реляционными базами данных, занимающая около 8 Мб дискового пространства, гибкая и вместе с тем довольно сложная. С другой стороны fllePro + , основанный на меню пакет для работы с базами данных, очень простой в освоении и в работе. Thoroughbred IDOL-IV занимает промежуточное положение.

Процедура инсталяции всех трех пакетов проста, но обладает некоторыми особенностями. Так, Thoroughbred IDOL-IV требует создания специальной директории /usr/lib/basic, a Empress - некоторой манипуляции со специальными файлами.

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

Возможности для работы с базами данных следующие:

-     Empress допускает 9999 полей на таблицу, а filePro + — 999, количество полей Thoroughbred IDOL-IV ограничено длиной записи;

-     Thoroughbred IDOL-IV допускает 8 миллио нов записей на базу данных, Empress - 16 мил лионов, а П1еРго+ - 2 миллиарда;

-     максимальный размер записи filePro + - 16 Кб, Thoroughbred IDOL-IV - 32, a Empress - 65.

Кроме того, Empress поддерживает стандартный SQL, имеет средства работы с сетями и интересные возможности по обработке звуковых данных и по графике.

Работа с содержимым базы данных осуществляется с помощью специальных редакторов, позволяющих вводить данные в базу, модифицировать и удалять их. Empress предоставляет пользователю средства работы с окнами и формами больших размеров.

Как известно, одной из наиболее трудоемких задач при создании систем на языках 3-го поколения является построение различных меню, которые контролируют деятельность пользователя в системе. Каждый из рассматриваемых языков имеет в своем составе специальные средства для создания меню. К примеру, в filePro+ каждая опция меню состоит из трех частей: выбора (это число или последовательность букв), описания и действия. Действие -это описание пути к программе, которую следует выполнить, если пользователь укажет соответствующую выборку. Действием может быть как любой модуль ШеРго + , так и произвольная программа или средство операционной системы. Есть специальная опция, позволяющая запускать задачи в фоновом режиме. К числу недостатков средства построения меню filePro+ следует отнести: неэффективность, невозможность создавать подсказки для пользователя, ограничение числа выборок (24). Thoroughbred IDOL-IV решает некоторые проблемы, характерные для ШеРго + : допустимое число выборок равно 99, можно описывать окна подсказки, пропускать промежуточные меню, указывая имя требуемого меню (этого нельзя делать в fiIePro + ), а также возвращаться к предыдущим меню (система запоминает путь). Уровень сложности средств создания меню в Empress практически такой же, как и у двух предыдущих систем, но выразительная сила значительно выше. Для того, чтобы определить меню, пользователь должен определить окно, в котором будет появляться это меню, форму меню и поля ввода-вывода данных (которые могут быть запрограммированы средствами языка), а также сценарий, задающий условия появления меню и реакцию на сигнал от клавиатуры.

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

Наряду с редакторами и средствами построения меню еще одной важной компонентой рассматриваемых систем являются генераторы отчетов. fflePro + предоставляет пользователю простую утилиту, основанную на меню. Отчеты могут быть четырех типов: с произвольным числом записей, в почтовом формате, в полностраничном формате, в свободном формате. filePro + может распечатывать данные только из одного файла, что является серьезным ограничением, а также не допускает отчетов, состоящих из группы записей файла (можно распечатать только весь файл). К сожалению, с помощью языка П1еРго+ нельзя преодолеть указанные недостатки. Thoroughbred IDOL-IV имеет специализированный генератор отчетов, поставляемый отдельно, допускающий отчеты с данными из нескольких файлов. Формат отчетов схож с форматами отчетов Кобола. M-Wri-ter - генератор отчетов системы Empress позволяет создавать отчеты на основе данных из базы данных (из произвольного числа таблиц) или из любых текстовых файлов.

Ядром каждой системы является язык четвертого поколения. Языки file Pro + и Thoroughbred основаны на БЕЙСИКЕ и позволяют пользователю осуществлять работу со строками, реагировать на ввод, контролировать ввод-вывод, управлять файлами. Программы на этих языках представляют из себя совокупность так называемых сценариев (scripts), которые создаются и редактируются теми же средствами, что и меню. Язык Thoroughbred — Script-IV не только сохранил целый ряд недостатков БЕЙСИКА, ко и имеет собственные: все сценарии разделены на б подклассов - основной, продолжающий, оверлейный и т.д., каждый из которых требует особой среды данных и специальных форм вызова. Размер программы ограничен 64 Кб для UNIX и 54 Кб для DOS (можно создавать оверлейные структуры). Script-IV требует, чтобы описания данных и заголовки процедур начинались в первой колонке (подобных мелких неудобств довольно много). К достоинствам Script-IV следует отнести возможность доступа из программ ко всему содержимому базы данных - форматам, словарю данных, сообщениям. Язых Empress - M-Buil-der отличается особой гибкостью, позволяя пользователю запускать программы в любой момент работы системы (инициализацией может послужить не только нажатие клавиши, но и положение курсора на экране), работать с окнами (перемещать, изменять размеры) и с базой данных, а также производить обмен данных между базой данных и экраном.

В некоторых случаях желательно иметь возможность обращаться к программам, написанным на других языках. filePro+ не позволяет делать этого, а из Empress можно обратиться к Си и ФОРТРАНУ, а из Thoroughbred - к БЕЙСИКУ. Аналогично, сценарии могут быть вызваны из упомянутых языков программирования.

Каждая из систем обладает рядом преимуществ при работе под управлением ОС UNIX, обеспечивая доступ к системным средствам этой среды, редакторам текстов и различным пакетам.

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

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

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

UNIFACE поддерживает несколько типов реляционных СУБД. Например, таблица "Поставщик" может быть реализована на СУБД Oracle, а таблица "Товар" на СУБД Rdb. Рефе-ренциальная целостность определяется на уровне словаря данных, который гарантирует, к примеру, что не возникнет ситуации, когда поставщик удален из базы данных, а соответствующие ему товары остались. Как правило, в крупных организациях функционируют системы, построенные на разных СУБД, и при необходимости их объединение в систему UNIFACE может оказаться эффективным.

Многие языки четвертого поколения имеют довольно примитивные механизмы блокировки. Некоторые блокируют экран при модификации базы данных. Это значительно снижает качество многопользовательских информационных систем. Механизм блокировки UNIFACE избавлен от подобных недостатков - формы ввода-вывода по умолчанию не блокируются, осуществляется контроль за непротиворечивостью данных при обновлениях.

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

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

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

UNIFACE функционирует на ПЭВМ с расширенной памятью не менее 2 Мб и в среде VAX.

Одна из версий UNIFACE входит в состав реляционной СУБД Sybase под названием Fastbuild.

Благодаря своей способности работать с несколькими СУБД, UNIFACE является вполне конкурентоспособным средством построения открытых систем. В качестве самостоятельного инструмента UNIFACE пригодна для относительно простых приложений из-за довольно слабых функциональных возможностей.

Одним из наиболее популярных языков четвертого поколения является NOMAD, обладающий широким спектром функциональных возможностей. Создатели NOMAD - MUST Software International - отделение транснациональной электронной и аэрокосмической корпорации Thompson SA с центром во Франции. В настоящее время стала доступной новая версия этого пакета - 5.0, которая открывает новые возможности:

утилита VFILE (Virtual File Services) позволяет сохранять временные данные в оперативной памяти. Она автоматически используется системой для некоторых команд. Пользователь может присвоить атрибут VFILE команде FILE и установить размер буферной памяти; в среде MVX/XA NOMAD использует FTIO (Full Track I/O) для считывания целых дорожек;

в среде MVS NOMAD может обходить подсистему Cross Memory Services, используя свою собственную;

NOMAD Windows поддерживает одномерные массивы;

команда WINDOW KEYS позволяет пользователю переопределить принятые по умолчанию функциональные клавиши;

пользователь может "вырезать" куски данных в окнах и переносить их в другие окна; функции Locate и Windows автоматизированы и доступны из системного меню.

Входящий в состав NOMAD MVS Sesion Manager позволяет пользователям системы работать в рамках одного адресного пространства под TSO и предоставляет следующие возможности:

работа изнутри и извне TSO через CICS и VTAM;

уменьшение потребления ресурсов и времени реакции, путем устранения копии подзадачи; изоляция аварийного останова с последующим анализом; управление размещением ресурсов; ХА-совместимость; улучшение характеристик в DB-моде; поддержка существующих интерфейсов (DB2, IMS, IDMS, Teradata).

А также целый ряд других возможностей.

Для создания базы данных администратор системы присваивает ей имя, а затем описывает схему с помощью утверждений MASTER и SEGMENT, за каждым из которых следует описание полей со списком разного рода параметров. Элементы данных типа SEGMENT могут иметь отношение PARENT (родитель) к одному или нескольким элементам типа MASTER. Для плоских файлов утверждение SEGMENT опускается. Например:

MASTER ОТДЕЛ KEYED (НАЗВАНИЕ)

ITEM НАЗВАНИЕ AS A20

ITEM АДРЕС AS A20

SEGMENT ОБОРУДОВАНИЕ PARENT

ОТДЕЛ KEYED (ИНВ_НОМЕР)

ITEM ИНВ_НОМЕР AS 0999

ITEM ЦЕНА AS 99.999.99

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

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

На уровне схемы могут быть специфицированы ограничения на значения данных полей, что устраняет необходимость описания процедур поддержки целостности. Ограничения определяются с помощью утверждений LIMITS, MASK, MEMBER и RULE. LIMITS специфицирует область допустимых значений в виде промежутка допустимых значений или же в виде перечисления. Например, для поля ЦЕНА из вышеприведенной схемы может быть задано LIMITS (0:12000). Утверждение MASK определяет допустимый формат ввода данных. С помощью утверждения MEMBER устанавливается проверка правильности значений данных по отношению к уже существующим данным в другом сегменте. Утверждение RULE устанавливает ограничения референциальной целостности, предотвращая удаление элементов данных типа MASTER, если не удалены соответствующие элементы типа SEGMENT и ITEM.

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

Для полей можно определить специальные функции. Например, утверждение ENCODE

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

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

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

Процедуры могут содержать команды поиска, обновления базы данных, а также различные управляющие структуры типа IF..THEN, FOR..TO, DO. Кроме того, для данных, находящихся в различных сегментах, допустима операция соединения. Определенные с помощью PROFILE точки зрения обладают многими преимуществами их эквивалентов в SQL- и QUEL-основанных языках в центральной базе данных и могут использоваться многими приложениями. Однако, в отличие от SQL- и QUEL-основанных СУБД, NOMAD не поддерживает команды CREATE VIEW для реляционных операций и логические структуры типа VIEW (хотя некоторые механизмы NOMAD позволяют эмулировать такую возможность).

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

NOMAD предоставляет администратору базы данных набор команд для управления эффективностью реализации:

SLIST выдает описание структуры базы данных, включая поля и элементы типа MASTER и SEGMENT;

DBCHK выдает информацию о физической организации данных;

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

NUMBLK и BIGBLK параметры могут быть присвоены сегментам при описании схемы базы данных и определяют размер и число блоков при доступе к сегменту.

Кроме того, имеется целый ряд вспомогательных команд.

В составе NOMAD имеется специальная программа NAPA (NOMAD Application Performance Analyzer), которая управляет ресурсами процедур и команд и выдает пользователю информацию об использовании памяти. NAP A имеет набор опций, с помощью которых пользователь может управлять ее работой. Например, TRACE RESOURCES TYPES - ограничивает типы описываемых ресурсов.

NOMAD позволяет работать с внешними базами данных. Для этого необходимо специфицировать внешние сегменты типа MASTER.

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

экранное порождение и поддержка схемы. Пользователю предоставляется специальный экран для определения или изменения атрибутов базы данных;

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

NOMAD обеспечивает несколько методов для управления различными уровнями доступа к базе данных. На уровне схемы, с помощью утверждения ACCESS могут быть установлены следующие параметры:

all, разрешающий любые изменения данных; No Change, запрещающий изменение существующих значений;

NoCreate, запрещающий добавление новых значений;

NoDelete, запрещающий удаление существующих даиных.

Для доступа к данным NOMAD предоставляет ряд команд и специальных средств. Одной из основных является команда LIST, которая может извлекать данные из файлов SQL/DS, DB2, IDMS, IMS и строить отчеты. LIST работает как с реляционными, так и с иерархическими структурами и поддерживает реляционные операции NOMAD и некоторые агрегирующие функции (MIN, MAX, COUNT, AVERAGE и Др.), а также работу С массивами.

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

Для прототипирования отчетов по результатам работы LIST, а также совместно с LIST, используется средство Lister.

Реляционные операторы NOMAD включают следующие: EXTRACT, EXTRACT ALL, MERGE, REGECT, SUBSET, SUBSET ALL.

Создание новой базы данных на основе существующей выполняется командой CREATE, которая перекачивает данные из исходной базы

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

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

NOMAD выполняет ряд функций для поддержки процесса принятия решений, статистического и финансового анализа.

Для отладки программ в среде NOMAD используются команды DEBUG, TRACE, TYPE, TRACE XREF.

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

В состав NOMAD входит специальное средство интерфейса с пользователем, основанное на меню — ASSISTENT, которое позволяет генерировать отчеты и извлекать данные из базы в оконной среде. Такие средства NOMAD как Browse и Lister доступны непосредственно из ASSISTENT. Это средство поддерживает каталог, в который пользователь может заносить базы данных, файлы, процедуры.

Для работы в среде ПЭВМ имеется специальная версия PC NOMAD, реализованная на языке Си. PC NOMAD имеет свою версию ASSISTENT, работающую в оконном стиле, которая предоставляет средства каталогизации наиболее часто используемых баз данных, отчетов и любых других средств. С его помощью могут быть получены отчеты с различными опциями сортировки и вычислений. Пользователь может просматривать отчеты в оконной Среде, посылать их на печать и заносить в базу данных.

Входящий в состав NOMAD интерфейс программиста (NOMAD Programmer Interface или NPI2) позволяет писать прикладные программы на языках КОБОЛ, ФОРТРАН, PL/1 и ассемблера в среде IBM 360/370.

Ожидается, что к середине 90-х годов появится многопользовательская версия NOMAD для персональных компьютеров, работающая с серверами SQLBase и SQL Server.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=1434
Версия для печати
Статья опубликована в выпуске журнала № 1 за 1992 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: