public static void run()
{
/******Initialize all Static behaviours here*********/
LiftDispatching liftDispatcher = new LiftDispatching(RequestEventRecord,ServiceQueues[0],ServiceQueues[1],ServiceQueues[2],ServiceQueues[3],Buttons,LiftStatusRecord,LiftDispatchList);
RequestScanning requestScanning = new RequestScanning(RequestEventRecord,Buttons,Lifts,LiftStatusRecord);
RequestProcessing requestProcessing = new RequestProcessing(RequestEventRecord,ServiceQueues[0],ServiceQueues[1],Buttons);
LiftServicing liftServicing = new LiftServicing(Lifts,LiftDispatchList,LiftStatusRecord,RequestEventRecord,ServiceQueues[2],ServiceQueues[3],Buttons,SysClock);
SysClock.start();
while(true)
{
/*******run the static behaviours here**********/
requestScanning.runButtons();
requestScanning.runLifts();
requestProcessing.handleRequest();
liftDispatcher.NewRequest();
liftDispatcher.WaitingRequest();