Intelligent License Plates and State Machines
Intelligent License Plates Part 2
We start with the concept of a barcode. A barcode is almost magical if you think about it. A barcode can mean almost anything…literally. A barcode does not need to be long and packed with digits to make this statement true. For those familiar with database technology, a barcode can be compared to a primary key or index into a set of information. The larger the primary key, the larger the collection or set of referenced objects. The interesting idea around intelligent license plates is that the primary key can be comprised of both contextual information as well as the “Scanned” barcode. For example, lets say I scan a barcode “12345678”. I could add contextual information to this about who I am, what time it is, and what operation I am working on. Therefore, the primary key into a collection of objects, or in this example, workflows, could be represented as “TSMITH+PUTAWAY+06/25/2010+12345678” or more realistically the user name, operation, and date would be translated into integers and the primary key would become something like “0010+034+06252010+12345678” or “00100340625201012345678”. By extrapolating the context in which the scan occurred, we can now apply an additional layer of insight into what steps need to be taken or to put it simply, what workflow(s) need to be triggered. There are now 5 possible primary keys that we can use to allow the system to intelligently find automation steps. 1 for user, operation, date, barcode, and the combination of all 4 primary keys. The large primary key allows for storing data in a very sparce matrix. (A topic for future discussion…)
Now that we have our context established, we can couple this with historical information (previous state information) to input into a technology known as state machines.
If you are not familiar with State Machines, it is a concept that originated in computational theory and mathematical models for biosciences and mathematics. It was then adopted in the 1960’s within computer science for language parsing and compilers. This pioneering work is largely attributed to the efforts of George H. Mealy and Edward F. Moore.
The basic operation of a Finite State Machine system is this: as the system is in one of the defined states (represented by our primary key) at any instant of time, it will react to specified (external) inputs or (internal) conditions with specified actions (defined in workflows), and transition to another defined state, or remain in its current state, depending on the design.
These workflows define what we want to occur when the scanning happens. For example a workflow may have rules such as, if a supervisor scans a license plate that contains expired products during a Quality Assurance operation, then put the license plate on hold and send an alert to purchasing and management, that there is expired product that has been in the warehouse for X amount of days.