  We present CheckSoft, a scalable event-driven software architecture for
keeping track of people-object interactions in people-centric applications such
as airport checkpoint security areas, automated retail stores, smart libraries,
and so on. The architecture works off the video data generated in real time by
a network of surveillance cameras. Although there are many different aspects to
automating these applications, the most difficult part of the overall problem
is keeping track of the interactions between the people and the objects.
CheckSoft uses finite-state-machine (FSM) based logic for keeping track of such
interactions which allows the system to quickly reject any false detections of
the interactions by the video cameras. CheckSoft is easily scalable since the
architecture is based on multi-processing in which a separate process is
assigned to each human and to each "storage container" for the objects. A
storage container may be a shelf on which the objects are displayed or a bin in
which the objects are stored, depending on the specific application in which
CheckSoft is deployed.
