PROGRAMMING THE ENVIRONMENT OF AN ONLINE SYMBOLIC-NUMERIC COMPUTATIONAL SYSTEM
An online programming environment which provides a specialized code editor (CodeMirror) and an output console for displaying code execution result or any error message generated during execution has been developed and deployed. A dedicated scripting language has been designed for using in the programming environment, which is based on Python 3 programming language. The resulting language inherits the syntax and semantics, basic data types and built-in functions from Python. As a result, it is possible to use standard and third-party libraries in the online environment. The seamless integration simplifies the process of development and testing of new algorithms and solutions. After designing and implementing the algorithm in the online environment, it is easy to execute the resulting script and see the output and after that, if necessary, make changes and run the script again. For example the "datetime", "random" and "itertools" modules from standard library, also the "numpy" and "sympy" libraries, which are widely used in scientific and engineering software, are available out of the box. The interoperability between Python and the created scripting language provides an ability not only to use the mentioned libraries, but also to implement and integrate new ones. The designed programming environment is deployed on "Online Computational Platform", which provides implementations of algorithms for computation of various properties of multivariable polynomial matrices, performing differential transformations and other calculations. The platform is intended to store the implementations and make them automatically available to the consumers by web-service. By integrating the programming environment with the online platform, all the modules and their functions become accessible from the scripting language. The computation power and resources are also made available, so the scripts can benefit from multi-core processors and parallelization. The unified platform provides an ability to solve various problems, including parametric ones, design algorithms with new methodologies and perform multi-version tests.