Clarion
Clarion
ОписаниеР-Т
Система Clarion [50,52] разработана фирмой Clarion
Software. С нашей точки зрения, ее следует квалифицировать
как комфортный и мощный генератор интерактивных приложений
для конечного пользователя, обеспечивающих решение совокуп-
ностей задач обработки данных. Для непосредственного обслу-
живания конечного пользователя Clarion не предназначен.
Система не только позволяет конструировать в высокой
степени дружественные для пользователя приложения, но и об-
ладает весьма дружественным характером для их разработчика.
Clarion предоставляет пользователю системы проекти-
ровщику приложений два уровня инструментальных средств.
Средства более высокого уровня интегрированы в компоненте
системы, называемом дизайнером. Средства низкого уровня
представлены в языке программирования системы [10].
На уровне дизайнера проектировщик оперирует категория-
ми, естественными с точки зрения пользователя разрабатывае-
мой системы и материализуемыми в форме таких типовых компо-
нентов приложения, как структура обрабатываемых данных, ме-
ню, экранные формы ввода-вывода и окна, таблицы и отчеты.
Функции языка программирования системы чрезвычайно мно-
гоаспектны. Он служит для поддержки объектов, с которыми
имеет дело дизайнер, и для выполнения над ними предусмотрен-
ных операций. Представляется, что этот язык обладает значи-
тельным запасом возможностей по сравнению с текущими потреб-
ностями дизайнера.
Хотя теоретически вполне возможно непосредственное
программирование полного приложения на языке Clarion, разра-
ботчики системы, несомненно, не рассчитывали на такое его ис-
пользование, поскольку это занятие было бы довольно трудоем-
ким и кропотливым.
Предполагается иная технология разработки приложения. С
помощью высокоуровневых средств дизайнера проектировщик в
режиме WYSIWYG создает прототип приложения, по которому ге-
нерируются файлы, содержащие хорошо документированные исход-
ные тексты модулей приложения на языке программирования.
Высококвалифицированный проектировщик может на этой
стадии вмешаться в процесс генерации приложения с тем, чтобы
при необходимости "вручную" внести дополнения и изменения в
исходный текст программы. Он должен для этого, однако, дос-
таточно хорошо владеть языком Clarion.
Далее сгенерированные исходные тексты программных моду-
лей приложения обрабатываются компилятором языка Clarion и
порождают объектные программные модули стандартного для опе-
рационной системы формата. Следовательно, в конечном счете с
помощью традиционной технологии компиляции и сборки может
быть собран полностью самостоятельный загрузочный .exe-мо-
дуль приложения. При необходимости он может иметь оверлейную
структуру.
Для защиты генерируемых файлов с исходными текстами
программ от недозволенного доступа система поддерживает ме-
ханизмы доступа к ним по паролям, которыми проектировщик мо-
жет при желании воспользоваться.
Обрабатываемые системой пользовательские данные могут
быть организованы в виде ее собственных файлов данных,
ASCII-файлов операционной системы, а также образуемых на
стадии исполнения двунаправленных списковых структур, разме-
щенных в оперативной памяти, называемых таблицами.
Здесь мы сознательно не употребляем термин "база дан-
ных". Причина здесь не только в том, что этот термин не ис-
пользуется в документации. И это вполне справедливо, так как
концепция единой базы данных системой Clarion не поддержива-
ется. По существу, совокупность файлов и таблиц, с которой
работает система, не представляет собой единого целого. Все
они существуют автономно, а если и взаимосвязаны каким-либо
образом, то только в мысленном представлении проектировщика.
Файлы данных системы состоят из записей фиксированного
формата. Каждая запись представляет собой совокупность ска-
лярных элементов данных любого допустимого в системе типа,
векторов таких элементов, а также простых и повторяющихся
групп. Можно использовать матрицы групп вплоть до четырех-
мерных. Повторяющиеся группы могут быть вложенными. Важное
ограничение состоит в том, что число повторений группы по
любой размерности должно быть константой.
При спецификации файла данных могут быть заданы первич-
ные и вторичные ключи индексирования его записей. Для таких
ключей в системе могут создаваться динамические и статичес-
кие индексы. Динамический индекс (в документации "Key") пос-
ле его создания автоматически модифицируется при вставке,
модификации и удалении записей в файле данных. Статический
индекс (в документации "Index") соответствует некоторому
состоянию файла данных и не актуализируется при изменении
файла данных. Индексы файлов данных используются для поддер-
жания порядка записей файла в процессе их обработки, а также
для прямого доступа к записям файла по значению ключа индек-
сирования.
С каждой записью файла данных может ассоциироваться не-
которое тектовое значение. Совокупность таких значений хра-
нится в мемо-файле, связанном с этим файлом данных.
Обработка системных файлов данных осуществляется только
в позаписном режиме ("record-by-record"). Предусматривается
набор примитивов манипулирования данными в таких файлах. Они
являются сравнительно мелкими по объему выполняемых функций,
и всякая более или менее содержательная операция нуждается в
написании серии команд.
При обработке данных может использоваться последова-
тельный и прямой доступ к записям файла. Последовательная
обработка осуществляется либо в порядке "физического" разме-
щения записей в файле, либо в соответствии с индексом в по-
рядке возрастания или убывания значения ключа. В случае пря-
мого доступа для идентификации требуемой записи служат ее
относительный порядковый номер в файле или значение ключа
индексирования.
Помимо операций навигации во множестве записей файла,
предусматриваются операции создания, открытия и закрытия
файла, очистки файла, сброса содержимого буфера в файл, ус-
тановки указателя текущей записи, чтения и запоминания запи-
си в позиции, заданной указателем, чтения следующей записи в
буфер, добавления записи в конец файла или на место послед-
ней удаленной записи, удаления текущей записи и другие опе-
рации.
Предусматривается прямая обработка ASCII-файлов опера-
ционной системы. Такие файлы рассматриваются как совокупнос-
ти структуризованных записей, аналогичных по своей "логичес-
кой" структуре файлам данных. Их можно создавать и удалять,
копировать, переименовывать, очищать, помещать в них записи
и читать записи из них, удалять существующие записи и встав-
лять новые. Записи файлов операционной системы не могут быть
индексированы.
Во время функционирования системы допускается создание
в оперативной памяти двунаправленных списков записей, кото-
рые называются таблицами. Записи-элементы таких списков мо-
гут иметь переменную длину. Таблицы размещаются только в
свободной памяти.
Элементы списков в памяти могут снабжаться ключами. Это
позволяет не только осуществлять навигацию в такой структу-
ре, последовательно перемещаясь по ее элементам в любом из
двух направлений, но и использовать прямой доступ по значе-
нию ключа.
Набор базисных типов данных в системе ограничивается
целыми числами в однобайтовом (Byte), двухбайтовом (Short) и
четырехбайтовом (Long) форматах, упакованными десятичными
числами с фиксированной точкой (Decimal), числами с плаваю-
щей точкой (Real), литерными строками (String). Предусмотре-
ны способы представления дат и денежных сумм, представленных
валютами разных стран. Все преобразования типов система про-
изводит автоматически по умолчанию. Поддерживаются скалярные
величины и массивы.
Две особенности роднят Clarion с dBase-совместимыми
системами. Как и все системы такого типа, Clarion не поддер-
живает концепцию базы данных, оперируя отдельными файлами.
Не поддерживается также концепция неопределенного значения
(Null-value).
Несмотря на то что язык Clarion [10] является языком
довольно низкого уровня, он обладает весьма развитыми воз-
можностями. Это язык ключевых слов операторного типа с
развитыми структурами управления логикой программы, снабжен-
ный большим набором стандартных элементарных и строковых
функций. На уровне "физики" он позволяет управлять клавиату-
рой и видеопамятью монитора, файлами операционной системы,
буферизацией обменов с файлами и использовать кэш-память. На
"логическом" уровне объектами языка являются файлы данных
системы и механизмы их индексирования, экранные окна и формы
с возможностями управления атрибутами цвета, меню и отчеты,
таблицы и списки в памяти.
В языке Clarion предусмотрены средства организации ра-
боты приложения в мультипользовательском режиме. Имеются ме-
ханизмы блокирования ресурсов данных на уровне файлов и от-
дельных записей, методы предотвращения тупиковых ситуаций,
средства управления обработкой транзакций. Целостность дан-
ных обеспечивается средствами журнализации транзакций и от-
ката незавершившихся транзакций.
Предусмотрен экспорт-импорт данных из файлов в формате
DBF, языка Basic, DIF.
В последней версии системы Clarion Professional
Developer 2.1 [8,63] значительно усовершенствованы генера-
тор отчетов, а также средства управления генератором прог-
раммного кода.
Генератор отчетов системы Clarion это управляемый ме-
ню автономный инструмент для обработки запросов и формирова-
ния отчетов на основе файлов системы Clarion, dBase, DIF и
ASCII-файлов с запятой в качестве разделителей. Он генериру-
ет отчеты табличной формы. С помощью меню можно создавать
фильтры и вычисляемые значения, сортировать строки, отбирать
записи по критерию. Перед печатью отчет может быть выведен в
текстовый файл или предварительно просмотрен на экране дисп-
лея с "пролистыванием" его в обоих направлениях.
Генератор кода в Professional Developer для ускорения
работы игнорирует модули, которые не изменились с последней
генерации. Он поддерживает 2 Гбайта виртуальной памяти. Бу-
феры кэш-памяти используют расширение оперативной памяти.
В Professional Developer 2.1 предусмотрены программные
интерфейсы для языка "C" и ассемблера.
Система исполняется на IBM PC, PS/2 и требует 512 Кбайт
оперативной памяти.ПУБЛИКАЦИИ
Byte. 1990. August. P.200.
Ссылка
Byte. 1990. August. P.200.
СУБД
Clarion
Ссылка
Clarion
ОписаниеР-Т
Система Clarion [50,52] разработана фирмой Clarion
Software. С нашей точки зрения, ее следует квалифицировать
как комфортный и мощный генератор интерактивных приложений
для конечного пользователя, обеспечивающих решение совокуп-
ностей задач обработки данных. Для непосредственного обслу-
живания конечного пользователя Clarion не предназначен.
Система не только позволяет конструировать в высокой
степени дружественные для пользователя приложения, но и об-
ладает весьма дружественным характером для их разработчика.
Clarion предоставляет пользователю системы проекти-
ровщику приложений два уровня инструментальных средств.
Средства более высокого уровня интегрированы в компоненте
системы, называемом дизайнером. Средства низкого уровня
представлены в языке программирования системы [10].
На уровне дизайнера проектировщик оперирует категория-
ми, естественными с точки зрения пользователя разрабатывае-
мой системы и материализуемыми в форме таких типовых компо-
нентов приложения, как структура обрабатываемых данных, ме-
ню, экранные формы ввода-вывода и окна, таблицы и отчеты.
Функции языка программирования системы чрезвычайно мно-
гоаспектны. Он служит для поддержки объектов, с которыми
имеет дело дизайнер, и для выполнения над ними предусмотрен-
ных операций. Представляется, что этот язык обладает значи-
тельным запасом возможностей по сравнению с текущими потреб-
ностями дизайнера.
Хотя теоретически вполне возможно непосредственное
программирование полного приложения на языке Clarion, разра-
ботчики системы, несомненно, не рассчитывали на такое его ис-
пользование, поскольку это занятие было бы довольно трудоем-
ким и кропотливым.
Предполагается иная технология разработки приложения. С
помощью высокоуровневых средств дизайнера проектировщик в
режиме WYSIWYG создает прототип приложения, по которому ге-
нерируются файлы, содержащие хорошо документированные исход-
ные тексты модулей приложения на языке программирования.
Высококвалифицированный проектировщик может на этой
стадии вмешаться в процесс генерации приложения с тем, чтобы
при необходимости "вручную" внести дополнения и изменения в
исходный текст программы. Он должен для этого, однако, дос-
таточно хорошо владеть языком Clarion.
Далее сгенерированные исходные тексты программных моду-
лей приложения обрабатываются компилятором языка Clarion и
порождают объектные программные модули стандартного для опе-
рационной системы формата. Следовательно, в конечном счете с
помощью традиционной технологии компиляции и сборки может
быть собран полностью самостоятельный загрузочный .exe-мо-
дуль приложения. При необходимости он может иметь оверлейную
структуру.
Для защиты генерируемых файлов с исходными текстами
программ от недозволенного доступа система поддерживает ме-
ханизмы доступа к ним по паролям, которыми проектировщик мо-
жет при желании воспользоваться.
Обрабатываемые системой пользовательские данные могут
быть организованы в виде ее собственных файлов данных,
ASCII-файлов операционной системы, а также образуемых на
стадии исполнения двунаправленных списковых структур, разме-
щенных в оперативной памяти, называемых таблицами.
Здесь мы сознательно не употребляем термин "база дан-
ных". Причина здесь не только в том, что этот термин не ис-
пользуется в документации. И это вполне справедливо, так как
концепция единой базы данных системой Clarion не поддержива-
ется. По существу, совокупность файлов и таблиц, с которой
работает система, не представляет собой единого целого. Все
они существуют автономно, а если и взаимосвязаны каким-либо
образом, то только в мысленном представлении проектировщика.
Файлы данных системы состоят из записей фиксированного
формата. Каждая запись представляет собой совокупность ска-
лярных элементов данных любого допустимого в системе типа,
векторов таких элементов, а также простых и повторяющихся
групп. Можно использовать матрицы групп вплоть до четырех-
мерных. Повторяющиеся группы могут быть вложенными. Важное
ограничение состоит в том, что число повторений группы по
любой размерности должно быть константой.
При спецификации файла данных могут быть заданы первич-
ные и вторичные ключи индексирования его записей. Для таких
ключей в системе могут создаваться динамические и статичес-
кие индексы. Динамический индекс (в документации "Key") пос-
ле его создания автоматически модифицируется при вставке,
модификации и удалении записей в файле данных. Статический
индекс (в документации "Index") соответствует некоторому
состоянию файла данных и не актуализируется при изменении
файла данных. Индексы файлов данных используются для поддер-
жания порядка записей файла в процессе их обработки, а также
для прямого доступа к записям файла по значению ключа индек-
сирования.
С каждой записью файла данных может ассоциироваться не-
которое тектовое значение. Совокупность таких значений хра-
нится в мемо-файле, связанном с этим файлом данных.
Обработка системных файлов данных осуществляется только
в позаписном режиме ("record-by-record"). Предусматривается
набор примитивов манипулирования данными в таких файлах. Они
являются сравнительно мелкими по объему выполняемых функций,
и всякая более или менее содержательная операция нуждается в
написании серии команд.
При обработке данных может использоваться последова-
тельный и прямой доступ к записям файла. Последовательная
обработка осуществляется либо в порядке "физического" разме-
щения записей в файле, либо в соответствии с индексом в по-
рядке возрастания или убывания значения ключа. В случае пря-
мого доступа для идентификации требуемой записи служат ее
относительный порядковый номер в файле или значение ключа
индексирования.
Помимо операций навигации во множестве записей файла,
предусматриваются операции создания, открытия и закрытия
файла, очистки файла, сброса содержимого буфера в файл, ус-
тановки указателя текущей записи, чтения и запоминания запи-
си в позиции, заданной указателем, чтения следующей записи в
буфер, добавления записи в конец файла или на место послед-
ней удаленной записи, удаления текущей записи и другие опе-
рации.
Предусматривается прямая обработка ASCII-файлов опера-
ционной системы. Такие файлы рассматриваются как совокупнос-
ти структуризованных записей, аналогичных по своей "логичес-
кой" структуре файлам данных. Их можно создавать и удалять,
копировать, переименовывать, очищать, помещать в них записи
и читать записи из них, удалять существующие записи и встав-
лять новые. Записи файлов операционной системы не могут быть
индексированы.
Во время функционирования системы допускается создание
в оперативной памяти двунаправленных списков записей, кото-
рые называются таблицами. Записи-элементы таких списков мо-
гут иметь переменную длину. Таблицы размещаются только в
свободной памяти.
Элементы списков в памяти могут снабжаться ключами. Это
позволяет не только осуществлять навигацию в такой структу-
ре, последовательно перемещаясь по ее элементам в любом из
двух направлений, но и использовать прямой доступ по значе-
нию ключа.
Набор базисных типов данных в системе ограничивается
целыми числами в однобайтовом (Byte), двухбайтовом (Short) и
четырехбайтовом (Long) форматах, упакованными десятичными
числами с фиксированной точкой (Decimal), числами с плаваю-
щей точкой (Real), литерными строками (String). Предусмотре-
ны способы представления дат и денежных сумм, представленных
валютами разных стран. Все преобразования типов система про-
изводит автоматически по умолчанию. Поддерживаются скалярные
величины и массивы.
Две особенности роднят Clarion с dBase-совместимыми
системами. Как и все системы такого типа, Clarion не поддер-
живает концепцию базы данных, оперируя отдельными файлами.
Не поддерживается также концепция неопределенного значения
(Null-value).
Несмотря на то что язык Clarion [10] является языком
довольно низкого уровня, он обладает весьма развитыми воз-
можностями. Это язык ключевых слов операторного типа с
развитыми структурами управления логикой программы, снабжен-
ный большим набором стандартных элементарных и строковых
функций. На уровне "физики" он позволяет управлять клавиату-
рой и видеопамятью монитора, файлами операционной системы,
буферизацией обменов с файлами и использовать кэш-память. На
"логическом" уровне объектами языка являются файлы данных
системы и механизмы их индексирования, экранные окна и формы
с возможностями управления атрибутами цвета, меню и отчеты,
таблицы и списки в памяти.
В языке Clarion предусмотрены средства организации ра-
боты приложения в мультипользовательском режиме. Имеются ме-
ханизмы блокирования ресурсов данных на уровне файлов и от-
дельных записей, методы предотвращения тупиковых ситуаций,
средства управления обработкой транзакций. Целостность дан-
ных обеспечивается средствами журнализации транзакций и от-
ката незавершившихся транзакций.
Предусмотрен экспорт-импорт данных из файлов в формате
DBF, языка Basic, DIF.
В последней версии системы Clarion Professional
Developer 2.1 [8,63] значительно усовершенствованы генера-
тор отчетов, а также средства управления генератором прог-
раммного кода.
Генератор отчетов системы Clarion это управляемый ме-
ню автономный инструмент для обработки запросов и формирова-
ния отчетов на основе файлов системы Clarion, dBase, DIF и
ASCII-файлов с запятой в качестве разделителей. Он генериру-
ет отчеты табличной формы. С помощью меню можно создавать
фильтры и вычисляемые значения, сортировать строки, отбирать
записи по критерию. Перед печатью отчет может быть выведен в
текстовый файл или предварительно просмотрен на экране дисп-
лея с "пролистыванием" его в обоих направлениях.
Генератор кода в Professional Developer для ускорения
работы игнорирует модули, которые не изменились с последней
генерации. Он поддерживает 2 Гбайта виртуальной памяти. Бу-
феры кэш-памяти используют расширение оперативной памяти.
В Professional Developer 2.1 предусмотрены программные
интерфейсы для языка "C" и ассемблера.
Система исполняется на IBM PC, PS/2 и требует 512 Кбайт
оперативной памяти.ПУБЛИКАЦИИ
ЛИТЕРАТУРА
ОС
ПолявЗап=не огр.
ЗапвТаб=не огр.
ОперативПамять=512KB
SQL=н
Стоимость=$845
Особенности-Т
Мощная среда разработки для профессиональных программистов.
Для менее опытных утилита "проектировщик": создание несложных прикладных
систем в режиме диалога с генерацией исходного кода программ.
Импорт-экспорт данных форматов dBASE, DIF, BASIC.
Типы данных: BYTE (1 байт), SHORT (2), LONG (4), REAL (8), DECIMAL (8)
и STRING (до 255). Нет логических и даты.
Язык Clarion весьма сложный, документация недостаточно продуманная.
Сложно обеспечить связь с другими языками не более 64 К в двоичном виде...
Необходимо описать структуру базы в тексте программ.
Нет представительства фирмы в стране. Нет русскоязычной версии.КОМПАНИИ
ЛИТЕРАТУРА
ОС
ПолявЗап=не огр.
ЗапвТаб=не огр.
ОперативПамять=512KB
SQL=н
Стоимость=$845
Особенности-Т
Мощная среда разработки для профессиональных программистов.
Для менее опытных утилита "проектировщик": создание несложных прикладных
систем в режиме диалога с генерацией исходного кода программ.
Импорт-экспорт данных форматов dBASE, DIF, BASIC.
Типы данных: BYTE (1 байт), SHORT (2), LONG (4), REAL (8), DECIMAL (8)
и STRING (до 255). Нет логических и даты.
Язык Clarion весьма сложный, документация недостаточно продуманная.
Сложно обеспечить связь с другими языками не более 64 К в двоичном виде...
Необходимо описать структуру базы в тексте программ.
Нет представительства фирмы в стране. Нет русскоязычной версии.КОМПАНИИ
КОМПАНИИ