Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The Developer Feature provides utilities to simplify the development and testing of components in Odysseus.

Image Added

All utilities are accessible from within the main menu. Currently, the feature consists of two three main parts:

Testcase Generator

The Testcase Generator provides an editor to generate operator specific integration tests.

CheatSheet Generator

The CheatSheet Generator adds the possibility to create a cheatsheet out of a running Odysseus setup. Therefore, it adds two entries to the menubar at Help -> Generate Cheatsheet. The user can choose between PDF and HTML. In case of PDF, the feature generates a LaTeX file with the documentation of each available operator in the current setup and compiles it into a PDF using PDFLaTeX by default. The command to compile the TeX source can be changed by setting the latex system parameter. In case of HTML, the feature generates an HTML document with the documentation of each available operator in the current setup.

The CheatSheet Generator can also be used by lecturers to generate course specific operator documentations.

 

MEP Tests and Time/Space requirements

The first utility called "Test MEP Function" allows to test a specific MEP function with different accepted types to make sure the function shows the expected behavior for all accepted data types. To do so the tool generates specific test cases for all permutations of possible accepted data type combinations.

Image Added

The result of the MEP function test is stored in JSON format and includes a detailed report about all tests including parameter type, value, and stacktrace in case of an error.

The second utility estimates the average time and space requirements for all MEP functions and calculates the relative time and space complexity score which can be used for the predicate optimization in the rewrite phase during the query compilation.

Image Added

The result is a CSV file with the following schema:Symbol, Class, Time Score, Space Score, Time (ns), Space (byte)

The estimation can be restricted to a specific set of packages by defining a filter. Note: The estimated time and space score is a relative value of the estimated time and space requirements. Also the estimated scores can differ depending on the platform.

 

Testcase Generator

The Testcase Generator provides an editor to generate operator specific integration tests.

Image Added