This page roughly documents some of the internals of Adage (mostly creation/lifecycle/destruction), nothing is ordered/cleared. Corresponds to svn r2061. You can also have a look at the browsable doxygen version of the code.
listener constructor. Receives events from listeners, and dispatchs them to dpl_info/execute_plan/resourcer instances.dispatcher constructor, keeps track of adage daemon state and transitions.factory constructor if argv[1] != -d. Parses commandline options using getopt(), then send all events to dispatcher. Dump documents in the end.factory constructor if argv[1] == -d. Receives commands from adage-client.pl, then sends events to dispatcher.dispatcher constructor, holds pointers to all documents. Main 'infocenter' for deployment, encapsulates all appl_fragments and plugins. make_generic_document() is called by dispatcher::rcv_prepare(), add_generic() is called by plugin::convert().dpl_info::set_ctrlparams(), destroyed by dpl_info::wipe(). Handles ctrl params document. Gives access to specific ctrl params file too.dpl_info::make_generic_document() and destroyed by dpl_info::wipe(). Other fragments are created by plugin::convert().dpl_info::get_plan(), filled/updated by metaplanner::make_plan(), destroyed by dpl_info::wipe().resourcer::make_resources_document(). dpl_info::get_status(), filled/updated by state_mgt::fill_status(), destroyed by dpl_info::wipe().execute_plan constructor, has a pointer to state_mgt instance. has a thread which listens to callbacks coming from satellite, and calls state_mgt→set_entity_is_acked()/update_dependencies(). Also calls plugin→get_specific_deployment()→cb_acked(callback_t).execute_plan constructor, destroyed in execute_plan::wipe(). Creates/fills/updates status looping on plan, and reads dependencies from generic. Responsible of choosing the state_mgt::get_candidate_entity_to_launch(), called by execute_plan::deploy().dispatcher constructor. Constructor creates state_mgt, callbacks_listener, file_transfer, remote_caller and scripts_generator. Responsible of executing the processes not launched in the plan.execute_plan constructor. Builds the commandline executed to contact the remote node and launch the satellite with arguments representing the processes to launch.execute_plan constructor. Two main methods, populate_local_tree() and transfer_files() called in execute_plan::deploy() before deployment. Builds prestage-tree in /tmp/$USER, then $cmd it on each node. Reads ctrl params for destdir and binlib_in_commondir settings.execute_plan constructor. Creates the get_status.sh and cleanup.sh scripts. Main method generate() called by execute_plan::deploy() after deployment if !dryrun.commandline with a daemonized adage-satellite, working but doesn't provide much more.resourcer.dispatcher (which will call make_plan()) and the real planners. It is also used as a planner shared object loader.planner::metaplanner(), destroyed by metaplanner::wipe(). make_plan() is called by metaplanner::make_plan(). Handles rr-greedy, roundrobin and random planner types.planner::metaplanner(), destroyed by metaplanner::wipe(). make_plan() is called by metaplanner::make_plan().dispatcher::get_oar_resourcer() as a singleton. Receives oar(grid/file) ids from dispatcher, process() (called by resourcer::make_resources_document()) creates the resources document.dispatcher::rcv_*res. Constructor creates a resources document.dispatcher constructor. Used by planner to search available/matching nodes. Handles multiple input_handler. make_resource_document() is called by dispatcher::rcv_make_plan().planner constructor.