Программное обеспечение персональных ЭВМ - общие сведения

4.4.2. Системы управления базами данных

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

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

Информация — это любые сведения о каком-либо событии, сущности, процессе и т.п., являющиеся объектом некоторых операций: восприятия, передачи, преобразования, хранения или использования.

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

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

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

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

К БД предъявляются следующие требования:

1) удовлетворение информационных потребностей пользователей;

2) обеспечение возможности работы с большими объемами различной информации;

3) поддержка заданного уровня достоверности хранимой информации и ее непротиво­речивости;

4) осуществление доступа к данным только пользователей, имеющих на это полномочия;

5) обеспечение возможности поиска информации по любой требуемой группе признаков;

6) соответствие заданным требованиям по производительности;

7) возможность реорганизации и расширения при изменении границ предметной области;

8) обеспечение выдачи информации в форме, удобной для восприятия;

9) простота использования;

10) возможность обслуживания нескольких (не обязательно одновременно) пользователей. С БД взаимодействуют следующие категории лиц:

1) конечные пользователи (вводят и извлекают данные);

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

3) администраторы БД (отвечают за проектирование, реализацию, эксплуатацию и сопро­вождение БД).

Структура БД показана на рис. 4.5.

Рис. 4.5. Структура БД

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

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

Преимущества централизованного управления данными состоят в следующем:

1) в сокращении избыточности хранимых данных;

2) в поддержании целостности и непротиворечивости данных;

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

4) в обеспечении комплексной оптимизации хранения и использования данных;

5) в стандартизации и унификации способов представления данных;

6) в разграничении доступа к данным различных групп пользователей.

Под управлением данными понимается:

1) задание и коррекция схемы БзД, т.е. ее логической и/или физической структуры;

2) манипулирование данными, т.е. добавление, обновление, удаление и выборку (извлечение) данных из БзД.

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

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

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

1) формирование БзД, включая ее модификацию (на стадии создания БД);

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

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

Часто фирмами-производителями предлагаются два варианта одной и той же СУБД:

1) полный вариант, обеспечивающий выполнение обеих вышеперечисленных функций;

2) усеченный вариант, называемый СУБД времени выполнения (Run-Time), который поддерживает только вторую функцию.

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

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

СУБД может поддерживать один из следующих интерфейсов или одновременно оба:

1) пользовательский интерфейс для взаимодействия пользователя с БД в интерактивном режиме;

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

же, входят и средства для управления самой СУБД со стороны пользователя.

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

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

— сведения о полномочиях пользователей по управлению данными;

— сведения об источниках данных;

— другие справочные сведения.

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

1) физический уровень;

2) логический уровень;

3) концептуальный уровень.

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

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

Концептуальный уровень определяет структуру БзД в терминах объектов предметной области и отношений между ними.

В результате разделения на уровни БзД можно сравнить с многослойным пирогом, причем концептуальный уровень является внешним, а два других — внутренними.

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

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

Известны такие модели данных:

1) иерархическая модель;

2) сетевая модель;

3) реляционная модель.

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

— недостаточной простотой;

— неоднородностью, затрудняющей манипулирование данными;

— отсутствием строгой математической основы;

— высокой эффективностью, ведущей к увеличению скорости манипулирования данными;

— неполнотой, так как не любая предметная область может быть представлена в этой модели;

— неравноправием между данными вследствие того, что одни из них должны быть жестко подчинены другим (т.е. асимметрией отношений);

— сложностью обновления БзД.

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

— сложность;

— неоднородность;

— отсутствие строгой математической основы;

— невысокая эффективность;

— полнота;

— равноправие между данными;

— сложность обновления БзД.

В основе реляционной модели данных (от англ. relation — отношение) лежит понятие отношения между объектами предметной области, а сами отношения представляются таблицами. БзД при этом являет собой совокупность таблиц. Реляционная модель предложена Э.Ф.Коддом и должна была удовлетворять 15-ти требованиям, чтобы считаться таковой. В апреле 1990 г. Кодд усилил понятие реляционной модели, предъявив к ней уже 300 (!) требований. Реляционной модели свойственны:

— простота;

— однородность (единообразие) представления данных, что облегчает их обработку;

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

— низкая эффективность вследствие разобщенности семантически взаимосвязанных данных;

— полнота;

— равноправие между данными;

— легкость обновления данных.

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

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

Перспективы развития архитектур БД связаны с созданием распределенных (размещенных фрагментарно по узлам вычислительной сети) БзД и управлением ими. Первым шагом в этом направлении явилась разработка архитектуры «клиент-сервер», где под клиентом понимается фронтальная программа, обеспечивающая взаимодействие с пользователем, а под сервером — тыловая программа, обеспечивающая централизованную обработку разобщенных данных. В дей­ствительности же БзД может считаться распределенной только тогда, когда пользователю не нужно будет знать, что она является таковой. На настоящее время ни одна из фирм не поставляет СУБД, обеспечивающих создание БД с указанным ограничением, хотя многие к этому стремятся.

Статусом стандартного реляционного языка манипулирования данными сейчас обладает язык SQL (Structured Query Language — структурированный язык запросов). В особенности это справедливо для сетевых приложений.

Среди СУБД для ПЭВМ, способных функционировать в среде DOS, в настоящее время наиболее известны следующие:

dBASE IV 1.1 компании Ashton-Tate;

Paradox 3.5 фирмы Borland International;

R:base 2.11 компании Microrim;

FoxPro фирмы Fox Software;

Clipper 5.0 компании Nantucket;

db_VISTA III корпорации Raima.

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

Ранние версии СУБД dBASE были очень популярны. Сейчас же она утрачивает свое лидерство, хотя общее количество проданных ее экземпляров пока остается наибольшим. Здесь уместно отметить, что в 1991 г. компания Ashton-Tate куплена фирмой Borland International. Последствия этого очевидны. dBASE IV 1.1 характеризуется:

— наличием как командного пользовательского интерфейса, так и пользовательского интер­фейса типа «меню» для управления СУБД;

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

— прекрасными средствами генерации отчетов;

— хорошим сервисом при вводе данных в таблицы (наличием соответствующих экранных форм);

— поддержкой интерактивного языка запросов типа QBE (Query By Example — запрос по примеру), посредством которого запросы к БзД специфицируются в экранных формах, являющихся заголовками таблиц, что облегчает формулирование запросов;

— поддержкой языка SQL;

— посредственным быстродействием при выполнении запросов к БзД;

— необходимостью наличия в составе ПЭВМ жесткого х диска (в отличие от dBASE III Plus);

— наличием интерфейса с системами программирования С, Pascal и Ассемблер корпорации Microsoft.

Таким образом, dBASE использует три класса языков манипулирования данными:

1) интерактивный язык типа QBE;

2) самостоятельный (неинтерактивный) язык с поддержкой SQL;

3) включающие языки С, Pascal и Ассемблера.

В последнее время резко возросла популярность системы Paradox и особенно ее последней версии — 3.5. В 1990 г. она по объему продаж превзошла все аналогичные программные продукты и в том же году признана (после Windows 3.0) лучшим программным продуктом. Этой СУБД свойственны:

— широкие функциональные возможности;

— наличие пользовательского интерфейса типа «меню» для управления СУБД, но он уже морально несколько устарел и выглядит старомодно;

— относительно слабые средства создания приложений (язык PAL Paradox Application Language), которые целесообразно применять для автоматизации только несложных предметных областей;

— интерпретация, а не компиляция PAL-программ, что отрицательно влияет на их быстро­действие;

— хорошие средства генерации отчетов;

— хороший сервис при вводе данных в таблицы;

— поддержка великолепного интерактивного языка запросов типа QBE;

— поддержка языка SQL наряду с возможностью доступа к распределенной БзД посредством модуля Paradox SQL Link;

— высокое быстродействие при выполнении запросов к БзД, что достигается не за счет изощренного программирования самой СУБД, а путем использования новаторских архитектурных решений с задействованием дополнительной памяти ПЭВМ;

— наличие средств деловой графики, что является уникальным для программных продуктов данного класса;

— совершенство генератора отчетов;

— неудобный интерактивный справочник;

— необходимость наличия в составе ПЭВМ жесткого диска;

— низкие требования к другим ресурсам ПЭВМ;

— наличие интерфейса (модуль Paradox Engine 2.0) с системами программирования Microsoft С 5.1, Turbo С, Turbo С++ и Turbo Pascal, который используется для разработки сложных приложений.

Следовательно, аналогично dBASE системой Paradox поддерживаются три класса языков манипулирования данными.

Система R:base 2.11 является мощным инструментом при программировании, но она не в состоянии удовлетворить потребности интерактивных пользователей. Ей присущи:

— неудобный пользовательский интерфейс;

— поддержка языка манипулирования данными (с SQL-подобным синтаксисом) только через программный интерфейс;

— хорошее быстродействие (но по этому показателю R:base уступает Paradox'y).

Система FoxPro является преемником СУБД FoxBase Plus. Все изделия фирмы Fox Software — это аналоги СУБД dBASE, некоторые из показателей качества которых улучшены. Так, FoxPro, например, опережает dBASE IV 1.1 по быстродействию. Вообще же FoxPro считается одним из лучших вариантов выбора для профессионалов. Последняя версия системы — FoxPro 2.0 обладает великолепным быстродействием.

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

Система db__VISTA III имеет высокий рейтинг среди профессиональных С-программистов и поддерживает интерфейс только с этим языком (интерактивный язык запросов также отсутствует). Естественно, С при этом является включающим языком. Данную СУБД отличают высокое быстродействие и базирование не на реляционной, а на сетевой модели данных, что уже было отмечено. Для менее квалифицированных пользователей предлагается интерфейс типа «меню». Дополнительная к db_VISTA утилита db_QUERY позволяет эмулировать реляционную модель данных и поддерживать интерактивный язык запросов.

4.4.3. Инструментарий искусственного интеллекта

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

ИИ восходит к работам Винера, Маккалока и Розенблата по нейронным сетям.

В настоящее время исследования в области ИИ проводятся по следующим направлениям:

— обработка естественного языка и моделирование диалога;

— экспертные системы (ЭС);

— автоматическое доказательство теорем;

— робототехника;

— интеллектуальные вопросно-ответные системы;

— автоматическое программирование; распознавание образов;

— решение комбинаторных задач (головоломки, игры).

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

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

Так, с помощью ЭС PROSPECTOR открыты ранее не известные запасы молибдена; система же EURISCO произвела переворот в области создания сверхбольших интегральных схем, изобретя трехмерный узел типа И/ИЛИ.

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

Рис. 4.6. Структура ЭС

ЭС применимы в достаточно широком спектре предметных областей, которые классифицируют по следующим типам:

— интерпретация (вывод описаний ситуаций из наблюдаемых данных);

— прогнозирование (вывод вероятных следствий из заданных ситуаций);

— диагностика (суждение о нарушениях в работе технической системы или организма человека по наблюдениям);

— проектирование (построение конфигурации объектов, которая удовлетворяет заданным ограничениям);

— планирование (построение плана действий для достижения заданной цели);

— контроль (предупреждение об «опасности», или нештатной ситуации);

— отладка (выдача рекомендаций по ликвидации плохого функционирования);

— ремонт (выполнение плана устранения некоторого обнаруженного дефекта);

— обучение;

— управление (адаптивное управление поведением некоторой системы).

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

По состоянию на конец 1984 г. только в США уже насчитывалось более 170 ЭС, предназначенных для работы в различных областях — в медицине, финансовой деятельности, юрисп­руденции, геологии, химии, электронике, вычислительной технике, математике, машиностроении, метеорологии, космических исследованиях, производстве, управлении, сельском хозяйстве, физике и военном деле. В 1987 г. лишь одна фирма IBM использовала 70 ЭС.

Применение ЭС, в частности, позволяет:

1) при проектирований ИМС повысить (по данным фирмы NEC) производительность труда в 3 — 6 раз, причем время выполнения некоторых операций сокращается в 10 — 15 раз;

2) ускорить поиск неисправностей в устройствах в 5 — 10 раз;

3) повысить (по данным фирмы Toshiba) производительность труда программистов в 5 раз;

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

Итак, важнейшая особенность систем ИИ состоит в том, что в рамках этих систем пред­ставляются знания, которыми Они манипулируют. Вот почему системы ИИ часто называют системами, основанными на знаниях. Знания обладают рядом свойств, отличающих их от данных: это внутренняя интерпретируемость, структурированность, связность и активность. Особая роль знаний объясняется следующими причинами:

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

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

— признанием собственной ценности знаний как дорогого, но тиражируемого ресурса.

В настоящее время проработаны и используются на практике следующие модели знаний:

1) логические исчисления, в том числе исчисление предикатов первого порядка, псевдофизи­ческие, временная, пространственная, каузальная и нечеткая логики;

2) семантические сети (ориентированные графы, вершины которых представляют понятия и объекты, а дуги — отношения между ними, в какой-то мере аналогично сетевой модели данных);

3) фреймы (регулярные, или однородные разновидности семантических сетей);

4) системы продукций, т.е. Правил вида «условие-действие», «если-то» и т.п.

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

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

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

Имеющиеся в настоящее время инструментальные средства для разработки систем ИИ делятся на нижеперечисленные типы:

1) скелетные системы (оболочки систем ИИ);

2) средства автоматизированного проектирования интеллектуальных систем;

3) системы представления знаний;

4) системы программирования.

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

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

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

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

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

Для ПЭВМ создано множество инструментальных средств различных типов. Информация о таких средствах для разработки ЭС, способных функционировать под управлением DOS, в алфавитном порядке сведена в табл. 4.5. Все перечисленные средства являются коммерческими, т.е. пригодными не только для использования их создателями, но и для продажи различным потребителям. Конечно, системы программирования не представлены, так как они уже рассматривались. В табл. 4.5 приняты следующие сокращения:

СС    — скелетная система;

САП — средство автоматизированного проектирования;

СПЗ — система представления знаний.

Таблица 4.5

Инструментальные средства разработки ЭС для DOS

Наименование

Тип

Модель знаний

ACLS

СС

система продукций, примеры

Analyser Plus

САП

система продукций

APES

САП

система продукций

Autologic

САП

система продукций

Cash Ualue

СПЗ

система продукций

CODES

СПЗ

фреймы

Cristal

СС

система продукций

ES/P Advisor

СС

система продукций

ESP FraMe Engine

СС

фреймы

Exper-teach-II

САП

система продукций

Expert-4

СС

система продукций, нечеткая логика

EXPERT-EASE

СС

система продукций, примеры

Expertkit

СС

система продукций

Exsys

СС

система продукций

Ex-TRAM-7 (Expert Translator)

СС

система продукций, примеры

First-Class

СС

система продукций

GURU

САП

система продукций

Gold Hill Expert System Toolkit (Acorn Shell)

САП

система продукций, фреймы

Insight-1

СС

система продукций

Insight-2

СС

система продукций

Intelligence Service (ISExpert Consultant)

СС

система продукций

KES

САП

схемы, ассоциации, система продукций

KISS

САП

система продукций

Micro-INNATE

СС

система продукций

LEONARDO

СС

система продукций

NEXUS

СС

система продукций

PC/Beogle

СС

система продукций

Personal Consultant Plus

СС

система продукций, фреймы

Pro HD

СС

система продукций

RULE MASTER

САП

система продукций

SAVOIR

СС

система продукций

Super Expert

САП

система продукций

TESS

СС

система продукций

TIMM

САП

система продукций

UP-Expert

САП

система продукций

UIZDOU

СС

семантические сети

WPS

СС

система продукций

Xi

СС

система продукций

Xi Plus

СС

система продукций

XSYS

СС

система продукций

ДИЭС

СС

система продукций

ЭК0

СС

система продукций

H3KC-2

СС

система продукций, объекты

МикроПРИЗ & МикроЭксперт

САП

логика, система продукций, сети

ЭКСПЕРТ

СС

система продукций

ЭКСПЕРТИЗА

СС

система продукций, фреймы

Большой популярностью пользуется также продукционный язык OPS-5 фирмы DEC и его развитие OPS-83, Находящиеся на исследовательской стадии существования, но уже реально применяющиеся.

Важно понять, что система PROLOG может выступать как в роли собственно системы программирования для разработки систем ИИ, так и в роли системы представления знаний. В последнем случае программа на PROLOG'e рассматривается как база знаний, а встроенный в систему механизм вывода — как решатель. Однако PROLOG при таком использовании обладает существенными недостатками, среди которых:

— реализация гипотезы о замкнутости мира;

— недопустимость противоречий;

— ограничение логикой первого порядка (а точнее — только ее подмножеством);

— необходимость уяснения и постоянного учета программистом встроенного механизма воз­врата при поиске (выводе) решений.

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

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

Ограничение логикой первого порядка не позволяет адекватно описывать некоторые реальные задачи.

Весьма интересен новый продукт фирмы Borland International, названный Object Vision. Он предназначен для автоматизации программирования. Все, что нужно сделать пользователю, — это корректно описать задачу, в результате чего при помощи Object Vision он получит программу ее решения, которая будет функционировать в среде Windows. Для тех же целей используется отечественная система ПРИЗ. f

4.4.4. Текстовые редакторы

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

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

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

1) текстовые редакторы, способные работать с текстовыми документами (программами, данными, собственно текстами, таблицами и частично с диаграммами, формулами, а также чертежами);

2) графические редакторы, специализирующиеся на работе со всевозможными графическими документами, включая диаграммы, иллюстрации и чертежи;

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

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

В данном пункте мы рассмотрим только текстовые редакторы как (частично) инструментальные системы. К остальным же типам редакторов вернемся в подразделе 4.5.

В дальнейшем под текстом будем понимать любой документ, представленный в символьном виде.

Развитые текстовые редакторы выполняют следующие группы функций:

1) редактирование текста, а именно:

— запись текста в файл;

— удаление, вставку и пересылку символов, последовательностей символов, строк и целых фрагментов текста;

— поиск и замену цепочек символов;

— одновременную обработку различных фрагментов одного или нескольких файлов в различных окнах;

— создание и использование собственных макрокоманд для обработки текста;

— проверку орфографии;

— поиск синонимов;

2) форматирование текста, в том числе:

— оформление текста с использованием различных шрифтов;

— управление делением текста на абзацы;

— автоматический перенос слов;

— выравнивание текста по правой границе;

— структуризацию текстов (главным образом, при подготовке программ);

— многоколонковый набор;

3) слияние файлов, т.е. импорт файлов в различных форматах, подготовленных другими программными продуктами;

4) экспорт файлов, т.е. перезапись их в другом формате с целью использования в иных программных продуктах;

5) подготовку текстов к печати (функции верстки в усеченном виде), среди которых:

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

— предварительный просмотр сверстанных страниц;

— вычерчивание линий;

— подготовку оглавлений; сносок и индексов;

6) печать текстов на различных типах принтеров в различных режимах.

Дня ПЭВМ разработано большое множество текстовых редакторов. Результаты сравнительной оценки получивших широкое распространение текстовых редакторов, работающих под управле­нием DOS, приведены в табл. 4.6. В ней использованы те же соглашения и сокращения, что и в табл. 4.2 (см. п. 4.3.1).

Таблица 4.6

Характеристики текстовых редакторов для DOS

Наименование

Макси-маль-ное число окон

Реда-кти-рова-ние

Форма-тиро-вание

Слияние файлов

Верстка

Печать

Быстро-дей-ствие

Общая оценка

Цена, долл.

DisplayWrite 4 версия 2

1

У

У

X

П

X

X

У

495

Microsoft Word 5.0

8

О

OX

OX

OX

OX

X

OX

н/д

Multimate Advantage II 1.0

1

X

У

O

П

X

X

У

565

Samna Word IV 2.0

2

У

У

У

П

X

У

У

595

WordPerfect 5.0

2

OX

X

OX

0

OX

X

OX

495

WordStar 2000 Plus 3.5

2

X

X

OX

X

X

X

X

495

WordStar Professional 6.0

2

X

X

OX

X

X

X

X

495

XyWrite III Plus 3.54

9

X

X

П

П

OX

0

X

445

