Skip to content

Future Ideas

John Holt edited this page Sep 27, 2017 · 33 revisions

The purpose of this page is two-fold:

  1. to collect proposals for strategic ideas - major new features or developments of IBEX
  2. to collect suggestions, opinions, comments on those ideas
    • pros v cons
    • risks & benefits
    • should we do them sooner or later?
    • how might they be implemented?
    • are there any pitfalls we need to avoid?, etc.

Please add your contributions to the relevant sections below. If you add a new strategic idea, please also add it to the table of Contents.

Contents

  1. Make instrument\apps\epics read-only on deployment
  2. Moving to Eclipse v4
  3. Changing logging framework
  4. Parallel building with make
  5. Deploying individual IOCs
  6. EPICS 3.15
  7. Visual Studio 2015/2017
  8. Blockserver Protocol
  9. Mantid-IBEX Interactions
  10. Configs trump Globals.txt
  11. IBEX status board
  12. Location of SE Equipment

Make instrument\apps\epics read-only on deployment

Making instrument\apps\epics read-only on deployment


Return to Contents

Moving to Eclipse v4

We would like to take advantage of new features in CS-Studio 4. However, CS-Studio 4 requires the use of Eclipse v4. The current architecture of the IBEX client is not well-suited to make the process of migrating from Eclipse 3 to Eclipse 4 a straightforward process. We need to consider how best to achieve this migration.


Return to Contents

Changing Logging Framework

Changing logging framework


Return to Contents

Allow parallel building with make

Updating dependencies to allowing parallel building with make.


Return to Contents

Deploying and updating individual IOCs

Deploying and updating individual IOCs (so static building of all of EPICS, copying support db files -> ioc)


Return to Contents

Move to EPICS 3.15

Plan the migration from EPICS 3.14 -> EPICS 3.15.

  • What is new in EPICS 3.15?
  • Do we need to make any changes to our code to use EPICS 3.15?


Return to Contents

Moving to Visual Studio 2015 (or 2017)

As Visual Studio evolves, we need to keep up with new editions. We should consider moving to Visual Studio 2015, perhaps directly to Visual Studio 2017.


Return to Contents

Changing client -> blockserver protocol

Changing client -> blockserver protocol (is JSON over CA getting a bit restrictive?)


Return to Contents

Provide better interaction between Mantid and IBEX

We should work with Mantid and Instrument Scientists to find ways of using scripts to interact with both bits of software. A preliminary meeting came up with the following use cases:

  1. Taking data until a sufficient signal to noise ratio has been reached in a peak. (useful for POLARIS and express runs)
    1. Express runs are samples provided by other scientists they are put in the beam for an amount of time then results sent to then. Allowing a signal to noise to be specified would mean that the time taken would be correct sufficient for each sample. Making it either quicker so more samples could be done or making the results more useful by taking more time.
  2. Taking course scans across a transition then going back to take finer detail around the precise change
  3. Automating the ALF workflow, (take data and rotate sample until peaks are found). This would probably use 1 to get the data for the peak.


Return to Contents

Should globals.txt trump the configuration settings, should configurations trump config-components?

Would it not be helpful for the configuration macros to trump globals.txt? The settings would then be more local to the configuration rather than hidden in globals.txt. If the macros are not configured, look in globals.txt. Configurations could be copied from instrument to instrument, for example, a particular Mclennan rotation stage. I would argue the other way, globals.txt is a place that you put settings you never want to change. The should be shown in the gui but the should trump configurations. We should also answer at the same time whether configurations should trump config-configurations or not. I think it should components should add common settings to a configuration but it is the configuration you are loading.


Return to Contents

Develop a status board showing all instruments

With the potential of getting a large screen in the new office it would be useful from a support POV to see the status of all IBEX instruments at a glance. IMHO, during cycle, this would be more useful than build status'. Some information that this could show for each instrument (depending on presentability/space constraints):

  • Is the Blockserver running?
  • Is the DAE running?
  • Is NICOS running?
  • Is the dataweb running?
  • What percentage of the blocks are disconnected/alarmed?

This would be a small project, ideal for a graduate/apprentice placement.


Return to Contents

Provide some method of knowing where SE kit is running

This is very much concept, and much refinement would be needed The idea would be to add some form of registration code to the st.cmd for each IOC that would verify which device was on the other end if at all possible (e.g. via serial numbers or IDs). There would then be a PV in an SE:IDN namespace which would mimic appropriate IN:NAME PVs - potentially where applicable (which is incredibly rare!) allowing write access to certain SE computers. This could also check for the connected device when starting the IOC, and inform SE/Computing that an instrument has tried starting an IOC for that piece of equipment, but it was missing, which would allow for requests to restart the IOC to be generated if the monitoring is vital (e.g. Helium Levels) - where and how this message would be sent is to be confirmed.


Return to Contents

Clone this wiki locally