ETICS (eInfrastructure for Testing, Integration and Configuration of Software) and its follow-up project ETICS 2 are collaboration projects coordinated by CERN and funded partially by the European Commission. ETICS goal is to improve the quality of Grid and distributed software by developing and maintaining a distributed infrastructure and tools to manage software configuration, builds and tests. ETICS provides a number of services including a configuration service, a distributed multi-platform test bed, an online repository of packages, build and test reports and metrics and an ISO-compliant quality assessment model called A-QCM (Automated Quality Certification Model) History The original ETICS project was started in January 2007 as a spin-off of the EGEE project. EGEE (Enabling Grids for E-sciencE) coordinates computing and data storage resources for scientific research and develops the gLite grid middleware. At the end of the first EGEE project, the software engineering tools and procedures developed for gLite were considered of general enough interest and applicability to become a stand-alone project and be offered to other research and commercial project developing software for the grid. The first ETICS project was funded under the EU FP6 program and consisted of 5 partners: CERN in Geneva, Switzerland as coordinator; INFN (Istituto Nazionale di Fisca Nucleare) at CNAF in Bologna, Italy; Engineering Ingegneria Informatica SpA in Rome, Italy, 4D Soft Ltd in Budapest, Hungary; and the Computer Science Department at the University of Wisconsin-Madison, USA. The current ETICS 2 project started in March 2008 under the EU FP7 program and has been expanded to include 3 new partners: MTA-SZTAKI in Budapest, Hungary, VEGA IT GmbH in Darmstadt, Germany; and the Forschungzentrum Juelich in Juelich, Germany, the main provider of the UNICORE middleware. The ETICS Collaboration is based on a binding Consortium Agreement among the partners. Goals The ETICS and ETICS 2 projects have the main objective of providing state-of-the-art open-source tools, procedure and resources to manage the software production lifecycle for research projects developing grid and other distributed software. The project has set up and is currently maintaining a distributed collaborative system called The ETICS System composed of a number of web-based services, databases and digital repositories and a set of quality assurance guidelines and tools. Using the ETICS System, other projects can benefit from reduction of costs (no need to set up dedicated integration and testing infrastructures) and from the availability of shared packages, testsuites and knowledge of all projects using ETICS. Another important goal of the ETICS project is to promote the establishment of standard quality assurance methods and procedures within the scientific research communities to improve the overall quality, stability and reliability of the grid-based research infrastructures. ETICS has developed a model called A-QCM (Automated Quality Certification Model, formerly known as Grid-QCM) as a practical implementation of the software quality assurance guidelines provided by the ISO/IEC 9126 quality model and compliant with the ISO 12207 software lifecycle processes. ETICS Architecture and Services The ETICS System is composed of six main elements, the web portal, the command-line clients and APIs, the Configuration Service and Database, the Repository Service and Database, the Execution Engines and the Execution Infrastructure. The ETICS System Portal is the main access point to all web-based services, including the Configuration Service, the Repository Service, the Build and Test Jobs Submission Service and the Administration Service The Command-Line client and APIs are a set of Python based scripts that allow users to execute builds and tests on their own computers and integrate ETICS in existing software lifecycle processes The Configuration Service and Database provides access to the software configuration information stored in the ETICS System. The main entry in ETICS is a Project, which can be further described in terms of its Subsystems and Components. Each project, subsystem and component has one on more Configurations describing a particular version and its properties, dependencies, associated build and test commands, platform compatibility, etc The Repository Service and Database provides access to all packages, reports and software quality metrics generated and collected by using the ETICS System facility. It has support for various access formats including popular package management formats like YUM The Execution Engines are responsible to distribute user build and test jobs on the underlying execution infrastructure. Typically an ETICS Execution Engine is composed of a small connector from ETICS to a particular engine implementation, the job execution server itself and a set of worker nodes attached to the server. The first Execution Engine used by ETICS has been Condor. Connectors for execution using the gLite, UNICORE, ARC and Amazon EC2 are being developed. The Execution Infrastructure is the set of worker nodes attached to an Execution Engines where Build and Test Jobs are executed on behalf of the submitting users. They can be physical nodes or virtual machines and run a variety of platforms. The ETICS Community The ETICS System is currently being used by a number of research projects in Europe to manage the production of grid and distributed software. Project like EGEE, D4Science, EDGeS, UNICORE and SZTAKI Desktop Grid use ETICS for their grid and distributed middleware and applications. ETICS has also been applied beyond the original grid environments to software configuration and information sharing in biomedical applications and general software interoperability
|
|
|