Использование внешних программ



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

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

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

Следующей характеристикой является использование внешних программ при запуске экспертной системы. В данном случае используем внешние программы. В качестве такой программы будем использовать небольшую программу, которая рассчитывает среднее для введенных значений. Эта программа называется average.exe и находится в одном каталоге вместе с экспертной системой Exsys.

Далее система предложит задать варианты выбора. Так как в этом примере будет демонстрироваться лишь использование внешних программ, то введем «CHOICE 1,…,CHOICE N».

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

Зададим новое правило. Введем переменную [COUNT], которая будет содержать количество введенных пользователем чисел. Об этой переменной нужно сообщить информацию системе. Эта переменная – численная, ее не нужно инициализировать, ее значение будет связано с внешней программой. Можно задать диапазон допустимых значений для этой переменной, но в данном случае этого делать не будем. Также введем переменную [AVERAGE], в которой будет содержаться соответствующий результат работы внешней программы. Характеристики этой переменной аналогичны характеристикам переменной [COUNT]. Описания этих переменных должны быть заданы так же, как если бы их значения задавал пользователь.   

В IF-части правила произвольно зададим условие [COUNT]>3 and [AVERAGE]>5. THEN- и ELSE-части определим соответственно: Choice 1 – Probability=56/100 и Choice 3 – Probability=73/100. В итоге получим правило:

RULE NUMBER: 1

IF: (1) [COUNT]   > 3

and (2) [AVERAGE] > 5

THEN: (1) Choice 1 – Probability = 56/100

ELSE: (1) Choice 3 – Probability = 73/100

Внешняя программа должна указывать, значения каких переменных или квалификаторов передаются экспертной системе. В данном случае [COUNT] будет переменной 1, а [AVERAGE] будет переменной 2. Внешняя программа должна возвращать значение для [COUNT] путем записи в файл RETURN.DAT строки, начинающейся с префикса V1. Строка со значением переменной 2 должна начинаться префиксом V2.

Теперь определим квалификатор The letter selected was, чье значение также будет получено от внешней программы. Квалификатор имеет два значения: A и B. Внешняя программа потребует от пользователя ввести одно из значений квалификатора. Данные, возвращаемые в файл RETURN.DAT должны быть в следующем формате: буква Q, указывающая на квалификатор, номер квалификатора, одно или несколько значений квалификатора (числовые значения квалификаторов). Например, запись Q1 1,2 означает, что выбраны первое и второе значения для перового квалификатора.    

Зададим следующее правило:

RULE NUMBER: 2

IF: (1) The letter selected was A

THEN: (1) Choice 1 – Probability = 34/100

ELSE: (1) Choice 2 – Probability = 89/100

Рассмотрим другой тип внешних программ – программ, связанных с единственной переменной. Для этого определим переменную [NUM]. Программа average.exe не пригодна для того, чтобы возвращать значения этой переменной. Как обычно, нужно сообщить системе характеристики новой переменной. С переменной [NUM] хотим связать внешнюю программу. Для этого при вводе текста, описывающего эту переменную нужно написать RUN(имя_файла), а затем записать привычный комментарий. Начиная описание переменной с RUN(…), сообщим системе, что в момент, когда потребуется ее значение, должна вызваться внешняя программа, которая это значение вычислит. Значение переменной также должно быть записано в файл RETURN.DAT. Exsys автоматически выберет это значение и свяжет его с переменной [NUM]. Внешняя программа будет вызываться только в том случае, когда требуется значение переменной [NUM]. Для этих целей имеется программа getnum.exe, она находится в каталоге с экспертной системой.

Определим квалификатор, с которым связана программа getcolor.exe. Программа getcolor.exe будет возвращать цвет, выбранный пользователем. Значение(я) цвета должно передаваться в формате, описанном выше. Задавая его текстовое описание квалификатора, вначале запишем RUN(getcolor), затем будет следовать имя квалификатора: the color selected is. Значения квалификатора: red, blue, yellow, green.

Зададим следующее правило:

RULE NUMBER: 3

IF: (1) [NUM] > 0

And (2) The color selected is red or yellow

