Rule-based programming languages for entities in environments
First Claim
1. A method of programming an entity in an environment with a rule set:
- respective rules grouped according to at least one rule group having a rule group name;
at least one group designated as a start rule group for the entity;
the entity configured to accept input from an entity controller;
at least one rule specified according to a rule-based programming language comprising;
at least one language condition, comprising;
at least one entity controller input condition; and
at least one environment test comprising;
a sensory condition comprising at least one of;
an entity type condition;
an entity status condition;
an entity possessory condition;
an entity sensory input condition; and
an environment status condition;
a language verb parameter representing a sensory object; and
at least zero language adjectives representing the sensory object;
at least one language verb, comprising at least one rule group transition verb;
at least one language verb parameter, comprising;
names associated with the respective rules; and
a sensory object reference representing the sensory object of the language condition of the at least one rule;
at least one language adjective; and
at least one Boolean logic connector;
the at least one rule comprising a rule priority, at least one language condition representing an action condition, at least one language verb representing an action, and at least one language verb parameter representing an action object;
the entity comprising a rule group identifier;
and the method comprising;
receiving the rule set comprising the at least one rule; and
programming the entity to;
upon initialization of the entity, set the rule group identifier to one of the start rule groups; and
for a rule cycle, to;
evaluate one or more action conditions of respective rules of the one of the start rule groups identified by the rule group identifier and in descending priority order, within the environment to identify a satisfied rule having satisfied action conditions according to Boolean logic connectors of the satisfied rule;
upon identifying a first satisfied rule, perform the first satisfied rule within the environment; and
upon failing to identify a second satisfied rule, remain idle for the rule cycle.
2 Assignments
0 Petitions
Accused Products
Abstract
A rule-based programming language may be devised for programming an entity in an environment. Computer systems may therefore be configured to program the entity with at least one rule comprising at least zero language conditions representing an action condition, at least one language verb representing an action, and at least zero language verb parameters representing an action object. The computer system may also be configured to facilitate entry by a user of a rule set according to the rule-based programming language by receiving user selections of language conditions, language verbs, and language verb parameters. By facilitating the programming by users of entities within environments, the computer system may facilitate individuals (such as non-technical individuals, aspiring programmers, and children) in understanding programming concepts, encourage the development of experience with computer programming, and permit the generation of useful computer programs by non-proficient programmers.
8 Citations
20 Claims
-
1. A method of programming an entity in an environment with a rule set:
-
respective rules grouped according to at least one rule group having a rule group name; at least one group designated as a start rule group for the entity; the entity configured to accept input from an entity controller; at least one rule specified according to a rule-based programming language comprising; at least one language condition, comprising; at least one entity controller input condition; and at least one environment test comprising; a sensory condition comprising at least one of;
an entity type condition;
an entity status condition;
an entity possessory condition;
an entity sensory input condition; and
an environment status condition;a language verb parameter representing a sensory object; and at least zero language adjectives representing the sensory object; at least one language verb, comprising at least one rule group transition verb; at least one language verb parameter, comprising; names associated with the respective rules; and a sensory object reference representing the sensory object of the language condition of the at least one rule; at least one language adjective; and at least one Boolean logic connector; the at least one rule comprising a rule priority, at least one language condition representing an action condition, at least one language verb representing an action, and at least one language verb parameter representing an action object; the entity comprising a rule group identifier; and the method comprising; receiving the rule set comprising the at least one rule; and programming the entity to; upon initialization of the entity, set the rule group identifier to one of the start rule groups; and for a rule cycle, to; evaluate one or more action conditions of respective rules of the one of the start rule groups identified by the rule group identifier and in descending priority order, within the environment to identify a satisfied rule having satisfied action conditions according to Boolean logic connectors of the satisfied rule; upon identifying a first satisfied rule, perform the first satisfied rule within the environment; and upon failing to identify a second satisfied rule, remain idle for the rule cycle. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable device comprising processor-executable instructions configured to perform a method of programming an entity in an environment with a rule set:
-
respective rules grouped according to at least one rule group having a rule group name; at least one group designated as a start rule group for the entity; the entity configured to accept input from an entity controller; at least one rule specified according to a rule-based programming language comprising; at least one language condition, comprising; at least one entity controller input condition; and at least one environment test comprising; a sensory condition comprising at least one of;
an entity type condition;
an entity status condition;
an entity possessory condition;
an entity sensory input condition; and
an environment status condition;a language verb parameter representing a sensory object; and at least zero language adjectives representing the sensory object; at least one language verb, comprising at least one rule group transition verb; at least one language verb parameter, comprising; names associated with the respective rules; and a sensory object reference representing the sensory object of the language condition of the at least one rule; at least one language adjective; and at least one Boolean logic connector; the at least one rule comprising a rule priority, at least one language condition representing an action condition, at least one language verb representing an action, and at least one language verb parameter representing an action object; the entity comprising a rule group identifier; and the method comprising; receiving the rule set comprising the at least one rule; and programming the entity to; upon initialization of the entity, set the rule group identifier to one of the start rule groups; and for a rule cycle, to; evaluate one or more action conditions of respective rules of the one of the start rule groups identified by the rule group identifier and in descending priority order, within the environment to identify a satisfied rule having satisfied action conditions according to Boolean logic connectors of the satisfied rule; upon identifying a first satisfied rule, perform the first satisfied rule within the environment; and upon failing to identify a second satisfied rule, remain idle for the rule cycle. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
one or more processors; one or more memory units coupled to at least one of the one or more processors; and instructions comprised in at least one of the one or more memory units, the instructions, when executed at least in part by at least one of the one or more processors, configured to perform a method of programming an entity in an environment with a rule set; respective rules grouped according to at least one rule group having a rule group name; at least one group designated as a start rule group for the entity; the entity configured to accept input from an entity controller; at least one rule specified according to a rule-based programming language comprising; at least one language condition, comprising;
at least one entity controller input condition; and
at least one environment test comprising;a sensory condition comprising at least one of;
an entity type condition;
an entity status condition;
an entity possessory condition;
an entity sensory input condition; and
an environment status condition;a language verb parameter representing a sensory object; and at least zero language adjectives representing the sensory object; at least one language verb, comprising at least one rule group transition verb; at least one language verb parameter, comprising; names associated with the respective rules; and a sensory object reference representing the sensory object of the language condition of the at least one rule; at least one language adjective; and at least one Boolean logic connector; the at least one rule comprising a rule priority, at least one language condition representing an action condition, at least one language verb representing an action, and at least one language verb parameter representing an action object; the entity comprising a rule group identifier; and the method comprising; receiving the rule set comprising the at least one rule; and programming the entity to; upon initialization of the entity, set the rule group identifier to one of the start rule groups; and for a rule cycle, to;
evaluate one or more action conditions of respective rules of the one of the start rule groups identified by the rule group identifier and in descending priority order, within the environment to identify a satisfied rule having satisfied action conditions according to Boolean logic connectors of the satisfied rule;
upon identifying a first satisfied rule, perform the first satisfied rule within the environment; and
upon failing to identify a second satisfied rule, remain idle for the rule cycle. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification