::TaskName:==!(!UserId,!ProcessNr,!WorkflowLabel,!TaskLabel)// id of user, workflow process name, task name
::WorkflowLink:==!(Entry,ProcessIds)// entry in table together with unique id which is used for checking whether the reference is still valid
::ProcessIds:==!(!UserId,!ProcessNr,!WorkflowLabel)// user id, process id and name given to a workflow process; is used as unique identifier in process table
::WorkflowLabel:==!String
::Entry:==!Int
::ProcessNr:==!Int
//:: WorkflowId :== !Int
// Initial values
// Initial values
defaultUser:==0// default id of user
defaultUser:==0// default id of user
defaultWorkflowName:=="start"// name of initial workflow process
defaultWorkflowName:=="start"// name of initial workflow process
#(wfls,hst)=workflowProcessStoreidhst// read workflow process administration
#((_,wfls),tst)=workflowProcessStoreidtst// read workflow process administration
#(done,tst)=scheduleWorkflowTableTruewfls0{tst&hst=hst,activated=True}// all added workflows processes are inspected (THIS NEEDS TO BE OPTIMIZED AT SOME STAGE)
#(done,tst)=scheduleWorkflowTableTruewfls0{tst&activated=True}// all added workflows processes are inspected (THIS NEEDS TO BE OPTIMIZED AT SOME STAGE)
=(a,{tst&activated=activated&&done})// whole application ends when all processes have ended
=(a,{tst&activated=activated&&done})// whole application ends when all processes have ended