Proceedings of the 22nd Linear Accelerator Meeting in Japan

pa-34

Finding Universal Objects for Accelerator MMI
S. Dasgupta* and I. AbeHigh Energy Accelerator Research Organisation
1_1 Oho, Tsukuba-shi，Ibaraki 305, Japan*Deputed from VECC; 1/AF Bidhan Nagar，Calcutta 700 064, India

Abstract
The accelerators over the world show a great variety, and the control systems of these are also varied. In
the 3-tier control systems, the lowest levels are implemented according to the availability and historicalsituations regarding the hardware devices. The middle level is also influenced by the types of computers andthe lower level devices.. The top level (Man-Machine Interface) shows a considerable similarity because ofnecessities of human interactions. The article discusses an attempt for finding of the most universal objectsof such an MMI. This should enable the designers to apply modern tools .for objected oriented designs ofaccelerator MMI. The Java language and its tools can be utilised to develop framework of MMI’s which aremuti-platform. It will then become suitable for producing re-usable codes for tailoring and fast reproduction
at different accelerator.
The Case
Introduction
The work reported here pertains to a specificAccelerators, depending upon their family,case of two different kinds of accelerators eg., thepurpose and energy, use subsystems andlinear accelerator PF LINAC of KEK, Japan andequipments from multiple sources and of wide
the Variable Energy Cyclotron(VECC), Calcutta.
variety. For this reason, and also because ofThe MMI of an accelerator needs diverse
varying personal tastes of designers, their control
appearances and functionalities in its different uses
systems at different installations are muchas console for design，for operation，for tests or fordifferent. But the physics parameters and physicalmaintenance. In the present example，it is theprinciples are broadly alike. With a global view
operation console and its objects that are
towards accelerator control, it is possible to selectprincipally dealt with. The MMI objects have theseveral sets of common parameters andresponsibility of carrying messages to and fro themethodologies.. Such similarities can beconsole operator on one hand, and the various
encapsulated together to form 'control objects’.
objects of the accelerator control system on theHaving such ‘objects’，with similar properties andother.
functionalities identified, the techinique of object
As the first step towards forming of MMI
oriented programming is applicable for theclasses and sub-classes, the report here describes
construction of control programs.
an work to produce a detailed view of theThe well-known benefits areunderlying classes and objects of an accelerator(a) if a general aggrement on the rules andcontrol system.
naming conventions are found, the softwares areportable to other installations and hence sharable.
Objects of Accelerator Control System(b) application of an object oriented language
An object oriented accelerator control system canlike Java for program development and subsequent
be conceived as a collection of objects (of primaryease in networking.
conceptual importance) of the following classes.
Among the several usual levels of a control( a)Vacuum : to take care of vacuum pumps,
system, the Man Machine Interface has the mostgauges, valves, status indicators etc..
universal ‘objects’，since human beings conceive( b ) Magnet : to take care of all magnetic
such machines in most similar ways. Therefore it
elements eg. Solenoid, Quadrupole, Main, Trim,
is worthwhile to analyse the common MMI objects
Magnetic channels their drivers and monitors,of accelerators for their common behaviours.
Analyser etc..

( c ) Rf :dealing with High Frequency
generators, their amplifiers， their measuringapparata，their accessories etc..
( d ) Diagnostics :dealing with beamdiagnostic parameters eg. beam current, beamphase， beam profile, orbit seperation, time
structure etc..
Few other objects which also take part in thecontrol and may need messages from console MMI
objects are :( a ) Services : to take care of water-flow，electricpower，air conditioning etc..
( b ) Auxiliary : Few other types of entities,
working as direct accessories for the above eg.
Caxial Switches, Ion puller, RF-trimmers etc..
( c ) Devices : power supplies, instruments,
hardwired controllers eg., beam position stabiliser.
( d ) Alarm : to take care of storage of alarm
settings，processing of alarms etc..
In order to activate the accelerator control
objects, by communicating to them，it is necessary
to specify the public interfaces (ie.，the publicmethods ) of the classes of the control objects.
Based on studies and operation experiences, alist of variables and a list of methods on whichthese methods act，are under construction. The list
cannot claim to be complete and exhaustive and isunder construction.

