How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow...
-
Upload
ruth-dennis -
Category
Documents
-
view
219 -
download
3
Transcript of How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow...
How to Use the Trilinos How to Use the Trilinos InfrastructureInfrastructure
for Your Own Projectfor Your Own ProjectJames M. WillenbringMichael N. Phenow
Trilinos User GroupWednesday, November 2nd, 2005
11:00 – 11:45 amBuilding 980, Room 24, Albuquerque
ContentsContents
I. Project characteristicsII. GoalsIII. Driving principlesIV. Services & Tools
- Source management- Communication channels- Requirements & issue tracking- Documentation- Configuration management- Information distribution- Automated testing- Release process
Project CharacteristicsProject Characteristics
1. Distributed team2. Numerous small, expert teams3. Evolving, varied requirements4. Budgetary focus on algorithms development5. Funding sources require
1. Release of valuable code2. Certain standard of SQA
GoalsGoals
1. Quality2. Modularity3. Interoperability (internal and external)4. Scalability (algorithms and framework)5. Efficient Use of Expert Time6. Availability7. Support
Driving PrinciplesDriving Principles
1. Global services2. Package orthogonality3. Tight collaborations4. Iterative development5. Process Improvement
Two-tiered architecture
Services & ToolsServices & ToolsSource management CVS & Bonsai, Mailman
Communication channelsMailman, Bugzilla, CVS, Teleconferencing, TUG
Requirements & issue trackingBugzilla, Mailman, Teleconferencing, TUG
Documentation Doxygen, Website, Wiki?
Configuration management Autotools
Information distribution Website, Mailman, Wiki?
Automated testingTest harness, CVS, Website, Mailman
Release processAutotools, CVS, Bugzilla, Website
Source ManagementSource ManagementCVS - concurrent development
- conflict resolution
- version tracking
- code branching
Bonsai - online interface
- blame views
- diff views
- log views
- links to bugzilla
Mailman - commit messages
Communication Communication ChannelsChannelsMailman - developer discussions
Bugzilla - organize bug/issue/enhancement information
CVS - commit logs
Teleconferencing - monthly leaders meeting
Trilinos User Group - annual meeting
Requirements & Issue Requirements & Issue TrackingTrackingBugzilla - organize bug/issue/enhancement information
Mailman - design discussions
Teleconferencing - monthly leaders meeting
Trilinos User Group - annual meeting
DocumentationDocumentationDoxygen - inline with source
- automatically generated
Website - package pages with doxygen documentation
- guides posted
Wiki - rapid, collaborative document creation
Configuration Configuration ManagementManagementAutotools - portability
- Trilinos build system
- package interdependencies
- package interoperabilities
Automated TestingAutomated TestingTest Harness - test definition interface
- test harness scripts
- results database
CVS - tests latest code
- central configuration files
Website - results web pages
Mailman - daily email summaries
Release ProcessRelease ProcessAutotools - distribution tarball
CVS - release tag and branch
- minor release tags
Bugzilla - release checklists
Website - release downloads
QuestionsQuestions
How to Use the Trilinos How to Use the Trilinos InfrastructureInfrastructure
for Your Own Projectfor Your Own Project