Community Software Engineering Practices and Principles A Case Study of the Open Source Insight Toolkit (ITK) Terry Yoo (National Library of Medicine),

Slides:



Advertisements
Similar presentations
Yi Wang CTO, Data Services Ivy Li Director, Equity Data Collection
Advertisements

E-Science Data Information and Knowledge Transformation Thoughts on Education and Training for E-Science Based on edikt project experience Dr. Denise Ecklund.
NA-MIC National Alliance for Medical Image Computing National Alliance for Medical Image Computing: NAMIC Ron Kikinis, M.D.
National Alliance for Medical Image Computing Testing with CTest and CDash Julien Jomier Kitware Inc.
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
04b | Manage Test Execution (2 of 2) Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
SSCLI: The Microsoft Shared Source CLI Implementation Mark Lewin Microsoft Research
DCS Architecture Bob Krzaczek. Key Design Requirement Distilled from the DCS Mission statement and the results of the Conceptual Design Review (June 1999):
June 22, 2005NCRR NIBIB PI Meeting Open, Distributed and Collaborative Software Development Bill Lorensen GE Research
EC Review – 01/03/2002 – G. Zaquine – Quality Assurance – WP12 – CS-SI – n° 1 DataGrid Quality Assurance Gabriel Zaquine Quality Engineer - WP12 – CS-SI.
1 M&S Teachers Seminar: Project Management Presented by: Paul E. Paquette September 26, 2013.
Software Process, CMake, Dashboards, CPack Bill Hoffman Kitware, Inc.
Building Open Science Luis Ibáñez Kitware, Inc. The Insight Journal.
Software Process for Distributed Teams KITWARE, Inc.
NA-MIC National Alliance for Medical Image Computing IGT Software Design and Process Bill Lorensen GE Research.
William Lorensen GE Research Niskayuna, NY February 12, 2001 Insight Segmentation and Registration Toolkit.
September 6, 2007Open Source Software Practice Overview of the Software Process Bill Lorensen GE Research (retired)
Slide 1 Copyright © 2003 Encapsule Systems, Inc. Hyperworx Platform Brief Modeling and deploying component software services with the Hyperworx™ platform.
TBA #23 GE Corporate R&D Niskayuna, NY
Getting Started with ITK in Python Language
NA-MIC National Alliance for Medical Image Computing NAMIC-Kit Update Will Schroeder Jim Miller Bill Lorensen.
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Open Source Imaging Toolkits Rick Avila Director of Medical Applications Kitware, Inc. April 27, 2006 Kitware.
Framework for Automated Builds Natalia Ratnikova CHEP’03.
Black Box Corporation Overview. Black Box Corporation 2 Forward-Looking Statements - Any forward-looking statements contained in this presentation are.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
NA-MIC National Alliance for Medical Image Computing NA-MIC Software Engineering Bill Lorensen GE Research NA-MIC Engineering Core PI.
ITK 10 Year Anniversery ITK – Version 4 Looking Back to Look Forward Bill Lorensen marchingcubes.org.
1 ANASAC Meeting – May 20, 2015 ALMA Pipeline Brian Glendenning (for Jeff Kern)
1 Software Development Configuration management. \ 2 Software Configuration  Items that comprise all information produced as part of the software development.
Software Toolkits Building Communities Luis Ibáñez KITWARE, Inc.
EMI INFSO-RI SA2 - Quality Assurance Alberto Aimar (CERN) SA2 Leader EMI First EC Review 22 June 2011, Brussels.
May 29 th, 2003 Curtis Anderson Sivaprasad Padisetty.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
HSAI Institute for Maneuverability and Terrain Physics Simulations (IMTPS) Software Engineering Owen J. Eslinger, Ph.D. 8 Oct 2009.
Software Quality Assurance
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
PHP Features. Features Clean syntax. Object-oriented fundamentals. An extensible architecture that encourages innovation. Support for both current and.
NA-MIC National Alliance for Medical Image Computing Slicer Building and Deployment Steve Pieper, PhD.
William Schroeder, Ph.D. §, Andy Cedilnik §, Sebastien Barré, Ph.D. §, William Lorensen ‡, James Miller, Ph.D. ‡, Daniel Blezek, Ph.D. ‡ § Kitware Inc.,
NA-MIC National Alliance for Medical Image Computing Core 1b – Engineering Software Process Stephen R. Aylward Kitware, Inc.
Open Source Software in Image Guided Surgery and New Age of Publishing Luis Ibáñez KITWARE, Inc.
NA-MIC National Alliance for Medical Image Computing The NA-MIC Kit: ITK, VTK, Pipelines, Grids and 3D Slicer as An Open Platform for.
Copyright © 2008 Siemens Corporate Research – All rights reserved1/12 eXtensible Imaging Platform (Xip) Sylvain Jaume – Sep 2008 Siemens Corporate Research.
Reviews and Inspections. Types of Evaluations Formal Design Reviews conducted by senior personnel or outside experts uncover potential problems Inspections.
GRID Overview Internet2 Member Meeting Spring 2003 Sandra Redman Information Technology and Systems Center and Information Technology Research Center National.
Microsoft Management Seminar Series SMS 2003 Change Management.
The Insight Journal Luis Ibáñez KITWARE, Inc.. NAMIC and The Insight Journal.
Slicer 3 Ron Kikinis, Steve Pieper. CTK Workshop Heidelberg, June 29/30, 2009 Slicer Goals  Stable, Usable, Cross Platform, End-User Software for Medical.
NA-MIC National Alliance for Medical Image Computing Kitware, Inc. Core 2 Engineering William J. Schroeder.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
NA-MIC National Alliance for Medical Image Computing Non-Interactive Tools Stephen Aylward, Kitware
31 March Learning design: models for computers, for engineers or for teachers? Jean-Philippe PERNIN (*,**) Anne LEJEUNE (**) (*) Institut national.
High Risk 1. Ensure productive use of GRID computing through participation of biologists to shape the development of the GRID. 2. Develop user-friendly.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Parasoft : Improving Productivity in IT Organizations David McCaw.
IBM Academic Initiative JazzHub Overview John Schilt Lead, IBM Academic Initiative Australia / New Zealand UNSW and IET (Young Professionals)
The Insight Toolkit Case Study Dr. Luis Ibanez, Kitware /
Kitware, Inc. Hackathon Goals:
SimpleITK Historical Overview: Standing on the Shoulders of Giants
SimpleITK Historical Overview: Standing on the Shoulders of Giants
National Library of Medicine Segmentation and Registration Toolkit
The Insight Software Consortium InsightSoftwareConsortium
Microsoft Virtual Academy
SimpleITK Historical Overview: Standing on the Shoulders of Giants
ITK Performance Visualization
Introduction to Modelica and FMI
Presentation transcript:

