Patent ID: 8578350

Claim:
A checkout business system controlling the operation of a checkout station that implements a plurality of the state machines each implementing a different method of operating the checkout business system, the system comprising: a memory including computer instructions; a processor coupled to the memory and adapted to execute the computer instructions; a plurality of specification language files stored in a permanent memory on the checkout station, each specification language file containing a plurality of specification language statements defining a state machine implementation of a different checkout business system where each state machine defines all the operations of the checkout station and where the checkout station is operable to generate an instance of the state machine during a system initialization process for the checkout station; a parser operable to extract specification language statements from each of the specification language files and validate the structure of the specification language statements during the generation of the instance of each of the state machines and interpret the extracted specification language statements in the instance of each of the state machines; a business logic application program comprised of business logic modules, the business logic modules including executable compiled program statements that when executed by the processor perform a checkout station action; a focus variable operable to identify from the plurality of specification language files the specification language file for the state machine currently being interpreted where multiple state machines can be running simultaneously; and where the parser is operable to call at least one of the business logic modules to process a message extracted by the parser from a specification language statement and to change the status of the focus variable to another specification language statement file when the current specification language statement file being interpreted fails to have a method to process the message.