THEN: (1) Choice 2 – Probability = 27/100

ELSE: (1) Choice 1 – Probability = 10/100

В итоге получили ЭС, использующую три внешние программы. Рассмотрим, как работает полученная ЭС. Запустим программу Exsys.exe, в качестве файла БЗ зададим имя, только что созданного файла. Необходимо инициализировать переменные и квалификаторы. Для инициализации переменных [AVERAGE] и [COUNT], а также квалификатора The letter selected was используется программа average.exe. На экране появятся следующие сообщения:

You are now in the external program AVERAGE.EXE.

This program will calculate the average of any number of values you enter.

The number of values entered and the average will be passed back to EXSYS

Enter a value >0 to be averaged. To end input press <ENTER>:

Предлагается ввести несколько положительных чисел. Введем числа 1, 7, 9, 22, 5. В результате увидим:

5 VALUES WERE ENTERED. THE AVERAGE = 8.800000.

Затем предлагается ввести значение(я) квалификатора, мы выберем 1-е значение. После этого управление передается ЭС.

Так как в БЗ имеются правила, в которых используются значения переменной [NUM] и квалификатора The color selected is, связанных с внешними программами, эти программы также вызываются.   

На экране появятся следующие сообщения:

You are now in the external program GETNUM.EXE.

This program will ask for a value and pass it back to EXSYS.

Enter a value to be passed to EXSYS:

Введем значение 6, после чего увидим:

You are now in the external program GETCOLOR.EXE.

This program will ask for a color and pass it back to EXSYS.

Please type the name of your favorite color among red, blue, green, yellow

Выберем первое и второе значения квалификатора. После этого ЭС завершает свою работу и отображает результаты.

Values based on -100 to +100 system VALUE
1. Choice 1 45
2. Choice 2 27
3. The number of values that were averaged 5.0
4. The average value 8.80
5. The number entered in the external program 6.0

Пример использования системы

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

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

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

Таблица 2.1