Community Software Engineering Practices and Principles A Case Study of the Open Source Insight Toolkit (ITK) Terry Yoo (National Library of Medicine), Bill Lorensen (GE Research), Will Schroeder (Kitware Inc) Project Rhythms Insight has adopted Extreme Programming, a lightweight software development process that revolves around a build/test/improve cycle. The Insight Project runs at three different frequencies: Daily, the Dart dashboards report the status of the system. The files changed since the previous night are listed along with their differences. Status includes the results of the builds on over a dozen systems and over 650 test results for each platform. Additional reports on the code coverage of the tests and dynamic memory analysis are presented. Weekly, an open telephone conference allows developers to exchange experience and ask questions. This weekly conference starts with a review of the mailing list items for the week and then discusses the current software dashboard status. Any complex issues brought up during the week are discussed in detail. Quarterly, the group meets face-to-face and presents progress reports. Some meetings concentrate on educating the consortium members on details of the system.Other meetings center on design issues. itk’s Open Source Products The Insight Toolkit is a C++ library that supports n-dimensional image filtering, segmentation and registration. CMake is the Cross-Platform Make facility that manages the build process in a portable manner across Windows, Unix and the Mac OSX platforms. Dart, a distributed software dashboard facility that provides daily feedback on the software. Cable, a multi-language wrapper generator, provides alternative language interfaces to the C++ Toolkit (currently Python and Tcl). The Software Guide describes how to use the comprehensive toolkit. NLM’s Vision Create a dynamic, self-sustaining, public domain and extensible toolkit that will empower researchers throughout the world to develop new segmentation and registration algorithms and create new applications that leverage the NLM’s investment in the Visible Human Male and Female data sets. The Consortium Team Sixteen labs, institutions, and companies comprise the Insight Software Consortium. Among these groups, many play traditional software engineering roles such as producer, director, architect, programmers, quality control, bug-Czar, and system integrator. However, these groups each work independently, are geographically distributed across the country, and are have very different corporate structures; their common thread is the research and development contracts they share from the NIH, National Library of Medicine. Out of the expert raw materials available through the contractors and subcontractors, we have created a compact, cohesive software development team. A common vision unites these groups. A web- based distributed software engineering infrastructure focuses their talents, and a flexible management policy keeps the design process nimble and aggressive. $10 million over 4 years Leading edge algorithms Open Source Software The Dart Dashboard collects all build and test data for a software project. Each Dashboard is opened for a 24 hour period, accepting build and test results from around the world. Periodically, the dashboard presents new results. Throughout the day, selected machines monitor the source code repository for changes. A Continuous Build/Test process reports the results and notifies developers if they “break the build.” Each evening, all tests are run though a dynamic memory allocation/integrity check to uncover memory leaks and invalid memory accesses. Regression tests compare generated images with baseline test results to detect software changes that affect the algorithms. CVS Results posted on web (the dashboard) CVS maintains source code revisions DART compiles source code, runs tests Developers review results Developers check-in code