How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow...

14
How to Use the Trilinos How to Use the Trilinos Infrastructure Infrastructure for Your Own Project for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00 – 11:45 am Building 980, Room 24, Albuquerque

Transcript of How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow...

Page 1: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 2: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 3: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 4: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

GoalsGoals

1. Quality2. Modularity3. Interoperability (internal and external)4. Scalability (algorithms and framework)5. Efficient Use of Expert Time6. Availability7. Support

Page 5: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

Driving PrinciplesDriving Principles

1. Global services2. Package orthogonality3. Tight collaborations4. Iterative development5. Process Improvement

Two-tiered architecture

Page 6: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 7: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 8: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

Communication Communication ChannelsChannelsMailman - developer discussions

Bugzilla - organize bug/issue/enhancement information

CVS - commit logs

Teleconferencing - monthly leaders meeting

Trilinos User Group - annual meeting

Page 9: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

Requirements & Issue Requirements & Issue TrackingTrackingBugzilla - organize bug/issue/enhancement information

Mailman - design discussions

Teleconferencing - monthly leaders meeting

Trilinos User Group - annual meeting

Page 10: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

DocumentationDocumentationDoxygen - inline with source

- automatically generated

Website - package pages with doxygen documentation

- guides posted

Wiki - rapid, collaborative document creation

Page 11: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

Configuration Configuration ManagementManagementAutotools - portability

- Trilinos build system

- package interdependencies

- package interoperabilities

Page 12: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

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

Page 13: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

Release ProcessRelease ProcessAutotools - distribution tarball

CVS - release tag and branch

- minor release tags

Bugzilla - release checklists

Website - release downloads

Page 14: How to Use the Trilinos Infrastructure for Your Own Project James M. Willenbring Michael N. Phenow Trilinos User Group Wednesday, November 2nd, 2005 11:00.

QuestionsQuestions

How to Use the Trilinos How to Use the Trilinos InfrastructureInfrastructure

for Your Own Projectfor Your Own Project