How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, :00 – 11:45 am Building 980, Room 24, Albuquerque
Contents I.Project characteristics II.Goals III.Driving principles IV.Services & Tools - Source management - Communication channels - Requirements & issue tracking - Documentation - Configuration management - Information distribution - Automated testing - Release process
Project Characteristics 1.Distributed team 2.Numerous small, expert teams 3.Evolving, varied requirements 4.Budgetary focus on algorithms development 5.Funding sources require 1.Release of valuable code 2.Certain standard of SQA
Goals 1.Quality 2.Modularity 3.Interoperability (internal and external) 4.Scalability (algorithms and framework) 5.Efficient Use of Expert Time 6.Availability 7.Support
Driving Principles 1.Global services 2.Package orthogonality 3.Tight collaborations 4.Iterative development 5.Process Improvement Two-tiered architecture
Services & Tools Source managementCVS & Bonsai, Mailman Communication channels Mailman, Bugzilla, CVS, Teleconferencing, TUG Requirements & issue tracking Bugzilla, Mailman, Teleconferencing, TUG DocumentationDoxygen, Website, Wiki? Configuration managementAutotools Information distributionWebsite, Mailman, Wiki? Automated testing Test harness, CVS, Website, Mailman Release processAutotools, CVS, Bugzilla, Website
Source Management CVS- concurrent development - conflict resolution - version tracking - code branching Bonsai- online interface - blame views - diff views - log views - links to bugzilla Mailman - commit messages
Communication Channels Mailman- developer discussions Bugzilla- organize bug/issue/enhancement information CVS - commit logs Teleconferencing - monthly leaders meeting Trilinos User Group- annual meeting
Requirements & Issue Tracking Bugzilla- organize bug/issue/enhancement information Mailman - design discussions Teleconferencing- monthly leaders meeting Trilinos User Group - annual meeting
Documentation Doxygen- inline with source - automatically generated Website- package pages with doxygen documentation - guides posted Wiki - rapid, collaborative document creation
Configuration Management Autotools- portability - Trilinos build system - package interdependencies - package interoperabilities
Automated Testing Test Harness - test definition interface - test harness scripts - results database CVS- tests latest code - central configuration files Website- results web pages Mailman- daily summaries
Release Process Autotools - distribution tarball CVS- release tag and branch - minor release tags Bugzilla - release checklists Website - release downloads
Questions How to Use the Trilinos Infrastructure for Your Own Project