Variables List
The following is a representative list that shows
the class name in underline with their respective
variables below.
Class Magnet
Setting,
AverageField,
FieldComponent,
PeakAmplitude, FWHM, PowerSupply (Deviceclass ), FlowSwitches( Services class), etc.
Class Rf
Setting, Mode( CW/Pulse ) ， PeakAmplitude,
Frequency, MacroFrequency, Harmonics, Phase,
SWRatio， Co-ax. Switch( Auxiliary class )，FlowSwitches( Services class )，PowerSupplies(Device class )•Class Vacuum
Pumps ( Device class ) ，FlowSwitches( Servicesclass ) ， OilLevel( Service class ) ， Gauges,
GateValves, Status etc.
Class Diagnostics
Particle, AverageAmplitude, PeakAmplitude,
MacroWidth，FWHM, MacroFrequency, Power,
HarmonicPower，OscillationFrequency,

OrbitSeparation，Size, Profile, Phase, Emittanceetc.
Class Device
On/OffSwitch,Inc./DecControl,Setting,
Measured, Range, FlowSwitches ( Services class )etc.
Class Auxiliary :Special Switches, Motors, Instuments etc.

Methods List
A preliminary investigation has led to unearthing
a number of 'methods5 necessary for each type ofclass. A few of these have been found to be ofuniversal type and have been listed to represent thegeneric ‘method’s necessary for accelerator
control objects.
( a ) Operatef ) : to operate the on-off controlseg., switch off the cathode-bias voltage of theamplifier ( an Rf object).
( b ) Regulated ) : to increment / decrement
other types of controls eg.，increment the current inan analysing magnet.
( c ) Set( ) : to complete setting of any
number of pre-specified values for certain
members, eg., set all the beam-line magnets to aknown set.
( d ) TakeSnapf) : to measure a parameter at
an instant eg.，measure the average magnetic field
in a Magnet object.
( e ) MonitorVsTimef ) : to measure anddisplay a parameter of interest at specified timeintervals.
( f ) MonitorYsSpacef) : to measure anddisplay a parameter of interest at specified
distances.
( g ) Plot( ) : to make graphical output onscreen.
( h ) Archivef ) : to log selected sets of datato permanent storage.
(i)GetHistorvf) : to get sets of data fromstorage.
MMI Objects
The specifications of the responding objects
having been built, one can proceed to build theMMI object interfaces. An assortment of standard
MMI components are readily available in many of
the OO languages. The looks and structures may
be sufficient to choose from. But it is necessary totailor their variables and public interfaces toaccommodate the common functionalities ofaccelerator MMI readily.

Recalling the methods necessary to send
messages, the following are some of the ‘Button’component types that can be universally useful.
Operate, Regulate, Set, TakeSnap，Standby,MonitorVsTime， MonitorVsSpace， Plot,Archive，GetHistory.
Pressing of any of these buttons should produce a'Checkbox group’ MMI component, tabulating thecontrol objects to which the above button shouldsend a message.
For example, clicking of ‘Plot’ button should
produce a ‘checkbox’ with names of all acceleartor
objects in which a plotting is possible, eg., objectsof the classes Rf, Magnet, Diagnostics, Deviceetc.. On selecting an object from this ‘checkbox’,
a next level 'checkbox group5 objects must appear.
The members of this new ‘checkbox group，can be
the variables of the class selected in the earlier
checkbox. Thereafter a 'textarea5 may take up
values typed in from console.
The above example illustrates h o w ，a detailed
specification of the control system objects， isnecessary for analysis of the MMI objects foraccelerators and their classification.
After this analysis，it will be possible to findout and classify MMI objects of common
functionalities.

Plans
The details of variables and functions to work
as a common set for several accelarators can befound and therefrom, it will be possible to write
codes to implement specific MMI objects of suchaccelerators. The use of a platform-independent
language like Java is envisaged to make thesecodes portable to other installations. Also, the easeof interfacing to network browser, this way, willproduce distributed system codes.
Thefunctionalities of attractive commercial GUI
components can be thus extended to suit therequirements of the accelerator world.