Upload
jovita
View
17
Download
0
Tags:
Embed Size (px)
DESCRIPTION
F.Fujiwara , N.Tamura, M.Abe, S.Enomoto, G.Iwai, S,Kawabata, A.Manabe,Y.Nagasaka, I.Nakano, H.Sakamoto,Y.Sakamoto, T.Sasaki, R.Tanaka. Development of a data acquisition program builder via a user interface. Outline 01. D ata A c Q uisition program Builder - PowerPoint PPT Presentation
Citation preview
Development of a data acquisition program builder via a user interface
F.Fujiwara, N.Tamura, M.Abe, S.Enomoto,
G.Iwai, S,Kawabata, A.Manabe,Y.Nagasaka, I.Nakano, H.Sakamoto,Y.Sakamoto, T.Sasaki, R.Tanaka
Outline 01
• Data AcQuisition program Builder• A class library • A software which can be use to make a data
acquisition system software using the class library via a UserInterface.(UI)
Outline 02
• Has many classes with following functions – Control Hardware module
– Provide object stream( to File , to Network , etc I/O ..)
– Provide interface to other analyzers (ROOT etc...)
• It has been designed with the Object-Oriented Language C++(100% pure)
Outline 03
• For using the DAQ-Builder CL interactively– Can create arbitrary objects
in the class library– Can operate objects created via the UI
• Two versions exist now (GUI,CUI)
Backgrounds
• Required software knowledge is too much for the beginner.
– Environmental maintenance– Programming technique– UNIX system call etc..
• Every experiment has a unique DAQ-system
• Toolkits for developing DAQ exist in the world– KONOE,CLDAQ..– > Great deal of such knowledge is required
Purpose
• To Support the development of a data acquisition system software of small experiments.
– Users can develop DAQ easily.– To reduce amount of required knowledge.
• DAQ-Builder also allows the user a shorter development period.
– Users can develop via the user interface , without software program-compile work.
– Users can develop intuitively using the GUI.
Which objects are required for an experiment!?
• To control hardware module– CAMAC,VME,GPIB
• To record experiment data– DataRecord,ReadoutList
• To save data or To pass to a network– FileInputStream,Socket,SocketOutputStream
• To event display and analysis– 1DHistogram,2DHistogram etc..
• Creating an objects
Example01
Action & Run Object • Users should create some Action Objects & a Run Object• Define operation of objects .. (Action Object)• Install Action Objects into the Run Object( Main Object )• Operate Run Object
• The Action object is installed in the Run Object
Example02
Example03
• Instance Class• Partner plug-in• Class loader
How to create or operate ?
• All classes in the class library Inherit class Object– Has reference count,current type , inherit
information.
• All objects are held in Instance object – Operate objects reference count
Instance Object
• Each class defined by the CL has their own partner plug-in.
• Has methods return value type and arguments types.• Object is operated by the method "execute" in the
plug-in.
A Partner Plug-in
• Parse an information stored in the Action object.• Open the plug-in corresponding to the object.• Extract the function executes image from plug-in.• Execute• Check Objects operation( arguments , return value...check)
Class Loader
Features
• Macro file– Things Created and Operated is recorded as Macro file
– Resembles C++ form • Garbage collection
– You can forget to delete objects.If you create an object via the DAQ-Builder-UI
• Extendibility– You can extend DAQ-Builder by developing plug-in with
specified style
• Compare the Run Object created via the User Interface and execute file compiled by the source code using the Class Library.
Performance Test01
Performance Test02
• When data is read from one module– In the case which the number of channels increased– In the case which the number of events increased
Performance Test03
• In the case which the number of channels increased
Performance Test04
• In the case which the number of events increased
• Analysis– There is not a difference , In the case which the
number of channels increased.
– There is the difference of performance about 3 times ,In the case which the number of events increased
– Overheads of “Class Loader”– Using UI means that a performance decrease
about 3 times compared to Using raw Class Library
Performance Test05
• DAQ can be developed interactively• We will be able to shorten the development
period • Has following features.
– Macro File– Garbage collection– Plug-in
• Decrease performance compared to using raw Class Library
Summary
• Enrich GUI to make it easier to use• Optimize the DAQ-Builder to improve
performance• Make the manual user-friendly• Get the world out about DAQ-Builder
http://sourceforge.jp/projects/daq-builder Won't you join me ?
Future Goal & To do
Macro file
• Macro file– Things Created and Operated is recorded
as Macro file – Resembles C++ form