Лучшим среди существующих текстовых редакторов является Word 5.0 фирмы Microsoft. Он обладает великолепными средствами редактирования файлов и наилучшим образом использует возможности «мыши». Обеспечивается возможность импорта как текстов, так и иллюстраций, подготовленных в различных форматах. Поддерживается широкий набор шрифтов (как по форме, так и по размеру) и стилей оформления документов. Имеется орфографический словарь на 130000 английских слов для проверки правописания, а также словарь синонимов на 220000 слов. Однако пользовательский интерфейс требовал улучшения, что и сделано, по последним сведениям, в Word 5.5. Для использования этого редактора достаточно иметь ПЭВМ IBM PC, ОС DOS 2.0 или выше, 384 Кбайт ОЗУ и два НГМД, но все же желателен жесткий диск. Многие возможности Word 5.0 (в частности, автоматический перенос, проверка правjписания и поиск синонимов) ориентированы только на англоязычные тексты, что не позволяет их использовать при подготовке текстов на русском языке. Однако сотрудники СП «Диалог» перевели на русский язык пользо­вательский интерфейс и обеспечили работу с русскими буквами; сейчас это предприятие адаптирует Word 5.0 к работе с русскоязычными текстами в полном объеме. Конкурентом «Диалога» в этой области является СП «Параграф», уже предлагающее программный продукт «Русское слово», содержащий редактор Word 5.0 и его русификатор.

В связи с упомянутыми сложностями обработки русскоязычных текстов в СНГ в настоящее время наибольшее распространение получил отечественный текстовый редактор ЛЕКСИКОН. Он обладает весьма ограниченными возможностями, но учитывает специфику текстов на русском языке и позволяет их печатать машинописным шрифтом, а также другими шрифтами в графическом режиме принтера. Наиболее существенный недостаток этого редактора состоит в том, что он не поддерживает редактирование файлов, которые не могут быть размещены в ОЗУ целиком. Входящий в ЛЕКСИКОН модуль ОРТОДОК обеспечивает проверку орфографии.

Заострим наше внимание еще на двух текстовых редакторах — MULTI-EDIT 5.0 и ChiWriter.

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

Редактор ChiWriter обеспечивает подготовку текстов, содержащих формулы и простые рисунки.

4.4.5. Интегрированные системы

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

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

1) электронную таблицу;

2) текстовый редактор;

3) СУБД;

4) графический редактор;

5) коммуникационный модуль.

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

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

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

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

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

Интегрированные системы могут содержать и дополнительные средства, среди которых:

— системы программирования;

— системы экспорта/импорта файлов;

— средства подготовки стандартных писем;

— средства сортировки и фильтрации записей в файлах;

— калькуляторы;

— календари.

Достоинства интеграции разнородных программных компонентов в единое целое состоят в следующем:

1) в обеспечений возможности информационной связи между компонентами системы;

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

Информационная связь между компонентами интегрированной системы обеспечивается путем унификации форматов представления различных документов. Такая связь может осуществляться через файлы или непосредственно в ходе работы системы, например, через общую рабочую область ОЗУ. При связи через файлы часто используется метод «отреза­ния-приклеивания».

В этом случае пользователь «отрезает» данные от файла в одном приложении и «приклеивает» их к файлу в другом приложении. Иногда обеспечивается также активная связь между файлами: копия файла отражает все изменения, выполненные в оригинале после ее создания.

Вместе с тем интеграция обладает и недостатками, среди которых:

1) повышенные требования к ОЗУ (для работы системы обычно необходимо 200 — 400 Кбайт);

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

Сравнительные характеристики распространенных интегрированных систем для DOS, заим­ствованные из журнала «Мир ПК», приведены в табл. 4.7. В ней также использованы соглашения и сокращения из табл. 4.2. Отметим, что Под ценностью системы понимается соотношение между ее достоинствами и стоимостью.

Таблица  4.7

Характеристики интегрированных систем для DOS

Наименование

Фирма-разработчик

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Alphaworks 1.6 Alpha Software

У

X

OX

У

У

X

ОХ

X

X

X

У

ОХ

X

X

195

6.1

Enable/OA 3.0

Enable Software

OX

OX

OX

О

У

ОХ

X

П

П

П

О

У

X

У

695

5.0

Framework III 1.1

