Rocs

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Rocs
Rocs.png
Screenshot of Rocs
Developer(s) KDE
Initial release 2009 (2009)
Written in C++ (Qt)
Operating system Unix-like (BSDs, Linux, OS X), Windows
Available in multiple languages
Type Educational
License GNU GPL
Website edu.kde.org/rocs/

Rocs is a graph theory program part of the KDE Education Project.[1] It has been described as a :scientific application for advanced math and graph theory" [2] and is designed to help professors show the results of graph algorithms, as well as helping students do the algorithms. The software is free and open source, licensed under the GNU Public License. It was introduced in KDE 4.4.[3]

User interface[edit]

Parts of the Rocs user interface

Rocs divides the user interface in 3 logical parts, the visual graph editor, the script editor and the script output. Data structures can be created in the visual graph editor with a friendly GUI interface, while algorithms can be written in the script editor. Tabs are supported, allowing the user to work on multiple algorithms at the same time. Debug information can be emitted to the script output panel.


Rocs also supports importing and exporting of graph documents with other software, and currently supports the following formats:

Scripting engine[edit]

The Rocs scripting engine is internally powered by the QtScript scripting engine, which is based on ECMAScript.[4] All data structures inherit properties from the base structure called the "Abstract Data Structure Object". Base abstract proprieties include the width, x and y positions, color and a unique identifier.[5] Pointers are used to connect two data elements together, and new properties can be defined via the scripting engine.

Scripts can be stepped through and debugged, and text output is done over the console object similar to the Javascript environment in most modern browsers. The scripting engine supports advanced features such as including other files, and includes built in data structures like linked lists.

External links[edit]