BeeTeamSoftware

Bee Team Software

BeeTeam Software is my name for a software design I have developed over the last 50-60 years. Rather than large complex programs that give so much trouble, I now use coordinated small programs that I call WorkerBees. 
Why? Smaller modules are interchangeable and more reliable, with
 easier unit testing and development.

QUEEN WORKERS DRONES

The Bee Team

A BeeTeam consists of a Queen and Worker Bees organiized into a BeeHive. Each computer on your network has a BeeHive. A BeeHive operates under the control of a QUEENThe Queen controls all the worker bees in her own Hive and in other hives on the network that connect to her. The Bee Team  software is written in a portable programming language called Python, available on all computer platforms and networks these days - [Windows, Mac, Linux, IBM AS400s, etc.] 

QueenBeeMean99x99


The Queen is actually a suite of related programs, as in the diagram below: 
 - a task dispatcher, sending out worker bees
 - a transport platform which collects raw data from the bees, and 
 - pairs of information encoding/decoding programs listening to and dispatching workers.
 - a rule processor to evaluate events and trigger new tasks and responses


BeeHive


The BeeHive is a collection of tasks and data. Each network computer has a Hive. Hives are peers, with equal capability, although one is usually designated the Queen.

The Shell ...


The Scheduler ...


The Dispatcher 


The Event Handler 


The Rule Processor ...




All events in the Hive are recorded in the Event Log, by workers - WorkerBees - and other programs. Events are timestamped. They may contain data such as task starts and completions, progress messages, request for new services, etc. Because the data is raw, any form of information may be stored in it - data for factories, warehouses, scientific labs, small or large businesses or schools. I like to call our data Honey

Once the data is collected, all sorts of useful information may be extracted from it for analysis and placed in databases, reports, accounting systems, etc. Events such as starts and stops may be combined for calculating durations, etc. Applications range from employee and task time tracking - to inventory tallying - to data collection out in the field, etc. …

Incoming data - new events in the event log - may also trigger new tasks - such as dispatching a worker by the Queen.


honeycombWbees

Honey:   

We will call our data honey.
It is used to monitor and control your organization. 
Because it costs to collect and is indispensible in making decisions,
Never underestimate the value of your honey!


___________________________

HOW DOES IT WORK? What’s under the hood? ::

The BeeTeam uses a python package called SimPY, a form of Discrete Event Simulation which is the timing foundation underneath, controlling task creation and dispatching. It supports both simulation and real operation.

The BeeTeam also uses another python package called PYRO - python remote objects. PYRO supports creation, connection and communication of multiple tasks on multiple computers.

Finally, my software records and coordinates all activity through the use of a database called the Event Log. All starts, stops and other events are recorded there, including many messages. In my experience, Event Logs are extremely useful, providing the ability to collect and report not only previously anticipated data needs, but often constructing other data later which resides there as well.



© Gareth Harris 2018        -         Contact email: GarethHarris@mac.com         -         see also: SentimentalStargazer.com