A study of a White Box Problem Solving Environment for Partial-Differential-Equations based Problems(偏微分方程式問題の問題解決環境に関する研究)
氏名 Boonmee Choompol
学位の種類 博士(工学)
学位記番号 博甲第159号
学位授与の日付 平成10年3月25日
学位論文の題目 A study of a White Box Problem Solving Environment for Partial-Differential-Equations based Problems (偏微分方程式問題の問題解決環境に関する研究)
論文審査委員
主査 助教授 川田 重夫
副査 教授 長谷川 光彦
副査 助教授 中川 健治
副査 助教授 永澤 茂
副査 静岡大学 教授 梅谷 征雄
副査 金沢大学 教授 田子 精男
[平成9(1997)年度博士論文題名一覧] [博士論文題名一覧]に戻る.
1. INTRODUCTION p.1
1.1 Problem Solving Environment for Scientific Simulation p.1
1.2 Problem and Solution of PSE for Scientific Computation p.4
1.3 Black Box System p.7
1.4 Requirement of Interactive White Box System p.9
1.5 Enabling Technology p.10
1.6 Visualization and Steering p.12
1.7 Virtual Scientific Computation Expert Society p.12
2. ENABLING TECHNOLOGY FOR A WHITE BOX PSE p.14
2.1 The Enabling Technologies for a White Box PSE p.15
2.2 Characteristics of Intermediate Result p.17
2.2.1 Hierarchical Structure of Data p.18
2.2.2 Symbol Definition and its Instance p.24
2.3 Data Structure for White Box PSE p.29
2.4 Scopre and Inheritance p.33
2.5 Visual and Natural Description p.35
2.6 Collection of Reference Objects and Instance Objects p.37
2.7 PSE as a Problem Solving Advisor p.39
2.8 Discretization and Algebraic Manipulation p.41
2.9 Message Propagation in Hierarchical Structure p.43
2.10 Implementation of Foundation Class p.45
2.11 Reference and Instance Markup Language(RIML) p.47
2.12 Agent-based Approach p.48
2.13 Conclusions p.49
3. VISUALIZATION AND STEERING p.50
3.1 Toward a Flexible Simulation Environment p.50
3.2 NCAS: An Interactive Visual PSE p.51
3.3 Data Structure for PDEs Problem Description p.52
3.4 Problem Description in the NCAS System p.54
3.5 Discretization Process p.68
3.6 Solver Subprogram Generation Process p.72
3.7 Visualization of Program Generation Process p.73
3.7.1 The Process and Its Hierarchical Structure p.76
3.7.2 Grouping of Terms in Difference Equations p.77
3.7.3 Visualization of Computation Order p.78
3.7.4 Visualization of Generated Source Program p.80
3.7.5 Readability of Generated Source Program p.88
3.8 Steering of Scientific Computation Process p.96
3.8.1 Steering of Program Generation Process p.98
3.9 Reusability of Process p.103
3.10 Steering and real time visualization p.103
3.10 Conclusions p.107
4. VIRTUAL SCIENTIFIC COMPUTATION EXPERTS SOCIETY p.109
4.1 Introduction p.110
4.2 Scientific Computation Expert Society Model p.112
4.3 Information Handling in NCAS p.117
4.4 Virtual Scientific Computation Expert Society (VSCES) and NACS p.119
4.5 Examples p.124
4.6 Conclusions p.128
5. SUMMARY AND CONCLUSIONS p.129
5.1 Data Structure as Enabling Technology p.129
5.2 Visualization and Steering p.130
5.3 Virtual Expert Society (VCSES) p.130
REFERENCES p.132
LIST OF AUTHER'S PUBLICATION p.141
I studied a problem solving environment (PSE) for partial differential equations (PDEs) based problems. I studied and developed a white box PSE called NCAS which provides capabilities of visualization, steering and track- keeping of computation process in a comprehensive way. Previous PSEs do not provide these capabilities, and therefore users can not verify, modify nor reuse the computation process sufficiently.
The visualization capability allows users to verify the correctness of the computation process, and therefore a higher reliability and a higher comprehensibility are obtained. The steering capability allows users to control the process, and leads to a higher flexibility. The track-keeping capability provides a high reusability of the process, and a higher productivity can be obtained. Via the steering and track-keeping capabilities the users can retrieve and modify the existing computation process and establish their own new solutions.
NCAS keeps the track of the computation process performed in the system by using a tree-type data structure. The process is visualized by using the ‘compute-and-store' visualization model. I define a process descriptor (ProcD) and an object container (ObjC) as the basic visualization elements. ProcD denotes a method and consists of both a description box and input/output data pipes, while ObjC is a container of input/output objects. Thus I use ProcD to visualize a process and ObjC to hold the intermediate results. In general, a process result contains various kinds of data. For example, it may consist of raw equations, discretized ones, numerical data, etc. Each ProcD and ObjC object visualizes itself appropriately depending on the subprocesses or the results. Users can view and encapsulate the overall process, or expand and view the specific details of any component. With this ‘expand and view' approach, a long and complicated result, for example a difference equation, is visualized in a compact fashion.
By the steering capability I mean that the user can dynamically add or modify processes (e.g. the discretization method, matrix solving algorithm, algebraic manipulation, etc.) and assess the impact on the simulation results. NCAS initially chooses the most commonly used method for a given process automatically. The user can subsequently change these defaults and witness the propagated result. Default selections make the system easy to use for neophyte numericists, while the process modification means that the more advanced user can trial-and-error-customize (steer) the program generation based on his or her problem. The user can apply the steering techniques not only to a process, but also to an intermediate result of a process. The modified process is kept in the system and can be stored into storage devices for the future reuse.
In the NCAS system, the real-time visualization of the results is performed - the user has an instant feedback on the effect of change of system parameter and algorithm - so that he or she can dynamically steer the computation process.
I also proposed a network-linked distributed virtual experts society called virtual scientific computation experts society (VSCES). Each virtual expert in VSCES is a white box PSE which can keep various computation processes. The virtual experts have their own computation resources which include problem models, solution methods, computation processes and solver programs. Users put queries to the experts in the VSCES and obtain the computation resources. The users can gain the profits of various methods or resources from the experts, and can apply to their problems for the better solutions. The users can also improve the existing process and store the improved results to the neighbor experts for the future reuse.
The existing PSEs paid little heed to the track-keeping, the visualization and the steering of computation processes. I proposed a white box PSE which provides the capabilities of visualization, steering and track-keeping of computation process and the virtual experts society (VSCES). Via the approach toward a white box PSE and VSCES, the PSE provides a higher reliability, a higher comprehensibility, a higher flexibility and a higher productivity compared with the previous PSEs.