Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Генератор программного обеспечения систем обработки данных Сигма Карпов Николай Никитьевич

Генератор программного обеспечения систем обработки данных Сигма
<
Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма Генератор программного обеспечения систем обработки данных Сигма
>

Данный автореферат диссертации должен поступить в библиотеки в ближайшее время
Уведомить о поступлении

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - 240 руб., доставка 1-3 часа, с 10-19 (Московское время), кроме воскресенья

Карпов Николай Никитьевич. Генератор программного обеспечения систем обработки данных Сигма : ил РГБ ОД 61:85-5/3338

Содержание к диссертации

стр.

ВВЕДЕНИЕ ........ 4

Глава I. АЛГОРИТМИЧЕСКАЯ МОДЕЛЬ ОБРАБОТКИ ДАННЫХ. 15

  1. Структура и типы данных...............,.....,, 15

  2. Алгоритмы ведения баз данных 21

  3. Алгоритмы обработки баз данных 29

Глава 2. ЯЗЫКИ ГЕНЕРАТОРА 37

2.1 Язык описания баз данных и программного

, ' обеспечения, 37

  1. Язык корректировки............................ 44

  2. Язык запросов и форматных выдач 47

Глава 3. РЕАЛИЗАЦИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

ПОЛЬЗОВАТЕЛЯ И ГЕНЕРАТОРА...... 65

  1. Структура генерируемых программ............... 65

  2. Структура программного обеспечения генератора.. 74

  3. Характеристики практического применения генератора...,.......,.. 76

оАгиШ4ііігші1і.,....,,,.,.,.,................«.»,«..... О/

ІігШіиіипішІСі І,,..,*,......»........*......,...,,...,,,. оУ

П.І ПРИМЕР ПРИМЕНЕНИЯ ГПО СИГМА.. , 90

П.І.І Содержательная постановка задачи.,....,.....,. 90

П. 1.2 Описание базы данных..... . 91

П.1.3 Описание запросов. г............... 93

П.І.4 Корректировка...,. 98

стр, П.1.5 Генерация и выполнение программ.............. 99

П.1,6 Тексты на языках генератора,................. НО

Введение к работе

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

По мере накопления опыта в ряде направлений применения ЭВМ стали выделяться часто встречающиеся типовые алгоритмы и этапы решения прикладных задач, что позволило перейти к разработке универсальных систем программного обеспечения для специализированных областей. Одной из таких областей, наиболее важных в практической деятельности, является обработка данных* Под обработкой данных здесь и далее будем понимать обработку данных в управлении, выражаемую еще и другим термином - обработка экономических данных. Этот вид обработки данных характеризуется большими объемами обрабатываемых данных с относительно небольшим количеством операций по преобразованию данных. Так как обработкой данных занято большинство установленных в мире ЭВМ, то разработка систем автоматизации построения программного обеспечения в этой сфере позволяет получить существенную экономию трудовых и материальных затрат.

