Name: | Starodubtsev Dmytro | |
University: | 2005-2011 years — Donetsk National Technical University | |
Faculty: | Computer Sciences and Technologies | |
Department: | Computer Engineering | |
Speciality: | System programming | |
Theme of master's work: | Component-based simulation software development for distributed parallel simulation environment (DPSE) | |
Scientific advisor: | Doctor of technical sciences, professor Svjatnyj Vladimir Andreevich | |
Abstract
Component-based simulation software development for distributed parallel simulation environment (DPSE)IntroductionDistributed parallel simulation environments become more important in industry and science. Now most of the scientific and industrial projects have the stage of simulation before implementing, the result of which is a kind of "way to life". Therefore, this area is received big attention; it is constantly evolving, and simulation environment become more complex. Hundreds of computers are used for their work. Multiple-computer calculating centers exist in many major scientific laboratories. But the use of simulation and design of such environments requires new means to develop the parallel simulation software. The solution of this problem is to use a component-based approach in the development of distributed simulation environments. This method of design simulation software has several advantages, currently described in the synopsis. Goals and problemsThe purpose of this master's thesis is to find ways to implement the simulation software for distributed parallel simulation environment using a component-based approach in its development. This problem requires solving the following set of objectives:
The idea of realization of a distributed parallel simulation environment using a component-based programming approach arose because the objects of simulation became very complex and, hence, the simulation process too. In modern science and industry is much easier at first to make simulation of developed project, instead of doing his prototype. It saves time and money. In today's IT-world, these two things are very important. IT-sphere — one of the fastest growing industries. Constantly change requirements for simulation environments: complexity, object modeling, the laws describing the model. It needs to accelerate and simplify the development of simulation environments. This can be done through the division of the distributed parallel environment for simulation subsystems, representing them as independent components. And after this we must to develop only the interface of interaction between them. As a result, each component operates independently on the others, and if necessary (their improvement, correction), they can simply be replaced. Supposed scientific noveltyThe novelty of this work is realization of a distributed parallel simulation environment using a component-based programming approach, which will give new opportunities to use, reconfiguration of such environments. Expected practical resultsThe proposed idea of a distributed parallel simulation environments enable completely different look at this problem. Creation of a new environment will become much easier; replacing of components will require a minimum of effort. Review of research and developments on the subjectLocal level (professors of the faculty, graduate students and masters of DonNTU). Consideration of issues related to the implementation of distributed parallel simulation environments involved:
1. Feldmann L. P.,Svjatnyj V. A., Resch M., Zeitz M. FORSCHUNGSGEBIET: PARALLELE SIMULATIONSTECHNIK.
3. Stepanov I. Subject of master’s thesis “Distributed parallel simulation environment” 5. Zima K. Subject of master’s thesis “Parallel simulation environment for discrete systems” Search of developments on this topic at the national level:
6. Tomashewskiy V. Modeling of systems. - K.: Publishing Group BHV, 2005 - p. 9-14.
At the global level were found the following publications on the topic: 7. Tick J., Special Aspects of Component Based Software Development
8. Crnkovic I., Larsson M. Component-Based Software Engineering – New Paradigm of Software Development
9. Feldmann L. P.,Svjatnyj V. A., Resch M., Zeitz M. FORSCHUNGSGEBIET: PARALLELE SIMULATIONSTECHNIK. Principles of component-based design of Hardware-Software SystemsSince the emergence of programming as a separate branch of science and industry, it is pursued constantly by various changes and innovations. This is due to the fact that people have not yet found the ideal technology of development of software and hardware systems. Therefore, from time to time on programming come ideas of fundamental changes. Scientists identify several stages of evolution towards the creation of software. For example, in [7] the author proposes the following structure:
Languages of the first two groups are not used, or have a very narrow range of applications. Most common are high-level programming languages. Their use is most convenient to perform most tasks. They are designed so that people could intuitively understand the program. But even among them there are a range of ideas to write code. In [2] is distinguished the following classification of high-level languages:
[3] gives the following definition for the direction of component-based programming: "Component-Oriented Programming — one of the paradigms in programming, has emerged as a kind of discipline, that is, set of certain restrictions which are attached on the mechanism of the OOP, when it became clear that the uncontrolled use of the OOP is a cause of problems associated with the reliability of large software systems. These so-called problem of fragile base types: appears when you try to change the implementation of the base type (base class) due to the refusal descendant classes." Single component is a software package or module, which includes a set of functions and data. All program functions are placed in different parts. The data, which are placed in a single component, are unrelated to the data from the other. The interaction between the components implement by using of special interfaces. Through them, just the necessary data are passed, and about inner working of each other's components do not know. This idea allows for many variations in working with component-based software. Components are interchangeable. The main condition is an implementation of the necessary functions and support of interaction interfaces. Components that have good performance, can be used in new projects, which saves time and money. An important condition to use the component is a full documentation of the interaction interface. This problem has always been given much attention, because one small mistake in the documents and codes of programs can lead to malfunction of all system. Main features and advantages of component-based approach in programming can be formulated as follows, [2]:
The cycle of development of component-based software has certain stages, compliance with which makes the work more cost-effective and efficient [4]:
The described technique is shown in Figure 1. Figure 1 — The method of component-based application development (Animation consists from 5 frames with delay 700 ms between frames; delay before repeat is 1200 ms, number of cycles of reproduction is limited to 7, size 770*264, 112kB, created in MP GIF Animator) The paradigm of component-based software is already very well established in our lives. And in such fields as development of control systems, monitoring, simulation of complex systems, has replaced object-oriented programming. Distributed parallel simulation environments and their architectureFor modeling and simulation of dynamical systems with concentrated or distributed parameters usually distributed parallel simulation environments (DPSE) are used. DPSE is a set of user-friendly simulation technology hardware, system software for the architecture, specially developed software for modeling, simulation and technical support of subsystems that supports all stages of the parallel modeling and simulation of dynamic systems under all possible requirements. [5] shows the structure of DPSE, shown in Fig. 2. DPSE is regarded as a complex HW/SW-system. It can be divided into relatively independent and parallel operating subsystems, depending on the functions they perform. This allows another way to present the process of developing of simulation environments. Component-based organization of DPSEBased on the structure of the DPSE, as shown in Figure 2, we can appropriate the following components, according to the functions entrusted to them [5]:
Figure 2 – Systemic organization of DPSE SummaryDistributed parallel simulation environments become more complex. Their development and maintenance become more difficult. Therefore, for the development of DPSE we must to use new technologies that will take properties of software and hardware. This opportunity provides a component-based approach of software development. When using it, the model environment is divided into subsystems that serve as a component. Each component performs a specific group of functions and interacts with other components. With proper distribution of functions, design of hardware, implementation of database and interface interaction, documentation of designing methods distributed parallel simulation environment get a lot of advantages. The development, replacement and upgrading components, the reorganization of environment become much easier. References
Copyright © Starodubtsev 2010 DonNTU |