Квалификаторы Некоторые из правил
Qualifier #1 Select the price range for your telephone? 1. not more than $130 2. $130-$200 3. $200-$300 4. $300-$400 5. more $400 RULE NUMBER: 1 IF: Select the price range for your telephone? Not more than $130 THEN: Alcatel One Touch Club – Probability=50/100 and Ericsson T10s – Probability=50/100 and Ericsson A1018s – Probability=50/100 and Motorola CD 930 – Probability=50/100 and Siemens A35 – Probability=50/100 and – Probability=50/100
Qualifier #2 Select the size for you telephone? 1. not more then 110mm 2. 110-120mm 3. more 120mm RULE NUMBER: 8 IF: Select the size for you telephone? more 120mm THEN: Alcatel one Touch Club – Probability=20/100 and Ericsson A1018s – Probability=20/100 and Motorola CD 930 – Probability=20/100 and Motorola L7089 – Probability=20/100 and Motorola Timeport 250 – Probability=20/100 and Nokia 3210 – Probability=20/100 and Nokia 6250 – Probability=20/100 and Nokia 7110 – Probability=20/100 and Panasonic GD93 – Probability=20/100
Qualifier #3 Weight? 1. not more then 90g 2. 90-140g 3. more 140g RULE NUMBER: 11 IF: Weight? more 140g THEN: Alcatel one Touch Club – Probability=20/100 and Ericsson T10s – Probability=20/100 and Ericsson T18s – Probability=20/100 and Motorola CD 930 – Probability=20/100 and Nokia 3210 – Probability=20/100 and Nokia 6250 – Probability=20/100 and Nokia 7110 – Probability=20/100 and Ericsson A1018s – Probability=20/100
Qualifier #4 The work time in standby mode? 1. near 5 days 2. 5-10 days 3. more 10 days RULE NUMBER: 14 IF: The work time in standby mode? more 10 days THEN: Nokia 3210 – Probability=40/100 and Nokia 3310 – Probability=40/100 and Nokia 6250 – Probability=40/100 and Nokia 7110 – Probability=40/100
Qualifier #5 Call duration? 1. 3-4 hour 2. 4-5 hour 3. 5-6 hour 4. more 6 hour RULE NUMBER: 18 IF: Call duration? more 6 hour THEN: Ericsson T20s – Probability=50/100 and Nokia 3310 – Probability=20/100 and Siemens S35i – Probability=20/100 and Siemens SL45 – Probability=20/100
Qualifier #6 Antenna? 1. out-antenna 2. a built-in antenna RULE NUMBER: 20 IF: Antenna? a built-in antenna THEN: Nokia 3210 – Probability=10/100 and Nokia 3310 – Probability=10/100 and Nokia 6250 – Probability=10/100 and Nokia 8210 – Probability=10/100 and Nokia 8850 – Probability=10/100 and Siemens M35i – Probability=10/100 and Siemens S35i – Probability=10/100 and Siemens SL45 – Probability=10/100
Qualifier #7 Flip? 1. No 2. N/active 3. Active RULE NUMBER: 22 IF: Flip? N/active THEN: Ericsson T10s – Probability=25/100 and Samsung SGH N100 – Probability=25/100
Qualifier #8 Alarm? 1. Yes 2. No RULE NUMBER: 25 IF: Alarm? No THEN: Siemens A35 – Probability=15/100 and Siemens C25 – Probability=15/100
Qualifier #9 Vibro? 1. Yes 2. No RULE NUMBER: 27 IF: Vibro? No THEN: Alcatel One Touch 300 and – Probability=5/100 and Alcatel One Touch Club – Probability=5/100 and Benefon Twin+ – Probability=5/100 and Ericsson A1018s – Probability=5/100 and Nokia 3210 – Probability=5/100 and Bosh GSM 909 Dual S – Probability=5/100 and Siemens A35 – Probability=5/100 and Siemens C25 – Probability=5/100
Qualifier #10 Calculator? 1. Yes 2. No RULE NUMBER: 29 IF: Calculator? No THEN: Alcatel One Touch 300 and – Probability=10/100 and Ericsson A1018s – Probability=10/100 and Motorola CD 930 – Probability=10/100 and Siemens A35 – Probability=10/100 and Siemens C25 – Probability=10/100
Qualifier #11 Speaker phone? 1. Yes 2. No RULE NUMBER: 30 IF: Speaker phone? Yes THEN: Ericsson T18s – Probability=10/100 and Ericsson A20s – Probability=10/100 and Panasonic GD90 – Probability=10/100 and Panasonic GD92 – Probability=10/100 and Panasonic GD93 – Probability=10/100 and Siemens SL45 – Probability=10/100
Qualifier #12 Voice dialing? 1. Yes 2. No RULE NUMBER: 32 IF: Voice dialing? Yes THEN: Ericsson T18s – Probability=15/100 and Ericsson T20s – Probability=15/100 and Motorola L7089 – Probability=15/100 and Nokia 3310 – Probability=15/100 and Nokia 3310 – Probability=15/100 and Samsung SGH A100 – Probability=15/100 and Siemens S35i – Probability=15/100 and Siemens SL45 – Probability=15/100 and Nokia 8210 – Probability=15/100 and Nokia 8850 – Probability=15/100 and  Ericsson T28s – Probability=15/100
Qualifier #13 IR-port? 1. Yes 2. No RULE NUMBER: 34 IF: IR-port? Yes THEN: Motorola L7089 – Probability=40/100 and   Motorola Timeport 250 – Probability=40/100 and   Nokia 6250 – Probability=40/100 and   Nokia 7110 – Probability=40/100 and   Nokia 8850 – Probability=40/100 and   Nokia 8210 – Probability=40/100 and   Siemens SGH A100 – Probability=40/100 and   Siemens S35i – Probability=40/100 and   Siemens SL45 – Probability=40/100
Qualifier #14 WAP? 1. Yes 2. No RULE NUMBER: 36 IF: WAP? Yes THEN: Benefon Q – Probability=30/100 and   Ericsson T20s – Probability=30/100 and   Motorola Timeport 250 – Probability=30/100 and   Nokia 6250 – Probability=30/100 and   Nokia 7110 – Probability=30/100 and   Panasonic GD93 – Probability=30/100 and   Samsung SGH N100 – Probability=30/100 and   Siemens M35i – Probability=30/100 and   Siemens S35i – Probability=30/100 and   Siemens SL45 – Probability=30/100
Qualifier #15 Display? 1. less 4 str 2. 4 str 3. 5 str 4. more 5 str RULE NUMBER: 41 IF: Display? more 5 str THEN: Benefon Q – Probability=20/100 and   Nokia 7110 – Probability=30/100 and   Nokia 8850 – Probability=30/100 and   Panasonic GD92 – Probability=30/100 and   Siemens S35i – Probability=30/100 and   Siemens SL45 – Probability=30/100