Проблема повышения производительности труда программистов как на этапе разработки, так и на этапе сопровождения, решается несколькими способами. Вводятся различные дисциплины программирования [I-4J, разрабатываются технологические комплексы по производству программ [5-8/ и специальные языки, ориентированные на работу с базами данных /9-10/.

В настоящее время выделилось направление разработки информационных систем общего назначения (систем управления базами данных (СУБД)), которые могут настраиваться на данные пользователя как в режиме компиляции, так и в режиме интерпретации [ll-14j . Информационные системы призваны обеспечить широкий диапазон функций по созданию и ведению баз данных, получению справок. Однако в зависимости от модели данных, положенной в основу, функциональные характеристики разрабатываемых систем различны. Это относится как к набору реализованных функций, так и к уровню автоматизации получения программного обеспечения пользователя для решения конкретных задач.

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

Системы управления базами данных делятся на замкнутые, которые обеспечивают определенный набор функций для работы с данными, и СУБД с базовым языком, который дополняется операторами, обеспечивающими интерфейс с базами данных [l2j В качестве базового языка выбирается язык высокого уровня типа КОБОЛ, ПЛ/І или язык АССЕМБЛЕР. Возможности замкнутой организации нацелены на осуществление набора функций без процедурного программирования. Сам набор составляется из функций высокого уровня, которые наиболее часто встречаются в практи- - б - ческих задачах. Реализация конкретного задания состоит в использовании встроенных алгоритмов, что освобождает пользователя от детализации шагов обработки его требований. При этом пользователь освобождается от управления просмотром и перемещением данных. Определение самих данных хранится в системе в некоторой кодированной форме.

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

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

В настоящее время известен ряд зарубежных (например, ІАШ-IV, -ZWS, х1>$> &ASTEI, TOTAL , *3>АЬА$ [і5, 16, 12, 17, 18, 58] ) и отечественных (например, (МОД, ОКА, ИНЭС, ПАЛЬМА, БАНК, НАБОБ, КОМПАС, ПОИСК, СИЗИФ, СЕТОР, ПАРМА Гі9-зг] ) систем. Наиболее полно обзоры систем общего назначения и вопросы их проектирования проведены в работах [l2, 33, 17, ІЗ].

Одним из направлений создания информационных систем являются генераторы программного обеспечения, позволяющие генерировать программные компоненты, реализующие отдельные типовые функции такие как создание баз данных, печать отчетов [34, 35, 62J. Развивается направление интерпретирующих программных средств [63, 64J.

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

Некоторые вопросы автоматизации программирования обработки данных рассмотрены в ряде работ, которые можно классифицировать по трем направлениям - создание и корректировка баз данных [34, 37-43J , обработка данных /44—48І форматный вывод 49-54 . Однако комплексное рассмотрение этих направлений с позиции концептуального единства разработано недостаточно.

В своем развитии информационные системы прошли ряд этапов [55]. До середины 60-х годов информационные системы раз- рабатывались для применения в крайне специализированных областях. В конструкциях систем использовались особенности областей применения, и как следствие такие системы оказывались трудно модифицируемыми, их распространение на другие предметные области было практически невозможным. Предельная специализиро-ванность преопределяла возможности максимальной эффективности их реализаций. Вместе с тем чрезмерная конкретная направленность препятствовала переориентации на другие приложения.

Практическое использование информационных систем и обобщение опыта их разработки привело к выявлению их общих черт, к пониманию того, что они должны строиться с использованием некоторого универсального аппарата, в качестве которого выступили СУБД. Сама концепция универсализма интенсивно эксплуатировалась от середины 60-х годов'до середины 70-х годов.

Привязка универсальной СУБД к конкретному приложению осуществляется путем описания средствами языка описания данных требуемых структур данных и написания на базовом (включающем) языке ряда прикладных программ, реализующих конкретные потребности пользователя.

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

Чрезмерной универсальности программного обеспечения обработки данных присущи и другие недостатки. Она слабо учитывает практическую ограниченность ресурсов. Это сказывается особенно при разработках АСУ, где на разных предприятиях различная комплектность ЭВМ, нехватка программистов (особенно квалифицированных) и т.п. Кроме того, даже наиболее совершенные из универсальных пакетов требуют заметных усилий по адаптации к нуждам конкретных пользователей |69J.

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

Диссертация является результатом выполнения темы 05 ("Разработать и ввести в эксплуатацию генератор программного обеспечения Сигма (П30 Сигма)") (номер государственной регистрации 8I044I77) раздела 04 ("Разработать и ввести в эксплуатацию программные средства автоматизации программирования и проектирования") программы ГКНТ CGCP 0.80.21, Автор является научным руководителем и ответственным исполнителем данной темы. - ю -

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

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

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

На защиту выносятся: алгоритмическая модель обработки данных и ее реализация в виде генерируемого набора программ; языки описания генерируемых программ; представление генерируемых программ в эталонном виде - II - на языке высокого уровня ГОІ/І; - система автоматизации программирования обработки данных в рамках алгоритмической модели, реализованная в виде генератора программного обеспечения.

Обоснуем предлагаемые решения. Освоение пользователем какого-либо достаточно сложного средства автоматизации наталкивается на трудности и в ряде случаев соизмеримо по затратам с реализацией задачи, которую требуется решить, традиционным путем разработки программного обеспечения на одном из универсальных языков программирования. Введение промежуточного уровня некоторой функции в виде программ на языке высокого уровня позволяет отчасти устранить трудности освоения и сопровождения. Это происходит потому, что после генерации сгенерированное программное обеспечение становится автономным и пользователь может считать, что оно написано им самим со всеми вытекающими отсюда следствиями. Кроме того, программы представляются пользователем не только в виде выполняемой ими функции, а в виде текста на языке высокого уровня ПЛ/І, который является одним из самых распространенных языков (на нем программирует более трети программистов в нашей стране [70J). Как следствие этого программы могут быть поняты и в случае надобности модифицированы. Сделать это относительно нетрудно, т.к. все генерируемое программное обеспечение представлено в виде параметрических образов программ с подробными комментариями, и может рассматриваться как программный продукт [80-87, 56]. Это позволяет пользователю самому устранять возможные ошибки в программном обеспечении и не зависеть от неточностей документации.

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

Пользователь представляет базы данных в виде совокупности файлов. Часть файлов рассматривается как справочные. Более точно, справочный файл рассматривается как набор таблично заданных функций от нескольких (но одних и тех же) переменных, являющихся ключами. Таким образом связь между файлами осуществляется на функциональной основе и в физическом представлении явно не находит отображения. Данная структура баз данных достаточно широко распространена в АСУ.

В генераторе имеются три языка: язык описания баз данных и программного обеспечения; язык корректировки баз данных; язык запросов (и форматных выдач).

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

Обработка данных в режиме запроса реализуется по шести встроенным алгоритмам, обеспечивающим построение новых файлов, обработку данных и форматный вывод. Ввиду постулирования - ІЗ -общей структуры обрабатываемых данных стало возможным введение в язык запросов стандартных функций, позволяющих расширить степень автоматизации. G помощью операторов форматной выдачи результаты обработки могут быть выведены на печать. Выдача представляется пользователем в виде последовательности физических листо пользователя (fLP), на которых располагаются логические листы (LLP). Размеры листов и их расположение определяются пользователем.

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

По функции создания и ведения баз данных ШО Сигма -система с замкнутой организацией, т.к. все алгоритмы программ и способы представления данных во входных и выходных файлах заданы в модели и реализуются в генерируемых программах.

По реализации справочной функции систему можно рассматривать как замкнутую, т.к. в большинстве случаев достаточно системных средств. Но с другой стороны, пользователь имеет возможность, употребляя специальные конструкции языка запросов, вставлять в него операторы языка ПЛ/І. С этой стороны ШЗ/І может рассматриваться как базовый язык в том смысле, что запрос транслируется в программу на ПЛ/І и его операторы, написанные пользователем, вставляются в нее без изменения. Место программы, куда они будут вставлены, строго определено алгоритмами трансляции. Поэтому Операторы ШІ/І вставляются в текст запроса, а не наоборот, как в системах с базовым язы-

ШО Сигма позволяет снизить трудоемкость разработки программного обеспечения, в рамках алгоритмической модели, примерно в 10 раз по сравнению с разработкой его на языке ПЛ/І. Генерируемое программное обеспечение дополняет функции универсальных СУБД,

Похожие диссертации на Генератор программного обеспечения систем обработки данных Сигма