简介:Thefastturnoverofsoftwaretechnologies,inparticularinthedomainofinteractivity(coveringuserinterfaceandvisualisation)makesitdifficultforasmallgroupofpeopletoproducecompleteandpolishedsoftware-toolsbeforetheunderlyingtechnologiesmakethemobsolete.AttheHepVis'99workshop,aworkinggrouphasbeenformedtoimprovetherpoductionofsoftwaretoolsfordataanalysisinHENP.Besidepromotingadistributeddevelopmentorganisation,onegoalofthegroupistosystematicallydesignasetofabstractinterfacesbasedonusingmodernOOanalysisandOOdesigntechniques.Aninitialdomainanalysishascomeupwithseveralcategories(componets)foundintypicaldataanalysistools:historams,Ntuples,Functions,Vectors,Fitter,Plotter,AnalyzerandController,SpecialEmphasiswasputonreducingthecouplingsbetweenthecategoriestoaminimum,thusoptimisingre-useandmaintainabilityofanycomponentindividually.TheinterfaceshavebeendefinedinJavaandC++andimplementationsexistintheformoflibrariesandtoolsusingC++(Anaphe/Lizard,Openscientist)andJava(JavaAnalysisStudio),AspecialimplementationaimsataccessingtheJavaLiraries(throughtheirAbstractInterfaces)fromC++.ThispapergiveranoverviewofthearchitectureanddesignofthevariouscomponentsfordataanalysisasdiscussedinAIDA.