Пример работы с системой

1. Select the price range for your telephone? not more than $130

2. Select the size for you telephone?     110-120mm

3. Weight?                                more 140g

4. The work time in standby mode?         near 5 days

5. Call duration?                         4-5 hour

6. Antenna?                               out-antenna

7. Flip?                                  No

8. Alarm?                                 No

9. Vibro?                            No

10. Calculator?                            No

11. Speaker phone?                         No

12. Voice dialing?                         No

13. IR-port?                               No

14. WAP?                                   No

15. Display?                               less 4 str

Результат:

1. Siemens C25            93

2. Siemens A35            91

3. Ericsson A1018s 82

4. Motorola CD 930  79

5. Alcatel One Touch Club 73

6. Ericsson T10s    73

7. Nokia 3310       71

8. Benefon Twin+    70

9. Bosh GSM 909 Dual S 70

СИСТЕМА GURU

Общие характеристики системы

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

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

· управление данными,

· специальные запросы,

· управление экраном и печатными формами,

· анализ электронных таблиц,

· генерацию статистики,

· графические средства,

· средства программирования,

· средства обработки текста общего назначения,

· генерацию подробных отчетов,

· средства дистанционной связи.

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

CONSULT <имя набора правил> ТО TEST – прямая аргументация целевой переменной;

CONSULT <имя набора правил> ТО SEEK <имя переменной> – обратная аргументация указанной переменной;

CONSULT <имя набора правил> ТО ТЕSТ <имя переменной> – прямая аргументация указанной переменной;

CONSULT <имя набора правил> ТО FIRE <имя правила> – обратная аргументация начиная с указанного правила;

CONSULT <имя набора правил> ТО EXECUTE <цепочка правил> – непосредственное выполнение указанной последовательности правил.

Всеми режимами можно пользоваться во время одного и того же сеанса взаимодействия с системой.

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

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

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

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

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

GURU обеспечивает редактирование полной командной строки. Чтобы вызвать предыдущую команду, необходимо один раз нажать клавишу, а затем эту команду можно редактировать так, как необходимо. Во время работы команд предоставляются более 500 контекстно-зависимых экранов помощи.

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

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

· в посылке любого правила можно делать ссылки на поля БД (включая dBase II или III), на ячейки электронных таблиц (включая Lotus 1-2-3), на статистические переменные, на программные переменные и массивы;

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

· с любым набором правил можно проконсультироваться в пределах процедурной модели или программы, а также в интерактивном режиме;

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

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

· результаты запросов на языке SQL можно получать сразу же непосредственно в виде определений ячеек электронных таблиц; результаты вычислений, проводимых с электронными таблицами, можно получить непосредственно в виде новых записей в таблице реляционных данных;

· любую ячейку электронной записи можно определить в терминах поиска в реляционной БД или в терминах всей программы или в терминах консультации с ЭС;

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

· в любой точке программы во время обработки или печати текста можно ввести запрос на языке SQL, при этом результаты запросов выводятся непосредственно в текст;

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

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

Функциональные возможности

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

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

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

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

GURU может обращаться к файлам данных dBase II&III так же, как к своим собственным таблицам. Необходимости в преобразовании или специальном форматировании данных нет. Основные проектные характеристики системы приведены в табл. 3.1.

Защита информации. GURU предоставляет расширенные средства защиты ценных знаний. Эти средства защищают:

· таблицы и поля БД;

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

· наборы правил от несанкционированных консультаций.

Кроме того, в системе GURU все таблицы БД шифруются, а содержимое наборов правил компилируется.

