IGLib  1.7.2
The IGLib base library for development of numerical, technical and business applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
IG.Lib.LoadableScriptOptBase Class Referenceabstract

Base class for loadable scripts for optimization problems. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(string[])(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (see RunThis()) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same. More...

+ Inheritance diagram for IG.Lib.LoadableScriptOptBase:
+ Collaboration diagram for IG.Lib.LoadableScriptOptBase:

Classes

class  AnalysisScript
 

Public Member Functions

 LoadableScriptOptBase ()
 Creates the LoadableScriptOptBase object. More...
 
abstract void Analyse (IAnalysisResults anRes)
 Performs direct analysis for optimization problems. This method must be overridden in derived classes where one wants to have direct analysis defined. More...
 
- Public Member Functions inherited from IG.Lib.LoadableScriptBase
 LoadableScriptBase ()
 Argument-less constructor. If argument-less constructor is called then initialization is not performed and will be performed later. More...
 
string Run (string[] arguments)
 Performs the action of this object. Override this in derived classes! More...
 
void Initialize (string[] arguments)
 Initializes the object. If not called explicitly, this method is automatically called at the first call to the Run method. More...
 
virtual string Script_DefaultInitialize (string[] arguments)
 Default initialization method for scripts. More...
 
virtual string Script_DefaultRun (string[] arguments)
 Default run method for the script. Can be used when only installed commands are run by hte script. More...
 
virtual
ICommandLineApplicationInterpreter 
Script_CreateInterpreterWithoutCommands ()
 Creates and returns an interpreter that can be used as script's internal interpreter for running script's commands. More...
 
virtual void Script_AddCommands (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings)
 Add wscript's internal commands to the specified interpreter. More...
 
delegate string Script_CommandDelegate (string[] args)
 Delegate for commands that are installed on script's internal interpreter (property Script_Interpreter). More...
 
void Script_AddCommand (string commandName, Script_CommandDelegate command, string helpString)
 Adds a new internal script command under specified name to the internal interpreter of the current script object. More...
 
virtual void Script_AddCommand (ICommandLineApplicationInterpreter interpreter, SortedList< string, string > helpStrings, string commandName, Script_CommandDelegate command, string helpString)
 Adds a new internal script command under specified name to the internal interpreter of the current script object. More...
 
string Script_GetHelpString (string scriptCommandName)
 Returns help string for internal script command with specified name, or null if help string is not installed for such a command. More...
 
void Script_PrintCommandsHelp ()
 Prits help for the installed internal commands of the script. More...
 
virtual bool Script_ContainsCommand (string commandName)
 Returns true if the internal script's interpreter contains a command with specified name, false otherwise. More...
 
virtual bool Script_ContainsScriptCommand (string commandName)
 Returns true if the specified command is script command (i.e. its first argument is command-name and it is run through the Script_CommandAdapter object). More...
 
virtual void Script_RemoveCommand (string commandName)
 Removes the specified internal script command from the internal interpreter of the current scripting object. More...
 
virtual void Script_RemoveAllCommands ()
 Removes ALL internal script commands from the internal interpreter of the current scripting object. More...
 
string Script_Run (string[] arguments)
 Runs internal script command. More...
 
string Script_Run (string commandName, params string[] otherArguments)
 Runs internal script command. More...
 
virtual void Script_PrintArguments (string messageString, string[] arguments)
 Prints the specified array of string arguments (usually passed as command-line arguments). More...
 

Protected Member Functions

override void InitializeThis (string[] arguments)
 Inializes the current script object. More...
 
- Protected Member Functions inherited from IG.Lib.LoadableScriptBase
delegate string CommandMethod (string commandName, string[] args)
 Delegate for internal command methods. More...
 
abstract string RunThis (string[] arguments)
 Performs the action of this object. Override this in derived classes! More...
 
ICommandLineApplicationInterpreter Script_CreateInterpreter ()
 Creates and returns an interpreter that can be used as script's internal interpreter for running script's commands. More...
 
virtual string Script_CommandHelp (string[] arguments)
 Prints help. More...
 
virtual string Script_CommandTestScript (string[] arguments)
 Prints help. More...
 

Protected Attributes

StopWatch1 _timer = null
 
bool _checkOptimizationDirectoryExistence = true
 Whether to check existence of optimization directory when set. Also applies to working directory. More...
 
- Protected Attributes inherited from IG.Lib.LoadableScriptBase
string _embeddedCommandName = null
 
int _outputLevel = DefaultOutputLevel
 
ICommandLineApplicationInterpreter _script_interpreter
 

Properties

StopWatch1 Timer [get]
 
virtual IRandomGenerator Random [get, protected set]
 Random generator used by the current object. More...
 
virtual string OptimizationDirectory [get, set]
 Optimization directory. This directory is a base directory for data used optimization and neural network - based approximation servers and for other directories that contain data for specific tasks. More...
 
virtual string WorkingDirectory [get, set]
 Working directory. This directory is a base directory for data used by the script. It is usually obtained as parent directory of the optimization directory. More...
 
virtual IAnalysis Analysis [get, protected set]
 Direct analysis object used in optimization. Initialized when first accessed with the embedded class, whose analysis function calls Analyse(...). More...
 
- Properties inherited from IG.Lib.LoadableScriptBase
string EmbeddedCommandName [get, set]
 Command that was used to launch the current embedded application script. More...
 
object Lock [get]
 This object's central lock object to be used by other object. Do not use this object for locking in class' methods, for this you should use InternalLock. More...
 
string[] InitializationArguments [get, set]
 Arguments used by the initialization method. WARNING: arguments can only be set before initialization is performed. Initialization is performed either implicitly at the first call to the Run method or explicitly by calling the Initialize method. More...
 
virtual bool IsInitialized [get, protected set]
 Whether the object has been initialized or not. More...
 
static int DefaultOutputLevel [get, set]
 
int OutputLevel [get, set]
 Level of output to console produced by some operations of the current object. More...
 
virtual
ICommandLineApplicationInterpreter 
Script_Interpreter [get, protected set]
 Script's internal interpreter that takes care for execution of installed internal commands. More...
 
SortedList< string, string > Script_CommandHelpStrings [get]
 Contains help strings associated with script commands installed on interpreter. More...
 
- Properties inherited from IG.Lib.ILoadableScript
string EmbeddedCommandName [get, set]
 Command that was used to launch the current embedded application script. More...
 
string[] InitializationArguments [get, set]
 Arguments used by the initialization method. More...
 
bool IsInitialized [get]
 Whether the object has been initialized or not. More...
 
- Properties inherited from IG.Lib.ILockable
object Lock [get]
 

Private Attributes

IRandomGenerator _randGen
 
string _optimizationDirectory
 
string _workingDirectory
 
IAnalysis _analysis
 

Additional Inherited Members

- Public Attributes inherited from IG.Lib.LoadableScriptBase
const string ConstDefaultHelp = "Help"
 Default command name for help. More...
 
const string ConstHelpDefaultUniversal = "?"
 Universal name of the help command. More...
 
const string ConstDefaultTestScrip = "TestScript"
 Default command name for test method. More...
 

Detailed Description

Base class for loadable scripts for optimization problems. AGREEMENTS: The first argument to initialization and executable method is working directory where data between different applications is exchanged. If overrigding the InitializeThis(string[])(...) method, call the base class' method first, and keep the agreement that the first argument must be the working directory. When implementing the executable (see RunThis()) method, its first argument should also be the working directory (the same as for initialization). This is to enable use of the class in scenarios where initialization and execution arguments must be the same.

$A Igor Jul09

Constructor & Destructor Documentation

IG.Lib.LoadableScriptOptBase.LoadableScriptOptBase ( )
inline

Creates the LoadableScriptOptBase object.

Member Function Documentation

override void IG.Lib.LoadableScriptOptBase.InitializeThis ( string[]  arguments)
inlineprotectedvirtual

Inializes the current script object.

Parameters
argumentsInitialization arguments. The first argument must be the working directory path.

Implements IG.Lib.LoadableScriptBase.

Reimplemented in IG.Lib.LoadableScriptOptTest.LoadableScriptOptDerived, IG.Lib.LoadableScriptOptShellBaseControllable, IG.Script.LoadableScriptShellNeural, IG.Script.LoadableScriptShellNeuralBase, and IG.Lib.LoadableScriptShellBase.

abstract void IG.Lib.LoadableScriptOptBase.Analyse ( IAnalysisResults  anRes)
pure virtual

Performs direct analysis for optimization problems. This method must be overridden in derived classes where one wants to have direct analysis defined.

Parameters
anResIAnalysisResults object where input parameters are loaded on the call, and where analysis results are stored after the call.

In order to perform the direct analysis, an embedded Analysis object is used. This object's analysis method calls the current Analyse method in order to actually perform the analysis.

Implemented in IG.Lib.LoadableScriptOptTest.LoadableScriptOptDerived.

Member Data Documentation

StopWatch1 IG.Lib.LoadableScriptOptBase._timer = null
protected
IRandomGenerator IG.Lib.LoadableScriptOptBase._randGen
private
string IG.Lib.LoadableScriptOptBase._optimizationDirectory
private
bool IG.Lib.LoadableScriptOptBase._checkOptimizationDirectoryExistence = true
protected

Whether to check existence of optimization directory when set. Also applies to working directory.

string IG.Lib.LoadableScriptOptBase._workingDirectory
private
IAnalysis IG.Lib.LoadableScriptOptBase._analysis
private

Property Documentation

StopWatch1 IG.Lib.LoadableScriptOptBase.Timer
getprotected
virtual IRandomGenerator IG.Lib.LoadableScriptOptBase.Random
getprotected set

Random generator used by the current object.

Lazy evaluation, created when needed for the first time.

The generator is thread safe and initialized with a time dependent seed.

virtual string IG.Lib.LoadableScriptOptBase.OptimizationDirectory
getset

Optimization directory. This directory is a base directory for data used optimization and neural network - based approximation servers and for other directories that contain data for specific tasks.

virtual string IG.Lib.LoadableScriptOptBase.WorkingDirectory
getset

Working directory. This directory is a base directory for data used by the script. It is usually obtained as parent directory of the optimization directory.

virtual IAnalysis IG.Lib.LoadableScriptOptBase.Analysis
getprotected set

Direct analysis object used in optimization. Initialized when first accessed with the embedded class, whose analysis function calls Analyse(...).

When getter is first accessed, this property is initialized with an object of the embedded AnalysisScript class that has Script property set to the current loadable script object. This object calls the Analyse(...) method on the currend loadable script object in order to actually perform the direct analysis. This method must be overridden in derived concrete classes. Various properties of the optimization problem such as number of parameters, number of constraints, etc., must be accessed through this object.


The documentation for this class was generated from the following file: