Abstract Interfaces for Data Analysis —Component Architecture for Data Analysis Tools

(整期优先)网络出版时间:2001-01-11
/ 1
Thefastturnoverofsoftwaretechnologies,inparticularinthedomainofinteractivity(coveringuserinterfaceandvisualisation)makesitdifficultforasmallgroupofpeopletoproducecompleteandpolishedsoftware-toolsbeforetheunderlyingtechnologiesmakethemobsolete.AttheHepVis'99workshop,aworkinggrouphasbeenformedtoimprovetherpoductionofsoftwaretoolsfordataanalysisinHENP.Besidepromotingadistributeddevelopmentorganisation,onegoalofthegroupistosystematicallydesignasetofabstractinterfacesbasedonusingmodernOOanalysisandOOdesigntechniques.Aninitialdomainanalysishascomeupwithseveralcategories(componets)foundintypicaldataanalysistools:historams,Ntuples,Functions,Vectors,Fitter,Plotter,AnalyzerandController,SpecialEmphasiswasputonreducingthecouplingsbetweenthecategoriestoaminimum,thusoptimisingre-useandmaintainabilityofanycomponentinpidually.TheinterfaceshavebeendefinedinJavaandC++andimplementationsexistintheformoflibrariesandtoolsusingC++(Anaphe/Lizard,Openscientist)andJava(JavaAnalysisStudio),AspecialimplementationaimsataccessingtheJavaLiraries(throughtheirAbstractInterfaces)fromC++.ThispapergiveranoverviewofthearchitectureanddesignofthevariouscomponentsfordataanalysisasdiscussedinAIDA.