Принципы организации баз данных 6 страница

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

Пример. Рассмотрим инструментальную среду – графический редактор, который позволяет визуализировать графические объекты двумя основными способами: векторно или растрово. Векторный подход динамически постепенно формирует на экране (который рассматривается как некоторое координатное пространство) объект по его представлению, составленному из графических примитивов. Растровый подход формирует на экране весь объект целиком на основе его макета (шаблона, графических примитивов в видеопамяти), состоящего из отдельных кластеров пикселей в некоторой пиксельной двухмерной матрице (аналоге листа для рисования с декартовой системой координат). В этой матрице записывается информация о яркости и цвете кластера изображения (на один пиксель иногда 1-2 байта и более), а сама матрица может иметь размерность 1024×1024 пикселей и более. Сформированное в пиксельной матрице изображение хранится в видеопамяти дисплея и выводится на экран в режиме кадровой регенерации. Изображение в цвете (рисование в цвете) – это манипуляция пикселями этой матрицы. Графические 3D-редакторы изображений позволяют не только конструировать 3D-объекты, но и перемещать их по задаваемой траектории, то есть осуществлять анимацию. Одной из мощных графических сред является пакет 3D-Studio Max фирмы Autodesk. Кроме этого пакета, широко используются графические пакеты:

— GRAFLotus Freelance – для работы с деловой и компьютерной графикой;

— Splash и Fanta – для работы в области дизайна и компьютерных фильмов;

— AutoCAD – для автоматизации проектно-конструкторских работ;

— CorelDraw, PaintBrush, AdobeIllustrator – для разнообразных приложений.

Трансляторы подробно рассматриваются нами ниже.

Рассмотрим интерфейсные системы обеспечения дружественного интерфейса между пользователями и программами).

Пример. Наиболее ранняя интерфейсная система – Norton Commander (Нортон Коммандер, автор – Питер Нортон). Системы, подобные Norton Commander (NC), называются операционными оболочками и их можно отнести к инструментальным средам (инструментарий более удобного, комфортного интерфейса с ОС, с файловой системой, минуя утомительный командный язык ОС). Такая система позволяет визуально и удобно выполнять копирование, создание, удаление, переименование, перемещение, просмотр и поиск файлов и т.д. NC использует управляющие и функциональные клавиши, которым соответствуют определенные операции и отклики системы:

— Esc – отмена выполняемой функции;

— Enter – выполнение функции;

— Тab – смена текущей (активной) панели на другую (ранее пассивную);

— PgUp (PgDn) – переход на страницу вперед (назад);

— Home (End) – установка на начало (конец) каталога;

— N,O,O,O – клавиши перемещения курсора влево, вверх, вправо, вниз;

— Ctrl-S (одновременное нажатие клавиш Ctrl и S) — на символ влево;

— Ctr-D (Ctr-A,Сtrl-F) – на символ вправо (на слово влево, на слово вправо);

— F1 – клавиша помощи, подсказки по активному состоянию (клавиша help);

— F2 – запись на диск активного файла;

— F3 – просмотр содержимого активного файла;

— F4 – редактирование активного файла;

— F5 – копирование активного файла в активный каталог на другой панели;

— F6 – переименование (перенос) активного файла;

— F7 – создание нового каталога (подкаталога);

— F8 – удаление активного файла;

— F9 – активизация команд панели (системного меню) NC;

— F10 – выход из NC.

Более развитым отечественным аналогом NC для Windows-систем является, например, оболочка FAR-менеджер (рис. 1).

Проблемно-ориентированные инструментальные системы служат для решения достаточно широкого класса задач некоторой профессиональной, проблемной ориентации: САПР – системы автоматизации проектирования, АСУ – автоматизированные системы управления, АРМ – автоматизированные рабочие места, СУБД – система, обеспечивающая интерфейс программ пользователя и данных из базы данных, ЭС – экспертные системы, системы накопления, хранения и актуализации опыта, знаний, умений, навыков (экспертных суждений) экспертов и др.

Рис. 1. Интерфейс FAR-менеджера

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

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

Пакет прикладных программ (ППП) состоит из следующих обязательных частей:

1. описание, представление класса задач, решаемых с помощью ППП;

2. комплекс программ, обеспечивающих построение прикладных программ ППП (технологической цепочки);

3. комплекс прикладных программ, обеспечивающих решение задач из предметной области ППП;

4. входной язык (язык запросов) ППП;

5. база данных для хранения данных, передача их модулям ППП;

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

Пример. Простым и универсальным студенческим пакетом статистического анализа данных является пакет SPSS. Интерфейс пользователя с SPSS для Windows реализуется с помощью простых меню и диалоговых окон, то есть SPSS свободна от использования специально изучаемого командного языка пакета. Имеется редактор Data Editor для визуального контроля вводимых данных, функционально аналогичный редакторам табличных процессоров, например, Excel. По столбцам отображаются варьируемые переменные, а по строкам – наборы их вариации, причем с каждой из переменных можно ознакомиться путем вызова ее имени. Ввод данных – аналогичен вводу данных табличного типа (например, в Excel). В диалоговых окнах можно определять (вводить или вычислять) сложные выражения, используемые далее в расчетах. Есть возможность применения различных законов случайного распределения. Более мощным (но и более сложным в изучении и использовании) является математический пакет MathCAD.

Функциональная система интегрированного пакета программ состоит не из модулей (как в ППП), а из ППП.

