WWW.DISUS.RU

БЕСПЛАТНАЯ НАУЧНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА

 

Pages:     | 1 |   ...   | 12 | 13 ||

« А. П. Частиков Т. А. Гаврилова Д. Л.Белов РАЗРАБОТКА ЭКСПЕРТНЫХ СИСТЕМ. СРЕДА CLIPS Санкт-Петербург «БХВ-Петербург» 2003 ...»

-- [ Страница 14 ] --

Команда mem-used предназначена для определения объема памяти, исполь­зуемой системой. Команда возвращает целое число, равное количеству бай­тов, используемых CLIPS в данный момент. Это число не включает в себя служебную память, необходимую операционной системе для управления процессом функционирования программы.

Определение 16.83. Команда mem-used

(mem-used)

С помощью команды mem-requests пользователь может определить число запросов, сделанных CLIPS к операционной системе для выделения допол­нительной оперативной памяти.

Определение 16.84. Команда mem-requests

(mem-requests)

Использование команды release-mem позволяет системе возвращать освобо­дившуюся память операционной системе. Это может помочь операционной системе более эффективно управлять свободной памятью. Обычно команда вызывается автоматически, в случае если для выполнения текущих задач CLIPS не нуждается в большом количестве памяти. Данная команда реко­мендуется только опытным программистам, точно оценивающим потребно­сти системы, т. к. чрезмерное освобождение памяти может отрицательно сказаться на скорости работы системы. После выполнения процедуры осво­бождения памяти команда release-mem возвращает объем освобожденной памяти в байтах.

Определение 16.85. Команда release-mem

(release-mem)

Команда conserve-mem предназначена для включения и выключения режима экономии памяти.

Определение 16.86. Команда conserve-mem

(conserve-mem on | off)

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

ЧАСТЬ VI.Приложения.

Приложение 1. Основные БНФ-определения

Приложение 2. Список основных сообщений об

ошибках системы CLIPS.

Приложение 3. Список основных предупреждений

системы CLIPS

Приложение 4. Зарезервированные имена CLIPS

Приложение 5. Глоссарий

ПРИЛОЖЕНИЕ1. Основные БНФ-определения

В данном приложении собраны БНФ-определения наиболее важных опре­делений и конструкторов среды CLIPS.

Определение П1.1. Представление целого числа

<целое> ::=[+ -] <цифра>+

<цифра> ::=0123456789

Определение П1.2. Представление вещественного числа

<вещественное>: := <целое> <экспонента> |

<целое>. [экспонента] |

<беззнаковое-целое> [экспонента] |

<целое>. <беззнаковое-целое> [экспонента]

<беззнаковое-целое> : : = <цифра>+

<экспонента>: := е | Е <целое>

Определение П1.3. Упорядоченный факт

( данное_типа_symbol [ поле ] * )

Определение П1.4. Синтаксис конструктора deftemplate

(deftemplate <имя-шаблона> [<необязательные-комментарии>]

[<определение-слота>*])

<определение-слота> ::= <определение-простого-слота>

<определение-составного-слота

<определение-простого-слота> ::= (slot <имя-поля>

<атрибуты-шаблона>)

<определение-составного-слота> ::= (multislot <имя-поля>

<атрибуты-шаблона>)

<атрибуты-шаблона> ::= <атрибут-значение-по-умолчанию>|

<атрибут-ограничения>

<атрибут-значение-по-умолчанию> ::= (default ?DERIVE|?NONE |

<Выражение>)|

(default-dynamic <Выражение>)

Определение П1.5. Синтаксис конструктора deffacts

(deffacts <имя-списка-фактов> [<необязательные-комментарии>]

[<факт>*])

Определение П1.6. Предопределенные шаблоны и факты

(deftemplate initial-fact)
(deffacts initial-fact

(initial-fact))

Определение П1.7. Синтаксис конструктора defrule

(defrule

<имя-правила>

[<комментарии>]

[<определение-свойства-правила>]

<предпосьшки > ; левая часть правила

=>

<следствие> ; правая часть правила

)

Определение П1.8. Синтаксис свойств правил

<определение-свойства-правила> ::= (declare <свойство-правила>)
<свойство-правила> ::= (salience <целочисленное выражение>)

(auto-focus TRUE|FALSE)

Определение П1.9. Синтаксис условного элемента

<условный-элемент> ::= <pattern-CE>

<assigned-pattern-CE> |

<not-CE> |

<and-CE> |

<or-CE>

<logical-CE>

<test-CE> |

<exists-CE>

<forall-CE>

Определение П1.10. Синтаксис символьных ограничений для неупорядоченного факта

(<ограничение-1>... <ограничение-n>)

Определение П1.11. Синтаксис символьных ограничений для шаблона

(<имя-шаблона > (<имя-слота-1> <ограничение-1>)

...

(<имя-слота-n> <ограничение-n>))

Определение П1.12. Синтаксис связывающих ограничений

<элемент-1>& <элемент-2>... & элемент -n>

<элемент-1> <элемент-2>... | <элемент -n>

~ <элемент>



Определение П1.13. Синтаксис предикатного ограничения

:<вызов-функции>

Определение П 1.14. Синтаксис ограничения, возвращающего значение

=<вызов-функции>

Определение П 1.15. Синтаксис понятия "элемент"

<элемент> ::= <константа>

<простая-переменная>

<составная-переменная>|

:<вызов-функции>

=<вызов-функции>

Определение П1.16. Синтаксис ограничений

<ограничение> ::= <символьное-ограничение >

? |

$?

<связанное-ограничение>

<связанное-ограничение> ::= <простое-ограничение>

<простое-ограничение>&<связанное-ограничение>

<простое-ограничение> | <связанное-ограничение>

<простое-ограничение> ::= <элемент>|~ <элемент>

<элемент> ::= <константа>|