Ashton-Tate

ОХ

OX

П

У

0

О

У

ОХ

ОХ

ОХ

X

У

У

ОХ

695

7.0

Microsoft Works 1.05

Microsoft

X

X

X

OX

У

ОХ

ОХ

X

ОХ

ОХ

ОХ

О

X

ОХ

149

7.0

PFS:First Choise 3.0

Software Publishing

У

У

X

X

У

п

X

X

X

X

У

X

Х

У

159

5.4

Smartware II 1.0

Informix Software

X

OX

OX

OX

X

ОХ

X

X

X

ОХ

ОХ

У

X

ОХ

699

6.9

Symphony 2.0

Lotus Development

OX

X

П

X

У

ОХ

У

ОХ

У

X

п

О

X

П

695

5.5

18 - Итоговая оценка

17 - Цена, долл.

16 - Ценность

Фирменное сопровождение

     15 - Техническое обеспечение

     14 - Политика сопровождения

13 - Реакция на ошибки

12 - Удобство в пользовании

11 - Простота освоения

10 - Документация

Технические характеристики

     9 - Быстродействие

     8 - Уровень интеграции

     7 - Подули коммуникации

     6 - Графика

     5 - СУБД

     4 - Текстовые редактори

     3 - Электронные таблицы

Интегрированные системы по сфере применения условно можно разделить на две группы.

К первой группе относятся системы с богатыми функциональными возможностями обработки данных. Они предназначены для профессиональных пользователей, работающих со сложными документами, оперирующих большими объемами информации и выполняющих значительный объем вычислительных работ. Enable/OA, Framework III, Smartware II и Symphony как раз и являются такими системами. Среди них по функциональным характеристикам предпочтение отдается системе Smartware II; за ней следует Framework III. Enable/OA имеет большие потен­циальные возможности, но не все они пока реализованы. Дополнительное достоинство этого продукта заключается в том, что существует его версия для OS/2.

Вторую группу составляют системы индивидуального пользования, предназначенные для начинающих и для тех, кто работает с относительно несложными текстами, электронными таблицами и базами данных. К таким продуктам относятся Alphawork, PFS.First Choice и Microsoft Works. Явным лидером среди них является последняя система. В 1990 г. фирма Microsoft стала предлагать уже Works 2.0 с более богатыми возможностями. В настоящее время продается также фирменный русифицированный вариант этого продукта.

В СНГ Е.Н.Веселовым разработана интегрированная система МАСТЕР, включающая:

— электронную таблицу,

— текстовый редактор ЛЕКСИКОН;

— СУБД;

— графический редактор, поддерживающий как деловую, так и иллюстративную графику,

— систему процедурного программирования.

В рамках СП ИНТЕРКВАДРО создан инструментальный комплекс ИРИС для разработки документо-ориентированных информационно-поисковых систем, необходимых для автоматизации различного рода конторской деятельности.

 

4.5. Прикладное ПО

Мы не ставили перед собой цели рассмотреть прикладное ПО (пакеты прикладных программ) ПЭВМ. Тем не менее все-таки бегло ознакомимся с состоянием дел в данной области.

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

1) редакторы;

2) интеллектуальные системы, в том числе ЭС;

3) банки данных;

4) информационно-поисковые системы;

5) электронные таблицы;

6) обучающие системы;

7) математические программы;

8) программы для моделирования;

9) системы автоматизированного проектирования.

Одна из разновидностей редакторов, а именно, текстовые редакторы, уже обсуждалась в п. 4.4.4. Дополнительно к этому отметим еще два момента.

Во-первых, наряду с мощными текстовыми редакторами существуют дешевые редакторы с максимально упрощенным пользовательским интерфейсом, но и с менее широкими возможно­стями. Они служат для удовлетворения потребностей деловых людей в подготовке небольших текстовых документов. Лидером среди редакторов данного класса является продукт Beyond Word Writer 1.0 фирмы Timeworks, удачно сочетающий достаточно мощные средства редактирования с удобством их использования, а также обладающий высоким быстродействием и имеющий низкую стоимость.

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

1) программы форматирования, обеспечивающие приведение документа к требуемой форме;

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

