USING THE TECHNICAL EXPERIMENT IN THE COMPUTER SIMULATION TRAINING FOR PROSPECTING SOFTWARE ENGINEERS

: In present work, a new technology of the prospective software engineers training in computer simulation is described. The technology provides carrying out comparative analysis of opportunities, productivity, and the accuracy of the reproduction of different computer simulation packages (CSP) on the basis of direct performance of the technical experiment results. Training process includes the principal stages: carrying out of the independent technical experiment; its simulation using of various CSP; comparison of the result of the tested CSP to the results of the experiment; models of debugging; detection of advantages and shortcomings of each involved CSP. As an example, in Open Modelica and Mathcad packages analysis of simulation opportunities of a problem of the motion of the body thrown at an angle to the horizon is carried out. As a result, assessment of the efficiency of each CSP used for the solution of an objective is made. When training prospective software developers the offered technology is the basis for further development of the modern standard in the field of computer simulation.


INTRODUCTION
Currently there are more than ten popular computer simulation packages (CSP), each of them is developed in its own way, increasing the functionality demanded in practice [1,2]. During their development the certain algorithms for solving scientific and technical tasks are implemented and can optimally satisfy the needs of users [3]. However, computer simulation training for both developers and qualified users remains difficult (often heuristic) long process.
The lack of CSP standards [4] leads to the fact that each development model environment is formed according to its own library of standard models. These are always unique collections which are of great interest for training in simulation, for research of packages' opportunities, productivity and accuracy of offered solution. At the same time comparison and converting of models from one environment to other often shows the intensive manual process which is difficult to formalize [5]. Moreover, having even the same accurate written mathematical model in different CSP it is difficult to guarantee (in case of model is not trivial) that equivalent program implementation of this model is loaded into a package. Impossibility to read the source code CSP does not allow us to compare algorithms, to make analysis of different implementations efficiency. All this stuff is possible for indirect analyzingby the overall performance of the software. As a result, the use of standardized models which are not completely corresponding to real installations can lead to omission of essential results of an experiment or to false results of its processing [6].
High cost of simulation packages including closed program source code created by developers of the simulation environment in terms of training does not give a chance to familiarize with the CSP inner pattern and those problems that the simulation tool must cope with. It is not always possible to see which representation the package works during experiment with, which settings trigger particular solution method. Therefore, the choice of the optimal simulation environment during considering the specific objective by software (SW) engineer is defined in general according to the description of package opportunities from the developer.
Under production conditions this problem, undoubtedly, is fixed by comparison of results based on simulation to the data received from experimental installation. But more often the production experiment is conducted by one person and its simulationby another. SW engineer deals only with an ideal object with a limited set of the parameters provided by the experimenter. He cannot evaluate a contribution of all essential factors which have an impact on model's work. At the same time the specialist who is responsible for the experiment is not always competent in providing data for assuring optimal process of simulation (is not familiar with simulation environment opportunities). As a result, the model of the user can lead to an incorrect mathematical system which cannot obviously be solved [7]. Therefore, the SW developer must be competent in order to provide proper technological experimental set up and to assess its results for comparison opportunity analysis, performance and accuracy of solution's reproduction in different simulation packages.
Comparative analysis of various CSPs is often used in practice. Such an analysis was implemented in [8] to answer the questions that are stumbled upon when using any specific simulation package (more than 50 different packages) in the market or in the academic arena. In the work [9] the main results and conclusions of an international benchmark study on the performance of computer simulation codes are presented (based on the prediction of parametric rolling of ships in waves). The comparative studies of various packages for modeling discrete events is presented in the research [10] (a literature review was conducted, in which 45 papers were considered relevant for this research). All the investigations described have two main purposes: identify CSP user problems and get information to improve CSP. However, the development of SW engineers' competence to the implementation of a comparative analysis of modeling packages based on a real technical (production) experiment has not been considered anywhere.
In this work we are offering approach to develop the prospecting SW engineers' competence based on providing of a technical experiment during computer simulation classes. Nowadays, digital support of educational process in physics, mathematics, electrical engineering and other engineering subjects is methodically provided and widespread in Technical Universities [11][12][13]. At the same time the approach to competence development in computer simulation using technical experiment is not practically applied either in universities in Ukraine or in other countries [14][15][16].
The relevance of the study is confirmed by the data [17] on motivation in software development. 53 relevant documents were selected for data abstraction and analysis. As a result, it was found that understanding the relationship of the modeling package with the real object is an essential factor in the motivation of SW engineers.

