Development of a data acquisition program builder via a user interface

24
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

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

Transcript of Development of a data acquisition program builder via a user interface

Page 1: Development of a data acquisition program builder via a user interface

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

Page 2: Development of a data acquisition program builder via a user interface

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)

Page 3: Development of a data acquisition program builder via a user interface

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)

Page 4: Development of a data acquisition program builder via a user interface

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)

Page 5: Development of a data acquisition program builder via a user interface

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

Page 6: Development of a data acquisition program builder via a user interface

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.

Page 7: Development of a data acquisition program builder via a user interface

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..

Page 8: Development of a data acquisition program builder via a user interface

• Creating an objects

Example01

Page 9: Development of a data acquisition program builder via a user interface

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

Page 10: Development of a data acquisition program builder via a user interface

• The Action object is installed in the Run Object

Example02

Page 11: Development of a data acquisition program builder via a user interface

Example03

Page 12: Development of a data acquisition program builder via a user interface

• Instance Class• Partner plug-in• Class loader

How to create or operate ?

Page 13: Development of a data acquisition program builder via a user interface

• 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

Page 14: Development of a data acquisition program builder via a user interface

• 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

Page 15: Development of a data acquisition program builder via a user interface

• 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

Page 16: Development of a data acquisition program builder via a user interface

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

Page 17: Development of a data acquisition program builder via a user interface

• Compare the Run Object created via the User Interface and execute file compiled by the source code using the Class Library.

Performance Test01

Page 18: Development of a data acquisition program builder via a user interface

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

Page 19: Development of a data acquisition program builder via a user interface

Performance Test03

• In the case which the number of channels increased

Page 20: Development of a data acquisition program builder via a user interface

Performance Test04

• In the case which the number of events increased

Page 21: Development of a data acquisition program builder via a user interface

• 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

Page 22: Development of a data acquisition program builder via a user interface

• 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

Page 23: Development of a data acquisition program builder via a user interface

• 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

Page 24: Development of a data acquisition program builder via a user interface

Macro file

• Macro file– Things Created and Operated is recorded

as Macro file – Resembles C++ form