Presentation is loading. Please wait.

Presentation is loading. Please wait.

Zhangxy Zhangxm Huangxt Dec 17 ,2003

Similar presentations


Presentation on theme: "Zhangxy Zhangxm Huangxt Dec 17 ,2003"— Presentation transcript:

1 Zhangxy Zhangxm Huangxt Dec 17 ,2003
BESIII Framework v2.0 Zhangxy Zhangxm Huangxt Dec 17 ,2003

2 Outline Introduction Functionality Architecture Part Implementation
Brief Summary

3 Introduction BESF(BESIII Software Framework) is a software
Framework for the data analysis of BESIII. It’s design and implementation are based mainly on BASF architecture developed by Belle. Some advanced features from Gaudi,Babar frame- works were also implemented in BESF. BESF is only a temporary name of the framework, A better name should be chosen.

4 Functionality Two data management system available: Panther System
Proxy System(next report) Event Input Service : Raw data Panther table data BesII NDST data. Event Output Service: Panther table data.

5 Functionality Histogram Service: 1D, 2D, Ntuple (Hbook)
1D, 2D ,3D ,Ntuple (Root) Dynamic libraries loading. Run-time parameter controlling. Other .. Message tool. Error Log tool. history commands memory.

6 Architecture Defining the basic components.
Defining how they are interfaced. Paw

7 Part Implementation Module & Path Service Double buffer for Event I/O
Factory Dynamic Loading Libraries Messages Job Execution

8 Module & Path main path1 path2 …… module1 module 2 module 3
Module is the basic processing unit to perform a specific task. Path is the collection of the related modules to finish a series of tasks. main path1 path2 …… path condition module1 module 2 module 3

9 Service is very like the module , but it’s convenient to use.

10 Double buffer for Event I/O
Double buffer mechanism to minimize the reading time from data storage device.

11 Factory Factory is used to create the modules and services BesFactory
Type()=0 : string Ident()=0 : string BesServiceBaseFactory Instiansiate() = 0 :BesService* BesModuleBaseFactory Instiansiate() = 0 :BesModule * BesModuleFactory Type() : string Ident() : string Instiansiate() :BesModule* BesServiceFactory Type() : string Ident() : string Instiansiate() :BesService*

12 Dynamic Loading Libraries
dlopen() to open the share libraries. dlsym() to get the function pointer. BesModuleFactoryManger map(string,BesFactory*) fmapfactory declareFactory() createModule(string, string, BesModule* ) BesFramework BesDLLClassManager BesServiceFactoryManger map(string,BesFactory*) fmapfactory declareFactory() createModule(string, string, BesService*)

13 Messages Interface between user and BESF parse user’s commands.
take certain action provide help.

14 Job Execution BesFramewok Use_if Run() Messageprocess() MessageList()
Configure() 1.Open *.so 2.put module factory into BesMoudleFatoryManager class. 3.put service factory into BesServiceFactoryManager class. Initialize() 1.Initialize paths 2.Initialize modules 3.Initialize service.

15 Brief Summary Collection of Manpower.
Collection of Belle, Gaudi, BaBar. Belle: User Interface Path — Module Organization Panther Gaudi: Service Mechanism. Parameter Mechanism. Factory Mechanism. Dynamic Libraries Mechanism. BaBar: Proxy Mechanism. Error Logging.

16 Thanks All


Download ppt "Zhangxy Zhangxm Huangxt Dec 17 ,2003"

Similar presentations


Ads by Google