<простая-переменная>

<составная-переменная>

Определение П1.17. Синтаксис образцов объектов

<образец объекта> ::= (object <атрибуты-ограничения>)

<атрибуты-ограничения> ::= (is-a <ограничение>)

(name <ограничение>)

(slot <ограничение>)

Определение П1.18. Синтаксис адреса образца

<адрес-образца> ::= ?<имя-переменной> <- <образец>

Определение П1.19. Синтаксис условного элемента test

<ycлoвный-элeмeнт-test > :: = (test <вызов-функиии>)

Определение П1.20. Синтаксис условного элемента or

<условный-элемент-ог > :: = (or <условный-элемент>+)

Определение П1.21. Синтаксис условного элемента and

<условный –элемент- and> :: =(and <условный элемент>+)

Определение П 1.22. Синтаксис условного элемента not

<ycлoвный-элeмeнт-not> ::= (not <условный-элемент>)

Определение П 1.23. Синтаксис условного элемента exists

<yсловный-элемент-exists> :: = (exists <условный-элемент>+)

Определение П 1.24. Синтаксис условного элемента forall

<условный-элемент-forall> ::= (forall <условный-элемент>

<условный-элемент>+)

Определение П1.25. Синтаксис условного элемента logical

<условный-элемент-1ogiса1> ::= (logical <условный-элемент>+)

Определение П 1.26. Синтаксис предопределенного факта и объекта

(initial-fact)

(object (is-a INITIAL-OBJECT) (name [initial-object]))

Определение П 1.27. Синтаксис конструктора defglobal

(defglobal [<имя-модуля>] <определение-переменной>*)

<определение-переменной> ::= <имя-переменной> = <выражение>

<имя-переменной> ::= ?*<значение-типа-зутЬо1>*

Определение П 1.28. Синтаксис конструктора def function

(deffunction <имя-функции>

[<комментарии>]

<обязательные-параметры>

[<групповой-параметр>] <действия>)

<обязательные-параметры> ::= <выражение-простое-поле>

<групповой-параметр> ::= <выражение-составное-поле>

Определение П1.29. Синтаксис конструктора defgeneriс

(defgeneric <имя-функции> [комментарии])

Определение П1.30. Синтаксис конструктора defmethod

(defmethod <имя-функции>

[<индекс>]

[<комментарии>]

(<ограничения-параметра>*

[<групповой-параметр>])

<действие>*)

<ограничения-параметров> ::= <простая-переменная>

(<простая-переменная>

<ограничение-по-типу>*

[<ограничение-по-запросу>])

<групповой-параметр> ::= <составная-переменная>

(<составная-переменная>

<ограничение-по-типу>*

[<ограничение-по-запросу >])

<ограничение-по-типу> ::= <имя-класса>

<ограничение-по-запросу> ::= <глобальная-переменная> |

<вызов-функции>

Определение П1.31. Синтаксис конструктора defclass

(defclass <имя-класса> [<комментарии>]

(is-a <список-суперклассов>+)

[<роль-класса>]

[<активность~класса >]

<слот>*

<объявление-обработчика-сообщений>*)

<роль-класса> ::= (role concrete | abstract)

<активность-класса> ::= (pattern-match reactive I non-reactive)

<слот> ::= (slot <имя> <грани>*) |

(single-slot <имя> <грани>*) |
(multislot <имя> <грани>*)

<грань> ::= < значение-по-умолчанию > |

<грань-хранения> |<грань-доступа> |

<грань-распространения>

<грань-источника>

<грань-сопоставления-образцов> |

<грань-видимости> |

<грань-создания-аксессоров> |

<грань-переопределения-сообщений> |

<ограничения-атрибутов>

<значение-по-умолчанию> ::=(default ?DERIVE | ?NONE |

<выражение>*) |

(default-dynamic <выражение>*)

<грань-хранения> ::=(storage local | shared)

<грань-доступа> ::=(access read-write | read-only initialize-only)

<грань-распространения> ::=(propagation inherit no-inherit)

<грань-источника> ::=(source exclusive | composite)

<грань-сопоставления-образцов> ::=(pattern-match reactive | non-reactive)

<грань-видимости> ::=(visibility private public)

<грань-создания-аксессоров> ::=(create-accessor ?NONE | read | write| read – write)

<грань-переопределения-сообщений>::=(override-message ?DEFAULT | <имя-сообщения>)

<объявление-обработчика-сообщений>::=(message-handler <имя-обработчика> [тип-обработчика])

< тип-обработчика > ::=primaryaroundbeforeafter

Определение П 1.32. Синтаксис конструктора defmessage-handler

defmessage-handler <имя-класса>

<имя-сообщения>

[<тип-обработчика>]

[<комментарии>]

(<обязательные-параметры>

[<групповой-параметр>])

<действия>)

< тип-обработчика > ::= aroundbefore primaryafter

<обязательный-параметр>::=<простое-значение>

<групповой-параметр>::=<составное-значение>

Определение П 1.33. Синтаксис системных обработчиков класса user

(defmessage-handler USER init primary ())

(defmessage-handler USER delete primary ())

(defmessage-handler USER print primary ())

(defmessage-handler USER direct-modify primary

(?slot-override-expressions))

