Skip to main content
U.S. flag

An official website of the United States government

USGS Astrogeology Software Management - 2018 Special Action Team Review

In 2018 a NASA directed Special Action Team (SAT) reviewed the ASC software portfolio with a specific focus on the Integrated System for Imagers and Spectrometers (ISIS). The SAT worked with the ASC to develop the initial findings and has developed a response plan. The artifacts from this effort are a findings document, an ASC response document, and a tabular, quick reference.

SAT Findings

ASC Response

 

This is a 'quick-view' table that provides an overview of the work that has been undertaken in response to the most recent (2018) SAT review findings.

Finding

 

Description

Actions Taken

Status

F1

 

    

Strategic Plan

                         

A publicly available software long-term plan is available.

In this format, the community can also provide comments

and suggestions that will be considered in the ASC strategic

software planning activities. This document will be updated at

least annually.

Initial Completion: September 2019

F2

 

 

Existing

Functionality

and Future

Deprecation

Decisions

 

Maintaining existing versions of the software past the time

when new versions are introduced is standard practice, and

past versions of ISIS are maintained and available for

download through GitHub. Ensuring that existing functionality

is not deprecated unless alternate solutions are common,

broadly accessible, and equally capable is also standard practice.

We include such information in the ISIS release notes and

maintain both applications for a specified period of time

(typically 6 months).

ASC is working with the ISIS TC to

define a sustainable Long-Term Support

(LTS) strategy.

F3

 

User base

for ASC tools

 

The SAT has recommended that the ASC should continue to

focus ISIS development on “experienced technical users

comfortable in non-graphical environments,” and we interpret

this set of users to primarily include a broad group of those

generating higher order data products (e.g., controlled mosaics),

those using the ISIS API to develop tools or custom software,

and mission teams (e.g., sensor models and data processing

pipelines). We agree with this recommendation, and plan to

tailor our software development efforts towards functionality

applicable to these groups.

Ongoing

F4

 

Open Source,

Community-

Driven Development

Model

 

We have made significant strides to actively facilitate broad

participation in ISIS software development by external

contributors through initiating and Open source community

surrounding the ASC software portfolio.

Ongoing

F5

 

Community and

User Support

Forum

 

The following communication platforms are available for

engagement with users: 1) AstroDiscuss; 2) Git Issues;

3) Git Project; 4) Gitter; 5) Request for Comment (RFC).

Completed: February 2019

F6

 

Task-based

Workflow

Tutorials

 

All ASC-developed tutorials and workshop materials are

available on the ISIS Wiki under Training. We have also

imported previous tips, discussions, and user questions to 

AstroDiscuss. In addition, as we are developing our code bases,

we are continuing to focus on both the quality of new

documentation and making improvements to existing

documentation. Given the scope of work performed by ASC,

this finding is also tractably addressed by engaging the existing

community of users to collectively improve the documentation

that we all depend upon. Therefore, we will also continue to

reduce the burden of change submissions and actively engage

all users to submit improvements to our documentation.

Completed: March 2019

F7

 

ISIS on Windows

Subsystem

for Linux

 

ISIS can now be installed and used within the Windows 10

environment, and documentation regarding this functionality 

is available. However, this installation method being not

strongly supported (i.e., not part of CI testing).

No currently planned actions:

September 2020

F8

 

Code

Modularity

 

A 5-year modularization plan will be available on GitHub, and

community comment and engagement are strongly encouraged.

This modularization plan will describe a series of milestones for

accomplishing this effort. Details to achieve each milestone will

be determined when that effort begins and made available for

comment by the planetary community via a Request for

Comment.

Ongoing

F9

 

Code

Accessibility

 

The ASC intends to continue to develop all major non-

proprietary software projects through GitHub and within this

Open Source community.

Ongoing

F10

 

Issue

Tracking

 

All non-proprietary Redmine tickets have been transferred to

the GitIssues. New Issues can be posted in the appropriate

GitHub repository to request bug fixes or new features.

Completed: February 2019

F11

 

Software

Development

Standards

 

The ASC has a published style-guideGuidelines for contributing

to the ASC software portfolio, and a Code of Conduct to facilitate

the growth of an Open Source community surrounding the ASC

software portfolio and to encourage a welcoming environment

with inclusive and diverse participation.

Completed: November 2018

F12

 

Universal

Binary

 

With the release of ISIS 3.6.0 and the use of a conda-based

distribution system, ISIS is built and distributed using a more

universal binary. We will continue to make improvements to the

ISIS build and distribution systems to ensure that installation

dependencies on the host system are minimized.

Completed: November 2018

F13

 

Binary

Installation

 

The transition to a conda-only installation process allows ISIS

