Plug-in Framework ETICS All Hands – October 2006

Slides:



Advertisements
Similar presentations
Introduction to Maven 2.0 An open source build tool for Enterprise Java projects Mahen Goonewardene.
Advertisements

 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. The Web Services Modeling Toolkit Mick Kerrigan.
SC7 WG6 Rome Engineering Ingegneria Informatica S.p.A. INFSO-RI Isabel Matranga ETICS Automated Building,Testing and Quality Assurance.
Useful Tools for Testing
UNIT-V The MVC architecture and Struts Framework.
The ATLAS Production System. The Architecture ATLAS Production Database Eowyn Lexor Lexor-CondorG Oracle SQL queries Dulcinea NorduGrid Panda OSGLCG The.
KWIC Project – Part 1 Mini-Project to Evaluate Architectural Patterns(Styles) Carl Chesser Ji Li EECS 761.
INFSO-RI Quality Assurance with ETICS – multi- node automated testing CGW 09 M.Zurek, A. A. Rodriguez, A. Aimar, A. di Meglio, L. Dini CERN Krakow,
M Gallas CERN EP-SFT LCG-SPI: SW-Testing1 LCG-SPI: SW-Testing LCG Applications Area GridPP 7 th Collaboration Meeting LCG/SPI LCG.
Unit tests, Integration tests Physics tests Andrea Dotti, Gunter Folger, Pere Mato CERN – PH/SFT Geant4 workshop 2012.
© 2005 by IBM; made available under the EPL v1.0 | March 1, 2005 Tim deBoer Gorkem Ercan Extend WTP Server Tools for your.
Workload Management WP Status and next steps Massimo Sgaravatto INFN Padova.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Introduction to Computational Linguistics Programming I.
INFSOM-RI Juelich, 10 June 2008 ETICS - Maven From competition, to collaboration.
.NET Framework Danish Sami UG Lead.NetFoundry
INFSO-RI Module 01 ETICS Overview Alberto Di Meglio.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
INFSO-RI JRA2: Testing senarious ETICS AH meeting Budapest, Iune 2009 Eva Takacs, Jozsef Kuti, András Milassin 4D Soft.
Overview of LHCb applications and software environment LHCb software tutorial - March
INFSO-RI Module 01 ETICS Overview Etics Online Tutorial Marian ŻUREK Baltic Grid II Summer School Vilnius, 2-3 July 2009.
Migrating Desktop The graphical framework for running grid applications Bartek Palak Poznan Supercomputing and Networking Center The.
A Framework to Test Autonomic Containers Brittany Parsons and Ronald Stevens July 6, 2006 REU Sponsored by NSF.
Shannon Hastings Multiscale Computing Laboratory Department of Biomedical Informatics.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Frameworks CompSci 230 S Software Construction.
INFSO-RI Module 05 The ETICS Plugins and Compliance Analysis Alberto Di Meglio.
INFSOM-RI Elisabetta Ronchieri INFN CNAF ETICS 2 nd EU Review (CERN) 15 February 2008 WP3 - Software Configuration Tools and Methodologies.
Youngil Kim Awalin Sopan Sonia Ng Zeng.  Introduction  Concept of the Project  System architecture  Implementation – HDFS  Implementation – System.
Migrating Desktop Bartek Palak Bartek Palak Poznan Supercomputing and Networking Center The Graphical Framework.
EGEE is a project funded by the European Union under contract IST Unit testing coordination and interface testing. David Collados Testing Team.
ETICS All Hands meeting B ologna, October , 2006 WP4 Status Eva TAKACS.
Plug-in Architectures Presented by Truc Nguyen. What’s a plug-in? “a type of program that tightly integrates with a larger application to add a special.
INFSOM-RI The Reporting Engine Paolo Fabriani Engineering Ingegneria Informatica S.p.A. 2 nd ETICS All Hands Meeting Bologna –
INFSOM-RI WP 4 : Testing Tools and Methodologies Status Report ETICS Review – 15 February 2008 Éva Takács (4D SOFT)
EMI INFSO-RI Software Metric Definitions, Reports and Analysis in EMI Authors: Eamonn Kenny (TCD), Gianni Pucciani (CERN) Date: Tuesday 12 th April.
D4Science and ETICS Building and Testing gCube and gCore Pedro Andrade CERN EGEE’08 Conference 25 September 2008 Istanbul (Turkey)
ETICS All Hands meeting B ologna, October , 2006 WP4 Test and Metrics Plugin Framework (WP4) (WP4) Eva TAKACS.
CMSC 691B Multi-Agent System A Scalable Architecture for Peer to Peer Agent by Naveen Srinivasan.
INFSO-RI JRA2 Test Management Tools Eva Takacs (4D SOFT) ETICS 2 Final Review Brussels - 11 May 2010.
INFSOM-RI Training: Build using the ETICS Service The ETICS Build Process Alberto Di Meglio ETICS Project.
Plug-In Architecture Pattern. Problem The functionality of a system needs to be extended after the software is shipped The set of possible post-shipment.
Creating Java Applications (Software Development Life Cycle) 1. specify the problem requirements - clarify 2. analyze the problem - Input? Processes? Output.
ETICS An Environment for Distributed Software Development in Aerospace Applications SpaceTransfer09 Hannover Messe, April 2009.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Experiencing in using ETICS, a multi-platform and open source build and test system for big software projects Elisabetta Ronchieri INFN CNAF 5 July 2011,
M.-E. Bégin¹, S. Da Ronco², G. Diez-Andino Sancho¹, M. Gentilini³, E. Ronchieri ², and M. Selmi² ¹CERN, Switzerland, ² INFN-Padova, Italy, ³INFN-CNAF,
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
Slide 1 © 2016, Lera Technologies. All Rights Reserved. Oracle Data Integrator By Lera Technologies.
INFSOM-RI Elisabetta Ronchieri INFN CNAF ETICS 2 nd EU Review (CERN) 15 February 2008 WP3 - Software Configuration Tools and Methodologies.
NAREGI PSE with ACS S.Kawata 1, H.Usami 2, M.Yamada 3, Y.Miyahara 3, Y.Hayase 4 1 Utsunomiya University 2 National Institute of Informatics 3 FUJITSU Limited.
1 RIC 2009 Symbolic Nuclear Analysis Package - SNAP version 1.0: Features and Applications Chester Gingrich RES/DSA/CDB 3/12/09.
UNICOS Application Builder Architecture
Useful Tools for Testing
JRA2 – TEST MANAGEMENT TOOLS
Marc-Elian Bégin ETICS Project, CERN
Supporting the gLite release process
The ETICS Build and Test Service
C Runtime In Tcl v3 Andreas Kupries ActiveState Software Inc. © 2011
Object-Orientated Programming
Programming Models for Distributed Application
Java Servlet Ziad A. Al-Sharif.
SISAI STATISTICAL INFORMATION SYSTEMS ARCHITECTURE AND INTEGRATION
Module 01 ETICS Overview ETICS Online Tutorials
MySQL Migration Toolkit
Metadata The metadata contains
Introduction to Web Services and SOA
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
Explicit arbitration specification binding does not scale
Plug-In Architecture Pattern
Presentation transcript:

Plug-in Framework ETICS All Hands – 23-25 October 2006 Marc-Elian Bégin ETICS WP5 Leader CERN

Content Goal Examples Architecture Organisation of work Profiles

Goal Provide a framework for common actions to be performed during build and test execution Separation between specific build and test execution and analysis and metrics collection Provide open interface for users to register their own plug-ins to be executed during build and test Provide raw data for build and test and repository services

Not necessarily coupled to target module Examples Static analysis Single line of code count (SLOC) Cyclomatic complexity Depth of inheritance IPv6 compliance Check style Dynamic analysis Code coverage Memory leaks Test execution Java: junit C++: CPPUNIT (CPPTEST) Python: PyUnit Shell: shutil Script/Executable Not necessarily coupled to target module

Architecture Overview Raw data generation Modules Plug-ins Config File Build and test data model Framework CLI

Draft interface Each plug-in implements the following interface getPluginInstance(): provide info about which target this plug-in contributes to, and how it can be used register(): registers for profile(s) and target(s) init(): initialise the plug-in and its environment execute(): execute the plug-in stopExecute(): stop executing the plug-in publish(): harvest and publish to a known location the results of the execution finalise(): finalisation of the plugin (only called once at the end of the process) This mechanism support cascading plug-ins (e.g. coverage -> test execution) Arguments are provided via the target string definition

Loading procedure Plugins are provided as Python modules or packages They must be copied into the ‘plugins’ directory in the ETICS client standard directory structure

Organisation of Work Proposed in Bologna Framework: WP5 Definition and implementation of the framework Integration of the framework into the CLI Specification: WP4 Tools to be used as plug-ins Specification of inputs Specification of output and possible transformation into ETICS standard formats Plug-in implementation: WP3 Implementation of the plug-ins, including integration with underlying tools Registration and management of the tools and plug-ins Implementation of the data transformation (if required)

Plugin Matching Plugin matching algorithm Plugin User Plugin registers which target(s) of which command(s) (i.e. VCSCommand, BuildCommand and TestCommand) applies to Plugin advertises for which profile it applies User using ‘profile’ field of ‘configuration’, user specifies profiles (comma separated string)

Plugin Matching (2) Example junitPlugin Registers with ‘test’ target for ‘BuildCommand’ and ‘TestCommand’ Advertises for profile ‘java’ MyModule.HEAD: profile=java Result: junitPlugin fires for the target ‘test’ for both build and test A plugin can also contribute to another plugin PyCoveragePlugin contributes to PyUnitPlugin

Profiles Should we introduce high-level profiles? Java Python VCS e.g. ‘java’: junit + coverage e.g. ‘python’: pyunit + coverage e.g. ‘cvs’ cvs Java Python VCS junit pyunit cvs svn Coverage: corbetura Emma Coverage: pycoverage Cyclomatic complexity: toolX toolY toolA toolB