Simulation-Based Design Methodology for Environmental and Geophysical Information Systems
Features of the methodology include: subject domain, formalization principles, and simulation software environment.
The majority of publications on analysis and design of computer systems suggests that the scientist sets the main characteristics of an object or process, for this system is being created. Actually, sometimes the complexity and labor-intensiveness of developing a formal description of a physical object is comparable to that of the computer system itself.
Why do we need such a formalization?
It is necessary to formalize a physical object because it determines a certain environment in which the created computer system will work.
In this regard, a distinctive feature of the author's methodology is the identity of the approach to formalize a physical object and the approach to formalize a computer system. It allows us, to a certain extent, to simplify the formalization tasks.
Formalization suggests a certain hierarchy in representation of an object and a computer system. Transition from lower levels of the hierarchy to higher levels is called abstraction. Accordingly, transition from higher levels of the hierarchy to lower levels is called interpretation.
When the objectives of the computer system, its functionality and constraints on the implementation are formulated, there is an emerging problem of initial formalization of an object or process, on which or with which the system will work.
At this initial stage, a certain initial model is formed. As a rule, this model includes three main parts.
According to G. J. Klir, initial model actually sets some "language" for the description of initial data. In this sense, this model is the information interface between the actual physical world and the formal description of the object. It is the foundation for further abstraction and an information “window” into the concepts of actual physical object for the tasks of interpretation.
Initial model is called “initial”, because it is only the first level of a hierarchy of formal descriptions. The ultimate goal (the topmost level of hierarchy) is the design of a complex simulation model to study the interaction of the physical object and the created computer system. The amount of hierarchical levels of formalization and their specific content depends on the complexity of the created system and the complexity of physical object.
However, as a rule, it is necessary to have a hierarchical level specifying the data models. It is also necessary to have a hierarchical level specifying the approximation of stochastic information flows according to appropriate distributions.
A separate very serious problem - methods of implementation of the simulation model itself. To a certain extent, previous levels of formalization depend on it. I wrote my first simulation model of a computer system using FORTRAN. Today there is a broad choice of simulation software environments implemented for different platforms and various specialized simulation modeling languages. In my most recent projects I usually used the simulation environment of SLAM (AweSim) by Alan Pritsker, USA.
On this slide you can see a schematically represented process of applying the Simulation-Based Design Methodology. Within the framework of the methodology, design of a computer system is understood as a process of abstraction (ascent along the levels of the hierarchy) with conducting of corresponding computations. The interpretation of conducted computations (descent along the levels of the hierarchy) allows us to obtain numerical values of main characteristics of the designed computer system.
Computing experiments with simulation models are controlled within the frameworks of custom developed scenarios. These scenarios take into account the entered criteria of efficiency and existing constraints.
Outcome of the computing experiments are some valuations of system parameters of the designed system. Interpretation of these valuations allows us to prepare the necessary recommendations on rational architectural solutions for the specific system. Using the obtained recommendations, we can design a computing system satisfying existing constraints and the most capable of solving the formulated problems.