EXPERIMENT'S DESCRIPTION
Usually during computer simulation training the student receives different tasks which he has to solve within some environment of simulation. We offer the inverted approachinvestigation of one task in several simulation environments and comparison of their results based on the conducted technical experiment. At the beginning of work it is presumed that the student is familiar with the internal device of the package with automatically solved problems according to CSP. The process consists of the following stages: 1. Independent executing of the technical experiment; 2. Simulation of this experiment with the use of several CSPs; 3. A comparison of the results obtained using CSP with the results of the technical experiment, search of the reason of their possible discrepancies, debugging models; 4. A comparison analysis of the simulation results, detection of advantages and disadvantages of each involved CSP.
As an example, modification of the task which is the most widespread computing experiment (available at most libraries of the CSP standard models) -flight of the body thrown at an angle to the horizon is considered.

SETTING UP THE TECHNICAL EXPERIMENT
The corresponding installation for providing experiment in laboratory can be viewed in Fig. 1. It consists of: the gun (1) installed under an adjustable corner θ to the horizon which has the ball bullet located in; the disk shaped rotary pendulum (2) with the mirror (3) located on its axis; the permanently attached laser which has λ=650 wavelength nanometer (4) and the beam falling on the mirror; the rulers (5) with the MD-3 After the shot the bullet that has gone off at an angle θ to the horizon gets to the pendulum placed at a distance of L=1.2 m from the point of its departure. As a result, the pendulum turns on the corner β regarding axis Z. Value β is directly proportional to distance from the spin axis to the point of the bullet hit (h), i.e. to the position of the bullet along to Y-axis, towards to departure point.
As the result of the pendulum turn under the angle β reflected from the mirror, laser beam deviates along the ruler on distance d. The signal from the tape photodiodes located on beam deflection border having discretization of 1 mm is registered by the voltmeter. The background flare of photodiodes on the registered wavelength has significantly lower value than intensity of the reflected laser radiation and does not influence on experiment's measure of inaccuracy.
Electric potential value received from photodiodes shows which quantity from them was lit as a result of beam deflection and allows us to set the value of d. The value of h is determined based on the graphical proportion between β, d and h.

THE CHOICE OF THE COMPUTER SIMULATION PACKAGES
For training simulation basics on practice, it is possible to use different CSPs. The most popular products are Model Vision Studium, Mathcad, Matlab, Anylogic, OpenModelica, etc. Capabilities of the most demanded visual simulation packages aggregated according to a number of works [6,18,19] are given in Table 1. Majority of environments provide the convenient graphic interface which allows us to quickly create models. In case of training the simulation developer, it looks like an efficient method (it is enough to show which buttons of the interface should be pressed, train to work with wizards setup). If the learning material is presented more profoundly at a higher level in order to enable the student to understand in details features that the simulation language can have, then it is useful to enable him to describe models in a text starting from the lowest level. In such format OpenModelica package is able to provide training. At the same time, one should not ignore capabilities of classical mathematical simulation packages such as Mathcad. These both packages (OpenModelica and Mathcad) that have different principles of the simulation process organization are selected for contrastive analysis of the CSP' opportunities based on the technical experiment.

