Weevil-Defined Declaration Macros
for Experiment

The following macros are used to declare and configure the experiment conceptual models. For each declaration macro, the following information is listed:
WVL_SYS_Actor
  Arguments
  $1ID
  $2workloadProcessWorkloadProcess.ID
  $3programActorProgram.ID
  $4componentComponent.ID
  $5dirstring
  Definitions
  WVL_Actor_<ID>
  WVL_Actor_<ID>_workloadProcess = <workloadProcess>
  WVL_Actor_<ID>_program = <program>
  WVL_Actor_<ID>_component = <component>
  WVL_Actor_<ID>_dir = <dir>

WVL_SYS_ActorProgram
  Arguments
  $1ID
  $2styleeither `Java' or `Shell'
  $3binaryDistDir 
  $4program
  $5argument
  $6classpath
  $7logs
  $8receiveProgram
  Definitions
  WVL_ActorProgram_<ID>
  WVL_ActorProgram_<ID>_style = <style>
  WVL_ActorProgram_<ID>_binaryDistDir = <binaryDistDir>
  WVL_ActorProgram_<ID>_program = <program>
  WVL_ActorProgram_<ID>_argument = <argument>
  WVL_ActorProgram_<ID>_classpath = <classpath>
  WVL_ActorProgram_<ID>_logs = <logs>
  WVL_ActorProgram_<ID>_receiveProgram = <receiveProgram>

WVL_SYS_ActorProp
  Arguments
  $1actorIDActor.ID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_Actor_<actorID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_Actor_<actorID>_props', `<propertyName>')

WVL_SYS_Component
  Arguments
  $1ID
  $2typeComponentType.ID
  Definitions
  WVL_Component_<ID>
  WVL_Component_<ID>_type = <type>

WVL_SYS_ComponentHost
  Arguments
  $1ID 
  $2componentComponent.ID
  $3hostHost.ID
  Definitions
  WVL_ComponentHost_<ID> 
  WVL_ComponentHost_<ID>_component = <component> 
  WVL_ComponentHost_<ID>_host = <host> 

WVL_SYS_ComponentHostProp
  Arguments
  $1componentHostID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_ComponentHost_<componentHostID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_ComponentHost_<componentHostID>_props, `<propertyName>')

WVL_SYS_ComponentHostType
  Arguments
  $1componentTypeIDComponentType.ID
  $2hostTypeIDHostType.ID
  $3binaryDistDir 
  Definitions
  WVL_ComponentHostType_<componentTypeID>_<hostTypeID> 
  WVL_ComponentHostType_<componentTypeID>_<hostTypeID>_binaryDistDir = <binaryDistDir> 

WVL_SYS_ComponentHostTypeProp
  Arguments
  $1componentTypeID
  $2hostTypeID
  $3propertyName 
  $4propertyValue 
  Definitions
  WVL_ComponentHostType_<componentTypeID>_<hostTypeID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_ComponentHostType_<componentHostTypeID>_<hostTypeID>_props, `<propertyName>')

WVL_SYS_ComponentOrder
  Arguments
  $1ID
  $2sequence
  Definitions
  WVL_ComponentOrder_<ID>
  WVL_ComponentOrder_<ID>_sequence = <sequence>

WVL_SYS_ComponentPreStart
  Arguments
  $1ID
  $2components
  Definitions
  WVL_ComponentPreStart_<ID>
  WVL_ComponentPreStart_<ID>_components = <components>

WVL_SYS_ComponentProp
  Arguments
  $1componentIDComponent.ID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_Component_<componentID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_Component_<componentID>_props', `<propertyName>')

WVL_SYS_ComponentRelation
  Arguments
  $1ID
  $2name
  $3srcComponent.ID
  $4destComponent.ID
  Definitions
  WVL_ComponentRelation_<ID>
  WVL_ComponentRelation_<ID>_name = <name>
  WVL_ComponentRelation_<ID>_src = <src>
  WVL_ComponentRelation_<ID>_dest = <dest>

WVL_SYS_ComponentRelationProp
  Arguments
  $1componentRelationIDComponentRelation.ID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_ComponentRelation_<componentRelationID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_ComponentRelation_<componentRelationID>_props', `<propertyName>')

