50 likes | 63 Views
This module provides various primitives in CPAM including setting up a connection, presetting/getting parameters, estimating cost, invoking methods, examining status/progress, extracting results, and terminating invocations.
E N D
Primitives in CPAM Pre-invocation: SETUP: set up a connection to a megamodule SET-, GETPARAM: preset / get parameters in a megamodule ESTIMATE: get cost estimation for optimization Invocation and result gathering: INVOKE: start a specific method EXAMINE: test status and progress of an invoked method EXTRACT: extract results from an invoked method Termination: TERMINATE: terminate a method invocation TERMINATEALL: terminate the connection to a megamodule CHAIMS
Why... presetting of parameters? • avoiding redundancy • exploiting parallelism estimate? • choosing most economical service • scheduling based on run-time information (see parallelism / scheduling) splitting up invoke and extract? • faking asynchrony, easy parallelism (see parallelism) • partial extraction of results • extracting results from monitoring processes CHAIMS
Partial Extract Extracting only some results • if not all results are ready yet ==> exploiting parallelism • only some results are needed at all ==> avoiding unnecessary data transfer Extracting preliminary result • if preliminary results are made available (e.g., by simulation servers) and can be used by megaprogram, e.g., for determining future actions ==> avoiding unnecessary waits of megaprogram or unnecessary work by server Partial extract goes together with EXAMINE. CHAIMS
Hierarchical Setting of Parameters Example: parameters of method xz end-date start- date number from dest general default values 1JAN1998 1JAN1998 LAS BWI 1 client-specific settings for client A 4OCT1998 6OCT1998 SJO ZRH client-specific settings for client B FRA 2 method xz, client A: invocation-specific settings actual values used in invocation xz1 4OCT1998 6OCT1998 SJO ZRH 1 method xz, client A: invocation-specific settings 7OCT1998 SFO actual values used in invocation xz2 4OCT1998 7OCT1998 SFO ZRH 1 method xz, client B: invocation-specific settings 1DEC1998 9DEC1998 actual values used in invocation xz1 1DEC1998 9DEC1998 LAS FRA 2 CHAIMS
Name of Person complex Personal Data complex Address …. First Name string Joe Last Name string Smith Date of Birth date Soc.Sec.No string 345-34-345 13JUN1934 Parameter Values Parameter values of megamodules are triples of: • descriptivename, ==> representation • type, ==> flexibility • value, where value is either a simple type or a list of other gentypes (i.e. a complex type). For transfer, these triples are ASN.1/BER encoded. Example: Person_Information CHAIMS