THE POSSIBILITIES OF THE MATHCAD PACKAGE
Bullet movement with the mass of m in the task illustrated in Fig. 1 is pulled apart two componentshorizontal (the X-axis perpendicular to the disk plane) and vertical (Y-axis). As the result, we get and solve the system of differential equations (not including air resistance).
In Fig. 2 the numerical solution of this task in the Mathcad package environment [20] through the using of the Solve block is shown: 1 -"Restrictions" area; 2 -"Solver" area. In this block the user fills "Restriction" field with initial conditions (the bullet position and its speed at initial timepoint with values h2 and y2 for coordinates and m2 for its weight) and the differential equations system. "Solver" area should be filled with odesolve function that is built in Mathcad returning the user functions (coordinates of bodies in time) and describes the body movement under gravity. Through simple conversions this problem can also be solved analytically (via symbols).

Figure 2 -The numerical solution to the task in the
Mathcad package environment The system described in Fig. 2 can be easily expanded by removing from the task a number of limitations. It is possible to consider the movement of a body taking into account air resistance, taking it, for example, proportional to the cross-sectional area of the bullet increased on environment specific density (air) and on squared speed. We can take into account the change in height of the gravity acceleration values, air density, etc. It is also possible to refuse a Cartesian coordinate system and switch to polar coordinates, i.e. to take into account the curvature of the Earth's surface but not the parallelity of gravity vectors. In Mathcad package there is also an opportunity to construct a trajectory of the bullet movement that is displayed in Fig. 3 in the diagram and to create animation (via the website).

CAPABILITIES OF THE OPENMODELICA PACKAGE
CSP OpenModelica uses the Modelica language [21] that currently is one of the most "advanced" languages for object-oriented simulation. According to its capabilities it is coming closer to such computing environments as Matlab Simulink, Scilab-Xcos, having at the same time much more convenient concept of the studied block's system. The UML (Unified Modeling Language) is used for visual simulation. There is an opportunity of automatic generation of the program source code for the UML charts and inverse transformation (refactoring).
In the considered task it is possible to define dependence for value h at the bullet departure corner (in this systembodies). The array of class copies is needed for conducting an experiment MotionXY: In the structural scheme of the diagram this array will be represented as the multiobject described in Fig. 4.

Figure 4 -The structural scheme of the diagram based on the task
A set of throwing angles can be defined in the DTetas parameter. Model of the bullet can be taken as condition S1 as local activity with present value of the "Teta_0=rad (Dtetas [i])" throwing angle. Unconditional transition from S1 condition to the point of branching is performed after completion of the shell model behavior, i.e. after hit of a bullet.

Flying range in i-m testing is remembered in X[i].
After enumerating of all values of a vector DTetas, required dependence (chart X (DTetas)) plus the test trajectories are received (presented in Fig. 5).
In the package different optional behavior cards are put that give an objective solution. The enumerating logic of search of throwing angles' set can also be implemented by means of looping statement in output discrete actions. Besides, two operation modes of the plot command are defined: a) it is possible to build temporary diagrams (required unknown values are specified in comma separated form as plot command parameter, further they need to be reflected in the diagram); b) it is possible to build phase charts (required unknown values are specified in comma separated form as plot command parameter that will be displayed along the vertical axis and as a separate operatorrequired variable; further phase charts will be built according to this variable). Modular (automatic) and functional (user) testing are used for check classes operability in package.
Then requirements to a system are specified and new iteration is provided. There is an opportunity to perform a parametric optimization for calculation of

