new products from nasa’s software architecture review board lorraine fesq jet propulsion...

12
New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software Workshop October 27-29, 2015 Johns Hopkins University/Applied Physics Laboratory Annapolis, MD Copyright 2015 California Institute of Technology. Government sponsorship acknowledged. The research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.

Upload: phyllis-russell

Post on 18-Jan-2016

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

New Products from NASA’s Software Architecture

Review Board

Lorraine FesqJet Propulsion Laboratory, California Institute of TechnologyFlight Software WorkshopOctober 27-29, 2015Johns Hopkins University/Applied Physics LaboratoryAnnapolis, MD

Copyright 2015 California Institute of Technology. Government sponsorship acknowledged. The research was carried out at the Jet Propulsion Laboratory, California Institute of Technology, under a contract with the National Aeronautics and Space Administration.

Page 2: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

2Software Architecture Review Board

Mission & Charter of SARB

Charter

• Provide constructive feedback to flight projects in the formative stages of software architecting

• Focus on architectural improvements to reduce and/or better manage complexity in requirements, design, implementation, verification, and operations

• Spread best architectural practices, principles, and patterns across flight software centers

• Contribute to NASA Lessons Learned

Mission:Manage flight software complexity

through better software architecture

Mission:Manage flight software complexity

through better software architecture

SARB was established by NASA OCE in April 2009

Page 3: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

3Software Architecture Review Board

NASA Software Architecture Reviews

Objectives• Manage and/or reduce flight software

complexity through better software architecture

• Help improve mission software reliability and save costs

Approach• Create a NASA-wide

software architecture review board (SARB)

• Engage with flight projects in the formative stages of software architecture

Plan Prepare introductory document,

review process, review checklist, documentation recommendations, and sample problem statement

Educate team on process Practice on flown missions Conduct real reviews

Page 4: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

4Software Architecture Review Board

SARB Team Members (as of October 2015)

Name Expertise / Position Affiliation

Michael Aguilar Sponsor and NESC Software Discipline Expert, NASA Technical Fellow in Software

NESC

Dan Dvorak SARB co-Lead, Integrated Model-Centric Engineering (IMCE) team JPL

Lorraine Fesq SARB co-Lead, Fault Management Community of Practice Lead, 3101 JPL

Ken Costello Aerospace and Software engineer, IV&V Program Chief Architect IV&V

Michael Madden Chief Scientist, Simulation Development and Analysis Branch LaRC

Darrel Raines Orion Flight Software System Manager JSC

John Weir FSW Lead for Space Launch System (and formerly, Ares I) MSFC

Kathryn Weiss Senior Flight Software Engineer, JPL Flight Software Product Line Cognizant Engineer

JPL

Jonathan Wilmot Software architect, Flight Software Branch GSFC

Page 5: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

5Software Architecture Review Board

SARB Community of Practice Pagehttps://nen.nasa.gov/web/sarb

Page 6: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

6Software Architecture Review Board

SARB Documents

• Located on “Preparation for Review” page on SARB CoP

https://nen.nasa.gov/web/sarb/preparation

1. Contextually Driven Architecture Reviews (outreach)

2. Project Problem Statement template

3. Preparing for a Software Architecture Review

4. Reference Architecture Questions

5. Architecture Review Checklist

6. Scope of Architectural Concerns

7. Quality Attributes Table

Page 7: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

7Software Architecture Review Board

Recommended Contents for Software Architecture Descriptions

• Architecture Terminology• Mission Overview• Context Diagram, Context Description• Architectural Drivers• Critical Resources & Margins• Stakeholders & Concerns• Quality Attribute Analysis• Measures of Performance• Architectural Decisions & Rationale• Architectural Alternatives (Trade

Studies)

• Multiple Views• Diagrams and Legends• Architectural Frameworks• Heritage Analysis/Software Reuse• Assumptions & Limitations• Architectural Patterns, Principles,

Invariants, Rules• Fault Management• Non-Concerns• References• SEI Template for Software Architecture

Documentation

Full document available at https://nen.nasa.gov/web/software/sarb/guidelines

Full document available at https://nen.nasa.gov/web/software/sarb/guidelines

SARB advises starting with the SEI Template for a SW ADD, in conjunction with the following to address concerns/characteristics specific to the NASA FSW domain

Page 8: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

8Software Architecture Review Board

SARB Documents

• Located on “Preparation for Review” page on SARB CoP

https://nen.nasa.gov/web/sarb/preparation

1. Contextually Driven Architecture Reviews (outreach)

2. Project Problem Statement template

3. Preparing for a Software Architecture Review

4. Reference Architecture Questions

5. Architecture Review Checklist

6. Scope of Architectural Concerns

7. Quality Attributes Table

Page 9: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

9Software Architecture Review Board

Quality Attributes Table

Full document available at https://nen.nasa.gov/web/software/sarb/preparation

Full document available at https://nen.nasa.gov/web/software/sarb/preparation

• The Quality Attribute Table contains software architecture quality attributes that are relevant to the mission-critical real-time embedded systems.

Page 10: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

10Software Architecture Review Board

Quality Attributes Table – excerpt

Page 11: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

11Software Architecture Review Board

Quality Attributes Table Use Cases

Full document available at https://nen.nasa.gov/web/software/sarb/preparation

Full document available at https://nen.nasa.gov/web/software/sarb/preparation

• The QA Table has at least three primary use cases– Use by a software architect and project team to evaluate

the priorities of each QA for a specific project. – Use during development – Developers implementing the

architecture need to be mindful of the “Tactic to achieve”, “Evidence of/verification”, “Project Prioritization”, and “Project intended variation” columns for each attribute during the design and coding process

– Use in the review process to evaluate a software architecture with respect to each QA in the Table and the priorities established by the project

Page 12: New Products from NASA’s Software Architecture Review Board Lorraine Fesq Jet Propulsion Laboratory, California Institute of Technology Flight Software

12Software Architecture Review Board

SARB is a NASA-provided resource

• SARB is available to NASA projects “Free of charge” for reviews

– Review feedback is provided to project only – handled confidentially/discreetly

• Encourage your project to conduct a software architecture review before PDR– After PDR, it’s hard to make any substantive changes

Inquire about a review at https://nen.nasa.gov/web/software/sarb or [email protected]

Inquire about a review at https://nen.nasa.gov/web/software/sarb or [email protected]