Специальные запросы.Синтаксис запросов подобен используемому в языке SQL/DS. Однако принципы, реализованные в GURU, позволяют осуществлять многие виды обработки по запросу пользователя, которые не могут выполнять реляционные средства управления данными, такие как SQL/DS.

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

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

Таблица 3.1

Количество наборов правил неограниченно
Количество правил на набор правил неограниченно
Размер правил (символов) неограничен
Количество переменных на набор правил неограниченно
Количество значений для нечеткой переменной 255 (максимально)
Встроенные алгебры факторов уверенности 16 методов
Встроенные стратегии выбора правил 50 методов
Количество уровней вложенности консультации 50 (максимально)
Количество таблиц на базу данных неограниченно
Количество таблиц, открытых одновременно 15
Количество записей на таблицу 2 137 483 647 (максимально)
Количество символов на запись 65535 (максимально)
Количество полей на запись 255 (максимально)
Количество символов на поле 65534 (максимально)
Представление чисел с плавающей точкой IEEE
Длина строки команды (символов) неограниченно
Количество индексных ключей на таблицу неограниченно
Количество полей на индексный ключ 65535 (максимально)
Длина индексного ключа (символов) 65535 (максимально)
Количество критериев прерывания на отчет 255 (максимально)
Количество элементов на экран или форму отчета неограниченно
Основные цвета на форме экрана 8 (максимально)
Фоновые цвета на форму экрана 8 (максимально)
Количество ячеек на электронную таблицу 65025 (максимально)
Количество окон на электронную таблицу 255 (максимально)
Количество данных на граф неограниченно
Количество графов на экран неограниченно
Тип графов 15
Размер текста (строк) 65535 (максимально)
Количество символов на строку текста 255 (максимально)
Скорость передачи в бодах 19200 (максимально)
Длина программы (строк) неограниченно
Количество рабочих переменных неограниченно
Количество комбинаций кодов защиты 65535 (максимально)
Количество экранов помощи команды HELP 500
Количество страниц помощи под управлением меню 400
Длина командной строки (символов) неограниченно
Количество слов встроенного словаря 500
Количество слов на список слов естественного языка 65535 (максимально)

 

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

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

Анализ электронных таблиц.В GURU обработка электронных таблиц объединена с другими возможностями системы. Например, в любой ячей­ке электронной ведомости можно проконсультироваться с ЭС или выполнить процедуру. Кроме того, можно определять ячейки из программы или из ЭС.

Управление экранными формами.Подобно тому, как можно определять таблицы, можно также легко определять формы экрана. При этом необходимо специфицировать расположение подсказок и элементов в форме. Для каждого элемента можно указать, будет ли пользователь заполнять его значение и/или его значение будет воспроизведено для пользователя GURU. Можно также указать автоматическое редактирование и посимвольную проверку целостности для любого элемента экрана. Формы можно определять путем их «рисования» на экране в интерактивном режиме.

Процедурное моделирование. GURU обеспечивает полный язык структур­но­го программирования. Обычные логические и арифметические операции поддержи­ва­ют­ся системой. К основным управляющим структурам (с произвольным уровнем вложенности) относятся: if-then-else-endif; while-do-endwhile; test-case-endtest.

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

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

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

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

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

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

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

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

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

Проектные спецификации для GURU. Программное обеспечение GURU может работать на различных платформах (IBM PC AT/RT, DEC VAX-11, MicroVax II и VaxMate). GURU работает под управление таких операционных систем, как MS DOS, WIBDOWS, систем, разработанных на основе UNIX, а также DEC VAX/VMS. Имеются многопользовательские версии GURU для соответствующих операционных систем и локальных вычислительных сетей.

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

Заметим, чтомаксимальное число записей на таблицу зависит от используемых операционной системы и процессора. Для систем ЛВС возможно 230 записей на таблицу. Скорость передачи в бодах зависит от типа компьютера. В табл. 3.1 приведены ограничения, налагаемые программными средствами GURU. Технические средства пользователя налагают дополнительные ограничения.


Дата добавления: 2018-05-12; просмотров: 286; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!