THE EXPERIMENTAL RESULTS AND ANALYSIS
In Fig. 6 the points indicate the values h found by results of a physical experiment for different angles of a bullet departure θ ranging from 3 up to 11 degrees with a discrete step 2°. The shot is made for each value of a corner five times. Value h is as mean value on five shots. The error is defined in each point as root mean square deviation. Its maximum value is designated for θ=11° and is ±2.3·10 -3 m.
The dependence of h(θ) received as a result of simulation of the bullet movement taking into account air resistance and does not differ for CSP Mathcad and OpenModelica. This dependence is represented in Fig. 6 by a solid line.
The analysis provided by students consists of the following stages.
1. Analysis of graphic dependences. It is possible to see that distance of the solid line deviation started from the experimental point is bigger than interval of given measure of inaccuracy. Therefore, there is statistically significant discrepancy of results of the technical experiment and computer simulation.
2. Forming of a hypothesis regarding the discrepancy reasons. All experimental points are placed above the line of computer simulation. Trajectories of the bullet movement represented in Fig. 3 and Fig. 5 show that all points for θ ≤ 11 of its hit in the pendulum correspond to the area of increase in a parabolic function. Therefore, a hypothesis is made according to which during laboratory experiment the bullet flies in the horizontal direction distance of S, which is bigger than L=1.2 m. It is possible if the sight is deflected and the bullet moves, as shown in Fig. 7, under some corner α to X-axis (X-axis is perpendicular to Z-axis, as it is shown in Fig. 1). It should be noted that the sight deviation on a corner α, without the knowing of the student, is exposed by the teacher before the experiment. Stepwise correction of flying range S [22] is carried out by the formula: , cos /  L S = (2) and the value of a corner α is defined which has minimal difference between the laboratory result and the simulation result.
Refinement of the solution in the CSP OpenModelica is possible based on built-in debugging tools of a visual model with the subsequent run of model by means of do operator. At the same time for the plan of model run it is used own behavior of the "Model" class [23]. In particular, it is necessary to write directly in a system of equations of the class "Model" the equation (2) as "additional impact". As a result of a Stepwise Refinement, the model passes into end state.
The specified dependences of h(θ) received in the CSP Mathcad and OpenModelica are combined with results of a technical experiment and compared among themselves. If the hypothesis is not confirmed, then new one is moved forward new with the subsequent check (return to stage 2). If discrepancy of results of the technical experiment and computer simulation are not statistically significant, then the student passes to the fourth stage. 4. A contrastive analysis of efficiency of the CSP' using for the task solution. At contrastive analysis of efficiency of using the CSP for a solution of the task such indicators are used: usability of the CSP; efficiency of automatic creation of the model; efficiency of creation of diagrams/charts; capability of establishing reasons for rejection of the received results based on real and virtual test boards; simplicity and efficiency of model's debugging. In addition, the indicator "general impression from the CSP' using" is represented. This indicator is based on the analysis provided in Sections 2 and 3 and also includes the aspects which are not included into other indicators. The student evaluates all listed indicators in 1 to 5 marks range and fills in Table 2. The last "Total points" line of the table shows which CSP is more preferable to apply for computer simulation of the considered type of the tasks.
The indicators values in Table 2 show the opinion of an individual student and are subjective. Besides, the analysis of one technical experiment results is not enough to conclude about the utility of the CSP. The training process for software engineers should consist of a series of laboratory experiments that are carried out according to the described technology. It should be noted that during training there can be used not only tasks of different branches of physics, theoretical mechanics, electrical engineering, but also experimental problems of other subjects which aware execution of laboratory works and also experiments made within course and graduate works (corresponding example from the graduate work is given in the herein [24]). The cumulative experience of comparative analysis of CSP based on real technical experiments forms an important competency, which is the basis for the development and improvement of computer simulation packages.

SUMMARY AND CONCLUSION
The offered technology of applying the technical experiment during classes in computer simulation training has the following advantages. First, the competence of the choice and assessment of CSP capabilities is formed in order to solve set task. Secondly, new skills of analytical comparison of conditions for providing production experiments and input parameters for computer simulation and ability to select the factors essential to the studied process appear. Thirdly, experience of the CSP analysis based on real tasks is a basis for further development of the modern standard in the simulation sphere.
The specialist who is able to understand both internal specifics of simulation packages work and specifics of their applying in real engineering tasks will be much more qualified, than the specialist who is able to work only with formalized data. Thus, using the offered technology, in general, increases the level of SW engineer's professional skills.