How to create a new Tesla Component

Step 1
Switch to Tesla's Developer Perspective, and select New->Tesla Component from the File menu.

Step 2
Enter a name for the new component, and click on Next

Step 3
If necessary, modify Package name and meta data. Than click on Finish.

Step 4
A new project will be generated (shown in the project explorer on the left), and a stub component will be opened in the editor.

Step 5
To detect the new component, use the stop-


and start tesla server buttons html start_server.png in the toolbar to (re-)start the tesla server.

The component will show up in the list of available components, and can already be used in new experiments.

Step 6
To add additional AccessAdapters or OutputAdapters to the component, go to the Roles Hierarchy view, select a role and chose the appropriate action from the context menu.

Step 7
A new field has been inserted, which can be accessed within the run-method of your component.

Step 8
After adding the component to an experiment, you will notice that its configurable IO-interfaces reflect the structure of the java class (including given names and descriptions of the adapter fields).
General comments
When implementing the component code, you probably want to test your component from time to time. In this case, you should disable the 'reuse results'-option in the component configuration.
Tesla supports hot deployment, that is, the server will automatically restart once it detected a change in your component code. However, if you modify configuration options or adapter fields, you will have to re-insert your component into the test experiment, as these values won't be updated automatically.
You should also look at the debugging tutorial (How to debug your component) and the Developer Documentation.