**4. Future perspectives**

In the near future we plan to upgrade the software to version 3.0 with three main improvements (and many minor adjustments). First, the system will be able to perform individual separated measurements, saved in separated individual files, for a given list of static parameters. For example, we can now scan the signal as a function of the input polarization, and we can then fix one specific angle and run a time-scan or a wavelength-scan. In the future it will be possible to programmatically set two or more angles (and other parameters as well) and run subsequent separate measurements for every single parameter.

The second improvement goes in the direction of greatly reducing the measurement time. We bought a new Delay Line which is capable of reading the stage position on-the-fly while the stage moves. Those positions are recorded in a buffer and they can be read all together in the dead-time which the motor employs to stop the stage and start to scan in the opposite direction. The system can therefore work continuously without the need to make stop-and-go movements. The challenge here is represented by the need to link the physical position of the stage in real time, to the time at which the signal is actually measured, and this requires a very fine and precise synchronization of the digital clock with the laser trigger.

Finally, a major rearrangement of the whole software architecture is needed in order to bring the loops out of the event structure. A simple state machine will contain the measurement loops, while the event structure will drive the state machine. This rearrangement is not critical because our current architecture has proved itself to be very robust (the software crashes very rarely, if ever), but we have in mind to do so because it will be much easier to work on the software when it is necessary to add/change any component, and also in order to have a much more "clean" block diagram.
