Changes for page Lego On-Line Testing System (KLOTS)
Last modified by Richard Kreissig on 2023/09/14 10:54
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,13 +1,16 @@ 1 +{{warning}} 2 +This page is not migrated yet. Try the [[old wiki>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler||shape="rect"]] until someone fills me with content. 3 +{{/warning}} 4 + 1 1 {{panel title="Project Overview" borderStyle="dashed"}} 2 2 Responsible: 3 3 4 -* [[Christian Motika>>url:http://www.informatik.uni-kiel.de/rtsys/kontakt/cmot/||shape="rect"]] 5 5 * Yvan Benekov 6 6 {{/panel}} 7 7 8 8 = KLOTS - KIELER Lego On-line Testing System[[url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/wiki/Projects/KLOTS#KLOTS-KIELERLegoOn-lineTestingSystem||title="Link to this section" shape="rect" class="anchor"]] = 9 9 10 - [[image:attach:klots_logo.png]]13 + 11 11 12 12 ==== Topics ==== 13 13 ... ... @@ -23,13 +23,13 @@ 23 23 24 24 For more information about the leJOS NXJ project and especially the leJOS tutorial and NXT Programming API please visit the [[leJOS NXJ website>>url:http://lejos.sourceforge.net/||shape="rect" class="ext-link"]]. 25 25 26 -**Note that KLOTS currently uses leJOS NXJ v0.8.5, not the brand new v0.9.0.** You can download the v0.8.5 API from (%class="confluence-link" %) (% class="confluence-linkconfluence-link" %)[[here>>attach:leJOS_v0.8.5_API.zip]](%class="confluence-link"%)(% class="confluence-link noprintconfluence-link" %)[[image:attach:download.png]][[attach:leJOS_v0.8.5_API.zip]](% class="noprint confluence-link"%)(%%).29 +**Note that KLOTS currently uses leJOS NXJ v0.8.5, not the brand new v0.9.0.** You can download the v0.8.5 API from here [[url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/leJOS_v0.8.5_API.zip||title="Attachment 'leJOS_v0.8.5_API.zip' in Projects/KLOTS" shape="rect" class="attachment"]](% class="noprint" %)[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/chrome/common/download.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/leJOS_v0.8.5_API.zip||title="Download" shape="rect" class="trac-rawlink"]](%%). 27 27 28 28 ---- 29 29 30 30 == Getting Started == 31 31 32 -The KLOTS is part of the KIELER Rich Client Application (RCA) which can be found in the [[Downloads>>url:http:// www.informatik.uni-kiel.de/rtsys/kieler/downloads/||shape="rect"]]. It is a standalone application containing all KLOTS features.35 +The KLOTS is part of the KIELER Rich Client Application (RCA) which can be found in the [[Downloads>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/wiki/Downloads||shape="rect" class="wiki"]]. It is a standalone application containing all KLOTS features. 33 33 34 34 The required Eclipse plug-ins can also be downloaded from the KIELER update page. To get the full functionality of the KLOTS several plug-ins are required: 35 35 ... ... @@ -36,8 +36,6 @@ 36 36 * de.cau.cs.kieler.core 37 37 * de.cau.cs.kieler.core.kivi 38 38 * de.cau.cs.kieler.core.model 39 -* de.cau.cs.kieler.core.model.gmf 40 -* de.cau.cs.kieler.core.model.xtext 41 41 * de.cau.cs.kieler.core.ui 42 42 * de.cau.cs.kieler.klots 43 43 * de.cau.cs.kieler.sim.kiem ... ... @@ -44,9 +44,6 @@ 44 44 * de.cau.cs.kieler.sim.kiem.config 45 45 * de.cau.cs.kieler.sim.kiem.ui 46 46 * de.cau.cs.kieler.sim.table 47 -* de.cau.cs.kieler.sim.signals 48 -* de.cau.cs.kieler.sim.syncsignalreset 49 -* de.cau.cs.kieler.sj 50 50 * net.sf.antcontrib.cpptasks 51 51 * org.apache.bcel 52 52 * org.bluecove ... ... @@ -56,7 +56,7 @@ 56 56 * org.lejos.jtools 57 57 * org.lejos.pccomms 58 58 * org.lejos.pctools 59 -* If you want to be able to import KLOTS example programs using the KIELER Example Management (KEX), you will also need: \\57 +* If you want to be able to import KLOTS example programs using the KIELER Example Management (KEX), you will also need: 60 60 ** de.cau.cs.kieler.core.kgraph 61 61 ** de.cau.cs.kieler.kex 62 62 ** de.cau.cs.kieler.kex.ui ... ... @@ -63,12 +63,11 @@ 63 63 ** de.cau.cs.kieler.kiml 64 64 ** de.cau.cs.kieler.kiml.service 65 65 ** de.cau.cs.kieler.kiml.ui 66 -** de.cau.cs.kieler.klots.examples 67 67 * **be sure to click on the "Add Required Plug-ins" button** 68 68 69 69 Then you should be able to start KIELER and select the //KLOTS perspective// (Window->Open Perspective->Other...->KLOTS). 70 70 71 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/perspective.png]]68 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/perspective.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/perspective.png||shape="rect"]] 72 72 73 73 ---- 74 74 ... ... @@ -98,23 +98,20 @@ 98 98 99 99 If you are running KLOTS from a non-root user, you will need to ensure that you have read and write access for the NXT USB device in ///dev/bus/usb//. If you can identify the device in ///dev/bus/usb//, you can do this by: 100 100 101 -{{code language="bash"}} 102 -sudo chmod a+w /dev/bus/usb/xxx/yyy 103 -{{/code}} 98 +{{{sudo chmod a+w /dev/bus/usb/xxx/yyy 99 +}}} 104 104 105 105 However, the //yyy// number will count up each time the NXT is disconnected and reconnected. A better solution is to use **udev rules**. How to do this may vary with different Linux systems. To use //udev rules//, set up a file such as ///etc/udev/rules.d/70-lego.rules// and populate it with the following lines: 106 106 107 -{{code language="bash"}} 108 -# Lego NXT 109 -BUS=="usb", SYSFS{idVendor}=="03eb", GROUP="a Linux user group", MODE="0660" 110 -BUS=="usb", SYSFS{idVendor}=="0694", GROUP="a Linux user group", MODE="0660" 111 -{{/code}} 103 +{{{# Lego NXT 104 +BUS=="usb", SYSFS{idVendor}=="03eb", GROUP="a Linux user group", MODE="0660" 105 +BUS=="usb", SYSFS{idVendor}=="0694", GROUP="a Linux user group", MODE="0660" 106 +}}} 112 112 113 113 You should replace the //a Linux user group// entry with the user group to witch your Linux user account belongs. The two vendors are LEGO and Atmel (for the Sam-Ba driver used in firmware update mode). You may need to reload the rules or restart //udev//. On some Linux systems, the command to reload the rules is: 114 114 115 -{{code language="bash"}} 116 -sudo udevadm control --reload-rules 117 -{{/code}} 110 +{{{sudo udevadm control --reload-rules. 111 +}}} 118 118 119 119 === (optional) Bluetooth set-up on Linux systems === 120 120 ... ... @@ -127,8 +127,8 @@ 127 127 128 128 In order to be able to download and execute Embedded Java programs, the leJOS NXJ firmware should be installed on your NXT brick. KLOTS provides an easy firmware flash feature. To install the leJOS NXJ firmware connect the NXT with the computer via USB and turn it on. Then select //Window->Preferences->KIELER->Lego execution->Firmware flash// and follow the instructions. You do not need to set the NXT brick in firmware-update mode, although doing so may help in case you are getting errors during the flash procedure. The whole process should not take more than a minute and after that the new firmware is permanently saved on the NXT's flash memory, so that the original Lego firmware is fully removed. If you want to remove the leJOS NXJ firmware and switch back to the original Lego firmware, you have to flash it on the NXT brick. More information on how to do so can be found on the [[Lego Mindstorms website>>url:http://mindstorms.lego.com/en-us/support/default.aspx||shape="rect" class="ext-link"]]. 129 129 130 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash1.png]](%%)131 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash2.png]][[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash3.png]]124 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash1.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/preferences_firmware_flash1.png||shape="rect"]] 125 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash2.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/preferences_firmware_flash2.png||shape="rect"]][[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_firmware_flash3.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/preferences_firmware_flash3.png||shape="rect"]] 132 132 133 133 ---- 134 134 ... ... @@ -136,7 +136,7 @@ 136 136 137 137 Next you must specify how KLOTS shall communicate with the NXT brick. There are two possible options: communication via USB or communication via Bluetooth. Select //Window->Preferences->KIELER->Lego execution// and choose your favored connection type. In addition you can specify the brick's hardware address or friendly name. To save you all the manual selections, you can simply click on the //Search for NXTs// button and then choose your NXT from the list of found bricks. Note that for establishing Bluetooth connection, your NXT and computer should be already paired. The pairing procedure may vary with different operating systems and Bluetooth stacks. However you should always initiate it from the computer, not from the NXT brick. The default NXT PIN for the Bluetooth connection is set to **1234**. 138 138 139 - (% class="confluence-link"%)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_connection1.png]][[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_connection2.png]]133 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_connection1.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/preferences_connection1.png||shape="rect"]][[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/preferences_connection2.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/preferences_connection2.png||shape="rect"]] 140 140 141 141 ---- 142 142 ... ... @@ -144,7 +144,7 @@ 144 144 145 145 In order to be able to write your first program, you should create a new Embedded Java project. To do so, select //File->New->Project...->KIELER->Embedded Java Project//. Then specify the new project's name and click on //Finish//. The project will be then automatically created and appears in the //Project Explorer View// on the right site. 146 146 147 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_project.png]]141 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_project.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_project.png||shape="rect"]] 148 148 149 149 ---- 150 150 ... ... @@ -152,34 +152,17 @@ 152 152 153 153 You are now ready to create a new Embedded Java file. Click on the project and package in witch you wish to create the new file and select //New->Other...->KIELER->Embedded Java File//. Type in a name for the new file and click on //Finish//. Note that the file name should not exceed 20 characters including the file extension. 154 154 155 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file.png]]149 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_file.png||shape="rect"]] 156 156 157 157 ---- 158 158 159 159 == Introducing the KLOTS Editor == 160 160 161 -{{section}} 162 -{{column width="90%"}} 163 -When the KLOTS perspective is activated, Embedded Java files //(.java)// will be automatically associated with the //KLOTS Editor//. To open an Embedded Java file simply double-click on it. The KLOTS Editor offers the full functionality of the //standard Eclipse Java Editor// as well as means to build, download and execute Embedded Java programs on the NXT brick. The easiest way to check if a file is displayed in the KLOTS Editor is to look at the editor's toolbar. There should be four new buttons. 164 -{{/column}} 155 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/buttons_all.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/buttons_all.png||shape="rect"]]When the KLOTS perspective is activated, Embedded Java files //(.java)// will be automatically associated with the //KLOTS Editor//. To open an Embedded Java file simply double-click on it. The KLOTS Editor offers the full functionality of the //standard Eclipse Java Editor// as well as means to build, download and execute Embedded Java programs on the NXT brick. The easiest way to check if a file is displayed in the KLOTS Editor is to look at the editor's toolbar. There should be four new buttons. 165 165 166 -{{column width="10%"}} 167 -[[image:attach:buttons_all.png]] 168 -{{/column}} 169 -{{/section}} 157 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/buttons_build.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/buttons_build.png||shape="rect"]]You can now write your code in the corresponding section and click on the **Build Embedded Java Program** button. Your program will then be build and linked with the leJOS NXJ library. An executable file named //<your_program's_name>.nxj// should appear in the project's //bin// folder. 158 + Sometimes, while running your program on the NXT brick, you may get a "blue screen", i.e. the brick plays an error tune and a message like 170 170 171 -{{section}} 172 -{{column width="90%"}} 173 -You can now write your code in the corresponding section and click on the **Build Embedded Java Program** button. Your program will then be build and linked with the leJOS NXJ library. An executable file named //<your_program's_name>.nxj// should appear in the project's //bin// folder. 174 -{{/column}} 175 - 176 -{{column width="10%"}} 177 -[[image:attach:buttons_build.png]] 178 -{{/column}} 179 -{{/section}} 180 - 181 -Sometimes, while running your program on the NXT brick, you may get a "blue screen", i.e. the brick plays an error tune and a message like 182 - 183 183 |((( 184 184 Java Exception: 185 185 ))) ... ... @@ -195,45 +195,22 @@ 195 195 196 196 appears on the display. This indicates that an uncaught Java //Runtime Exception//, e.g. (% style="color: rgb(0, 0, 0); color: rgb(0, 0, 0)" %)//NullPointerException//(% style="color: rgb(0,0,0);" %),(%%) occurred somewhere in your program. The error message indicates the kind of the exception and the method where it was thrown. This information is produced by the program build procedure and you can see it by clicking on the //Details// button. It can be very helpful for debugging your programs. 197 197 198 -(% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/build_program_output.png]] 175 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/build_program_output.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/build_program_output.png||shape="rect"]] 176 +\\ 199 199 200 -{{section}} 201 -{{column width="90%"}} 202 -By clicking on the **Download Embedded Java Program to NXT** button the executable file will be downloaded to your NXT brick. The file will then appear in the //Files// submenu on the brick. Note that for the downloading process the NXT should be turned on and connected to the computer via USB. (You can also download programs via Bluetooth.) 203 -{{/column}} 178 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/buttons_download.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/buttons_download.png||shape="rect"]]By clicking on the **Download Embedded Java Program to NXT** button the executable file will be downloaded to your NXT brick. The file will then appear in the //Files// submenu on the brick. Note that for the downloading process the NXT should be turned on and connected to the computer via USB. (You can also download programs via Bluetooth.) 204 204 205 -{{column width="10%"}} 206 -[[image:attach:buttons_download.png]] 207 -{{/column}} 208 -{{/section}} 209 - 210 -{{section}} 211 -{{column width="90%"}} 212 -To run the program on your NXT brick, in case the program uses the //remote print// option and you want to enable remote printing, you should click on the **Run Embedded Java Program on NXT** button. The program will then be started on the NXT and you should specify **on the brick** whether or not you want to enable remote printing and the protocol for the connection with the computer (USB or Bluetooth). Then you should make the corresponding selection in KLOTS. 180 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/buttons_run.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/buttons_run.png||shape="rect"]]To run the program on your NXT brick, in case the program uses the //remote print// option and you want to enable remote printing, you should click on the **Run Embedded Java Program on NXT** button. The program will then be started on the NXT and you should specify **on the brick** whether or not you want to enable remote printing and the protocol for the connection with the computer (USB or Bluetooth). Then you should make the corresponding selection in KLOTS. 213 213 **Remember to do the connection selection always on the NXT site first, since doing otherwise can trigger connection abort!** 214 -{{/column}} 215 215 216 -{{column width="10%"}} 217 -[[image:attach:buttons_run.png]] 218 -{{/column}} 219 -{{/section}} 183 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/buttons_console.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/buttons_console.png||shape="rect"]]The remote prints will be then displayed on the //KLOTS Console// on the right site of the KLOTS Perspective. You can temporary disable the remote printing by clicking on the **Disable Console** button. You can then enable remote printing at any time by simply clicking on that button again. 220 220 221 -{{section}} 222 -{{column width="90%"}} 223 -The remote prints will be then displayed on the //KLOTS Console// on the right site of the KLOTS Perspective. You can temporary disable the remote printing by clicking on the **Disable Console** button. You can then enable remote printing at any time by simply clicking on that button again. 224 -{{/column}} 185 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console1.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console1.png||shape="rect"]][[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console2.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console2.png||shape="rect"]] 225 225 226 -{{column width="10%"}} 227 -[[image:attach:buttons_console.png]] 228 -{{/column}} 229 -{{/section}} 230 - 231 -(% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console1.png]][[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_console2.png]] 232 - 233 233 If you are not using remote printing, or do not want to enable communication with a computer, you can also start a program by choosing it from the //Files// submenu on the NXT brick. 234 234 235 235 === An Embedded Java sample program === 236 236 237 - (% class="confluence-link" %)[[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor1.png]][[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor2.png]]191 +[[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor1.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor1.png||shape="rect"]][[~[~[image:url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/raw-attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor2.png~]~]>>url:http://trac.rtsys.informatik.uni-kiel.de/trac/kieler/attachment/wiki/Projects/KLOTS/new_embedded_java_file_example_editor2.png||shape="rect"]] 238 238 239 239 ----
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -8 6508351 +885139 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/8 650835/Lego On-Line Testing System (KLOTS)1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/885139/Lego On-Line Testing System (KLOTS)