Пример. Наиболее распространенный интегрированный пакет прикладных программ – MS Office (пакет автоматизации работы в офисе). В его ядро входят следующие пакеты: Word – текстовый редактор, Excel – электронная таблица, Access – СУБД, PowerPoint – система презентации и др.

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

Пример. К такому классу ПО можно отнести программную систему управления кораблем Буран.

12. Лекция: Формальные языки и грамматики

Рассматриваются основные сведения о формальных и естественных языках, грамматиках, типах грамматик, грамматическом анализе, переводе с языков, типах трансляторов.

Математический язык как форма выражения научного знания использовался еще в древности при решении практических задач.

Большую роль в развитии математики как языка – метаязыка наук – сыграла математическая логика, аксиоматизировавшая ряд теории, изучившая их логику, внутреннюю структуру.

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

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

Язык, определенный с помощью алфавита (над алфавитом) X = {x1, x2, … , xn} , – это некоторая устная, звуковая, письменная или иная форма выражения слов над X, включая синтаксис – правила образования структур из слов и словосочетаний, семантику – правила проверки правильности, смысловой однозначности и совместимости синтаксических конструкций языка, состоящих из лексем. Для устных языков (общения) нужна и фонетика – правила произношения составных частей предложения, то есть фонем.

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

Пример. В частности, семантика изучает связи вида:

знак, структура знаков значение объект;

а синтаксис – связи вида:

знак, структура знаков объект.

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

Пример. Запишем более кратко, сжато, точно (формализованно) факт целое число x делится на целое число y без остатка. На математическом языке это будет иметь вид Число x кратно числу y. Факт, что числа x, y – целые, уже можно специально, как выше, не оговаривать, так как математическое понятие кратности это уже предполагает (аксиома). Запишем еще более кратко и формализовано на алгоритмическом языке Basic: x mod y = 0. Здесь уже условие кратности область изменения аргументов не нужно оговаривать – они декларированы в языке Basic (в описаниях типов и операции mod).

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

Пусть X – некоторый алфавит, X = {x1, x2, … , xn} , а S(X) – множество слов над алфавитом X, тогда S(X) – бесконечное и счетное множество.

Формальный язык L(X) – произвольное подмножество S(X).

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

Формальная грамматика G состоит из совокупностей: T = {t1, t2, … , tk} – множество терминальных символов языка или множество основных понятий языка; N = {n1, n2, …, nm} – множество нетерминальных символов языка или вспомогательных понятий, обозначений конкретных классов слов, например, глаголов или предлогов, причем во множестве N содержится n0 – начальный символ из N; P = {p1, p2, …, pq} – система подстановок (продукции) слов вида в слова или замен всех слов s1(x) в рассматриваемой системе соотношений на слова вида s2(x) .

Язык (множество слов S(X)) задается грамматикой G(S) – структурой правил, которые позволяют порождать все слова и только их.

Грамматический анализ – процесс редукции (сведению, упрощению) к нетерминальному символу или слову.

Множество – словарь грамматики G. Правила вывода – это непустое множество правил вида , где , а– отношение вида левое (можно) заменить на правое.

Слово выводимо из слова с помощью правила , если , . Последовательность называется выводом g из f, если fi+1 выводимо из fi для всех . Признаком завершения процесса (последовательности) вывода является отсутствие слова, выводимого из g.

Пример. Опишем элементы естественного, например, русского языка в терминах формальных грамматик. Алфавит языка X = {А, а, Б, б, … , Я, я, ., ,, :, ;, ., !, ?, , , (, )}, T={,и т.д.}, N = {предложение, подлежащее, сказуемое, глагол, местоимение и т.д.}, n0 = предложение . Например, пусть

Т = {арбуз, банан, красный, греет, загорает, бок},

N = {сказуемое, подлежащее, определение, дополнение, группа подлежащего, группа сказуемого},

n0 = {предложение},

P = {p1: предложение(группа подлежащего), (группа сказуемого),

p2: группа подлежащего(определение) (подлежащее),

p3: группа сказуемого(сказуемое) (дополнение),

p4: определениекрасный,

p5: подлежащееарбуз,

p6: подлежащеебанан,

p7: сказуемоегреет,

p8: дополнениебанан,

p9: дополнениебок}.

Тогда справедливы следующие выводы:

предложение (группа подлежащего) (группа сказуемого)

(определение) (подлежащее) (группа сказуемого)

(определение) (подлежащее) (сказуемое) (дополнение)

красный (подлежащее) (сказуемое ) (дополнение)

красный арбуз (сказуемое) (дополнение)

красный арбуз греет (дополнение)

красный арбуз греет бок.

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

Различают четыре основных типа формальных грамматик.

Грамматика типа 0 (G–0) – грамматика, в которой нет ограничений на правила вывода (то есть в правиле вывода , f и g – любые).

Грамматика типа 1 (G–1) – грамматика, в которой содержатся правила вида , где n – нетерминальный символ , f1 , f2 , w – цепочки из словаря W.

Грамматика типа 2 (G–2) – грамматика, в которой допустимы лишь правила вида .

Грамматика типа 3 (G–3) имеет правила вида , либо , где .

Грамматики типа G–0 называются свободными, типа G–1 – контекстно-зависимыми, типа G–2 – контекстно-свободными, типа G–3 – регулярными или автоматными.

Выражени