to be more easily installed by all users, and this change is in

direct response to community feedback regarding the difficulty

in building and/or installing ISIS. Mission teams or other funded

projects retain the ability to fund a custom ISIS release.

Completed: November 2018

F14

 

Development

Builds

 

The ISIS release schedule communicates how new features and

bug fixes will be distributed to the community on a stable and

regular cadence. Our current release plan includes quarterly

releases and up to three bug fix releases (on an as needed basis)

between each quarterly release (up to 12 bug fix releases

annually). Under the current build environment, weekly ISIS

builds are no longer created. Nightly builds are no longer

generated for public distribution, as they are used to allow for

overnight testing to run and for developers to assess the impact

of the previous day’s code changes (made through merged PRs).

Completed: November 2018

F15

 

Software

Compilation

 

The use of a standard CMake build system and the cross-

platform anaconda dependency management tooling

significantly simplifies the compilation of ISIS for all users.

The ASC agrees that the availability of appropriate test data is

needed to facilitate external developers to build and test the ISIS

system. Improving our testing capability is a long-term effort,

and we are actively and systematically addressing this concern

by adopting a testing framework, working to refactor and

improve tests while reducing overall test volumes, and exploring

options for version controlled large file storage and transmission

support for test data, where appropriate.

Ongoing

F16

 

Software

Optimization

 

The ASC strives to continuously identify ways in which we can

improve software performance. We value community feedback

regarding the applications where optimization would be most

beneficial to the community.

Ongoing

F17

 

Support for

Active Missions

 

The ASC will continue to support active missions by continuing

to improve the responsiveness that ASC can offer those active

teams, advocating for early involvement and consistent

communication with mission and instrument teams to help to

maintain this support, offering to provide mission teams a

technical contact role between ASC and the team, and continuing

to clearly communicate to missions scheduling and other

resource constraints that allow both parties to plan and

adequately budget for mission support.

Ongoing

F18

 

Support for

Small and

Irregular

Bodies

 

The ASC continues to leverage interactions with active flight

missions to make targeted improvements to ISIS to support

small bodies. These include, but are not limited to, support for

bundle adjustment in cartesian coordinates, support for

multi-part DSK files, and improved ray tracing for complex

viewing conditions with occlusion. The ASC will continue to

develop support for small, irregular bodies as a key component

of our software package through a combination of internally

funded software development, open source contribution by the

community, and collaboration with the community.

Ongoing

F19

 

Automated

Image Matching

and

Feature

Recognition

 

The ASC will continue the development of improved automated

matching capabilities within our software portfolio and will seek

to provide documentation that is helpful to the technical user.

Ongoing

F20

 

Broadening

the SPICE

Web Service

 

The ASC continues to actively address SPICE modularization

in the ISIS code base, but we do not plan to make alterations to

the calibration applications in the near term. This finding

highlights an opportunity for community contribution to the

ISIS code base, and the ASC is committed to supporting these

community efforts.

FY21 Work Planned for

Calibration Routines

F21

 

Python

Application

Programming

Interface

 

The ASC agrees that an API to the ISIS library written in a

dynamic language would be invaluable, but caution that the

immediate exposure of an API would likely not satisfy the

majority of ISIS users. Additional input is needed to determine

how such an API would be most often used by the community.

Ongoing

F22

 

Software

Management

Leadership

 

The ASC has put in place a new management structure that

includes both a Software Development Lead (currently Jay Laura

jlaura@usgs.gov / @jlaura) and a Technical Operations Lead

(currently Robin Fergason / rfergason@usgs.gov / @rfergason).

Completed: October 2018

F23

 

Workload

 

The ASC software portfolio is Open Source and the work

proposed is inline with that capacity.

Completed: March 2019

F24

 

Continued

Funding

for Support and

Maintenance

 

The ASC has dedicated funding through our NASA-funded

software portfolio to support bug fixes and feature

enhancements requested by the community through GitHub

Issues. In addition, we also dedicate effort toward specific,

larger efforts related to support and maintenance (e.g.,

improving our release system and making test data more easily

available) that make code submission by external contributors

less burdensome.

Completed ASC responsibility

through communication with

NASA HQ: July 2019

F25

 

External Review

of ASC Funding

Requests

 

The ASC is inviting external feedback by the community at

many different levels in the process, as we believe that

community input is extremely valuable. The ASC is actively

seeking to engage users and are more transparent in our

communication regarding software direction through

1) making our software long-term plan publicly available for

comment; 2) standing up a Technical Steering Committee;

and 3) initiating a Request for Comment (RFC) to describe

proposed changes to the ASC code base to encourage broad

community comment and engagement.

Completed ASC responsibility

through communication with

NASA HQ: July 2019