## CloudMath - Mathematical Collaboration in the Cloud

The beginnings of nowadays mathematical software go back to the 1980s. Terminal based programs were hosted on mainframe computers within computing centers.

With the emergence of PCs and window based user interfaces those software packages migrated to applications with a better user guidance and broad graphical possibilities of visualization. However, the core consists still in a calculation engine which is controlled and operated by terminal based commands.

Now, with the emergence of cloud computing, the trend reverses back from single PCs to centralized systems. However, instead of terminals, today there are web browsers which have a complex user environment with HTML5, CSS3 and JavaScript. They can definitely keep up with the functions of classical windows systems.

Another trend going together with cloud computing is the emergence of social networks. Applications like Facebook and Twitter, which allows users to connect globally wouldn't be possible without high-performance scalable cloud systems. Therefore it makes sense to make these developments and concepts of modern cloud services also available for mathematical software: browser based terminal applications access the centralized computing power of the cloud system and use the additional possibilities for interaction and cooperation through the system. Users of social networks are already familiar with it and appreciate it.

Out of these ideas the platform CloudMath has been developed as a project by the company Dr. Hornecker Softwareentwicklung (Freiburg/Germany) in collaboration with and under the supervision of Prof. Wolfram Koepf of the Institute of Mathematics at the University of Kassel (Germany). The project was supported by ZIM, a German funding program for small and medium sized enterprises of the Federal Ministry for Economic Affairs and Energy.

In the meantime the platform works as a prototype and is tested in a beta phase.

Directly after the login the platform is presented for mathematical scientific work as well as for interaction with other users of the platform.

Typical options of social networks like blog, chat or fora are implemented. For the mathematical work there are project folders which are called Solutions. Within Solutions worksheets can be created as commonly known from other mathematical software: the system replies to the entry of a command with the result of a calculation, a graph etc.

As processing engines CloudMath uses well known open source packages for the different fields of mathematical computation, in the case of computer algebra this is the package SAGE, which was extended for the use as a webservice from the CloudMath frontend. This modular concept makes the platform open for future extensions. Beside SAGE for computer algebra also services for numerical (Octave) and statistical computation (R) are already included and interfaces between the services enable the easy switch and exchange of data between these systems.

By using the plugin architecture it is also possible to integrate other free and commercial systems.

The systems are connected through a command language based on Python which can be used independently from the plugins. Through this comprehensive level there can also take place an exchange of data between the single systems. That way it is possible to e.g. define an algebraic system in SAGE, to calculate it numerically in Octave and then analyze it with R. Doing so, the best of each world can be used.

On a higher level the visualization library CloudMathPlot has been implemented. It makes the output as well as the interaction with 2D- and 3D- graphs in the browser possible.

As mentioned before CloudMath is not only a move of classic systems into the cloud but has also been extended by an interactive component. Work may be shared with other users and worksheets may be created and edited by multiple users at the same time in some kind of mathematical "chatting". Input and results are automatically broadcasted to all participants, which enables new methods of collaboration and also teaching.

In summary the advantages of CloudMath are:

- The data is accessible around the world from any internet access
- Collaboration over the web, creation of common worksheets for use in parallel is possible.
- No installation is necessary at the client's side, maintenance and improvement take place directly at the provider's side. There are no software updates to install, one works always with the latest stable version.