27.09.2014 Views

PDF (double-sided) - Physics Department, UCSB - University of ...

PDF (double-sided) - Physics Department, UCSB - University of ...

PDF (double-sided) - Physics Department, UCSB - University of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

or a Client Module. Client Modules only use the functionality provided by the<br />

LabRAD system, while Server Modules also provide new functionality that other<br />

Server and Client Modules can use. This distinction allows the LabRAD Manager<br />

to maintain an index <strong>of</strong> all available Server Modules to quickly give an overview <strong>of</strong><br />

the available functionality. Each Server Module then registers so-called “Settings”<br />

with the Manager that provide the interface to the Server’s functionality. Both<br />

the Servers and their Settings have a human-readable name for easy identification<br />

as well as a numeric ID that allows for reduced traffic and quicker Request routing.<br />

When registering a Setting with the Manager, the Server also has to provide<br />

a help text and specifications about which types <strong>of</strong> data this Setting requires and<br />

returns. This information is made available by the Manager to provide a one-stop<br />

source for basic documentation <strong>of</strong> all features <strong>of</strong> the system.<br />

Since Settings are addressed by name and can register multiple acceptable<br />

data types it is easily possible to extend the collection <strong>of</strong> Settings or the functionality<br />

<strong>of</strong> individual Settings provided by a Server without breaking backwards<br />

compatibility. Most modern programming languages can achieve this same result<br />

through things like overloading <strong>of</strong> functions or polymorphic SubVIs, but this ability<br />

is usually seen as a fringe feature and does not get much attention. Therefore,<br />

casual programmers like physicists usually either don’t know about it or don’t feel<br />

comfortable using it.<br />

130

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!