3) программы орфографического, грамматического и/или стилистического контроля текстовых документов, которые зачастую также способны работать в резидентном режиме;

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

5) программы преобразования файлов, содержащих тексты, из одного формата в другой;

6) программы компоновки для оформления стандартных документов.

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

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

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

Наиболее популярным в настоящее время графическим редактором, поддерживающим иллю­стративную графику, является продукт PC Paintbrush IV Plus фирмы Zsoft. Для его работы необходима ПЭВМ семейства PC IBM с НЖМД или двумя НГМД, манипулятор «мышь» или световое перо, графический дисплейный адаптер Hercules, CGA, EGA, MCGA или VGA, ОЗУ емкостью 640 Кбайт, ОС, MS-DOS версии 3.0 или выше, а Также драйвер «мыши». Стоимость редактора составляет 99.95 долл.

В качестве примера системы для создания мультфильмов можно привести FantaVision.

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

Среди систем верстки, называемых также настольными издательскими системами, лидируют продукты PageMaker фирмы Aldus и Ventura Publisher фирмы Xerox, цены которых составляют 795 и 895 долл. соответственно.

PageMaker требует IBM PC AT, 640-Кбайт ОЗУ, DOS версии 3.1 или более поздней, НЖМД, графический дисплейный адаптер и манипулятор «мышь» с драйвером/Эта система имитирует рабочий стол, используемый при верстке; в процессе верстки текст и иллюстрации можно «монтировать» на странице, перемещая их произвольным образом; лучше подходит для коротких документов разнообразных форматов; удобна в использовании.

Ventura Publisher требует ПЭВМ класса ХГ или старше, 640-Кбайт ОЗУ, DOS версии не ниже 2.1, НЖМД, графический дисплейный адаптер и манипулятор «мышь» с драйвером. В этом продукте основное внимание уделяется автоматизации верстки. Он лучше подходит для подготовки больших документов со строго определенной структурой и сложнее в использовании, чем PageMaker.

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

Интеллектуальные системы и БД уже нами рассматривались в подразделе 4.4 в связи с инструментарием для их разработки. Информационно-поисковая система может основываться на БД и содержать дополнительные, как правило, специализированные средства для хранения и извлечения информации.

Понятие электронной таблицы введено в п. 4.4,5. Первым продуктом такого типа была программа VisiCalc, разработанная Д.Бри клином и Б.Фрэкстоном в 1979 г. для ПЭВМ Apple И, а впоследствии перенесенная на IBM PC. В 1983 г. фирмой Lotus Development выпущена электронная таблица Lotus 1-2-3, успех которой превзошел все ожидания. С тех пор и до недавнего времени это изделие было бесспорным лидером в классе электронных таблиц. Lotus 1-2-3 дополнительно к электронной таблице содержит СУБД и графический модуль. Из нее как раз и была создана интегрированная система Symphony. С Lotus 1-2-3 в острую конкурентную борьбу вступили продукты Excel корпорации Microsoft и Quattro Pro фирмы Borland International. Изделием Quattro Pro 2.0 фирме Borland International удалось забрать «пальму первенства» у компании Lotus Development. Quattro Pro 2.0 стояла на третьей позиции в списке лучших программных продуктов для ПЭВМ в 1990 г.

Функции обучающей системы непосредственно следуют из ее названия. Такие системы служат для обучения людей в той или иной предметной области. Работа с ними имеет ярко выраженный интерактивный характер. Наиболее развитые обучающие системы базируются на методах ИИ. Технология обучения может быть различной.

Математические программы используются математиками, физиками, инженерами и др. спе­циалистами при решении разнообразных вычислительных задач. Различают программы символьной математики, где решение задачи (например, взятие производной) осуществляется в аналитическом виде, и программы численной математики, решение задачи которыми предлагается в численном виде. Среди программ, интегрирующих оба рассмотренных способа решения математических задач, наиболее широкими возможностями обладает продукт Mathematica 1.2 фирмы Wolfram Research, требующий 4-Мбайт ОЗУ, НЖМД и МП 80386.

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

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

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

Путем подбора соответствующего прикладного ПО на базе ПЭВМ можно создать различные АРМ.