Method and system for programming devices using finite state machine descriptions
First Claim
1. A method of programming a device, comprising:
- (a) providing an input means which a human operator can use to enter a specification of desired behavior of said device as a finite state machine description;
(b)converting said finite state machine description to a program which said device can execute;
(c) sending said program to said device, if said input means is not running on said device ; and
(d) storing said program in said device, said program being thereby enabled to control said device in accordance with said finite state machine description;
whereby a person who is not familiar with software or hardware control technology can easily program a device to behave as desired.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for capturing a Finite State Machine (FSM) description of the desired behavior of a device, and converting that description into a program that is executable by the device. In the preferred embodiment, the device is a programmable robot toy. The user enters an FSM description of the desired behavior of the robot toy using a graphical user interface running on a personal computer. When requested, the preferred embodiment compiles the FSM description into a program executable by a virtual machine running on a micro-controller inside the robot toy. This program is sent to the toy via an infrared transmitter and infrared receiver, and stored in the toy'"'"'s memory. Then, when the robot toy is used, the virtual machine executes the stored program so that the toy behaves as specified by the FSM description.
53 Citations
24 Claims
-
1. A method of programming a device, comprising:
-
(a) providing an input means which a human operator can use to enter a specification of desired behavior of said device as a finite state machine description;
(b)converting said finite state machine description to a program which said device can execute;
(c) sending said program to said device, if said input means is not running on said device ; and
(d) storing said program in said device, said program being thereby enabled to control said device in accordance with said finite state machine description;
whereby a person who is not familiar with software or hardware control technology can easily program a device to behave as desired. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus for programming a device, comprising:
-
(a) an input means which a human operator can use to enter a specification of desired behavior of said device as a finite state machine description;
(b) a conversion means which will convert said finite state machine description to a program which said device can execute;
(c) a transmission means for sending said program to said device, if said input means is not running on said device; and
(d) a storage means for storing said program in said device, said program being thereby enabled to control said device in accordance with said finite state machine description;
whereby a person who is not familiar with software or hardware control technology can easily program a device to behave as desired. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for programming a device, comprising:
-
(a) an input means which a human operator can use to enter a specification of desired behavior of said device as a finite state machine description;
(b) a conversion means which will convert said finite state machine description to a program which said device can execute;
(c) a transmission means for sending said program to said device, if said input means is not running on said device ; and
(d) a storage means for storing said program in said device, said program being thereby enabled to control said device in accordance with said finite state machine description;
whereby a person who is not familiar with software or hardware control technology can easily program a device to behave as desired. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification