Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Agata Data Processing Team Software solutions and choices - Version 0.1 O.Stézowski IPN – Lyon 17.06.04 Available software solutions In this part are listed some software which could be used or useful to build a framework for AGATA. Concerning the development itself, several solutions (mostly freeware) are presented like IDE’s (Integrated Development Environment), documentation generation systems and CVS like systems to deal with sharing files among several developers. It allows also the users to download the current developed version as well as all previous versions. Links to libraries and interpreters are given respectively in the libraries and the interpreter sections. The last part is dedicated to the software developed in our field (EURAGAM/EUROBALL, etc …) and other fields (CERN, etc …). Development Name : Qt - http://www.trolltech.com/ Platform : multiplatform Language : C++ Qt is a multiplatform, C++ application framework that lets developers write one application that will run -- natively -- on Windows, Linux/Unix, Mac OS X, and embedded Linux with a simple recompile. Name: Kdevelop - http://www.kdevelop.com/ Platform: LINUX Language: C++ The KDevelop-Project was raised in 1998 to build up an easy to use C/C++ IDE (Integrated Development Environment) for Unix. Since then, the KDevelop IDE is publicly available under the GPL and supports many programming languages. Name: CVS - http://www.cvshome.org/ Platform: LINUX CVS is the Concurrent Versions System, the dominant open-source network-transparent version control system. CVS is useful for everyone from individual developers to large, distributed teams: Its client-server access method lets developers access the latest code from anywhere there's an Internet connection. Its unreserved check-out model to version control avoids artificial conflicts common with the exclusive check-out model. Its client tools are available on most platforms. Name: Doxygen - http://www.stack.nl/~dimitri/doxygen/ Platform: multiplatform Language: many Doxygen is a documentation system for C++, C, Java, IDL (Corba and Microsoft flavors) and to some extent PHP and C#. It can help you in three ways: 1. 2. 3. It can generate an on-line documentation browser (in HTML) and/or an off-line reference manual (in ) from a set of documented source files. There is also support for generating output in RTF (MS-Word), PostScript, hyperlinked PDF, compressed HTML, and Unix man pages. The documentation is extracted directly from the sources, which makes it much easier to keep the documentation consistent with the source code. You can configure doxygen to extract the code structure from undocumented source files. This is very useful to quickly find your way in large source distributions. You can also visualize the relations between the various elements by means of include dependency graphs, inheritance diagrams, and collaboration diagrams, which are all generated automatically. You can even `abuse' doxygen for creating normal documentation (as I did for this manual). Doxygen is developed under Linux, but is set-up to be highly portable. As a result, it runs on most other Unix flavors as well. Furthermore, executables for Windows 9x/NT and Mac OS X are available. Name: Glade - http://glade.gnome.org/ Platform: LINUX Language: GTK+ Name: Sun ONE Studio - http://www.sun.com/software/sundev/ Platform: UNIX SUN Language: FORTRAN - C++ - JAVA Libraries Name: C++Boost - http://www.boost.org/ Platform: UNIX /LINUX Language: C++ Name: commonC++ - http://www.gnu.org/software/commoncpp/ Platform: UNIX /LINUX Language: C++ GNU Common C++ is a C++ framework offering portable support for threading, sockets, file access, daemons, persistence, serial I/O, XML parsing, and system services, initially started by David Sugar and Daniel Silverstone. GNU Common C++ is a GNU package and is licensed to the terms of the GNU GPL with specific privileges similar to Guile, which constitute privileges similar to the LGPL but more appropriate for a C++ class framework. Interpreter Name: Python - http://www.python.org/ Platform: multiplatform Language: Object-oriented Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java. Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface. The Python implementation is portable: it runs on many brands of UNIX, on Windows, OS/2, Mac, Amiga, and many other platforms. If your favorite system isn't listed here, it may still be supported, if there's a C compiler for it. Ask around on news:comp.lang.python -- or just try compiling Python yourself. The Python implementation is copyrighted but freely usable and distributable, even for commercial use. Name: Ch - http://www.softintegration.com/ Platform: multiplatform Language: C/C++ Software dedicated to analysis Name: MIDAS - http://npg.dl.ac.uk/MIDAS/ Platform: UNIX /LINUX/WINDOWS Language: Tcl/Tk Very rich Graphical User Interface written in Tcl/Tk. Use for the EUROGAM/EUROBALL (and some others) acquisition system, it could be used also for analysis. It includes its own language (MTSort) that could be used to write analysis programs. This language is a compiled language. Name: Radware - http://radware.phy.ornl.gov/ Platform: UNIX /LINUX Language: C The most popular framework for analysis in Nuclear Structure. It should be the most important source of inspiration for the AGATA framework. Name: ROOT - http://root.cern.ch/ Platform: multiplatform Language: C++ See also http://agata.pd.infn.it/week9152003.html. Name: Anaphe (LHC++) - http://anaphe.web.cern.ch/anaphe/ Platform: multiplatform Language: C++ Anaphe, formerly called LHC++, has been developed by the API group in IT division to provide data analysis and visualisation tools. It consists of a set of modular C++ libraries and an interactive framework called Lizard. DIVERS Name: DATAGRID - http://eu-datagrid.web.cern.ch/eu-datagrid/ Name: LCG - http://lcg.web.cern.ch/LCG/ DataGrid is a project funded by European Union. The objective is to build the next generation computing infrastructure providing intensive computation and analysis of shared large-scale databases, from hundreds of TeraBytes to PetaBytes, across widely distributed scientific communities. Name: PostgreSQL - http://www.postgresql.org/ Name: MySQL - http://www.mysql.org/