next up previous
Next: Module irpr_service(irpr_service.kl1) Up: Programing example:a personel Previous: Modules of the

Processing flow

The following figure shows the processing flow of irpr. The arrows mean predicate calls and the broken arrows mean message sending. (Attention: The number of argument increases 2 for an argument pair.)

Main:server_main/4 is recursively called and forks when a service name is received. If the service name is "irpr", irpr_request:client_request/3 will be called. Or if the service name is "xxx", xxx_request:client_request/3 will be called. Irpr_request and xxx_request are modules for users to define the concrete contents of their services.

In irpr_service:service/2, a variable "Mode" which specifies a database manipulation of irpr is read and carried across to irpr_service:service_loop/7.
In service_loop/7, a search condition "Search_cond" is read and handed over to irpr_service:exec_irpr/5 with "Mode".

Exec_irpr/5 transforms "Mode" into a message and send it to irpr_kappa. In irpr_kappa, the message is handed over from irpr_loop/4 to exec/5 and then transformed into a series of the primitive commands of Kappa.