Skip to content

Requirement Analysis

calltl edited this page Feb 20, 2013 · 9 revisions

High Level Requirements

The design of Gumtree should meet the following requirements:

  • Instrument control - The top requirement for Gumtree is the ability to drive an instrument via a dedicated instrument control system.
  • Data Access - Gumtree should provide a user friendly way to retrieve data from various sources, for example, local file system, devices or the cloud.
  • Data visualisation - Gumtree should be able to visualise data either from the live system or data files.
  • Data reduction support - Gumtree should be capable of providing mathematical package to process live data or archived data in an efficient way.
  • Simple user interface - The front end of the system, either in desktop, mobile or web mode, needs to be simple and user friendly.
  • Scripting support - Scripting helps users to perform operations in an automated fashion, for example, users can write a single script to automate both instrument control and data reduction at the same time. Gumtree should allow scripts to be run locally on a workbench or remotely on a server.
  • Persistence and crash recovery - Gumtree should recover automatically in the event of application crash. This should be done by reloading last healthy application state from local persistence storage upon application restart.
  • Remote access - Remote access allows users to monitor the instrument status anywhere in the world. However, Gumtree does not intent to provide full remote access for instrument control outside of the facility.
  • Configurable - Each application can be configured by user defined settings. Instrument scientists and supporting staffs can update the entries from the configuration server to change the behaviour of applications. Users may also be able to upload their configuration to the server to sync between different instances of Gumtree.
  • Access control - The application may limit its feature based on the role of a user who has signed to the system.
  • Connectivity with other online services - Gumtree should leverage other services available from the instrument system, and provide add-on value by mashing up services.
  • Support for rapid development - Gumtree should be designed by using modern software engineering techniques, such that code is maintainable and reusable.

Domain Analysis

Here we will try to define the domain language used in the Gumtree project. The essential entity of this model is an experiment. In a typical experiment, users plans a sequence of instructions to control devices managed by control systems. An experiment may also require additional metadata from various sources for auditing purpose. Once an experiment is executed, the control system will create raw data for further reduction. Experiment can be optimised by using this reduced data to make intelligent decision for the next step of the experiment.

Domain Model

System Analysis

Gumtree adopts the client-server model for distributed instrument control. For a typical instrument system, there are a number of physical devices controlled by a central sequencer via some kind of control system software stack. Along with the centralised server, there are also a number of facility servers like database and access control which provide additional non-control system related services. There are also a number of front-end systems for accessing instrument system. Gumtree fills in the gap between the users and the instrument system.

System Architecture

Clone this wiki locally