Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • All arguments 'packed' within a class <ActorName>Arguments
  • Class will be automatically generated, and copied to a wrapper package
  • Order of attributes corresponds to order of  user function arguments
  • Every attribute is a class ToolNameArgument keeping not only value but also metadata describing argument:
    • Name
    • Type of value
    • Value
    • IN or OUT
  • Attributes' setters/getters will be overridden - user will set only value of argument 
    • To reduce complexity visible by user
    • To check if arg type is correct


Code Block
languagepy
# AUTO GENERATED !
class <ActorName>Arguments :  
  def __init__(self):
    self.arg1 = ToolNameArgument( 'InVar', int, None, IN)
    self.arg2 = ToolNameArgument( 'OutVar', double, None, OUT)
	self.diagnostic_info = ToolNameDiagnosticInfo()

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameArgument :
  def __init__(self, name, type, sub_type, intent):
    self.name =  name #'argument name'
	self.type = type # (INT, DOUBLE, STRING, COMPLEX, IDS)
	self.sub_type = sub_type  #'equilibrium'  for IDSes only
	self.intent = intent # (IN/OUT)
	self.value  = 7. # to be set by user
    
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
class ToolNameDiagnosticInfo :
  def __init__(self):
    self.status  
	self.message

# AUTO GENERATED !
class 


XML parameters of user  C++/F method

  • Not passed as wrapper argument
  • Defined (path to XML file) at the time of actor creation by ToolName  


Code Block
class ToolNameXMLParamaters<ActorName>Arguments :  
  def __init__(self):
    self.arg1parameters = ToolNameArgument( 'InVar', int, None, IN # file name or string or... (?)
    self.arg2default_parameters = ToolNameArgument( 'OutVar', double, None, OUT # file name or string or ... (?)
	self.diagnostic_infoschema = ToolNameDiagnosticInfo()

XML parameters of user  C++/F method

...

# file name or string or ... (?)


Job settings

  • A class passed as wrapper arguments
  • Tree (of classes) describing job settings
  • ToolNameJobSettings class:
    • batch_job - class ToolNameBatchJob:
      • queue
      • ???
    • debug - class ToolNameDebug
      • debugger - TotalView/gdb
      • mode - attach/standalone
    • mpi - class ToolNameMPI
      • mpi parameters - TBD
      • ???
    • open_mp - class ToolNameOpenMP
      • openMP parameters - TBD
      • ???
    • sandbox
      • path to sandbox
      • sandbox 'lifetime'

...