WVL_SYS_ComponentType
  Arguments
  $1ID
  $2startScript
  $3stopScript
  $4startArgs
  $5config
  $6logs
  Definitions
  WVL_ComponentType_<ID>
  WVL_ComponentType_<ID>_startScript = <startScript>
  WVL_ComponentType_<ID>_stopScript = <stopScript>
  WVL_ComponentType_<ID>_startArgs = <startArgs>
  WVL_ComponentType_<ID>_config = <config>
  WVL_ComponentType_<ID>_logs = <logs>

WVL_SYS_ComponentTypeProp
  Arguments
  $1componentTypeID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_ComponentType_<componentTypeID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_ComponentType_<componentTypeID>_props', `<propertyName>')

WVL_SYS_Experiment
  Arguments
  $1ID
  $2workloadWorkload.ID
  $3actorslist of Actor.ID
  $4testbedTestbed.ID
  $5sueSUE.ID
  $6componentHostslist of ComponentHost.ID
  $7clean`Y' or `N'
  $8parallelinteger
  $9monitorslist of Monitor.ID
  $10timeoutinteger
  Definitions
** NOTE: these definitions are not parameterized by ID, so these act as the entry points. **
  WVL_Experiment_ID = <ID>
  WVL_Experiment_<ID>_workload = <workload>
  WVL_Experiment_<ID>_actors = <actors>
  WVL_Experiment_<ID>_testbed = <testbed>
  WVL_Experiment_<ID>_sue = <sue>
  WVL_Experiment_<ID>_componentHosts = <componentHosts>
  WVL_Experiment_<ID>_clean = <clean>
  WVL_Experiment_<ID>_parallel = <parallel>
  WVL_Experiment_<ID>_monitors = <monitors>
  WVL_Experiment_<ID>_timeout = <timeout>

WVL_SYS_Host
  Arguments
  $1ID
  $2address
  $3account
  $4bourneShell
  $5java
  $6weevilRoot
  $7typeHostType.ID
  Definitions
  WVL_Host_<ID>
  WVL_Host_<ID>_address = <address>
  WVL_Host_<ID>_account = <account>
  WVL_Host_<ID>_bourneShell = <bourneShell>
  WVL_Host_<ID>_java = <java>
  WVL_Host_<ID>_weevilRoot = <weevilRoot>
  WVL_Host_<ID>_type = <type>

WVL_SYS_HostProp
  Arguments
  $1hostID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_Host_<hostID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_Host_<hostID>_props', `<propertyName>')

WVL_SYS_HostType
  Arguments
  $1ID
  Definitions
  WVL_HostType_<ID>

WVL_SYS_Monitor
  Arguments
  $1ID
  $2programMonitorProgram.ID
  $3entityComponent.ID/Testbed.ID/Host.ID/..
  Definitions
  WVL_Actor_<ID>
  WVL_Actor_<ID>_program = <program>
  WVL_Actor_<ID>_entity = <entity>

WVL_SYS_MonitorProgram
  Arguments
  $1ID
  $2binaryDistDir 
  $3program
  $4argument
  Definitions
  WVL_MonitorProgram_<ID>
  WVL_MonitorProgram_<ID>_binaryDistDir = <binaryDistDir>
  WVL_MonitorProgram_<ID>_program = <program>
  WVL_MonitorProgram_<ID>_argument = <argument>

WVL_SYS_MonitorProp
  Arguments
  $1monitorIDActor.ID
  $2propertyName 
  $3propertyValue 
  Definitions
  WVL_Monitor_<monitorID>_<propertyName> = <propertyValue>
  WVL_SYS_Insert( `WVL_Monitor_<monitorID>_props', `<propertyName>')

WVL_SYS_SUE
  Arguments
  $1ID
  $2components
  $3relations
  $4order
  $5prestart
  Definitions
  WVL_SUE_<ID>
  WVL_SUE_<ID>_components = <components>
  WVL_SUE_<ID>_relations = <relations>
  WVL_SUE_<ID>_order = <order>
  WVL_SUE_<ID>_prestart = <prestart>

WVL_SYS_Testbed
  Arguments
  $1ID
  $2hosts
  Definitions
  WVL_Testbed_<ID>
  WVL_Testbed_<ID>_hosts = <hosts>

WVL_SYS_Workload
  Arguments
  $1ID
  $2filename
  $3processesWorkloadProcess.ID
  Definitions
  WVL_Workload_<ID>
  WVL_Workload_<ID>_filename = <filename>
  WVL_Workload_<ID>_processes = <processes>