Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A....

5
Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies and Integration Lead Computer Science and Mathematics Div Oak Ridge National Laboratories Trilinos User Group Meeting, November 1, 2011

Transcript of Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A....

Page 1: Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.

Page 1

Trilinos Software Engineering Technologies and Integration Capability

Area Overview

Roscoe A. Bartlett

Trilinos Software Engineering Technologies and Integration Lead

Computer Science and Mathematics DivOak Ridge National Laboratories

Trilinos User Group Meeting, November 1, 2011

Page 2: Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.

Page 2

Trilinos Software Engineering Technologies and Integration

• General Software Interoperability and Integration – Memory management (Teuchos::RCP, ...)– User object input and configuration control (Teuchos::ParameterList, ...)– User object introspection (Teuchos::FancyOStream, ...)– [Future] Being formalized in Trilinos coding and Documentation Guidelines Document

• Numerical Algorithm Interoperability and Vertical Integration – Abstract Numerical Algorithms (ANAs) – Thyra (Interoperability and vertical integration of ANAs)

• Skin packages (wrappers for other languages)– PyTrilinos, ForTrilinos, Ctrilinos– All still being maintained/extended. See websites for recent progress

• General Software Quality and Design– Separation of Stable vs. Experimental code– Day-to-day stability of Stable code

• Lean/Agile Software Engineering Principles and Practices– Internal Trilinos issues (e.g., development policies and practices, scalability issues)– External customer issues (e.g., integration strategies)

Page 3: Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.

Page 3

Recent Trilinos Improvements of General User Interest

Further generalization of external repositories and add-on Trilinos packages Allows users to add their own packages independently and use the Trilinos

CMake/CTest/CDash system Better integrated into automated testing system with checkin-test.py

Expanding Daily Integration with Trilinos CASL (Almost Continuous Integration), Peridigm, Many others? Enabled through greater stability of Trilinos development sources Better tools for implementing Almost Continuous Integration (git, checkin-test.py)

[Dec. 2011?] Trilinos Lifecycle Model 2.0 Document Starting point for better standardization of package maturity classification?

[Dec. 2011] Generalize/externalize Trilinos CMake/CTest/CDash system Allow other projects to fully exploit the Trilinos SE infrastructure Will be used by projects CASL and others at ORNL and perhaps others Will provide foundation for “meta build” (e.g. build TPLs for Trilinos, Trilinos, and

downstream client code, etc.) To be at lease partially completed by Dec. 1, 2011

[Near Future] Transition from Trilinos 11.Y to 12.0 Drop backward compatibility of deprecated features Rename classes and files (will provide scripts to ease transition)

Page 4: Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.

12.5 (Dev)

Page 4

Regulated Backward Compatibility in Trilinos

11.0 12.0

11.2 11.4 11.6

• Trilinos Version Numbering X.Y.Z:• X: Defines backward compatibility set of releases• Y: Major release (off the master branch) number in backward compatible set• Z: Minor releases off the release branch X.Y• Y and Z: Even numbers = release, odd numbers = dev

• Makes logic with Trilinos_version.h easier

• Backward comparability between releases• Example: Trilinos10.6 is backward compatible with 10.0 through 10.4• Example: Trilinos 11.X is not compatible with Trilinos 10.Y

12.2 12.4

Drop backward compatibility of 12.0 with 11.Y! How to manage?

[Future] Test backward compatibility of Dev with current release every night!

Page 5: Page 1 Trilinos Software Engineering Technologies and Integration Capability Area Overview Roscoe A. Bartlett Trilinos Software Engineering Technologies.

Page 5

Trilinos Software Engineering Capabilities Area Webpage

http://trilinos.sandia.gov/capability_areas.html