JDI open source supplement
From IGSTK
Contents |
Purpose
The purpose of the paper is to give an overview of the IGSTK toolkit. The paper presents IGSTK system architecture, software process used in the project, and procedures that are being followed to build a user community.
Outline
Abstract
Introduction
- General background
- Image guided surgery systems
- Open source software for medical imaging and bio-informatics
- IGSTK
- Project history: collaborators, funding source
- Project Objectives
System Architecture
- Overview of a component-based framework
- Short descriptions of each components
Software process
- IGSTK best practices
- Test driven development
- Dashboard
- Bug Tracking
- Code Coverage
- Dynamic Testing
Building IGSTK user community
- Expanding user base
- Maintaining users and developers mailing list
- Organizing hands-on workshops and demonstrations
- Providing example applications
- Collaborations with research institutions
- Preventing intellectual property burdens
- Publications: papers and books
Paper write up schedule
1) Paper outline discussion: April 26
2) First draft : May 6
3) Collect feedback on first draft: May 13
4) Second draft : May 20
5) Final feedback : May 24
6) Paper submission : May 30
Comments
Kevin Gary
- Architecture should include SM and Events with a focus on safety. My guess is you planned on working that in but thought I'd mention it.
- I have heard us say "test-driven development" within the IGSTK team before, but I have to question this. I t doesn't seem to me that we really do TDD, which is the practice of writing a failing test first, then writing a little code to make it pass, then writing a little more test code, writing a little more app code to make it work, etc. I readily agree that unit tests play a major role in IGSTK, but I don't think TDD as it is understood in the community is really followed.
- You say Dynamic Testing in 4.b.iv where I think you mean Dynamic Analysis.
- Section 5 is a great idea, it is not discussed enough in the literature. One concept that is sometimes discussed is how the social organization of the team maps onto design and code acceptance decisions - things like who decides who gets to check what in to CVS?