(defmessage-handler USER message-modify primary

(?slot-override-expressions)

(defmessage-handler USER direct-duplicate primary

(?new-instance-name ?slot-override-expressions))

(defmessage-handler USER message-duplicate primary

(?new-instance-name ?slot-override-expressions)

Определение П 1.34. Синтаксис конструктора def instances

(definstances <имя> [active] [<комментарии>]

<шаблоны-объектов>)

<шаблон-объекта> ::= (<определение-объекта>)

Определение П 1.35. Синтаксис предопределенного класса и экземпляра этого класса

(defclass INITIAL-OBJECT

(is-a USER)

(role concrete)

(pattern-match reactive))

(definstances initial-object

(initial-object of INITIAL-OBJECT))

Определение П 1.36. Синтаксис шаблона набора объектов

<шаблон-набора-объектов> ::= (<члены-шаблона-наборов-объекта>)

<член-шаблона-наборов-объекта> ::=(<переменная-набора-объектов> <ограничения-классов>)

<переменная-набора-объектов> ::= <простая-переменная>

<ограничения-классов> ::= <имена-классов>

Определение П 1.37. Синтаксис запроса

<запрос> ::= (<логическое-выражение>)

Определение П1.38. Синтаксис обращения к переменным

<переменная-набора-объектов>:<имя-слота>

Определение П 1.39. Синтаксис определения действия

<действие> :: = <функция>

Определение П1.40. Синтаксис функции any-instancep

(any-instancep <шаблон-набора-объектов> <запрос>)

Определение П1.41. Синтаксис функции find-instance

(find-instance <шаблон-набора-объектов> <запрос>)

Определение П 1.42. Синтаксис функции find-all-instance

(find-all-instance <шаблон-набора-объектов> <запрос>)

Определение П 1.43. Синтаксис функции do-for-instance





(do-for-instance <шаблон-набора-объектов> <запрос> <действие>)

Определение П 1.44. Синтаксис функции do-for-all-instance

(do-for-all-instanco <шаблон-набора-объектов> <запрос> <действие>)

Определение П 1.45. Синтаксис функции delayed-do-for-all-inatancе

(delayed-do-for-all-instance

<шаблон-набора-объектов> <запрос> <действие>)

Определение П 1.46. Синтаксис конструктора defmodule

(defmodule <имя-модуля>

[<комментарии>] <спецификации-импорта-экспорта>*)

<спецификация-импорта-экспорта> ::=

(export <элемент-спецификации>) |

(import <имя-модуля> <элемент-спецификации>)

<элемент-спецификации> ::= ?ALL

?NONE |

<конструктор> ?ALL |

<конструктор> ?NONE |

<конструктор> <имя-конструктора>

<конструкция> ::= deftemplate | defclass |

defglobal | deffunction |

defgeneric

Определение П 1.47. Предопределенный конструктор модуля main

(defmodule MAIN)

Определение П 1.48. Синтаксис атрибутов ограничений

<атрибуты-ограничений> ::= <атрибут-типа> |

<константный-атрибут>

<атрибут-диапазона>

<атрибут-мощности>

Определение П1.49. Синтаксис атрибута ограничения типа

<атрибут-типа> ::= (type <спецификация-типа>)

<спецификация-типа> ::= <допустимые-типы> | ?VARIABLE

<допустимый-тип> ::= SYMBOL | STRING | LEXEME |

INTEGER I FLOAT | NUMBER |

INSTANCE-NAME | INSTANCE-ADDRESS

INSTANCE | EXTERNAL-ADDRESS | FACT-ADDRESS

Определение П 1.50. Синтаксис константного атрибута

<константный-атрибут> ::=

(allowed-symbols <список-зутЬо1-значений>) |

(allowed-strings <cпиcoк-string-знaчeний>) |

(allowed-lexemes <список-1ехете-значений> |

(allowed-integers <cпиcoк-integer-знaчeний>) |

(allowed-floats <список-f1оаt-значений>)

(allowed-numbers <список-number-значений>)

(allowed-instance-names <cписок-instance-значений>)

(allowed-values <список-значений>)

<список-symbо1-значений> ::= <symbol>+ | ?VARIABLE

<список-string-значений> ::= <string>+ ?VARIABLE

<список-1ехеmе-значений> ::= <lexeme>+ ?VARIABLE

<список-integer-значений> ::=<integer>+ I ?VARIABLE

<список-float -значений> ::=<float>+ | ?VARIABLE

<список-number-значений> ::=<number>+ | ?VARIABLE

<cnисок-instance-значений> ::=<instance-name>+ | ?VARIABLE

<список-значений> ::=<constant>+ | ?VARIABLE

Определение П 1.51. Синтаксис атрибута диапазона

<атрибут-диалазона> ::= (range <граница-диапазона>

<граница-диапазона>)

<граница-диапазона> ::= <число> | ?VARIABLE

Определение П 1.52. Синтаксис атрибута мощности

<атрибут-мощности> ::= (cardinality <граница-мощности>

<граница-мощности>)

<граница-мощности> ::= <целое-значение> | ?VARIABLE

ПРИЛОЖЕНИЕ 2 Список основных сообщений об ошибках системы CLIPS

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

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

[AGENDAl] Salience value must be an integer value.

[AGENDA2] Salience value out of range <min> to <max>

[AGENDA3] This error occurred while evaluating the salience [for rule <name>]

[ANALYSISl] Duplicate pattern-address <variable name> found in CE <CE number>.

[ANALYSIS2] Pattern-address <variable name> used in CE #2 was previously bound within a pattern CE.

[ANALYSIS3] Variable <variable name> is used as both a single and multifield variable.

[ANALYSIS4] Variable <variable name> [found in the expression <expression>] was referenced in CE <CE number> <field or slot identifier> before being defined

[ARGACCES1] Function <name> expected at least <minimum> and no more than <maximum> argument(s)

[ARGACCES2] Function <function-name> was unable to open file <file-name>

[ARGACCES3] Function -enamel> received a request from function <name2> for argument #<number> which is non-existent

[ARGACCES4] Function <name> expected exactly <number> argument(s)

[ARGACCES4] Function <name> expected at least <number> argument(s)

[ARGACCES4] Function <name> expected no more than <number> argument(s)

[ARGACCES5] Function <name> expected argument #<number> to be of type <data-type>

[ARGACCES6] Function <namel> received a request from function <name2> for argument #<number> which is not of type <data-type>

[BLOAD1] Cannot load <construct type> construct with binary load in effect.

[BLOAD2] File <file-name> is not a binary construct file

[BLOAD3] File <file-name> is an incompatible binary construct file

[BLOAD4] The CLIPS environment could not be cleared. Binary load cannot continue.

[BLOAD5] Some constructs are still in use by the current binary image:

<construct-name 1>

<construct-name 2>

<construct-name N>

Binary <operation> cannot continue.

[BLOAD6] The following undefined functions are referenced by this binary image:

<function-name 1>

<function-name 2>

<function-name N>

[BSAVE1] Cannot perform a binary save while a binary load is in effect.

[CLASSEXM1] Inherited slot <slot-name> from >

[CLASSFUN1] Unable to find >

[CLASSFUN2] Maximum number of simultaneous >

[CLASSPSR1] An abstract>

[CLASSPSR2] Cannot redefine a predefined system>

[CLASSPSR3] <name>>

[CLASSPSR4] Class <attribute> already declared.

[CLSLTPSR1] Duplicate slots not allowed.

[CLSLTPSR2] <name> facet already specified.

[CLSLTPSR3] Cardinality facet can only be used with multifield slots

[CLSLTPSR4] read-only slots must have a default value

[CLSLTPSR5] read-only slots cannot have a write accessor

[CLSLTPSR6] no-inherit slots cannot also be public

[COMMLINE1] Expected a '(', constant, or global variable

[COMMLINE2] Expected a command.

[CONSCOMP1] Invalid file name <fileName> contains '.'

[CONSTRCT1] Some constructs are still in use. Clear cannot continue.

[CSTRCPSR1] Expected the beginning of a construct.

[CSTRCPSR2] Missing name for <construct-type> construct

[CSTRCPSR3] Cannot define <construct-type> <construct-name> because of an import/export conflict.

[CSTRCPSR3] Cannot define defmodule <defmodule-name> because of an import/export conflict cause by the <construct-type> <construct-name>.

[CSTRCPSR4] Cannot redefine <construct-type> <construct-name> while it is in use.

[CSTRNCHK1] Message Varies

[CSTRNPSR1] The <first attribute name> attribute conflicts with the <second attribute name> attribute.

[CSTRNPSR2] Minimum <attribute> value must be less than or equal to the maximum <attribute> value.

[CSTRNPSR3] The <first attribute name> attribute cannot be used in conjunction with the <second attribute name> attribute.

[CSTRNPSR4] Value does not match the expected type for the <attribute name> attribute.

[CSTRNPSR5] The cardinality attribute can only be used with multifield slots.

[DEFAULT1] The default value for a single field slot must be a single field value

[DFFNXPSR1] Deffunctions are not allowed to replace constructs.

[DFFNXPSR2] Deffunctions are not allowed to replace external functions.

[DFFNXPSR3] Deffunctions are not allowed to replace generic functions.

[DFFNXPSR4] Deffunction <name> may not be redefined while it is executing.

[DFFNXPSR5] Defgeneric <name> imported from module <module name> conflicts with this deffunction.

[DRIVE1] This error occurred in the join network Problem resides in join #<pattern-number> in rule(s): <problem-rules>+

[EMATHFUN1] Domain error for <function-name> function

[EMATHFUN2] Argument overflow for <function-name> function

[EMATHFUN3] Singularity at asymptote in <function-name> function

[EVALUATN1] Variable <name> is unbound

[EVALUATN2] No function, generic function or deffunction of name <name> exists for external call.

[EXPRNPSR1] A function name must be a symbol

[EXPRNPSR2] Expected a constant, variable, or expression

[EXPRNPSR3] Missing function declaration for <name>

[EXPRNPSR4] $ Sequence operator not a valid argument for <name>.

[FACTMCH1] This error occurred in the pattern network Currently active fact: <newly assert fact> Problem resides in slot <slot name> Of pattern #<pattern-number> in rule(s): <problem-rules>+

[FACTMNGR1] Facts may not be retracted during pattern-matching

[FACTMNGR2] Facts may not be retracted during pattern-matching

[FACTRHS1] Template <name> does not exist for assert.

[GENRCCOM1] No such generic function <name> in function undefmethod.

[GENRCCOM2] Expected a valid method index in function undefmethod.

[GENRCCOM3] Incomplete method specification for deletion.

[GENRCCOM4] Cannot remove implicit system function method for generic function <name>.

[GENRCEXE1] No applicable methods for <name>.

[GENRCEXE2] Shadowed methods not applicable in current context.

[GENRCEXE3] Unable to determine>

[GENRCEXE4] Generic function <name> method |<index> is not applicable to the given arguments.

[GENRCFUN1] Defgeneric <name> cannot be modified while one of its methods is executing.

[GENRCFUN2] Unable to find method <name> tt<index> in function <name>.

[GENRCFUN3] Unable to find generic function <name> in function <name>.

[GENRCPSR1] Expected ')' to complete defgeneric.

[GENRCPSR2] New method #<indexl> would be indistinguishable from method I<index2>.

[GENRCPSR3] Defgenerics are not allowed to replace constructs.

[GENRCPSR4] Deffunction <name> imported from module <module name> conflicts with this defgeneric.

[GENRCPSR5] Generic functions are not allowed to replace deffunctions.

[GENRCPSR6] Method index out of range.

[GENRCPSR7] Expected a '(' to begin method parameter restrictions.

[GENRCPSR8] Expected a variable for parameter specification.

[GENRCPSR9] Expected a variable or '(' for parameter specification.

[GENRCPSR10] Query must be last in parameter restriction.

[GENRCPSRll] Duplicate >

[GENRCPSR12] Binds are not allowed in query expressions.

[GENRCPSR13] Expected a valid class/type name or query.

[GENRCPSR.14] Unknown>

[GENRCPSR15] <name>>

[GENRCPSR16] The system function <name> cannot be overloaded.

[GENRCPSR17] Cannot replace the implicit system method #<integer>.

[GLOBLDEF1] Global variable <variable name> is unbound.

[GLOBLPSR1] Global variable <variable name> was referenced, but is not defined.

[INCRRSET1] The incremental reset behavior cannot be changed with rules loaded.

[INHERPSR1] A>

[INHERPSR2] A>

[INHERPSR3] A >

[INHERPSR4] Must have at least one superclass.

[INHERPSR5] Partial precedence list formed: <classa> <classb>... <classc> Precedence loop in superclasses: <classl> <class2>... <classn> <classl>

[INHERPSR6] A user-defined>

[INSCOM1] Undefined type in function <name>.

[INSFILE1] Function <function-name> could not completely process file <name>.

[INSFILE2] <file-name> file is not a binary instances file.

[INSFILE3] <file-name> file is not a compatible binary instances file.

[INSFILE4] Function bload-instances unable to load instance <instance-name>.

[INSFUN1] Expected a valid instance in function <name>.

[INSFUN2] No such instance <name> in function <name>.

[INSFUN3] No such slot <name> in function <name>.

[INSFUN4] Invalid instance-address in function <name>.

[INSFUN5] Cannot modify reactive instance slots while pattern-matching is in process.

[INSFUN6] Unable to pattern-match on shared slot <name> in>

[INSFUN7] <multifield-value> illegal for single-field slot <name> of instance <name> found in <function-call or message-handler>.

[INSFUN8] Void function illegal value for slot <name> of instance <name> found in <function-call or message-handler>.

[INSMNGR1] Expected a valid name for new instance.

[INSMNGR2] Expected a valid>

[INSMNGR3] Cannot create instances of abstract>

[INSMGNR4] The instance <name> has a slot-value which depends on the instance definition.

[INSMNGR5] Unable to delete old instance <name>.

[INSMNGR6] Cannot delete instance <name> during initialization.

[INSMNGR7] Instance <name> is already being initialized.

[INSMNGR8] An error occurred during the initialization of instance <name>.

[INSMNGR9] Expected a valid slot name for slot-override.

[INSMNGR10] Cannot create instances of reactive>

[INSMNGRll] Invalid module specifier in new instance name.

[INSMNGR12] Cannot delete instances of reactive >

[INSMNGR13] Slot <slot-name> does not exist in instance <instance-name>.

[INSMNGR14] Override required for slot <slot-name> in instance <instance-name>.

[INSMNGR15] init-slots not valid in this context.

[INSMODDP1] Direct/message-modify message valid only in modify-instance.

[INSMODDP2] Direct/message-duplicate message valid only in duplicate-instance.

[INSMODDP3] Instance copy must have a different name in duplicate-instance.

[INSMULT1] Function <name> cannot be used on single-field slot <name> in instance <name>.

[INSQYPSR1] Duplicate instance-set member variable name in function <name>.

[INSQYPSR2] Binds are not allowed in instance-set query in function <name>.

[INSQYPSR3] Cannot rebind instance-set member variable <name> in function <name>.

[IOFUN1] Illegal logical name used for <function name> function.

[IOFUN2J Logical name <logical name> already in use.

[MEMORY1] Out of memory

[MEMORY2] Release error in genfree

[MEMORY3] Unable to allocate memory block > 32K

[MISCFUN1] expand? must be used in the argument list of a function call.

[MODULDEF1] Illegal use of the module specifier. '

[MODULPSR1] Module <module name> does not export any constructs.

[MODULPSR1] Module <module name> does not export any <construct type> constructs.

[MODULPSR1] Module <module name> does not export the <construct type> <construct name>.

[MSGCOMl] Incomplete message-handler specification for deletion.

[MSGCOM2] Unable to find message-handler <name> <type> for>

[MSGCOM3] Unable to delete message-handlers.

[MSGFUN1] No applicable primary message-handlers found for <message>.

[MSGFUN2] Message-handler <name> <type> in >

[MSGFUN3] <name> slot in instance <name>: write access denied.

[MSGFUN4] <function> may only be called from within message-handlers.

[MSGFUN5] <function> operates only on instances.

[MSGFUN6] Private slot <slot-name> of >

[MSGFUN7] Unrecognized message-handler type in defmessage-handler.

[MSGFUN8] Unable to delete message-handler(s) from>

[MSGPASS1] Shadowed message-handlers not applicable in current context.

[MSGPASS2] No such instance <name> in function <name>.

[MSGPASS3] Static reference to slot <narne> of >

[MSGPSR1] A >

[MSGPSR2] Cannot (re)define message-handlers during execution of other message-handlers for the same>

[MSGPSR3] System message-handlers may not be modified. [MSGPSR4] Illegal slot reference in parameter list.

[MSGPSR5] Active instance parameter cannot be changed.

[MSGPSR6] No such slot <name> in class <name> for ?self reference.

[MSGPSR7] Illegal value for ?self reference.

[MSGPSR8] Message-handlers cannot be attached to the>

[MULTIFUN1] Multifield index <index> out of range l..<end range> in function <name>

[MULTIFUN1] Multifield index range <start>...<end> out of range l..<end range> in function <name>

[MULTIFUN2] Cannot rebind field variable in function progn$.

[OBJRTBLD1] No objects of existing classes can satisfy pattern.

[OBJRTBLD2] No objects of existing classes can satisfy <attribute-name> restriction in object pattern.

[OBJRTBLD3] No objects of existing classes can satisfy pattern #<pattern-num>.

[OBJRTBLD4] Multiple restrictions on attribute <attribute-name> not allowed.

[OBJRTBLD5] Undefined>

[OBJRTMCH1] This error occurred in the object pattern network Currently active instance: <instance-name> Problem resides in slot <slot name> field l<field-index> Of pattern #<pattern-number> in rule(s): <problem-rules>+

[PATTERN1] The symbol <symbol name> has special meaning and may not be used as a <use name>.

[PATTERN2] Single and multifield constraints cannot be mixed in a field constraint

[PRCCODE1] Attempted to call a <construct> which does not exist.

[PRCCODE2] Functions without a return value are illegal as <construct> arguments.

[PRCCODE3] Undefined variable <name> referenced in <where>. [PRCCODE4] Execution halted during the actions of <construct> <name>. [PRCCODE5] Variable <name> unbound [in <construct> <name>].

[PRCCODE6] This error occurred while evaluating arguments for the <construct> <name>.

[PRCCODE7] Duplicate parameter names not allowed.

[PRCCODE8] No parameters allowed after wildcard parameter.

[PRCDRPSR1J Cannot rebind count variable in function loop-for-count.

[PRCDRPSR2] The return function is not valid in this context.

[PRCDRPSR2] The break function is not valid in this context.

[PRCDRPSR3] Duplicate case found in switch function.

[PRNTUTIL1] Unable to find <item> <item-name>

[PRNTUTIL2] Syntax Error: Check appropriate syntax for <item>

[PRNTUTIL3]

*** CLIPS SYSTEM ERROR ***

ID = <error-id>

CLIPS data structures are in an inconsistent or corrupted state.

This error may have occurred from errors in user defined code.

[PRNTUTIL4] Unable to delete <item> <item-name>

[PRNTUTIL5] The <item> has already been parsed.

[PRNTUTIL6] Local variables cannot be accessed by <function or construct>.

[PRNTUTIL7] Attempt to divide by zero in <function-name> function.

[ROUTER1] Logical name <logical_name> was not recognized by any routers

[RULECSTR1] Variable <variable name>.in CE t<integer> slot <slot name> has constraint conflicts which make the pattern unmatchable.

[RULECSTR1] Variable <variable name> in CE #<integer> field #<integer> has constraint conflicts which make the pattern unmatchable.

[RULECSTR1] CE l<integer> slot <slot name> has constraint conflicts which make the pattern unmatchable.

[RULECSTR1] CE tt<integer> field #<integer> has constraint conflicts which make the pattern unmatchable

[RULECSTR2] Previous variable bindings of <variable name> caused the type restrictions for argument #<integer> of the expression <expression> found in CE#<integer> slot <slot name> to be violated.

[RULECSTR3] Previous variable bindings of <variable name> caused the type restrictions for argument #<integer> of the expression <expression> found in the rule's RHS to be violated.

[RULELHS1] The logical CE cannot be used with a not/exists/forall CE.

[RULELHS2] A pattern CE cannot be bound to a pattern-address within a not CE

[RULEPSR1] Logical CEs must be placed first in a rule

[RULEPSR2] Gaps may not exist between logical CEs

STRNGFUN1] Function build does not work in run time modules.

[STRNGFUN1] Function eval does not work in run time modules.

[STRNGFUN2] Some variables could not be accessed by the eval function.

[SYSDEP1] No file found for -f option.

[TEXTPR01] Unable to access help file.

[TEXTPRO2] Unable to load file. Explanatory text>.

[TMPLTDEF1] Invalid slot <slot name> not defined in corresponding deftemplate <deftemplate name>

[TMPLTDEF2] The single field slot <slot name> can only contain a single field value.

[TMPLTFUN1] Fact-indexes can only be used by <command name> as a top level command.

[TMPLTFUN2] Attempted to assert a multifield value into the single field slot <slot name> of deftemplate <deftemplate name>.

[TMPLTRHS1] Slot <slot name> requires a value because of its (default 7NONE) attribute.

ПРИЛОЖЕНИЕ 3 Список основных предупреждений системы CLIPS

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

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

[CONSCOMPl] WARNING: Base file name exceeds 3 characters. This may cause files to be overwritten if file name length is limited on your platform.

[CONSCOMP2] WARNING: Array name <arrayName> exceeds б characters in length. This variable may be indistinguishable from another by the linker.

[CSTRNBIN1] WARNING: Constraints are not saved with a binary image when dynamic constraint checking is disabled.

[CSTRNCMP1] WARNING: Constraints are not saved with

a constructs-to-c image when dynamic constraint checking is disabled

[DFFNXFUN1] WARNING: Deffunction <name> only partially deleted due to usage by other constructs.

[GENRCBIN1] WARNING: COOL not installed! User-defined >

[OBJBIN1] WARNING: Around message-handlers are not supported in this environment.

[OBJBIN1] WARNING: Around message-handlers are not supported in this environment.

ПРИЛОЖЕНИЕ 4 Зарезервированные имена CLIPS

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

!=

*

**

+

-/

<

<=

<>

=

>

>=

abs

acos

acosh

acot

acoth

acsc

acsch

active-duplicate-instance

active-initialize-instance

active-make-instance

active-message-duplicate-instance

active-message-modify-instance

active-modify-instance

agenda

and

any-instancep

apropos

asec

asech

asin

asinh

assert

assert-string

atan

atanh

batch

batch*

bind

bload

bload-instances

break

browse-classes

bsave

bsave-instances

build

call-next-handler

call-next-method

call-specific-method

class

class-abstractp

class-existp

class-reactivep

class-slots

class-subclasses

class-superclasses

clear

clear-focus-stack

close

conserve-mem

constructs-to-c

cos

cosh

cot

coth

create$

esc

csch

defclass-module

deffacts-module

deffunction-module

defgeneric-module

defglobal-module

definstances-module

defrule-module

deftemplate-module

deg-grad

deg-rad

delayed-do-for-all-instances

delete$

delete-instance

dependencies

dependents

describe-class

direct-mv-delete

direct-mv-insert

direct-mv-replace

div

do-for-all-instances

do-for-instance

dribble-off

dribble-on

duplicate

duplicate-instance

dynamic-get

dynamic-put

edit

eq

eval

evenp

exit

exp

expand$

explode$

fact-existp

fact-index

fact-relation

fact-slot-names

fact-slot-value

facts

fetch

find-all-instances

find-instance

first$

float

floatp

focus

format

gensym

gensym*

get

get-auto-float-dividend

get-current-module

get-defclass-list

get-deffacts-list

get-deffunction-list

get-defgeneric-list

get-defglobal-list

get-definstances-list

get-defmessage-handler-list

get-defmethod-list

get-defmodule-list

get-defrule-list

get-deftemplate-list

get-dynamic-constraint-checking

get-fact-duplication

get-fact-list

get-focus

get-focus-stack

get-function-restrictions

get-incremental-reset

get-method-restrictions

get-reset-globals

get-salience-evaluation

get-sequence-operator-recognition

get-static-constraint-checking

get-strategy

grad-deg

halt

help

help-path

if

implode$

init-slots

initialize-instance

insert$

instance-address

instance-addressp

instance-existp

instance-name

instance-name-to-symbol

instance-namep

instancep

instances

integer

integerp

length

length$

lexemep

list-defclasses

list-deffacts

list-deffunctions

list-defgenerics

list-defglobals

list-definstances

list-defmessage-handlers

list-defmethods

list-defmodules

list-defrules

list-deftemplates

list-focus-stack

list-watch-items

load

load*

load-facts

load-instances

log

loglO

loop-for-count

lowcase

make-instance

matches

max

mem-requests

mem-used

member

member$

message-duplicate-instance

message-handler-existp

message-modify-instance

min

mod

modify

modify-instance

multifieldp

mv-append

mv-delete

mv-replace

mv-slot-delete

mv-slot-insert

mv-slot-replace

mv-subseq

neq

next-handlerp

next-methodp

not

nth

nth$

numberp

object-pattern-ntatch-delay

oddp

open

options

or

override-next-handier

override-next-method

Pi

pointerp

pop-focus

ppdefclass

ppdeffacts

ppdeffunction

ppdefgeneric

ppdefglobal

ppdefinstances

ppdefmessage-handler

ppdefmethod

ppdefmodule

ppdefrule

ppdeftemplate

ppinstance

preview-generic

preview-send

primitives-info

print-region

printout

progn

progn$

put

rad-deg

random

read

readline

refresh

refresh-agenda

release-mem

remove

remove-break

rename

replace$

reset

rest$

restore-instances

retract

return

round

rule-complexity

rules

run

save

save-facts

save-instances

sec

sech

seed

send

sequencep

set-auto-float-dividend

set-break

set-current-module

set-dynamic-constraint-checking

set-fact-duplication

set-incremental-reset

set-reset-globals

set-salience-evaluation

set-sequence-operator-recognition

set-static-constraint-checking

set-strategy

setgen

show-breaks

show-defglobals

show-fht

show-fpn

show-joins

show-opn

sin

sinh

slot-allowed-values

slot-cardinality

slot-delete$

slot-direct-accessp

slot-direct-delete$

slot-direct-insert$

slot-direct-replace$

slot-existp

slot-facets

slot-initablep

slot-insertS

slot-publicp

slot-range

slot-replace$

slot-sources

slot-types

slot-writablep

sqrt

str-assert

str-cat

str-compare

str-explode

str-implode

str-index

str-length

stringp

sub-string

subclassp

subseq$

subset

subsetp

superclassp

switch

sym-cat

symbol- to-instance-name

symbolp

system

tan

tanh

time

toss

type

undefclass

undef facts

undef function

undef generic

undef global

undef instances

undef message-handler

undefmethod

undef rule

undef template

unmake-instance

unwatch

upcase

watch

while

wordp


ПРИЛОЖЕНИЕ 5 Глоссарий

Abstraction (Абстракция)

Способ представления данных на определенном уровне некоторой кон­кретной предметной области.

Action (Действие)

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

Activation (Активация)

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

Active instance (Активный объект)

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

Agenda (План решения задачи)

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

Antecedent (Предпосылка)

Левая часть правила.

Bind (Связывание)

Действие по сохранению (присваиванию) значения в переменной.

Class (Класс)

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

Class precedence list (Список предшествования классов)

Линейное упорядочение суперклассов, которое описывает порядок на­следованию свойств и поведения.

Command (Команда)

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

Command prompt (Командная строка)

Подсказка интерактивной среды CLIPS, которая говорит о том, что CLIPS готов к работе.

Condition (Условие)

Логический элемент.

Conditional element (Условный элемент)

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

Conflict resolution strategy (Стратегия разрешения конфликтов)

Метод для определения порядка, в котором правила должны запускаться, среди правил с одинаковым приоритетом. В CLIPS существует семь стратегий разрешения конфликтов: стратегия глубины (depth strategy), стратегия ширины (breadth strategy), стратегия упрощения (simplicity stra­tegy), стратегия усложнения (complexity strategy), LEX (LEX strategy), MEA (iMEA strategy) и случайная стратегия (random strategy).

Consequent (Следствие)

Правая часть правила.

Constant (Константа)

Выражение с не изменяющимся значением.

Constraint (Ограничение)

Дополнительное условие, которое налагается на значение поля факта или объекта.

Construct (Конструктор)

Элемент CLIPS, используемый для добавления в базу знаний новых эле­ментов.

Current focus (Текущий фокус)

Модуль, находящийся на вершине стека фокусов.

Current module (Текущий модуль)

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

Daemon (Демон)

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

DeiTunction (Функция, определенная пользователем)

Функция, созданная пользователем в среде CLIPS с помощью соответст­вующего конструктора.

Deftemplate fact (Шаблон)

Определяет набор именованных слотов определенного типа.

Deftemplate pattern (Образец шаблона)

Ограничения, накладываемые на факты, принадлежащие некоторому шаблону.

Delimiter (Разделитель)

Знак, который указывает на конец элемента одного из примитивных ти­пов данных. Обычно в качестве разделителей используются следующие знаки: любой непечатаемый знак ASCII (включая пробелы, табуляцию, возвраты каретки и переводы строки), двойные кавычки, открывающая и закрывающая круглые скобки "(" и ")", амперсанд "&", вертикальная черта "", меньше чем "<", точка с запятой ";", и тильда "~".

Dynamic binding (Динамическое связывание)

Связывание обработчика сообщения с объектом во время выполнения программы.

Encapsulation (Инкапсуляция)

Скрытие деталей реализации класса.

External-address (Внешний адрес)

Адрес внешней структуры данных, возвращенной функцией (написанной на языке типа С или Ada), интегрированной с CLIPS.

External function (Внешняя функция)

Функция, написанная на внешнем языке (например, С) и подключенная к среде CLIPS.

Facet (Грань)

Компонент, определяющий свойства слота класса.

Fact (Факт)

Единица представления данных в экспертной системе.

Fact-address (Адрес факта)

Указатель на факт, полученный в левой части правила.

Fact-identifier (Идентификатор факта)

Сокращенное описание факта. Состоит из символа "f", следующей за ним черты и индекса факта.

Fact-index (Индекс факта)

Уникальный целочисленный индекс, используемый для идентификации факта.

Fact-list (Список фактов)

Набор фактов, присутствующий в рабочей памяти системы.

Field (Поле)

Место для хранения некоторого значения.

Fire (Запуск правила)

Процедура выполнения правила, все предпосылки которого удовлетво­рены.

Float (Вещественное значение)

Вещественное значение, заданное в экспоненциальной форме или с по­мощью числа фиксированной точкой.

Function (Функция)

Участок исполняемого программного кода, идентифицируемый при по­мощи имени.

Generic dispatch (Родовое связывание)

Процесс определения конкретного метода родовой функции, примени­мого к заданному набору аргументов.

Generic function (Родовая функция)

Функция, написанная в CLIPS, позволяющая выполнять различные дей­ствия, в зависимости от числа и типа заданных аргументов.

Inference engine (Механизм логического вывода)

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

Inheritance (Наследование)

Процесс приобретения подклассом свойств и поведения суперкласса.

Instance (Объект)

Экземпляр некоторого класса.

Instance-address (Адрес образца)

Адрес объекта класса, созданного пользователем.

Instance-name (Имя образца)

Символьный идентификатор объекта.

Instance-set (Набор объектов)

Упорядоченный набор объектов, созданный в результате выполнения не­которого запроса.

Instance-set distributed action (Действие над набором объектов)

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

Instance-set query (Запрос)

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

Integer (Целое)

Целочисленное значение.

LHS (Левая часть правила)

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

Logical name (Логическое имя)

Символическое имя устройства ввода/вывода.

Message (Сообщение)

Механизм, позволяющий управление объектом.

Message dispatch (Связывание сообщений)

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

Message-handler (Обработчик сообщений)

Участок кода, активизирующийся при получении объектом соответст­вующего сообщения.

Message-handler precedence (Приоритет обработчиков сообщений)

Свойство, позволяющее выбирать порядок выполнения обработчиков сообщения.

Method (Метод)

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

Method index (Индекс метода)

Целочисленный идентификатор метода.

Method precedence (Приоритет методов)

Свойство, использующее конкретный метод некоторой группы, способ­ной обработать заданный набор аргументов.

Module (Модуль)

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

Module specifier (Спецификатор модуля)

Способ идентификации модуля в определении различных конструкторов системы.

Multifield value (Составная величина)

Последовательность неименованных данных.

Non- ordered fact (Неупорядоченный факт)

Шаблонный факт.

Number (Число)

Целое число или число с плавающей точкой.

Ordered fact (Упорядоченный факт)

Факт, состоящий из последовательности неименованных полей.

Overload (Перегрузка)

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

Pattern (Образец)

Условный элемент в левой части правила, который используется для со­поставления с фактами из списка фактов.

Pattern entity (Сопоставленный образец)

Элемент, подошедший определенному образцу, заданному в левой части правила.

Pattern-matching (Сопоставление образцов)

Процесс сопоставления фактов или объектов с образцами, заданными в левой части правил.

Polymorphism (Полиморфизм)

Способность разных объектов реагировать на одно и то же сообщение различным образом.

RHS (Правая часть правила)

Действия, выполняемые правилом при его запуске.

Rule (Правило)

Набор условий и действий, выполняемых в случае, если все условия удовлетворены.

Shadowed message-handler (Неявный обработчик сообщений)

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

Shadowed method (Неявный метод)

Метод, который для выполнения должен быть явно вызван другим мето­дом.

Single-field value (Простая величина)

Один из примитивных типов данных: символ, строка, целое число или число с плавающей точкой, внешний адрес, имя или адрес.

Slot (Слот)

Именованная простая или составная величина, содержащаяся в некото­ром шаблоне или классе.

Slot-accessor (Акцессор, аксессор)

Средство доступа к слоту, неявный обработчик сообщений, который пре­доставляет доступ к слоту для чтения и записи данных.

Subclass (Подкласс)

Если первый класс является наследником второго класса, то он является и его подклассом.

Superclass (Суперкласс)

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

Value (Значение)

Простое или составное значение.



Pages:     | 1 |   ...   | 12 | 13 ||
 





<
 
2013 www.disus.ru - «Бесплатная научная электронная библиотека»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.