Home
        DABC User Manual - SubVersion
         Contents
1.                                                        multi           first                   Figure 3 2  Command panel     Fig  3 2  page 15 shows on the left side the command tree  Double click  or RETURN  on a command  executes the command  The top tree level is the executing MBS task  below that are the commands  and  the master node  prompter node  is the only node below each command  However  command is sent to  the prompter node  but executed on the current node which is displayed in the info panel  see Fig  3 4   page 16   Click on a command opens at the right side the argument panel  Entering argument values and  RETURN executes the command     Only the MBS commands of the running tasks are shown  Fig  3 3  page 16 shows that only dispatcher  and prompter are up and therefore only their commands are seen  Fig  3 4  page 16 shows in addition  the commands of util and transport after configuration     16    MBS GUI Manual  MBS GUI       A Io pel L          f  Commands     gt  C MbsDispatch   gt  C MbsPrompt    Command ConnectDispatcher  scope  nodel  C  OPT         all                             II                  Commands     gt  C MbsDispatch  o   3 MbsPrompt   gt  C MbsRirec    gt  C MbsTransport   gt   3 Mbsutil    Command CloseFile  scope MBS       tape  L  OPT                                  Figure 3 4  Info and command panel     3 2 MBS DIM parameters    3 2 1 MBS states    Acquisition State Running   Stopped  BuildingMode State Delayed   Immediate  EventBui
2.             Figure 2 7  Parameter selection panel and selected parameter list     2 2 7 1 Parameter selection    To get a more selective view on the parameters one can specify filters in the panel shown at the left side  of Fig  2 7  page 9  Text substrings for each of the four name fields can be specified as well as a selection  of record types  Values can be saved  see 2 3  page 12   With the check boxes the filter function for each  of these can  de activated  The parameter list at the right window in Fig  2 7  page 9 shows only the  parameters matching all filters     If the data field is white the parameter can be changed  This cannot be done in place because the param   eter might be updated in the mean time  Instead press RETURN in the field  A prompter will pop up to  enter the value     2 2 8 Monitoring panels    As already mentioned the DABC provides definitions of special purpose DIM parameters  These Records  can be recognized by the GUI and are handled in appropriate way  Currently there are    States  Rates  Histograms    O  O  O  o Infos    2 2 8 1 States    States are records having a number for severity  0 to 4   a color  and a brief state description  see Fig   2 8  page 10   Of cause the states of the DABC state machine are shown as states  Application plug ins  may use this kind of records also for other information     10 MBS GUI Manual  GUI          10 Readout E Ixi011 Readout    E Ixi014  Eventbuilder   Ix Controller    Figure 2 8  States        RateMet
3.     4 CONTENTS             3 1 1 MBS SEIN occiso ee ee 13  3 1 2 MBS control panel   o o e     2   45 ar au eR an ara ee eae na an 13  3 121 MBS controller buttons cio eats che ee Rb a daa ta 14  3 1 3 MBS command panel e  cosida aa 15  32  MBS DIM parameters 6 cosce m ace u a a Re a 16  uel DABS Sleek 2 eid hee a o Ba See Be a A     16  aes MESSE 264i 44 4860004 a eRe a Rar ee 17  3 2 3 MBS Histograms  2 4 2 a ea wen a a a ae A ee R 17  3 2 4 MES IMOS ooo odo Yared bee a baw OG be De dw Heed warad we 17  Oe MESTRE oa a ke aed Baba bad wae OG be Sede Pewee ware HS 17  3 2 0 MIDS OER ee aa a e A A Ae a ate 17  IAT WISE ic scoa R RR e ee RR ee ee eee    18  ao Working directores   c es ccone e R RR ee ee ea ae 18  33 1 MBS configuration of DIM   2    2  Coon en 18  4 MBS GUI Manual  MBS Application GUI 21  AL SUD 61515 5 T  lt  lt  os Ae ee ee Rh la eae 21  a2  DIM Usage  eu bs eho gate a dead dea bd  ee ewaw sede eG eles 21  4 2 1 DABC DIM naming conventions              e    21  4 2 2 DABLE DIM fecotds os no aa A ee an 22   221 Reesor Del Pla ou ed ee da a a 22  4 2 2 2 Record ID 1  Generic self describing            5   lt  lt               23  4 223 Record lD Z State ocer e ei a 2 Ee ee 23  4220 Record Te Rate  sors cago ba bo eee Rae a Ba Due be 23  4223 Record ID 4  Histogati 2  2  ee ae bean ei re 23  4220    Record ID 10 Inte    e ic reitet 23  4 2 2 7 Record ID 9  Command descriptor          o    o    enod aesa 23  4228 COMMANDS  oc c o coka eb ba ee a a 24  42 29 Sett
4.     gt     Controller 41     EI Eventbuilder  42  Ixi013 gsi de 1971  1xi014 gsi de 1971  ES Readout 42  DoEnable  DoError  DoHalt  DoStart          1v50 x86 newmbs   script remote_exe sc   m_rising v50 x86  newmbs   x86g 4 x86 7  imisc goofy snifffdabc    miscigoofy dabc work  SetupMbs xml   ps   MbsLaunch  xml  DabcLaunch xml                                                       O0B O    000502         Dostop  der    777777       Command DoConfigure  scope Com                      m CAL ADaramatore                Z State    o RX       Layout  Acquisition E  4 RunMode E IxgO    u Ixi013       E  G  L  E  E  E  m     E  E  E  E  E  E     Node  lIxi014        startTime    RunMode 4  Acquisition    L  Controller   Ixi010 Readout    yentbuilder E 1x1014 Eventbuilder    Parameter   Type   Curr       int 123        Nxi014         workerTid    int 42       X86 7    DataRateKb    rate 1596          X86 7    DataTrendkb       rate       EventRate    rate       X86 7       EventTrend    rate                         RateMeters       Settings                   El Logger       Logging         X86G 4   X86G 4     X86G 4     XB6G 4     X86G 4   X86G 4  util   X86G 4    util     X86 7    util     X86G 4    util   X86G 4  util      util  util  util     util     util    Z Z Z Z Z Z Z Z Z Z      Name of output device      Tape label     Dismounted  file CLOSED  0 000  MB  written to tape  0 000 to file    1xi010 R  Dz             a          Figure 2 2  More typical full screen view     itself 
5.   see below  Function infoHandler is then called in the callback of the parameter     32    MBS GUI Manual  MBS Application GUI       o    String getName     Called by xDimParameter to get a uniquie name of this handler  Must return a name of the handler to distinguish  from other handlers     4 7 2 Java Interfaces provided by GUI    4 7 2 1 Interface xiDesktop    o    void addFrame  JInternalFrame f    Adds a frame to desktop if a frame with same title does not exist    void addFrame  JInternalFrame frame  boolean manage   Adds a frame to desktop if a frame with same title does not exist   boolean findFrame  String title    Checks if a frame exists on the desktop    void removeFrame  String title    Remove  dispose  a frame from the desktop and list of managed frames   void setFrameSelected  String title  boolean select   Switch a frames selection state  setSelected     void toFront  String title    Set frames to front        4 7 2 2 Interface xiDimBrowser    o    Vector lt xiDimParameter gt  getParameters      Typically called in setDimServices to get list of available parameters  Only selected parameters may be regis   tered to    Vector lt xiDimCommand gt  getCommands      Typically called in setDimServices to get list of available commands    void setInfoHandler xiDimParameter p  xiUserInfoHandler h    Typically called in application function setDimServices to register a call back handler  mostly this  to a  parameter    void removelnfoHandler  xiDimParameter p  xiUserIn
6.  3  page 12      BE Startup all tasks  Executes a DABC script dabcstartup sc via ssh on the master node under  user name  Then it waits until the number of DIM servers expected are announced  A progress panel  pops up during that time  see 2 2 3  page 7   When the servers are up the main GUI Update is triggered  building all panels from scratch according the parameters offered by the servers     8 Configure  Executes state transition command Configure on master node and waits for the transition   All plug in components are created  Then execute Enable  Waits until all workers go into Ready state   Now the DABC is ready to run  Triggers the main GUI Update     LK Start acquisition  Executes Start command  All components go into running state Running     2 2  GUI Panels 7       Ln Pause acquisition  Executes Stop command  All components go into standby state Ready       Halt acquisition  Executes Halt command  This closes all plug ins  States go into Halted  Next  must be shut down or configure     is Exit all processes by EXIT commands  After 2 seconds trigger the main GUI Update   K Shut down all processes on all nodes by script  This is the hard shut down     aD      ssh shell script execution on master node     2 2 3 Action in progress      ya Work in progress  please wait o a E          u Current action     Figure 2 4  Launching progress        When starting up  configure or shut down the GUI has to wait until the front ends have completed the  action  During that time a p
7.  JPanel  Inside that panel various different layouts can be used like JSplitPane  or a Jtree in a  JScrollPane  In fact  xInternalFrame  a subclass of JInternalFrame is used  It can contain exactly one panel   has a mechanism to store and restore its size and position  and implenents the callback functions for resizing and  closing     Inside the internal frames two types of panels are often used  prompter panels and graphics panels     4 3 1 Prompter panels    Prompter panels can be implemented subclassing class xPanelPrompt  Example  DABC launch panel  The layout  is in rows  A row can be a prompter line  JLabel label and JTextField input field   a text button JButton  or a  JLabel label and JCheckBox  At the bottom there is a JToolBar where buttons with icons can be placed  The  prompter class must implement the ActionListener  ie  provide the actionPerformed function which is the central  call back function for all elements     4 3 2 Graphics panels  Graphics panels are provided by class xPanelGraphics  The layout is as a matrix with columns and rows  All  items to be added must be JPanels and implement xiPanelltem  see below   The items are added line by line  The    number of items per line  columns  is a parameter  All items must have the same size  Currently no menu bar is  supported     4 4 GUI Panels    Brief description of panels implemented in the xGUL    4 4 1 DABC launch panel    xPanelDabc extending xPanelPrompt    Form to enter all information needed to startu
8.  all parameters  DIM clients  should already operate      Create xPanelCommand and call its setCommandDescriptors  The descriptors are provided as parameters   The descriptor list is generated by xPanelParameter    7  Call init and setDimServices of all application panels  Pass xiUserCommand object from first application   panel object to xPanelCommand   8  Create the internal frames to display all panels which shall be visible     Du Un    4 6 4 Update sequence    The update sequence is either triggered by a menu button interactively  or invoked in callback functions of prompter  panels after changes of the DIM services  The update is done in actionPerformed of xDesktop  command Update   Sequence on update     1  Call releaseDimServices of all application and prompter panels    2  Call xDimBrowser releaseServices which deactivates all parameters and removes all application handlers      Discard the parameter and command panel and call Java garbage collector  At this point no more references  to parameters or commands should exist and all objects can be removed      Call xDimBrowser initServices      Create xPanelParameter      Create xPanelCommand      Call setDimServices of all application panels  Pass xiUserCommand object from first application panel  object to xPanelCommand      Call xDimBrowser enableServices      Call xPanelCommand setCommandDescriptors    10  Update the internal frames of parameters and commands     ZA DO up w    O 00    4 7  Application specific GUI p
9.  and servers  for commands      TS lis  les    Thus a client can generically access parameter structures  but without semantical interpretation  In addition to the  data and format string one longword called quality is sent     4 2 1 DABC DIM naming conventions    When the number and kind of services of DIM servers often change it would be very convenient if a generic GUI  would show all available services without further programming  It would be also very nice if standard graphical  elements would be used to display certain parameters like rate meters  If we have many services it would be  convenient to have a naming convention which allows to build tree structures on the GUI     Naming conventions for generic xGUI  line breaks for better reading      21    22 MBS GUI Manual  MBS Application GUI           servernamespac   nodename   nodeID                       applicationnamespace   Japplicationname  applicationID     TYPE  module  name   Example    DABC 1x05 Control RunState       We recommend to forbid spaces in any name fields  Dots should not be used except in names  last field   The  generic xGUI can handle only services from one server name space  defined by DIM DNS NODE   For DABC  and MBS this servernamespace is set to DABC     4 2 2 DABC DIM records    For generic GUls we need something similar to the EPICS records  This means to define structures which can be  identified  How shall they be indentified  One possibility would be to prefix a type to the parameter nam
10.  cal presentations of the parameters  e g  xMeter  and add them to the appropriate graphics panels  e g     IANA    30 MBS GUI Manual  MBS Application GUI       xPanelMeter  if needed      Builds list of command descriptors  xXmlParser    9  Add table to its panel    10  updateAll graphics panels     co    4 6 2 2 xPanelCommand    Extends JPanel  It has references to the browser  It owns the command tree  JTree   In the constructor the  following steps are performed     1  Get reference to list of commands  from browser     2  Create from that list a command tree to be shown on left side in window    3  Create arguments panel for the right side  When a command is selected and an XML descriptor is available   the arguments are shown as prompter panel    4  Call back functions for command execution     Function setCommandDescriptors is called from xDesktop to build the command descriptor list    Function setUserCommand is called from xDesktop to specify axiUserCommand object which provides a function  getArgumentStyleXml which is used to determine how the command string has to be formatted  either like the  command XML description or like the MBS style      4 6 3 Startup sequence    The build up sequence during the GUI start is done in the xDesktop  Sequence on startup       Create application panels and graphics panels      Create browser xDimBrowser and call its initServices      Create prompter panels      Create xPanelParameter      Call browser enableServices function  Now
11.  can be closed and reopened any time     2 2 1 Main DABC GUI buttons    E Quit GUL Will prompt  RET will quit   The DABC will continue to run  The GUI may be started          013 E  EventRate    ntbuili Ixi014  ilde DataRa                                         2 2  GUI Panels 5       anywhere again  In case you saved the layout  recommended  see 2 3  page 12  and you start the GUI  from the same directory it will look pretty much the same as you left it     w Test  shell script    a Save settings  window layout  record attributes  command arguments  parameter selection filters   Details see 2 3  page 12  Note that the content of the control panels must be saved by similar buttons in  these panels     T Open DABC MBS control panel  see     page          Open DABC control panel  see 2 2 2  page 5        Open MBS control panel  see 3 1 2  page 13     o Refresh  All parameters and commands are removed  Rebuild DIM service list from DIM name  server  Parameters and Commands are sorted alphabetically by name  All panels are updated  In normal  operation there is no need to refresh manually     Ooo  ri    ER Open command panel  2 2 6  page 7      E Open parameter table  2 2 7  page 8          Open parameter selection panel  2 2 7 1  page 9    Open rate meter panel  2 2 8  page 9    Ma  Open histogram panel  2 2 8  page 9      3 Open state panel  2 2 8  page 9        Open info panel  2 2 8  page 9      Open log panel  2 2 8  page 9      ES  Eventually one might see additional icons
12.  from application panels  this one is only an example      The three control panels  DABC  MBS  combined DABC and MBS  are used depending on the ap   plication to be controlled  Eventually an application provides additional specific control panels     2 2 2 DABC control panel    The standard DABC control panel is shown in 2 3  page 6  As mentioned already some applications may  provide their own control panels like the MBS applications  see section 3 1 2  page 13   But most of the  buttons are very common  From left to right they startup a system  configure it  start data taking  pause  data taking  stop tasks  shut down  At the very left we see a save button  at the right a shell execution  button  Values are read from file DabcControl  xml  default  may be saved restored to from other  file  see 2 3  page 12       lt  xml version  1 0  encoding  utf 8   gt     lt DabcLaunch gt     lt DabcMaster prompt  DABC Master  value  node xxx de    gt    lt DabcName prompt  DABC Name  value  Controller 41    gt    lt DabcUserPath prompt  DABC user path  value  myWorkDir    gt    lt DabcSystemPath prompt  DABC system path  value   dabc    gt     6 MBS GUI Manual  GUI          DabcController  Login  Name server  xg0523 gsi de  User name  goofy  Password  RET    Master node    xg0523 gsi de  Master name   Controller 41                         Servers   5  System path    misc goofy sniff dabc  User path    misc goofy dabc work  Setup file  SetupMbs  xml  Script ps  Control file  DabcContro
13.  installation section     However  if working on a separate node outside GSI  it is mandatory to install the DABC Java GUI soft   ware from scratch  Hence the DABC Java GUI distribution is available for download at http   dabc gsi de   It is provided as a compressed tarball of sources dabcgui_vn m ss tar gz where nm and ss are  version numbers  The following steps describe the recommended installation procedure     1  Unpack this DABC Java GUI distribution at an appropriate installation directory  e  g     cd  opt dabcgui  tar zxvf dabcgui_v1 0 00 tar gz  This will extract the archive into a subdirectory which is labelled with the current version number  like  opt dabcgui dabcgui_v1 0 00  This is the GUI system directory    2  Prepare the GUI environment login script  A template for this script can be found as  guilogin sh  You need a DIM installation built with the JDIM yes option  DIMDIR must be set in the script   In addition one may define for convenience    a  a    lias dimdns  DIMDIR linux dns       lias dimdid  DIMDIR linux did    3  Copy the script to a location in your global SPATH for later login  e  g   usr bin  Alternatively   you may set an alias to the full pathname of guilogin  sh in your shell profile    4  Execute the just modified login script in your shell to set the environment     guilogin sh  This will set the environment to run the GUL     2 MBS GUI Manual  Setup       1 1 2 Windows    On Windows one needs the xgui jar file only  The GUI itself can be s
14.  node xxxx de    gt   DabcName prompt  DABC Name  value  Controller 41    gt   DabcUserPath prompt  DABC user path  value  myWorkDir    gt   DabcSystemPath prompt  DABC system path  value   dabc    gt   DabcSetup prompt  DABC setup file  value  SetupDabc xml    gt   DabcScript prompt  DABC Script  value  ps    gt   DabcServers prompt   Number of needed DIM servers   value  5    gt    lt  DabcLaunch gt      lt    lt    lt    lt    lt    lt    lt    lt           4 5 5 MBS launch panel values    File MosLaunch  xml     lt  xml version  1 0  encoding  utf 8   gt    bsLaunch gt    bsMaster prompt  MBS Master  value  node xx    gt    bsUserPath prompt  MBS User path  value  myMbsDir    gt   bsSystemPath prompt  MBS system path  value   mbs v51    gt   bsScript prompt  MBS Script  value  script remote_exe sc    gt   bsCommand prompt  Script command  value  whatever command    gt   bsServers prompt   Number of needed DIM servers   value  3    gt    MbsLaunch gt               lt    lt    lt    lt    lt    lt    lt    lt     4 6  DIM update mechanism 29       4 6 DIM update mechanism    To get informed when a DIM parameter has been updated a DIM client has to register to it  In a Java DIM client this  is done by instantiating a subclass of DimInfo  In xGUI this is xDimParameter implementing callback function  infoHandler  After registration the callback function is called once immediately  In infoHandler one can use getter  functions to get the quality  the format string  and the value
15.  parameter  Setup_ File  which has a string value  The myInfoHandler class is described next        public void setDimServices  xiDimBrowser browser     Vector lt xiDimParameter gt  vipar browser getParameters           for int i 0 i lt vipar size   itt     xiParser p vipar get i  getParserInfo     String pname new String p getNode        p getName            if p isRate      xMeter meter new xMeter  xMeter ARC   pname 0 0 10 0 xMeter XSIZE xMeter YSIZE xSet blueL      meter setLettering  p getNode    p getName      vipar get  i   getMeter     getUnits          metpan addGraphics  meter  false    browser addInfoHandler  vipar get  i    new myInfoHandler  pname meter null       else if p isState      xState state new xState  pname  xState XSIZE xState YSIZ   stapan addGraphics  state  false    browser addInfoHandler  vipar get  i    new myInfoHandler  pname  null  state       else if p getFull    indexOf   Setup_File   gt 0  param vipar get  i                           E              4 7  Application specific GUI plug in 37       y    end list of parameters  stapan addGraphics  state  false    stapan updateAll       metpan updateAll       if frame    null  frame rebuild  stapan  metpan      All references or allocated objects from setDimServices we have to free in releaseDimServices     public void releaseDimServices       metpan cleanup     stapan cleanup     param null              We provide a little extra class implementing xiUserHandler function infoHandler  Each paramete
16.  s      4 6 1 xDimBrowser    The central object handling the available lists of DIM parameters and commands is the xDimBrowser  It provides  the functions     xDimBrowser        Constructor  Arguments  references to the graphics panels xPanelMeter  xPanelState  xPan   ellnfo and xPanelHisto  There are protected functions to get then the references to these panels    protected initServices String wildcard    Get list of available services from DIM name server  DIM DNS NODE  Create vectors of alphabetically ordered parameters  xDim Parameter  and commands   xDimCommand  and their interfaces  respectively  The references of the graphics panels are passed to the  parameter objects    addInfoHandler xiDimParameter p  xiUserInfoHandler ih    Interface function to add an additional info handler  to a parameter  The infoHandler function of this handler is called at the end of the infoHandler function of  xDimParameter    removelnfoHandler xiDimParameter p  xiUserInfoHandler ih    Interface function to remove an info handler added  before    protected Vector lt xDimParameter gt  getParameterList       protected Vector lt xDimCommand gt  getCommandList       Vector lt xiDimParameter gt  getParameters     From outside one gets only references to the interfaces    Vector lt xiDimCommand gt  getCommands     From outside one gets only references to the interfaces    protected releaseServices boolean cleanup    Removes all external handlers of the parameters  Sets all parameters  to inactiv
17. 00              FXXX TriggerMode    20    MBS GUI Manual  MBS GUI       Chapter 4    MBS GUI Manual  MBS Application GUI     programmer prog gui tex     4 1 GUI Guide lines    The DABC GUl is written in Java  In the following we refer to it as a whole as xGUI  It uses the DIM Java package  to register the DIM services provided by the DABC DIM servers  It is generic in that it builds most of the panels  from the services available  Thus it can control and monitor any system running DIM servers conforming to rules  described in the following  According the description above it does the following     Get list of commands and parameters and create objects for each   Put parameters in a table   Put commands in a command tree     e  e  e  e Create graphics panels for rate meters  states  histograms  and infos     4 2 DIM Usage    DIM is a light weight communication protocoll based on publish subscribe mechanism  Servers publish named  services  commands or parameters  to a DIM name server  Clients can subscribe such services by name  They  then get the values of the services subscribed from the server providing it  Whenever a server updates a service  all  subscribed clients get the new value  Clients can also execute commands on the server side     DIM provides the possibility to specify parameters and command arguments as primitives  I or L X C F D  or  structures  The structures are described in a format string which can be retrieved by the clients  for parameters and  commands 
18. Cam Esone_Serv Stream_Serv  Histogram Prompt Rate SMI Sender Receiver Asynch_Receiver Rising Time_Order Vme_Serv    3 2 6 MBS text    MSG GuiNode Node where GUI runs   MSG Date Date as written in file header   MSG Run Run ID as written in file header  MSG Experiment Experiment as written in file header  MSG User Lynx user name as written in file header    18    MBS GUI Manual  MBS GUI       MSG Platform CPU platform    3 2 7 MBS numbers       MSG BufferSize   MSG Buffers collected so far    MSG Events collected so far    MSG FileMbytes written in file    MSG FlushTime   MSG MBytes collected so far    MSG StreamKeep   MSG StreamMbytes   MSG StreamScale   MSG StreamSync   MSG UserVal_nn  nn 00   15  These values can be set in the user readout function   MSG TriggernnCount  nn 01   15  Trigger counts type nn of readout tasks     3 3 Working directories    3 3 1 MBS configuration of DIM    Optional text file dimsetup in the MBS working directory specifies which rate meters  histograms or  states shall appear in the GUI  Upper limits of the rate meters can be specified  This file can be copied  from  MBSROOT set  dimsetup  Only the parameters which are in this file are optional     Note  that a file name of an open Imd file is only displayed when either FileOpen or FileFilled is selected  for this node                                                                                                        This file controls the rate meter and state appearance      File name must be 
19. ID  int i   iID i  L   public int getID    return 11D     public Point getPosition    return new Point  getX   getY        public Dimension getDimension    return new Dimension ix iy      public void setSizeXY    setPreferredSize  new Dimension  ix iy      public void setSizeXY  Dimension dd   setPreferredSize  dd                          4 7 4 Example    Example of a minimalistic application panel  Full running code in MiniPanel  That is how the class must look    ES  MyPanel  gt   MyPanel       My Command   Defaultvalue            This is a test button    Data server on off              Figure 4 1  Mini panel   like   public class MiniPanel extends xPanelPrompt    implements xiUserPanel   ActionListener       The constructor must not have arguments  Icon  name and tooltip have to be passed by getter function to the caller   the GUI desktop   Layout is mandatory  Declarations have been masked out in the code snippets  There are some    4 7  Application specific GUI plug in 35       icons one could use for the prompter panels         SS    j       usericonyellow       rn      P  SI      4           usericonblue     usericonred I    usericongreen        public MiniPanel  1 1  super   MyPanel     menulcon xSet getIcon   icons usericongreen png     name new String   MyPanel     tooltip new String  Launch my panel     layout   xSet getLayout  name    if layout    null   layout xSet createLayout  name  new Point  100 200   new Dimension  100 75   1 true            The simple funct
20. MBS GUI Manual    J Adamczewski Musch  S Linev  H G Essel  GSI Darmstadt   Experiment Electronics Department    Produced  August 18  2009  Revisions   Titel  DABC  User Manual       Document Date Editor    Revision    Comment       DABC user   2009 03 10   Hans G Essel                1 0 1       First scetch          Contents    1 MBS GUI Manual  Setup 1  LE malme GUL ee soo oie eh ew Rea ww Re Re aE ee ee ea 1  111 Line a GSI 2 64024 24 a bbe ek ee eee eb ee 1  1 1 2 NIE ee a whe  amp  2  Ela Stanine Me IL  o A A A A Me AA 2   2 MBS GUI Manual  GUI 3  21 GUI Gude A a e R E eee ee Eh ee ee ee 3  2 WET Panels  2 4    2 0 E eee ea  arty eta ee Wa 3  2 21 Main DARC GUI buttons  e    ee ee a 4  2 2 2 DABC control panel u    u 4  2 02 84 8 un au a an en ae 5  22 21 DAB controller buttons o  lt s ce ko ee 6   Dude Acton TY PROCESS vencio oa A ee ea ee a 7  2 2 4 MBS control panel    a R Rea ee a ba dE Hd be ee ed 7  2 2 5 Combined DABC and MBS control panel    2    2    ee ee ee 7  2 2 6 Conmand pan  l a s R a ER a en 7  224 Parameter table    odia Sa E ad hee he a ee 8  Sahl  Poraelersderhen 0k a A eee ae de Eo 9   2 2 8 Monitorning Panels    aw a ee ee A ad 9  E MBH 8 bb eh ec ae 9  P E oe ae er aan AE 10  2240 ESPIAS o co dd ee A A 11  228 lernten ooe na ea Sa BR aa Aa aca ae 11  2289  Loggine ION ocos ee ee ds es 11   2a KERLE BE on 4  lt 4 eee eee a eh d R R we R N ee wD 12  3 MBS GUI Manual  MBS GUI 13  3 1 DABS vent DUIDE sec band ea Bee ee da oe ee wed Se Bee ee he ha ee 13
21. ame  coml  scope  public  content  default  gt    lt argument name  argl  type  F  value  1 0  required  req   gt    lt argument name  arg2  type  I  value  2  required  opt   gt    lt argument name  arg3  type  C  value  def3  required  req   gt    lt argument name  arg4  type  boolean  value    required  opt   gt    lt  command gt                 The command definition can be used by the xGUI to build input panels for commands  The scope can be used  to classify commands  content should be set to default if argument values are default  values if argument values  have been changed     4 2 2 8 Commands    Commands have one string argument only  This leaves the arguments to semantic definitions in string format  To  implement a minimal security  the first 14 characters of the argument string should be an encrypted password  13  characters by crypt plus space   The arguments are passed as string  A command structure could look like     password char 14   argument char  string  Format  C    The argument string has the same XML as the command description  Thus  the same parser can be used to  encode decode the description  parameter  and the command  An alternate format is the MBS style format  argument value where boolean arguments are given by  argument if argument is true     4 2 2 9 Setting parameters    If a parameter should be changable from the xGUI  there must be a command for that  A fixed command SetPa   rameter must be defined on the server for that  Argument is a stri
22. bs v51    gt   bsStartup prompt  MBS startup  value  startup scom   gt   bsShutdown prompt  MBS shutdown  value  shutdown scom   gt   bsCommand prompt  Script command  value  whatever command    gt   bsServers prompt   Number of needed DIM servers   value  3    gt    MbsLaunch gt           AN A A A A A A A    MbsMaster   Lynx node where the MBS prompter is started    MbsUserPath   MBS user working directory  The GUI need not to have access to that filesystem   MbsSystemPath   Path on Lynx where the MBS is installed  GUI needs no access to this path   MbsStartup   The user specific MBS startup command procedure  typically startup scom  located  on user path    MbsShutdown   The user specific MBS shutdown command procedure  typically shutdown scom   located on user path    MbsCommand   With RET an MBS command in executed  on current node   The shell script button  executes this string as rsh command on master node    MbsServers   Number of nodes plus prompter  This information is minimum for the GUI to know when  all MBS nodes are up  The GUI waits until this number of DIM servers is up and running        That file can be created from within the GUI in the MBS controller panel  Enter all values necessary  and  store them     3 1 2 1 MBS controller buttons    u Save panel settings  see 2 3  page 12     ES Execute script prmstartup  sc at master node  Starts prompter  dispatchers and message loggers  and waits until they are up  Trigger the main Update  A progress panel pops up d
23. d commands                  e    29  4 6 2 1 xPanelParameter     10    29  4 6 2 2 xPanelCommand   00 nn 30  4 6 3 Starup ESQUEDOS  a eS a a AA oe oe ed Bk 30  4 6 4 Update sequence  i o u  wu ee han ee a Bo bee eae 30  4 7 Application specific GUI plug in    2 2    ee ee 31  4 7 1 Java Interfaces to be implemented by application                      31  ALI InterfacexiVserPanel coco ee ee en 31  4 7 1 2 Interface xiUserCommand          0  0 0 0 000 eee ee 31  4 7 1 3 Interface xiUserInfoHandler      2    nuon 31  4 7 2 Java Interfaces provided by GUL   gt  a wba ea cora be ee Ee ent 32  4721 Me XDR o coroa ee we R 32  4 7 2 2 Interface xiDimBrowser     1    0 ee 32  4 7 2 3 Interface xiDimCommand           0 0 0 0  R RRR ee 32    4 7 2 4 Interface xiDimParameter     2 2 oc mn 32    4 1 28  Imterlate PISE o ac ee ee d 33    LTA  Nherinierl  cee 202 a aaa dN Ee SE N e NA AES EQS 34  4 7 3 1 Interface xiPanelltem                  ee 34   4 7 4 Example uo or rad AA ar ee ae a 34  4 7 5 Store restore layout  lt  oe cio coda we ee da es 37  References 39    Index 41    Chapter 1    MBS GUI Manual  Setup     user user setup mbsgui tex     1 1 Installing GUI    1 1 1 Linux at GSI    When working at the GSI linux cluster  the DABC framework including Java GUI is already installed  and will be maintained by people of the GSI EE department  Here DABC needs just to be activated from  any GSI shell by typing       dabclogin    Note the space behind the dot  In this case  please skip this
24. dimsetup and in the MBS working directory      The value numbers are the maximum values for rate meters     Colons only if value is specified       Node names must be uppercase    wildcards all     All nodes      Rates    x EventRate   10000    fx EventTrend   10000      DataRateKb   16000       DataTrendKb   16000       StreamRateKb   16000       StreamTrendKb   16000       EvSizeRateB   128    fx EvSizeTrendB   128         File filling status in percent  typically only on one node  transport   fx FileFilled   100       StreamsFull   100    lx TriggerRate   10000         Trigger rates for the individual triggers  01   15    x Trigger0lRate   10000                         States     3 3  Working directories 19          Delayed or immediate event building           i   x BuildingMode        Current eventbuilding running or suspended     EventBuilding        Shows spill signal    Ex SpillOn         Shows if file is open  typically only on one node  transport     FileOpen        Show trigger master     TriggerMode       F   User integers from daqst  00   15     can be set by f_ut_set_daqst_user  index  value     tx UserVal_00   fx TriggerCount        Trigger counts for the individual triggers  01   15  Fx Trigger0lCount          t      Histograms  Fx TrigCountHis  fx TrigRateHis             F          Node XXX  uppercase    XXX EventRate   10000    FXXX DataRateKb   16000    FXXX FileOpen    XXX FileFilled   100     XXX SpillOn    XXX EventTrend   10000     XXX DataTrendKb   160
25. e  This means that in the infoHandlers no more graphical activity is performed  If cleanup is true  all parameters release their service and are set to inactive  Then the parameter vector is cleared  Then the  command vector is cleared  Note that the objects themselfes are removed only by next garbage collection    protected enableServices     All parameters are set to active     4 6 2 Getting parameters and commands    Once the parameter and command objects have been created by the browser  it is up to the xPanelParameter and  xPanelCommand object  respectively  to manage them  These two objects are created new each time an update  occurs     4 6 2 1 xPanelParameter    Extends JPanel  It has references to the browser and all graphics panels  It owns the parameter table  JTable   In  the constructor the following steps are performed     1  Get reference to list of parameters  from browser     2  Set in all parameters the table index to  1  infoHandlers will no longer update table fields     3  Scan through all parameters and check if any quality is still  1 which would mean that the type is undefined   That is repeated two times with 2 seconds delay to give the DIM servers the chance to update all parameters   Tf still any quality is  1 this is an error      Restore record attributes of meters and histograms from XML file      cleanup graphics panels      Create new table    Add parameters to table by calling function xDimParameter addRow  This function also creates graphi   
26. e  i e   rate DataRate  Another to use the quality longword  This longword can be set by the server  One could mask  the bytes of this longword for different information     mode  MSB   visibility   type   status  LSB   mode  not used                visibility  Bit wise  can be ORed   HIDDEN   all zero  VISIBLE   1 appears in parameter table  MONITOR   2 in table  graphics shown automatically                if type is STATE  RATE or HISTOGRAM  CHANGABLE   4 in table  can be modified  IMPORTANT   8 in table also if GUI has a  minimal  view                             HISTOGRAM    ODULE    PORT    DEVICE    QUEUE    COMMANDDESC  9  INFO   10                   OANA GH BFWN EF              exclusive   N PEC   0  S ESS    INFORMATION    W     O  H  un   U  SZ                   D  DI  Z  H  z  Q  ll  dina    Then we could provide at the client side objects for handling and visualization of such records     4 2 2 1 Record ID 0  Plain    Scalar data item of atomic type    4 2  DIM Usage 23       4 2 2 2 Record ID 1  Generic self describing    For these one would need one structure per number of arguments  Therefore the generic type would be rather  realized by a more flexible text format  like XML  This means the DIM service has a string as argument which  must be parsed to get the values     XML schema char  similar to command descriptor   Format  C    4 2 2 3 Record ID 2  State    severity int  O Success  1 warning  2 error  3 fatal   color char   Red  Green  Blue  Cyan  Magenta  Y
27. e contains  x  filter  false    gt     lt Records Only  true  Rates  true  States  false  Infos  false    gt    lt  Selection gt     28 MBS GUI Manual  MBS Application GUI       4 5 3 Windows layout    File Layout  xml     lt  xml version  1 0  encoding  utf 8   gt     lt Layout gt     lt WindowLayout gt     lt Main shape  357 53 857 953  columns  0  show  true   gt     lt Command shape  0  230 650 200  columns  0  show  false   gt    lt Parameter shape  20 259 578 386  columns  0  show  false   gt    lt Logger shape  0 650 680 150  columns  0  show  false   gt     lt Meter shape  463 13  413 236  columns  4  show  false   gt     lt State shape  85 504 313 206  columns  2  show  false   gt     lt Info shape  521 482 613 217  columns  1  show  false   gt    lt Histogram shape  124 508 613 206  columns  3  show  false   gt    lt DabcLauncher shape  0 0 100 100  columns  0  show  false   gt    lt MbsLauncher shape  50 14 404 272  columns  0  show  false   gt    lt DabcMbsLauncher shape  0 0 430 424  columns  0  show  false   gt    lt ParameterSelect shape  300 0 271 326  columns  0  show  true   gt    lt ParameterList shape  13 364 810 426  columns  1  show  true   gt    lt  windowLayout gt     lt TableLayout gt     lt Parameter width  74 74 74 74 74 74 74 74    gt     lt  TableLayout gt     lt  Layout gt                 4 5 4 DABC launch panel values    File DabcLaunch  xml     lt  xml version  1 0  encoding  utf 8   gt    DabcLaunch gt    DabcMaster prompt  DABC Master  value 
28. e the same layout after a restart of the GUI  The GUI can be restarted any time  DABC and  MBS systems continue without GUI     2 2 GUI Panels       DABC Controls and Monitoring    Bratt         Figure 2 1  Main toolbar buttons     Fig  2 1  page 3 shows the main menu of DABC  minimal view   The GUI as it comes up is divided    MBS GUI Manual  GUI       in three major parts  one sees on top a toolbar with icon buttons  Most of these open other windows   The dark line at the bottom shows a list of active DIM servers  The other windows are placed in the  white middle pane  The functions of the buttons and the invoked panels is described in the next sections   Depending on the application some buttons may be not seen  additional ones may show up  If one does  not work with MBS plug ins the control panels for MBS are of cause not useful    Fig  2 2  page 4 shows a more typical view of a running DABC  In general  all panels  including the GUI       DABC Controls    Dra    D0O0 Some   o A      DabcMbsLauncher    OK  DABC ready  Name server  User name   Password  RET    MES master node   MES servers   DABC master node   DABC master name   DABC servers   MBS system path   MBS user path   MBS script  MBS command   DABC system path   DABC user path   DABC setup file   DABC script  MBS launch file   DABC launch file     Ixg0523 gsi de  goofy       x869 4  3  Ixg0523 gsi de  Controller 41   5   daq usr goofy mbswork v5 1                                  T   Commands       9 E Doconfigure
29. ean isAtomic     boolean isGeneric     boolean isState     boolean isInfo     boolean isRate     boolean isHistogram    boolean isCommandDescriptor     boolean isHidden      boolean isVisible      boolean isMonitor      boolean isChangable     boolean isImportant     boolean isLogging      boolean isArray      boolean isFloat      boolean isDouble      boolean isInt      boolean isLong     boolean isChar      boolean isStruct                            H  H  H  H  H  H  H                                10 07    O  0  D GG O        Or O 000  0 0  O 07 0 Or 0 E     E G D     20   0  L    O  e    Or 0  e 0   OOF iQ    Or OO     Or 00  0      0 07 0 0       34 MBS GUI Manual  MBS Application GUI       4 7 3 Other interfaces  4 7 3 1 Interface xiPanelltem    Interface to be implemented for objects to be placed onto xPanelGraphics  The elementary graphics objects of  xGUI all have implemented this interface  Example xMeter  xState  xHisto     Dimension getDimension     int getID    String getName     JPanel getPanel     Point getPosition    void setActionListener  ActionListener a   void setID int id   Set internal ID   o void setSizeXY    Sets the preferred size of item to internal vale   o void setSizeXY  Dimension d   Sets the preferred size of item to specified dimension        BD 0 00  0 00              Example     public void setActionListener  ActionListener a   action a     public JPanel getPanel    return this      public String getName    return sHead      public void set
30. ellow   state char  name of state   Format  L 1 C 16 C 16    4 2 2 4 Record ID 3  Rate    value float   displaymode int   arc  bar  statistics  trend    lower limit float   upper limit float   lower alarm float   upper alarm float   color char   Red  Green  Blue  Cyan  Magenta  Yellow   alarm color char   Red  Green  Blue  Cyan  Magenta  Yellow   units char   Format  F 1 L 1 F 1 F 1 F 1 F 1 C 16 C 16 C    4 2 2 5 Record ID 4  Histogram    Structure must be allocated including the data field witch may be integer or double     channels int   lower limit float   upper limit float   axis lettering char   content lettering char   color char   White  Red  Green  Blue  Cyan  Magenta  Yellow   first data channel int   Format  L 1 F 1 F 1 C 32 C 32 C 16 I or D     4 2 2 6 Record ID 10  Info    verbose int   0 Plain text  1 Node text    color char   Red  Green  Blue  Cyan  Magenta  Yellow   text char  line of text   Format  L 1 C 16 C 128    4 2 2 7 Record ID 9  Command descriptor    This is an invisible parameter describing a command argument list  The service name must be correlated with the  command name  e g  by trailing underscore     description char  XMI string describing arguments    24 MBS GUI Manual  MBS Application GUI       Format  C    The descriptor string could be XML specifying the argument name  type  required and description  Question if  default value should be given here for optional arguments  Example      lt  xml version  1 0  encoding  utf 8   gt     lt command n
31. entRate Combiner 0 0  Ixi010 1970  Readout  42 InfoMessage State ma                                                       RNOOSNOO             Figure 2 6  Parameter table     in Fig  2 6  page 8  The parameter table holds all parameters which are marked by the provider to be  visible  The parameter values can be changed in the Set value column if no minus sign is there in which  case the provider does not grant modification  The buttons in the Show column indicate if the parameter  is shown in some graphics panel  It can be removed from or added to this panel by the buttons  The  table can be ordered by columns  click on column header   The column width can be adjusted and is  saved restored by main save button  see 2 3  page 12      2 2  GUI Panels 9       ES  ParameterSelect ParameterList     Parameter selection       Full name    Date Selected 15  Node   X86 7 DABC X86 7 MSG DataRateKb 6553 0  Application   MSG DABC X86 7 MSG DataTrendKb 6553 0  Name       DABC X86 7 MSG EventRate 3192 0  Check full     DABC X86 7 MSG EventTrend 3192 0  Check nodes  DABC X86 7 MSG FileFilled 0 0                                  Re DABC X86 7 MSG StreamRateKb 0 0  NE DABC X86 7 MSG StreamTrendKb 0 0  DABC X86 7 MSG StreamsFull 0 0   DABC X86G 4 MSG DataRateKb 14924 0   DABC X86G 4 MSG DataTrendKb 14924 0   DABC X86G 4 MSG EventRate 7295 0   Infos  DABC X86G 4 MSG EventTrend 7295 0  p   4 pamRatekKh 00    a P Ab Dir VI Tn H  Es   z           Below only   Rates   States                       
32. ers iii  Settings       7 MSG    TrendKb    65G 4 M5G  EventRate    16000       Figure 2 9  Rates     2 2 8 2 Rate meters    All rate meters are displayed in the meter panel  Fig 2 9  page 10  Meters can be removed in the parameter  table  See Fig  2 6  page 8  with the Show buttons like the other graphical parameters  Saving the setup   the visibility will be preserved        RateMeters ou B  Settings    RateMeters oa B  Settings  86 7 MSG 86 7 MSG     X86 7  MSG  DataRateKb  KB s  y Meter  Statistics  Trend                   Columns             Limits  Defaults  IO       0 100 O           setAutoscale  setLog  Limits   Clear          Colors  gt        Large             Figure 2 10  Steering menus     2 2  GUI Panels 11       On the left side in Fig  2 10  page 10 the Settings menu is shown  It affects all items in the panel  One  can Zoom  toggle between large and normal view   change the number of columns  change the display  mode  toggle Autoscale  and set limits  applied to all meters      Besides that each individual item can be adjusted by right mouse button  The context menu is shown on  the right  All changes done individually are changing the defaults  The global changes can be overwritten  by these defaults  All settings are saved with the setup and restored on GUI startup  see 2 3  page 12      2 2 8 3 Histograms    Histogram panels are handled in pretty much the same way as the rate meters  All histograms are    a  Histograms       Layout       Figure 2 11  Histo
33. foHandler h    Typically called in application function releaseDimServices to remove a call back handler of a parameter   void sleep int s     4 7 2 3 Interface xiDimCommand    o    o    void exec  String command   xiParser getParserInfo      4 7 2 4 Interface xiDimParameter        0 0 10 0 10    0  10 0    OO    double getDoubleValue      float getFloatValue      int getIntValue      long getLongValue      String getValue      xRecordMeter getMeter     xRecordState getState     xRecordInfo getInfo     xiParser getParserInfo     boolean parameterActive      boolean setParameter  String value   Builds and executes a DIM command SetParameter name vale where name is the name part of the full DIM  name string              4 7  Application specific GUI plug in    33       4 7 2 5 Interface xiParser    String getDns      String getNode      String getNodeName      String getNodelD      String getApplicationFull     String getApplication    String getApplicationName     String getApplicationID     String getName      String getNameSpace     String   getItens      String getFull     String getFull  boolean build   String getCommand      String getCommand  boolean build   int getType      nt getState     nt getVisibility     nt getMode      nt getQuality     nt getNofTypes      nt   getTypeSizes     String   getTypeList     String getFormat      boolean isNotSpecified    boolean isSuccess      boolean isInformation     boolean isWarning     boolean isError     boolean isFatal     bool
34. grams     displayed in the histogram panel  Fig 2 11  page 11  Histograms can have arbitrary size set in Layout  menu     2 2 8 4 Information       ALLL                   Figure 2 12  Info     Information records mainly display one line of text with a color  see Fig  2 12  page 11      2 2 8 5 Logging window    Fig  2 13  page 12 show the logging window     12 MBS GUI Manual  GUI       Logging  DABC TxgO  gsi de 1969 Controller 41 statusMessage  State machine reached current state    Configu  a  DABC Ixg0523 gsi de 1969 Controller 41 DoEnable a  DABC Ix1011 9si de 1970 Readout 42  statusMessage  State machine reached current state    Ready   DABC Ixi010 gsi de  1970  Readout  42  statusMessage  State machine reached current state    Ready     DABC Ixi013 gsi de 1971 Eventbuilder  42  statusMessage  State machine reached current state    Ready   DABC Ix1014 9si de 1971 Eventbuilder 42  statusMessage  State machine reached current state    Ready  DABC Ixg0523 gsi de 1969 Controller 41 statusMessage  State machine reached current state    Ready   DABC  IlxgO0523 gsi de 1969 Controller 41 statusMessage  Setting dim service Setup_File to mySetup  DABC  IxgO0523 gsi de 1969 Controller 41 Setup_File mySetup       4          Figure 2 13  Logging   2 3 GUI save restore setups    There are several setups which can be stored in XML files and are retrieved when the xGUI is started  again  The file names can be specified by shell variables     DABC CONTROL_DABC   Values of DABC control pa
35. ing parameters   oo ua cq da un un A nen ar a a nn es 24  4 2 3 Applicaton SETS  osa a aa A a a e 24  4 2 4 DABC GUI usage of DIM  is co co ceata onen 24  43    SHUN plobal layout   o tors ce ie ke ah a we Re eae we ae a 25  4 3 1 Prompter panels  osc ade 02 we RRR eh Rd Se Ee a a    25  4 3 2  SPAPHICE PANGS ob he Oe ee Ra ee Re ae Rae ee 23  44 GU Panels  2 0 0  22  2 aeda ace cc a a os 25    4 4 1 DABC Iae Panel oc  ara bas A baw ae ae Sede aa aaa ee 25    CONTENTS 5       4 4 2 MBS launch panel   o eg 2    32H  be ria a ar 25  4 4 3 Combined DABC and MBS launch panel    2    2 2    ee ee ee 25  4 4 4 Parameter table  o eo  ck a eee ne ek ee a lew 26  4 4 5 Parameter Selection panel oe so a 2 00 8 2 wa a a ee ee e 26  4 4 6 Command panel  ck ea a Eh ee eS 26  4 4 7 Monitorme panels   era sio len re eee ad Bt a 26  AAT IMAP o ci a e EG A SE o 26  E ee ee ee Be a a a ee ee ee ee ee 26  AATA A 26  E T oo ae a RS oe a ee ke oan 26  BAT OG ios ds whe ee ae aa Eo ee A Gh ee Sale 27  4 4 8 LOSE WISE ee ee ee ee ee ee S 27  45 GUL save restore setups     cc ceceo coer ee e eee ee 27  4 5 1 e o e aes acta ag go ee wa ed eta eae ees a  e 27  4 5 2 Parameter Wer id ee A A RE oe ee a E E 27  4 5 3 WOO TANDIL  oh ee ca hare ee Ee a ee Ee  Be eee ee Be ie 28  4 5 4 DABC launch panel values    naaa aa ee 28  4 5 5 MBS launch panel values       e e e ee 28  46 DIM update mechanism    a ca e e e e e e R e e RRR R RRR ee 20  4 6 1 AIMBDEDESES os ari A mn een  29  4 6 2 Getting parameters an
36. ions to be implemented for the interface xiUserPanel  we do not provide a command formatting  function  are     public String getToolTip    return tooltip      public String getHeader     return name      public Imagelcon getIcon    return menulcon      public xLayout checkLayout     return layout      public xiUserCommand getUserCommand     return null          The init is called once after constructor  Here we have to setup all panels  We have in the main panel three lines   one text prompt  a text button  and a check box  At the bottom we have one icon button which would open the  display frame  There are some icons one could use for that     _t   CO it    Ej windowblue H windowred Ej windowgreen    public void init  xiDesktop desktop  ActionListener al      desk desktop     save   prompt addPrompt   My Command     Defaultvalue   prompt  20 this    addTextButton  This is a test button   button   Tool tip  whatever it does  this    check addCheckBox   Data server on off   check   this     graphlcon   xSet getIcon   icons windowgreen png      addButton   Display    Display info  graphlcon this     state   new xState   ServerState   xState XSIZE xState YSIZE     stapan new xPanelGraphics  new Dimension  160 50  1      one column of states  metpan new xPanelGraphics  new Dimension  410 14  1      one columns of meters  franame new String   MyGraphics                            fralayout   xSet getLayout  franame     if fralayout    null    fralayout xSet createLayout  franame 
37. is no other way to know when the  startup has finished     Of cause  the MBS itself must have been built with the DIM option  since version v5 1   Central log file  is written as usual  Optionally one can provide a text file with specifications which parameters shall be  published by DIM  see 3 3 1  page 18      For the standard MBS control one needs no DABC installation  The GUI jar file is sufficient  DIM must  be installed  See installation guide on the download page     3 1 2 MBS control panel  Fig  3 1  page 14 shows the panel to be used to control a standard MBS  The values are restored from file    MbsControl xml  default  may be saved to other file  see 2 3  page 12   The fileMosControl xml  can be created easily in the GUI itself by filling the input fields of the control panel and save      lt  xml version  1 0  encoding  utf 8   gt    lt MbsLaunch gt     13    14 MBS GUI Manual  MBS GUI       T MbsController  OK  MBS shut down  Name server  x90523 gsi de  User name  goofy  Password  RET    Master node  x86g 4  Servers   3                         System path     daq usr goofy mbswark v5 1  User path   50 x86  newmbs  Startup   startup scom  Shutdown   shutdown scom  Command  sho task  Launch file   MbsControl xml                                                 BE    O000 OY       Figure 3 1  MBS controller     bsMaster prompt  MBS Master  value  node xx    gt    bsUserPath prompt  MBS User path  value  myMbsDir    gt   bsSystemPath prompt  MBS system path  value   m
38. l xml                                                 HOOO EFV       Figure 2 3  DABC controller panel      lt DabcSetup prompt  DABC setup file  value  SetupDabc xml    gt    lt DabcScript prompt  DABC Script  value  ps    gt    lt DabcServers prompt   Number of needed DIM servers   value  5    gt    lt  DabcLaunch gt        DabcMaster  Node where the master controller shall be started  Can be one of the worker nodes    DabcName  A unique name inside DABC of the system    DabcUserPath  User working directory  The GUI does not need to have access to the filesystem    DabcSystemPath  Path where the DABC is installed    DabcSetup  Setup file name    DabcScript  Command to be executed in an ssh at the master node    DabcServers  Number of workers and controllers  This information is minimum for the GUI to know  when all DABC nodes are up  The GUI waits until this number of DIM servers is up and running   Note that this number must be consistent with the DABC setup file used     The name server name is translated from shell environment variable DIM DNS NODE  the user name  from shell environment variable USER  Password can be chosen when the first remote shell script is  executed  which itself is protected by user password   All following commands then need this password     2 2 2 1 DABC controller buttons     a Save panel settings to the file Control file  If you choose a name different from the default you must  set a shell variable to it to get the values from that file  see 2
39. lding State Working   Suspended  FileOpen State File open   File closed    RunMode State DABC connected   MBS to DABC I Transport client   MBS standalone    SpillOn State Spill ON   Spill OFF    3 2  MBS DIM parameters 17       TriggerMode State Master   Slave    32 2 MBS rates    MSG DataRateKb KByte s   MSG DataTrendKb KBytes s as trend  MSG EventRate Events s   MSG EventTrend Events s as trend  MSG EvSizeRateB Event size sample in bytes  MSG EvSizeTrendB Event size sample in bytes  MSG StreamRateKb Stream server Kbyte s  MSG StreamTrendKb Stream server Kbyte s as trend  MSG FileFilled File filled in percent  MSG StreamsFull Number of full streams in percent  MSG TriggerRate Trigger s of readout tasks  MSG TriggernnRate  nn 01   15  Trigger s type nn of readout tasks       3 2 3 MBS histograms    Shown in histo window     MSG TrigCountHis Histogram with 16 channels for counts of trigger types  0   total  as seen by the  readout task    MSG TrigRateHis Histogram with 16 channels for count rates of trigger types  0   total  as seen by  the readout task     3 2 4 MBS infos    Shown in info window     MSG eFile Name of file    MSG ePerform Events  MBytes  Events s and MBytes s   MSG eSetup Name of setup file loaded    PRM Current Current command execution node  master node only    PRM NodeList List of nodes  master node only      3 2 5 MBS tasks    Task list is shown in info window  name slightly different      Dispatch Msg_Log Read_Meb Collector Transport Event_Serv Util Read_
40. le  Fig  2 5  page 8 shows on the left side the com   mand tree  The tree is built from name  application  nodes  Double click  or RETURN  on a treenode  executes the command on all treenodes below  A click on a command opens at the right side the ar   gument panel  Entering argument values and RETURN executes the command  In the example shown  in the figure double click on doEnable would execute that command on three nodes  Double click on  Eventbuilder would execute only on two nodes     2 2 7 Parameter table    DABC parameters are DIM services as the commands  The naming convention is the same  The server  providing parameters can be make them  no visible and  un changable  DABC defines some special  parameter types having a data structure and a specific interpretation like a rate parameter having a value   limits  a color  and a graphic presentation  A rate parameter is assumed to be changed and updated  regularly  The GUI displayes these special parameters in dedicated panels  Parameters are used in all  components of DABC  The central place for all parameters in the GUI is the parameter table as shwon    EJ Parameters SAS BEER  Node Application Parameter Current   Set value  Ixi010 1970  Readout 42  CtriPoolsize BnetPlugin 2097152  Ixi010 1970  Readout 42  DABCYersion DABC C     Ixi010 1970  Readout 42  DataRate Sender 0 0  Ixi010 1970  Readout 42  EventBuffer BnetPlugin  i 524288  Ixi010 1970  Readout 42  EventPoolSize BnetPlugin  i 4194304  Ixi010 1970  Readout 42  Ev
41. lug in 31       4 7 Application specific GUI plug in    Besides the generic part of the xGUT it might be useful to have application specific panels as well  integrated in the  generic xGUI  This is done by implementing subclasses of xPanelPrompt  The class name  only one  can be passed  as argument to the java command starting the xGUI or by setting variable DABC_ APPLICATION PANELS being  a comma separated list of class names  Variable is ignored if class name is given as argument  The classes must  implement some interfaces     xiUserPanel   needed by xGUI   xiUserInfoHandler   needed to register to DIM services  This could be a separate class   xiUserCommand   optional to specify command formats     One can connect call back functions to parameters  get a list of available commands  create his own panels for dis   play using the graphical primitives like rate meters  Optional xiUserCommand provides a function to be called in  the xGUI  xPanelCommand  when a command shall be executed  This function steers if the command arguments  have to be encoded in XML style or argument list style     There is for convenience another subclass of xInternalFrame and JInternalFrame for easy formatting from one  to four panels  JPanel or xPanelGraphics  inside  xInternalCompound     Examples of such application panel can be found on directory application     4 7 1 Java Interfaces to be implemented by application    4 7 1 1 Interface xiUserPanel    o abstract void init  xiDesktop d  ActionLi
42. nel  Saved by button in panel   Default DabcControl xml  Filename in panel itself    DABC CONTROL MBS   Values of MBS control panel  Saved by button in panel   Default MosControl  xml  Filename in panel itself    DABC_RECORD_ ATTRIBUTES   Attributes of records  Saved by main save button   Default Records  xml    DABC PARAMETER _ FILTER   Values of parameter filter panel  Saved by main save button   Default Selection xml    DABC_GUI_LAYOUT   Layout of frames  Saved by main save button   Default Layout  xml     Chapter 3    MBS GUI Manual  MBS GUI     user user gui mbs tex     3 1 MBS event building    3 1 1 MBS setup    Any MBS system can be controlled by the DABC GUI  It can run in two operation modes  with MBS  event builder or DABC event builder  see     page      The first case means a standard MBS system     To control a standard MBS nothing has to be done by the user on the MBS side   Except    e The node running the GUI must get granted rsh access at least to the MBS node where the prompter  or dispatcher shall run  This means that the node name and user name of the GUI node must be in the   chosts file in the Lynx home directory   e The node name of the Lynx node itself also must be in   rhosts    e In the user s MBS startup file  typically startup  scom  the m_daq_rate task must be started as  last task  this is probably the case already   This task calculates the rates  The GUI waits for this task  after execution of the startup file  Because MBS has no states there 
43. new Point  400 400   new Dimension  100  75  1 true    frame new xInternalCompound  franame  graphlIcon  0  fralayout xSet blueD             Here we have the callback function for the interactive elements  the text prompt  the button  the checker  and the  icon     private void print  String s     System out println s       public void actionPerformed  ActionEvent e     String cmd e getActionCommand     if   prompt  equals cmd      print  cmd     prompt getText        check isSelected              36 MBS GUI Manual  MBS Application GUI                  else if   button  equals cmd      print  cmd      prompt  getText        check isSelected        else if   check  equals  cmd      print   Data server   check isSelected      if  check isSelected       if param    null param setParameter   0     state redraw 0  Green    Active   true       else    if param    null param setParameter   1          state redraw  0   Gray    Dead  true       else if   Display  equals cmd      if   desk findFrame  franame      frame new xInternalCompound  franame  graphicon 0 fralayout xSet blueD      frame rebuild stapan  metpan     desk addFrame  frame                      My Graphics    sition    RunMode     4 Acquisition     4 RunMode       Figure 4 2  Ministates     With the checker we toggle the xState state ServerState in screen shot   The xiDimParameter param to be toggled  we will find in the next  To get access to DIM parameters we must implement setDimServices  We suggest that  there is a
44. ng of form name value  In the parameter table  of the xGUI one field can be provided to enter a new value and the command SetParameter is used to set the new  value     4 2 3 Application servers    Any application which can implement DIM services can be controlled by the generic xGUIif it follows the protocol  described above  The first application was DABC  the second one MBS     4 2 4 DABC GUI usage of DIM    The service names follow a structured syntax as described above  The name fields are used to build trees  for com   mands   Using the DIM quality longword  delivered by the server together with each update  simple aggregated  data services  records  are defined  Currently the records   STATE  RATE  HISTOGRAM  COMMANDDESC and INFO    are used  When the xGUI receives the first update of a service  immediately after subscribing  it can determine  the record type and handle the record in an appropriate way  The COMMANDDESC record is an XML string  describing a command  The name of a descriptor record must be the name of the command it describes followed  by an underscore     4 3  GUI global layout 25       4 3 GUI global layout    The top window of the xGUI is a JFrame  Inside that is a JPanel which contains on top a JToolBar  all the  main buttons   in the middle a JDesktopPane  main viewing area   and at the bottom a JTextArea  One line text  for server list   All other windows are inside  added to  the desktop as JInternalFrames  Typically such a frame  contains again a
45. ommand extending JPanel    Is rebuilt from scratch by xDesktop whenever the DIM service list has been updated    This panel is split into a right and a left part  On the left  there is the command tree  on the right the argument  prompter panel for the currently selected command  The panel gets the list of commands  xDimCommand  from  the DIM browser  xDimBrowser   The list of command descriptors  xXmlParser  is copied in xDesktop from  xPanelParameter to xPanelCommand and the xXmlParser objects are added to the xDimCommand objects they  belong to     4 4 7 Monitoring panels    These panels are very similar to xPanelGraphics but have additional functionality  TODO  In the future  xPanel   Graphics should be extended to provide all that functionality  or at least serves as base class     xPanelMeter  JPanel  for rate meters  xMeter   xPanelState  JPanel  for states  xState   xPanelInfo  JPanel  for infos  xInfo   xPanelHisto  JPanel  for histograms  xHisto     The monitoring panels contain special graphics objects     4 4 7 1 xMeter    Displays a changing value between limits as rate meter  bar  histogram or trend  With the right mouse a context  menu is popped up where one can switch between these modes  One also can change the limits  autoscale mode   limits are adjusted dynamically   and the color     4 4 7 2 xRate    Displays a changing value between limits as bar  Very compact with full name     4 4 7 3 xState    Displays a severity as colored box together with a brief te
46. p DABC tasks and buttons to execute standard commands  The values  of the form  internally stored in xFormDabc extending of xForm  can be saved to an XML file and are restored  from it  File name is either DabcLaunch  xml or translation of DABC_ LAUNCH _ DABC  respectively     4 4 2 MBS launch panel    xPanelMbs extending xPanelPrompt    Form to enter all information needed to startup MBS tasks and buttons to execute standard commands  The values  of the form  internally stored in xFormMbs extending of xForm  can be saved to an XML file and are restored  from it  File name is either MosLaunch  xml or translation of DABC_ LAUNCH MBS  respectively     4 4 3 Combined DABC and MBS launch panel    xPanelDabcMbs extending xPanelPrompt   It is a combination of both  DABC and MBS launch panel     26 MBS GUI Manual  MBS Application GUI       4 4 4 Parameter table    xPanelParameter extending JPanel    Is rebuilt from scratch by xDesktop whenever the DIM service list has been updated    The panel gets the list of parameters  xDimParameter  from the DIM browser  xDimBrowser   It builds a table  from all visible parameters  It creates a list of command descriptors  xXmlParser      4 4 5 Parameter selection panel    xPanelSelect extending xPanelPrompt   This form can be used to specify various filters on parameter attributes  Parameters matching the filters are shown  in a separate frame  Values are updated on DIM update and can be modified interactively     4 4 6 Command panel    xPanelC
47. r we want to  monitor gets its own handler instance which has direct access to our graphics panels     private class myInfoHandler implements xiUserInfoHandler   private myParameter  String Name  xMeter Meter  xState State     name   new String Name      store   meter Meter     store   state State     store       public String getName    return name      public void infoHandler xiDimParameter P      if meter    null  meter redraw     P getMeter   getValue             true  true    if state    null  state redraw    P getState   getSeverity                           P getState   getColor     P getStat  getValue     true      4 7 5 Store restore layout    It is absolutely necessary to save and restore window layouts to be able to see the GUI after restart as before  This  is done through xLayout objects which are managed centrally  They keep information about frame position  size   visibility  and the number of columns in graphics panels  All existing layouts are stored with the save setup button   and restored on startup     38    MBS GUI Manual  MBS Application GUI       References    39    40    REFERENCES       Index    Conventions  DIM service names  21    DABC  DIM naming conventions  21  DIM  Conventions  21  Introduction  21    TODO  xPanelGraphics  26    41    
48. rogress window similar to the one shown in Fig  2 4  page 7 pops up  Please  wait until the popup disappears     2 2 4 MBS control panel    To control and monitor a stand alone MBS system a dedicated control panel is provided by the MBS  application  This panel is described in the MBS section 3 1 2  page 13     2 2 5 Combined DABC and MBS control panel    To control and monitor MBS front ends with DABC event builders a dedicated control panel is provided  by the MBS application  This panel is described in the MBS section     page        2 2 6 Command panel    The control system of DABC and or the application specific plug ins can define commands  These  commands are encoded as DIM services including a full description of arguments  Therefore the GUI  can build up at runtime a command tree and provide the proper forms for each command  Commands  are executed in all components of DABC     The DABC naming convention for commands and parameters defines four main name fields separated  by slashes     1  DIM server name space  example  DABC   2  Node  example  1xg0523    3  Application  example  Controller 41    4  Name  example  doEnable     8 MBS GUI Manual  GUI       T   Commands        Command DoEnable  scope Common    o  C DoConfigure  9 EI DoEnable    EI Controller 41   C     Ixg0523 gsi de 1969 9  9 EI Eventbuilder  42  1xi013 gsi de  1971  Ixi014 gsi de 1971   gt   3 Readout  42                         Figure 2 5  Command panel     Example  DABC lxg0523 Controller 41 doEnab
49. stener a   Called by xGUI after instantiation  The desktop can be used to add frames  see below    o String getHeader      Must return a header name text after instantiation   o String getToolTip     Must return a tooltip text after instantiation   o Imagelcon getIcon     Must return an icon after instantiation   o xLayout checkLayout      Must return the panel layout after initialization   o xiUserCommand getUserCommand     Must return an object implementing xiUserCommand  or null  See below   o void setDimServices  xiDimBrowser b    Called by xGUI whenever the DIM services had been changed  The browser provides the command and param   eter list  see below   One can select and store references to commands or parameters  A xiUserInfoHandler  object can be registered for each selected parameter  Then the infoHandler method of this object is called for  each parameter update   o void releaseDimServices     All local references to commands or parameters must be cleared              4 7 1 2 Interface xiUserCommand    o boolean getArgumentStyleXml  String scope  String command     Return true if command shall be composed as XML string  false if MBS style string  Scope is specified in the  XML command descriptor  command is the full command name     4 7 1 3 Interface xiUserInfoHandler    o void infoHandler  xiDimParameter p  int handlerID   An object implementing this interface can be added to each parameter as call back handler  This is done by the  browser function setInfoHandler
50. tarted from a little BAT file like        set HOST SCOMPUTERNAMES  set USER SUSERNAMES   set DIM_DNS_NAME   set CLASSPATH  SCLASSPATH S  lt dim path gt  classes  lt gui jar file gt   set PATH  PATH   lt dim path gt  bin   java  Xmx200m xgui xGui  mbs                               To start GUI from desktop one has to create a Verknuepfung  RMB on file   then change Icon in Eigen   schaften  RMB   then drag Verknuepfung to desktop     1 1 3 Starting the GUI    When the installation is done  or at GSI after dabclogin  one more thing is necessary for DIM control  and GUI  the DIM name server  It must run on a node accessible from all MBS nodes and the node the  GUI shall run     1  Open a dedicated shell on the machine that shall provide the DIM name server  e  g   ssh nsnode cluster domain  export DIM_DNS_NODE nsnode cluster domain    guilogin sh  SDIMDIR linux dns      SDIMDIR linux did      to launch the DIM name server  This is done once at the beginning of the DAQ setup  usually the  DIM name server needs not to be shut down when the MBS and or the GUI terminates  The DID  1s useful for inspecting DIM services   2  Set the DIM name server environment variable in any working shell  e  g  the shell that will start  the GUI later      guilogin sh  export DIM_DNS_NODE nsnode cluster domain    3  Now the MBS GUI can be started in such prepared shell by typing mbs              The GUI may run on a machine with no access to the MBS working directory  e  g  a windows PC   Therefore 
51. the GUI setup files are typically on their own GUI working directory  containing     e Data files for startup panels  XML    e Configuration files for GUI  XML      These configuration files for the GUI are described in more detail in Chapters 2  page 3 and 3 1  page 13     Chapter 2    MBS GUI Manual  General GUI     user user gui tex     2 1 GUI Guide lines    The current DABC GUL is written in Java using the DIM software as communication layer  The standard  part of the GUI described here may be extended by application specific parts  How to add such extensions  is described in the programmer   s manual  Typically they are started as prompter panels via buttons in the  main GUI menu     The standard part builds a set of panels  windows  according the parameters the DIM servers offer  Only  services from one single DIM name server  node name specified as shell variable DIM DNS NODE   defining a name space can be processed  See 3 3 1  page 18 for preparations     The GUI needs no file access to the DABC working directory  However  user must have ssh  or rsh   access to the DABC  or MBS  master node  Currently the GUI must run under the same account as  the DABC  In monitoring mode  no commands  the GUI may run under different account  Master node  must have remote access to all worker nodes  The user s ssh settings must enable remote access without  prompts     The layout of the GUI can be adjusted to individual needs  It is strongly recommended to save these  settings to se
52. uring that time  see  2 2 3  page 7            Execute script dimstartup sc at master node  Starts dispatcher and message logger for single  node MBS  Trigger the main Update     3 1  MBS event building 15       8 Configure  Execute user s MBS startup procedure in prompter  dispatcher   Wait for allm_daq_rate  tasks are running  Trigger the main Update     O   Start acquisition  Execute Start acquisition  Wait for all acquisition states go into Running   O Pause acquisition  Execute Stop acquisition  Wait for all acquisition states go into Stopped     oO Halt acquisition  Execute user s MBS shutdown procedure in prompter  Prompter  dispatcher and  message loggers should still be running     ts Shut down all  Execute script prmshut down  sc at master node  After 2 seconds trigger the main  Update     oO Show acquisition  Output in log panel     M  A Shell script executes command on master node     3 1 3 MBS command panel    is  Commands   7       EJMbsTransport Command OpenFile  scope MBS   gt     CloserFile name  C  OPT     gt  CI ConnectRfio tape  L  OPT     gt  EJ DisableTcp sizemb  L  OPT     gt   3 DisconnectRfio number  L  OPT     gt  CI DismountTape first  L  OPT     gt  Ga  EnableDabc inhead  C  OPT    y a EnableTcp outhead  C  OPT     gt   Ej InitTape       gt  C MountTape nm   gt   3 OpenFile nm   gt   JsetFileheader  edit   gt  EI ShowFile  disk      gt  C ShowTape  rfio   gt  CI TypeEvent  o   7 Typestream    gt  Eq Mbsutil   o  C MbsYme_serv                       
53. xt line     4 4 7 4 xHisto    Displays a histogram     4 5  GUI save restore setups 27       4 4 7 5 xInfo    Displays a colored text line     4 4 8 Logging window    xPanelLogger extending JPanel   Central window to write messages     4 5 GUI save restore setups    There are several setups which can be stored in XML files and are retrieved when the xGUI is started again     DABC_ CONTROL DABC   Values of DABC control panel  Saved by button in panel   Default DabcControl xml  Filename in panel itself    DABC_ CONTROL MBS   Values of MBS control panel  Saved by button in panel   Default MosControl xml  Filename in panel itself    DABC_RECORD_ATTRIBUTES   Attributes of records  Saved by main save button   Default Records  xml    DABC_ PARAMETER _ FILTER   Values of parameter filter panel  Saved by main save button   Default Selection xml    DABC_GUI_LAYOUT   Layout of frames  Saved by main save button   Default Layout  xml     4 5 1 Record attributes    File Records  xml     lt  xml version  1 0  encoding  utf 8   gt     lt Record gt     lt Meter name  DABC X86 7 MSG DataRateKb   visible  true     mode  0   auto  false   log  false        low  00000000 0   up  00016000 0   color  Red   gt    lt  Record gt     4 5 2 Parameter filter    File Selection xml     lt  xml version  1 0  encoding  utf 8   gt     lt Selection gt     lt Full contains  Date  filter  false    gt     lt Node contains  X86 7  filter  false    gt     lt Application contains  MSG  filter  false    gt     lt Nam
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Ficha técnica pro-plint  TUK-1202DRB(暫定版)  取り扱い説明書はこちら  FACTURATION ELECTRONIQUE  Alpine PMD-B200P  GPS - User Guide - Walk and Roll Peel  Sagem Photo easy 160  ホームエネルギーサーバー (屋内用)    Copyright © All rights reserved. 
   Failed to retrieve file