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,

Slides:



Advertisements
Similar presentations
PRESENTATION 3 Sri Raguraman CIS 895 Kansas State University.
Advertisements

Managing Your Network Environment © 2004 Cisco Systems, Inc. All rights reserved. Managing Cisco IOS Devices INTRO v2.0—9-1.
Object-Oriented Analysis and Design
1 Chapter 12 Working With Access 2000 on the Internet.
Programming Language Paradigms: summary. Object-oriented programming Objects are the fundamental building blocks of a program. Interaction is structured.
Objects First with Java A Practical Introduction using BlueJ
© 2006 Pearson Addison-Wesley. All rights reserved4-1 Chapter 4 Data Abstraction: The Walls.
Scripting Languages For Virtual Worlds. Outline Necessary Features Classes, Prototypes, and Mixins Static vs. Dynamic Typing Concurrency Versioning Distribution.
Chapter 3.7 Memory and I/O Systems. 2 Memory Management Only applies to languages with explicit memory management (C or C++) Memory problems are one of.
Chapter 1 Introduction to C Programming. 1.1 INTRODUCTION This book is about problem solving with the use of computers and the C programming language.
Chapter 13: Object-Oriented Programming
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
C++ fundamentals.
Installing software on personal computer
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
Computer Software.
Python Introduction.
CLEO’s User Centric Data Access System Christopher D. Jones Cornell University.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
CS 355 – Programming Languages
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
Zubanov Alexei, 2006 Aug 07 – Sep 28 QtROOT package extension with Coin3D lib.
An Object-Oriented Approach to Programming Logic and Design
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Using Visual Basic 6.0 to Create Web-Based Database Applications
Chapter 1. Introduction.
Capture and Replay Often used for regression test development –Tool used to capture interactions with the system under test. –Inputs must be captured;
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
Chapter 1- Visual Basic Schneider1 Chapter 1 An Introduction to Computers and Visual Basic.
Linux Audio Mangler Project Design Presentation Yu Chong Hector Urtubia Tony Zuliani.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Steps in simulation study 1. - Clearly understand problem - Reformulation of the problem 2. - Which questions should be answered? - Is simulation appropriate?
Chapter 34 Java Technology for Active Web Documents methods used to provide continuous Web updates to browser – Server push – Active documents.
SIMPLE PROBLEM SOLVING in Java: a Problem Set Framework Viera K. Proulx Richard Rasala Jason Jay Rodrigues CCSCNE 2002 Conference.
Invitation to Computer Science 5 th Edition Chapter 6 An Introduction to System Software and Virtual Machine s.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 7 OS System Structure.
V. Serbo, SLAC ACAT03, 1-5 December 2003 Interactive GUI for Geant4 by Victor Serbo, SLAC.
Replay Compilation: Improving Debuggability of a Just-in Time Complier Presenter: Jun Tao.
The LC-3 – Chapter 7 COMP 2620 Dr. James Money COMP
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
Spatial Information Retrieval. Spatial Data Mining + Knowledge Discovery Used for mining data in spatial databases with huge amounts of data Spatial data.
240-Current Research Easily Extensible Systems, Octave, Input Formats, SOA.
INM205 Object Oriented Programming in JAVA Dr. Michael Casey Department of Computing.
Windows Programming, C.-S. Shieh, KUAS EC, Chapter 0 Overview.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Creating a Java Application and Applet
The Netnice Module for Firewall Builder Patrick Myers West Virginia University.
HBD HV Control System Development Manuel Proissl HBD Meeting 09/18/2007.
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
Lesson 1 1 LESSON 1 l Background information l Introduction to Java Introduction and a Taste of Java.
THE WINDOWS OPERATING SYSTEM Computer Basics 1.2.
GLAST 1 Event Display VRVS meeting Glast software collaboration Pisa experience with ROOT N Lumb and G Spandre INFN-Pisa.
Reflections CSC207 – Software Design. Background Turing's great insight: programs are just another kind of data. Source code is text that is interpreted.
AdaptJ Sookmyung Women’s Univ. PSLAB. 1. 목차 1. Overview 2. Collecting Trace Data using the AdaptJ Agent 2.1 Recording a Trace 3. Analyzing Trace Data.
January 2010 – GEO-ISC KickOff meeting Christian Gräf, AEI 10 m Prototype Team State-of-the-art digital control: Introducing LIGO CDS.
Profiling/Tracing Method and Tool Evaluation Strategy Summary Slides Hung-Hsun Su UPC Group, HCS lab 1/25/2005.
Wednesday NI Vision Sessions
Scalable Readout System Data Acquisition using LabVIEW Riccardo de Asmundis INFN Napoli [Certified LabVIEW Developer]
Fermilab Scientific Computing Division Fermi National Accelerator Laboratory, Batavia, Illinois, USA. Off-the-Shelf Hardware and Software DAQ Performance.
LCG AA Internal Review 30 March 2005 ROOT Graphical User Interface Ilka Antcheva, Bertrand Bellenot, Valeri Fine, Valeriy Onuchin, Fons Rademakers.
SQL Database Management
Applications Active Web Documents Active Web Documents.
Introduction to Operating System (OS)
Computer Science I CSC 135.
Chapter 2: System Structures
Lecture Topics: 11/1 General Operating System Concepts Processes
DATABASES WHAT IS A DATABASE?
Presentation transcript:

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 Won't you join me ? Future Goal & To do

Macro file – Things Created and Operated is recorded as Macro file –Resembles C++ form