-
[
libohymos |
Source |
Keywords |
Summary | Ancestors | All Members | Descendants ]
- DESCRIPTION
Class Summary
class Total_system : public Sub_system
{
public:
- enum DataFileContent ;
- void Set_ohymos_option(void);
- void Read_parameter_file(char* p_file);
- void Read_initial_state_file(char* i_file);
- void Read_send_port_file(char* s_file) ;
- void Set_initial_state(FILE* fp);
- time_t Terminal_time(void) ;
- time_t MediumTermTargetTime(void) ;
- Boolean Input_data_time(time_t& input_from, time_t& input_to);
- void Input_data(void);
- void Output_data(void);
- Boolean Initial_output(void) ;
- time_t Necessary_time_from(void) ;
- time_t Necessary_time_to(void) ;
- Boolean Work(void);
- void Save_terminal_state(FILE* fp);
- void Write_terminal_state(char *f_name);
- void Write_send_port_stock(char *f_name);
- void Print_inputs(FILE* fp , char* head ) ;
- void Print_outputs(FILE* fp , char* head ) ;
- Boolean Init(char* o_name , int o_num , int num_of_itr ) ;
- Total_system(void);
- ~Total_system(void);
protected:
- time_t terminal_time;
- time_t mMediumTermTargetTime;
- void Register_input_ports(void) ;
- void Register_send_ports(void) ;
- void Register_output_ports(void) ;
- void Register_receive_ports(void) ;
- void Register_components(void) ;
- void Connect_ports(void) ;
- void Connect_components(void) ;
- Boolean Check_data_file(FILE* fp, char* f_name);
- void Deliver_data_string(char* f_file, DataFileContent content);
}; // Total_system
Back to the top of Total_system
DESCRIPTION
total system model
全体系モデルは, ファイル入出力, ネットワークによる入出力, キーボード
入力, CRT 出力など, 種々雑多なデータの入出力に対応します。 全体系モ
デルは, こうした雑多なデータを系の内部に取り込む時は, 全て Data_pack
型のデータに変換し, シミュレーション結果をシミュレーション実行者に提
供する時は, Data_pack 型で蓄積されているデータをシミュレーション実行
者の望むデータ形式に変換します。ここで, データの変換に関する具体的処
理は, 新たに作成した入力端子, 出力端子で行い, 全体系モデルでは, 入力
端子・出力端子を一定の手続きで操作するものとしました.
また, Data_pack 型に変換される入力データの他に, 全体系モデルは,全体
系内部に含まれる全要素のパラメータ・状態量の初期値をシミュレーション
実行者が用意するデータファイルから読み取る機能を備えています。 また,
シミュレーション実行者との対話により, シミュレーション目標時刻を決定
する機能も備えています。
全体系モデルは, 要素・部分系により構成され, 原則として数理計算を行わ
ず,部分系モデルと同様の構造を備えています。そこで本システムでは, 部
分系モデルを継承して全体系モデルを作成しました.
しかし, 部分系モデルが系に対するインプットデータを部分系外部から受信
して得るのに対し, 全体系は入力端子を用いてインプットデータを自ら生成
し, 構成要素に送信します。また, 構成要素が生成し, 系から外部にアウト
プットするデータを, 部分系モデルは単に外部に送信するだけですが, 全体
系モデルは出力端子を用いて, 例えば, 出力ファイルに記録するといった処
理を行います。
基本型全体系モデルを表すクラス {\tt Total\_system} で新たに追加され
たデータメンバ, メンバ関数は以下の通りです。
デ−タメンバ
・terminal_time : 構成要素のアドレスの配列
メンバ関数
・Input_data : 外部からの入力を行う.
・Output_data : 外部への出力を行う.
メンバ関数の再定義
・Calculate_time_step : シミュレーション目標時刻をシミュレーシ
ョン実行者と対話して決定する.
・Work : 入出力用端子を用いて, 全体系に対する入
出力を行う. また, 構成要素に計算実行命
令を送る.
Back to the top of Total_system
enum DataFileContent ;
Definition of DataFileContent
- PARSET:
- Parameter values are contained in the file.
- INITIAL:
- Initial state values are contained in the file.
- SDPDATA:
- Send port datapacks are contained in the file.
enum DataFileContent {PARSET, INITIAL, SDPDATA};
Back to the top of Total_system
time_t terminal_time;
Data member.
time_t terminal_time;
Back to the top of Total_system
time_t mMediumTermTargetTime;
Data member. medium term target time.
中間目標時刻
time_t mMediumTermTargetTime;
Back to the top of Total_system
void Set_ohymos_option(void);
void Set_ohymos_option(void);
Back to the top of Total_system
void Register_input_ports(void) ;
入力端子を登録します。全体系モデルのプログラマが定義する必要があり
ます。
virtual void Register_input_ports(void) = NULL;
Back to the top of Total_system
void Register_send_ports(void) ;
全体系の Register_send_ports は、Register_input_ports を実行するよ
うに定義されます。
void Register_send_ports(void)
;
Function is currently defined inline.
Back to the top of Total_system
void Register_output_ports(void) ;
出力端子を登録します。全体系モデルのプログラマが定義する必要があり
ます。
virtual void Register_output_ports(void) = NULL;
Back to the top of Total_system
void Register_receive_ports(void) ;
全体系の Register_receive_ports は、Register_output_ports を実行す
るように定義されます。
void Register_receive_ports(void)
;
Function is currently defined inline.
Back to the top of Total_system
void Register_components(void) ;
全体系の構成要素を登録する関数です。Total_system を継承して、全体系
を作成するプログラマは、この関数を定義する必要があります。
virtual void Register_components(void) = NULL;
Back to the top of Total_system
void Connect_ports(void) ;
virtual void Connect_ports(void) = NULL;
Back to the top of Total_system
void Connect_components(void) ;
virtual void Connect_components(void) = NULL;
Back to the top of Total_system
Boolean Check_data_file(FILE* fp, char* f_name);
データファイルのフォーマットの確認
Boolean Check_data_file(FILE* fp, char* f_name);
Back to the top of Total_system
void Deliver_data_string(char* f_file, DataFileContent content);
データファイルを解析して,各要素に文字列を与えてパラメタを設定する
か初期値を設定する。content == PARSET のときパラメタ設定,content
== INITIAL のとき初期値設定, content == SDPDATAのとき,送信端子に残っ
ていたデータの再設定
void Deliver_data_string(char* f_file, DataFileContent content);
Back to the top of Total_system
void Read_parameter_file(char* p_file);
void Read_parameter_file(char* p_file);
Back to the top of Total_system
void Read_initial_state_file(char* i_file);
void Read_initial_state_file(char* i_file);
Back to the top of Total_system
void Read_send_port_file(char* s_file) ;
void Read_send_port_file(char* s_file)
;
Function is currently defined inline.
Back to the top of Total_system
void Set_initial_state(FILE* fp);
ファイルから current_time を読みとります。必要なら, 継承してつくる
全体系モデルで変更してください。
virtual void Set_initial_state(FILE* fp);
Back to the top of Total_system
time_t Terminal_time(void) ;
time_t Terminal_time(void)
;
Function is currently defined inline.
Back to the top of Total_system
time_t MediumTermTargetTime(void) ;
time_t MediumTermTargetTime(void)
;
Function is currently defined inline.
Back to the top of Total_system
Boolean Input_data_time(time_t& input_from, time_t& input_to);
Boolean Input_data_time(time_t& input_from, time_t& input_to);
Back to the top of Total_system
void Input_data(void);
非仮想関数です。Work から呼ばれます。すべての入力端子にデータを読
み込むように指令します。
void Input_data(void);
Back to the top of Total_system
void Output_data(void);
Work から呼ばれます。すべての出力端子にデータを書き出すように指令
します。普通は,ファイルに出力します。
void Output_data(void);
Back to the top of Total_system
Boolean Initial_output(void) ;
Boolean Initial_output(void)
;
Function is currently defined inline.
Back to the top of Total_system
time_t Necessary_time_from(void) ;
time_t Necessary_time_from(void)
;
Function is currently defined inline.
Back to the top of Total_system
time_t Necessary_time_to(void) ;
time_t Necessary_time_to(void)
;
Function is currently defined inline.
Back to the top of Total_system
Boolean Work(void);
Boolean Work(void);
Back to the top of Total_system
void Save_terminal_state(FILE* fp);
current_time を書き込みます。必要なら, 継承してつくる全体系モデルで
変更してください。
virtual void Save_terminal_state(FILE* fp);
Back to the top of Total_system
void Write_terminal_state(char *f_name);
最終状態のファイルへの保存
ファイル f_name を新規にオープンして, 全体系の最終状態を保存しま
す。ファイル f_name がすでに存在する場合は上書きされます。
内部で, メンバ関数 Save_terminal_state, Sub_system::Terminal_state
を読んでいます。
void Write_terminal_state(char *f_name);
Back to the top of Total_system
void Write_send_port_stock(char *f_name);
出力端子に残っているデータの保存
ファイル f_name を新規にオープンして, 出力端子に残っているデータを
ファイルに保存します。ファイル f_name がすでに存在する場合は上書き
されます。
内部で, メンバ関数 Element::Save_send_port_stock,
Sub_system::Save_send_port_stock を呼んでいます。
void Write_send_port_stock(char *f_name);
Back to the top of Total_system
void Print_inputs(FILE* fp , char* head ) ;
入力端子情報の出力
ARGUMENT:
・fp 出力先ファイルのポインタ. デフォルト値 stderr.
・head 出力時のヘッダ. デフォルト値4カラム.
void Print_inputs(FILE* fp = stderr, char* head = " ")
;
Function is currently defined inline.
Back to the top of Total_system
void Print_outputs(FILE* fp , char* head ) ;
出力端子情報の出力
ARGUMENT:
・fp 出力先ファイルのポインタ. デフォルト値 stderr.
・head 出力時のヘッダ. デフォルト値4カラム.
void Print_outputs(FILE* fp = stderr, char* head = " ")
;
Function is currently defined inline.
Back to the top of Total_system
Boolean Init(char* o_name , int o_num , int num_of_itr ) ;
Boolean Init(char* o_name = "total_system", int o_num = 0,
int num_of_itr = 0)
;
Function is currently defined inline.
Back to the top of Total_system
Total_system(void);
Total_system(void);
Back to the top of Total_system
~Total_system(void);
~Total_system(void);
Back to the top of Total_system
All Members
- public:
- char* Class_name(void) ;
- char* Object_name(void) ;
- int Object_number(void) ;
- void* Owner(void) ;
- Boolean Compare(char* c_name, char* o_name, int o_num);
- Boolean Compare(char* o_name, int o_num);
- Boolean Compare(Object* obj);
- Boolean Set_owner(void* o);
- void Cprint(FILE* fp_out, char* head);
- void Cprint(FILE* fp_out) ;
- void Cprint(char* head ) ;
- void Oprint(FILE* fp_out, char* head);
- void Oprint(FILE* fp_out) ;
- void Oprint(char* head ) ;
- void Absname( char* absname );
- Boolean Init(char* o_name, int o_num);
- enum OperationFlag ;
- Boolean Register(void* obj, int num);
- Boolean Construct(void);
- void* Get_receive_port(char* c_name, char* o_name, int o_num );
- void* Get_send_port(char* c_name, char* o_name, int o_num );
- void* Get_receive_port(char* o_name, int o_num );
- void* Get_send_port(char* o_name, int o_num );
- void* Get_object(char* c_name, char* o_name, int o_num );
- void* Get_component(char* c_name, char* o_name, int o_num ) ;
- void* Get_component(char* o_name, int o_num ) ;
- Boolean Switch(void);
- Boolean Are_you_ready(void);
- Boolean Set_data_string(char* d_str, int d_strlen );
- void Clear_data_string(void);
- Boolean Get_data_string(char* d_str);
- void Set_parameter(FILE* fp) ;
- void Parameter(FILE* fp, char*& buffer, int buflen, Boolean& stock_p);
- void Set_initial_state(FILE* fp) ;
- void Initial_state(FILE* fp, char*& buffer, int buflen, Boolean& stock_p);
- Boolean Share_info(void) ;
- void Save_send_port_stock(FILE* fp);
- void Restore_send_port_stock(void);
- time_t Current_time(void) ;
- time_t Time_step(void) ;
- time_t Next_time(void) ;
- time_t Terminal_time(void) ;
- time_t MediumTermTargetTime(void) ;
- time_t Fixed_time(void) ;
- time_t Target_time(void) ;
- void Rewind_current_time(void);
- void Renew_fixed_time(void);
- void Initialize_target_time(void) ;
- void Renew_target_time(time_t itrs);
- time_t Calculate_iteration_step(void);
- time_t Necessary_time_from(Receive_port* rp);
- time_t Necessary_time_to(Receive_port* rp);
- Boolean Initial_time(time_t i_time);
- Boolean Initial_work(void);
- Boolean Can_you_calculate(void) ;
- Boolean Record_status(void);
- Boolean Work(void) ;
- Boolean Do_you_reach_target_time(void);
- void Flush_data(void);
- void Creq(void) ;
- void Print_receive_ports(FILE* fp , char* head ) ;
- void Print_send_ports(FILE* fp , char* head ) ;
- void Print_connection(FILE* fp , char* head );
- void Save_terminal_state(FILE* fp) ;
- void Terminal_state(FILE* fp);
- Element* NewElement() ;
- Boolean Init(char*, int, FILE*) ;
- Boolean Init(char* o_name, int o_num, int num_of_objs , char* p_str ) ;
- Boolean Init(char* o_name, int o_num, char* p_str) ;
- Boolean Register(void* p, int obj) ;
- void* Get_component(char* c_name, char* o_name, int o_num);
- void* Get_component(char* o_name, int o_num);
- void Set_parameter(FILE*) ;
- void Print_components(FILE* fp , char* head );
- time_t Necessary_time_from(void* rp);
- time_t Necessary_time_to(void* rp);
- time_t Calculate_time_step(void) ;
- Boolean Calculate(void) ;
- Boolean Do_you_reach_target_time(int num);
- Boolean Do_you_converge(int num);
- Boolean Init(char* o_name, int o_num, int num_of_objs , int num_of_itr , char* p_line );
- Boolean Init(char* o_name, int o_num, int num_of_objs , char* p_line );
- enum DataFileContent ;
- void Set_ohymos_option(void);
- void Read_parameter_file(char* p_file);
- void Read_initial_state_file(char* i_file);
- void Read_send_port_file(char* s_file) ;
- Boolean Input_data_time(time_t& input_from, time_t& input_to);
- void Input_data(void);
- void Output_data(void);
- Boolean Initial_output(void) ;
- time_t Necessary_time_from(void) ;
- time_t Necessary_time_to(void) ;
- void Write_terminal_state(char *f_name);
- void Write_send_port_stock(char *f_name);
- void Print_inputs(FILE* fp , char* head ) ;
- void Print_outputs(FILE* fp , char* head ) ;
- Boolean Init(char* o_name , int o_num , int num_of_itr ) ;
- protected:
- char* class_name;
- char* object_name;
- int object_number;
- void* owner;
- Boolean initialworkdone_p;
- Boolean shareinfodone_p;
- List* object_list;
- void** receive_port_array;
- int number_of_receive_ports;
- void** send_port_array;
- int number_of_send_ports;
- void** object_array;
- int number_of_objects;
- char* data_string;
- time_t current_time;
- time_t time_step;
- time_t fixed_time;
- time_t target_time;
- Boolean mCreqp;
- void* Get_from_list(char* c_name, char* o_name, int o_num);
- void* Get_from_list(char* o_name, int o_num);
- Boolean Register(void* obj);
- void Register_receive_ports(void) ;
- void Register_send_ports(void) ;
- Boolean Make_object_array(void**& obj_array, int& num_of_objs);
- Boolean Set_object_array(int num_of_objs);
- void* Get_from_array(char* c_name, char* o_name, int o_num, void** obj_array, int num_of_objs);
- void* Get_from_array(char* o_name, int o_num, void** obj_array, int num_of_objs);
- Boolean Look_data_string(char*& buffer);
- char* Get_line(FILE* fp, char* buffer, int buflen, Boolean& stock_p, int& iflag);
- void Get_line(FILE*fp, char* buffer, int buflen, char* fname, int line_number);
- void Cur2fix2tar(void) ;
- Boolean Renew_current_time(void) ;
- Boolean Can_you_calculate0(void);
- Boolean Can_you_calculate1(void);
- void Set_data_pack_array(void);
- void Reduce_data_pack_stock(void);
- Boolean Print_status(void) ;
- Boolean Work0(void);
- Boolean Work1(void);
- Boolean Work2(void);
- Boolean Work3(void);
- void Send_stocked_data(void);
- void Print_objects(FILE* fp, char* head, char* title, void** obj_array, int number_of_objs);
- void** component_array;
- int number_of_components;
- void*** iterator_array;
- int number_of_iterator_sets;
- int* number_of_iterators;
- void Register_components(void) ;
- void Initialize_iterator_array(void);
- void Register_iterators(void) ;
- Boolean Register(int num, ...);
- Boolean Register(void* p) ;
- Boolean Connect(void* my_p, void* r, char* rp_c_name, char* rp_name, int rp_num);
- Boolean Connect(void* s, char* sp_c_name, char* sp_name, int sp_num, void* r, char* rp_c_name, char* rp_name, int rp_num);
- Boolean Connect(void* s, char* sp_c_name, char* sp_name, int sp_num, void* my_p);
- Boolean Connect(void* my_p, void* r, char* rp_name, int rp_num);
- Boolean Connect(void* s, char* sp_name, int sp_num, void* r, char* rp_name, int rp_num);
- Boolean Connect(void* s, char* sp_name, int sp_num, void* my_p);
- Boolean Connect(void* my_sp, void* my_rp);
- void Connect_ports(void) ;
- void Connect_components(void) ;
- void Rewind_current_time(int num);
- void Flush_data(int num);
- void Renew_fixed_time(int num);
- void Renew_target_time(int num, time_t itrs);
- time_t Calculate_iteration_step(int num);
- time_t terminal_time;
- time_t mMediumTermTargetTime;
- void Register_input_ports(void) ;
- void Register_output_ports(void) ;
- Boolean Check_data_file(FILE* fp, char* f_name);
- void Deliver_data_string(char* f_file, DataFileContent content);
Back to the top of Total_system
Ancestors
Inheritance chain for Total_system:
Back to the top of Total_system
Descendants
Back to the top of Total_system
Generated from source by the Cocoon utilities on Sun Sep 3 22:52:08 2000
.
Report problems to jkotula@stratasys.com