Business Process Management
The kosmos AutoPilot has all the necessary equipment to do Business Process Management (BPM). In reality, the general idea in kosmos/BOS is that :
"Every record's insertion, modification or deletion must be an activity that is part of a business procedure"
This way the database can be shown not only an "instance of the world" but also the detailed path that has been taken to achieve this "instance of the world". To put more clarification to the way the BPM is implemented in our suite lets put some F.A.Q. on it.
How we describe the business procedure we want to implement?
By building (programming) a coordinator agent for each business procedure. In case the procedure breaks in subprocedures then we program the analogous coordinator agents for the subprocedures.
How we assign activities to users?
The coordinator agents assign activities to users. By using in AutoScript 'bpm_assign_job' we have the opportunity to assign (programmatically) activities to users and wait (or not) the activities to finish in order the procedure to forward to next step (or steps)
How the organization (ie Organogram) of a company is implemented?
Every user can have one or more roles (on the company's organogram). The coordinator agents assign activities to users not only by their names (John, Clark,...) but also (and mainly) by the user's role (accountant, general director, salesman,...). Thus in a company fully automated, by Mykosmos/BOS coordinator agents, the flow of activities follows exactly the organization of the company (as described in the procedures of the ISO manuals)
How OR-Split is supported?
Some times a business procedure has to split into parallel execution lines. In case is known in advance the number of splits we (as programmers) use in AutoScript the block of commands:
In case the number of splits is not known to the programmer in advance but is defined later during the execution path, we use the block of commands:
split_for i = 1 to num
Where the variable (num) defines the number of parallel splits and is defined just above the split_for command.
How AND-Spit is supported?
By using the following (very natural to programmers) lines of code:
if (price > 10000) then
callwait assign_job ("PRICE CHECK1", ....)
elseif (pirce < 10000) and (price > 5000) then
callwait assign_job("PRICE CHECK2",....)
callwait assign_job("PROCEED TO ORDER",....)
How Total Quality Management (TQM) can be implemented?
When all procedures that are listed in the Procedures Plan of the company's ISO are automated using kosmos/BOS (That means that every business procedure is implemented as a coordinator agent) then every activity into the company is "recorded live" in every detail. With this tool on the hands of the managers, Total Quality Management has a big change to be achieved.