1 1 National Aeronautics and Space Administration Product Management The Johns Hopkins University Applied Physics Laboratory core Flight Software System.

Slides:



Advertisements
Similar presentations
NATIONAL AERONAUTICS AND SPACE ADMINISTRATION 1 NASA Earth Science Data Systems (ESDS) Software Reuse Working Group CEOS WIGSS-22 Annapolis, MD September.
Advertisements

Configuration management
Software change management
Configuration management
Ninth Lecture Hour 8:30 – 9:20 pm, Thursday, September 13
HP Quality Center Overview.
Architecture Decision Group Group Organization & Processes April 7, 2015 | Tuesday.
Transformations at GPO: An Update on the Government Printing Office's Future Digital System George Barnum Coalition for Networked Information December.
Administrative Systems Modernization Program ASMP 2.0
1 The IIPC Web Curator Tool: Steve Knight The National Library of New Zealand Philip Beresford and Arun Persad The British Library An Open Source Solution.
The Six Centripetal Forces for Successful Global Software Telecommunication Infrastructure Collaborative Technology.
An Introduction to the Hennepin County Hennepin County GIS Technical Advisory Group (eGTAG) 10/20/2009.
Update on Version Control Systems: GitLab, SVN, Git, Trac, CERNforge
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
CSSE 375 Software Construction and Evolution: Configuration Management
A Guide to Getting Started
Michael Solomon Tugboat Software Managing the Software Development Process.
SOA & BPM Business Architecture, SOA & BPM Learn about SOA and Business Process Management (BPM) Learn how to build process diagrams.
Exemplar CFS Architecture
Professional Informatics & Quality Assurance Software Lifecycle Manager „Tools that are more a help than a hindrance”
Version Control with git. Version Control Version control is a system that records changes to a file or set of files over time so that you can recall.
This chapter is extracted from Sommerville’s slides. Text book chapter
Configuration Management Process and Environment MACS Review 1 February 5th, 2010 Roland Moser PR a-RMO, February 5 th, 2010 R. Moser 1 R. Gutleber.
Project Proposal: Academic Job Market and Application Tracker Website Project designed by: Cengiz Gunay Client: Cengiz Gunay Audience: PhD candidates and.
ShopKeeper was designed from the ground up to manage your entire fleet maintenance operations … from 1 user to 100, including full security features that.
Software Configuration Management
SharePoint and SharePoint Online: Today and what's next? Presented by Luke Abeling – IT Platforms.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
1 Lecture 19 Configuration Management Software Engineering.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
R ION-WG Status CCSDS Meetings 28 Oct r ION-Working Group Overview ION Working Group is a sub-team of the NASA DTN Readiness Project whose goal.
Configuration Management (CM)
June 2004 SIW-4 - IP in Space Implementation Guide 1 Handbook for Using IP Protocols for Space Missions James Rash - NASA/GSFC Keith Hogie, Ed Criscuolo,
MD Digital Government Summit, June 26, Maryland Project Management Oversight & System Development Life Cycle (SDLC) Robert Krauss MD Digital Government.
ISM 5316 Week 3 Learning Objectives You should be able to: u Define and list issues and steps in Project Integration u List and describe the components.
August 2003 At A Glance VMOC-CE is an application framework that facilitates real- time, remote cooperative work among geographically dispersed mission.
Continuous Integration and Code Review: how IT can help Alex Lossent – IT/PES – Version Control Systems 29-Sep st Forum1.
Configuration Management and Change Control Change is inevitable! So it has to be planned for and managed.
Adoption and Use of Electronic Medical Records (in Federally Qualified Health Centers) and Supporting an ASP Community Care Network of Virginia, Inc.
Firmware - 1 CMS Upgrade Workshop October SLHC CMS Firmware SLHC CMS Firmware Organization, Validation, and Commissioning M. Schulte, University.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
State of Georgia Release Management Training
Staff Assessment Technology Services Department Palmyra Area School District.
Project management Topic 8 Configuration Management.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
Information Systems and Network Engineering Laboratory I DR. KEN COSH WEEK 1.
Virtual Lab Overview 5/21/2015 xxxxxxxxxx NWS/MDL/CIRA.
| 1 EBSCOadmin EBSCO Support EDS Wiki Renata Wlodarczyk | EBSCO.
USDA 2016 Financial Management Training Transforming Shared Services Change Management Presented by Ron Gros.
Configuration & Build Management. Why Software Configuration Management ? The problem: Multiple people have to work on software that is changing More.
1 1 National Aeronautics and Space Administration cFS Workshop Introduction The Johns Hopkins University Applied Physics Laboratory core Flight Software.
Chapter 25 – Configuration Management 1Chapter 25 Configuration management.
FPGA Code Development and Management in LFAA Matt Roberts Electronic System Design Group Rutherford Appleton Laboratory, UK.
cFS Platforms OSAL and PSP
cFS Workshop Ground Systems & Kits
Software Project Configuration Management
Open Source Software Product Status
cFE FSW at APL & FSW Reusability
cFS Workshop Introduction
Software Configuration Management
Global Grid Forum GridForge
LQCD Computing Operations
cFS Workshop Product Management
cFS Community Day Platform Technology Roadmap
Chapter 25 – Configuration Management
Chapter 7 –Implementation Issues
GSFC cFS Product Status
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

1 1 National Aeronautics and Space Administration Product Management The Johns Hopkins University Applied Physics Laboratory core Flight Software System Workshop October 26, 2015 Susanne Strege – NASA Goddard Space Flight Center and Gregory Limes – NASA Ames Research Center

2 Product Management Agenda cFS Products -What is the cFS? -Product Listing -Status – Where we are now -Where is the cFS? NASA Wide Community -Establishment -Change Control Board (CCB) Membership What is being managed by the CCB o Change Management Process o Release Process o Approved Changes -Babelfish Repository -Release Schedule -Future Plans

3 3 National Aeronautics and Space Administration cFS Products

4 The software suite includes a common set of spacecraft applications including communications, scheduling, fault management, and many others What is the core Flight System? cFS is a re-usable spacecraft flight software architecture and software suite that is both platform and project independent Application Development Platform & Run-Time Environment

5 Product Listing Development Tools and Ground Systems Core Layer Abstraction Library Layer Hardware Layer Application Layer OSAL Open Source ReleasecFE Open Source ReleaseApplication Open Source Releases cFE cFE API RTEMS PC-Linux OS Abstraction API OS Abstraction API Platform Support Package API Platform Support Package API CFDP Stored Cmd. SB Network Scheduler Memory Man. Memory Dwell Limit Checker Health & Safe Housekeeping File Manager Data Storage Check Sum Beagelbone-Linux Grut699-VxWorks Mcp750-VxWorks Mcf5235-RTEMS VxWorks Posix Application Generator Application Generator Performance Tools Performance Tools Lab Applications Lab Applications Python Ground System Python Ground System Table Tools Unit Test Build System

6 Product Status Where we are now: -cFS is available open source! OSAL and cFE released as open source in 2011 Application suite released as open source in Community CCB has been in operation for ~1 year Several bug fixes and enhancements have been integrated into product development branches o cmake build environment o Unit Test (UT) Assert Library integration o Electronic Data Sheet prerequisites Upcoming releases include: o cFE o OSAL o PSP o Health and Safety (HS) o Stored Command (SC)

7 Current cFS Releases ComponentRelease cFE OSAL4.1.1 PSP CFDP Application Checksum Application Data Storage Application File Manager Application Housekeeping Application Health and Safety Application Limit Checker Application Memory Dwell Application Memory Manager Application Scheduler Application Software Bus Network Application Stored Command Application Where We Are Now

8 cFE open Internet access at -Source code -Requirements and user guides -Tools OSAL open Internet access at -Source code -Requirements and user guides -Tools cFS application suite is also available on sourceforge -Application sourceforge links are available from Where is the cFS?

9 cFS Community Projects on Babelfish Babelfish provides two services for each project: -git repository -Trac system Provides issue tracking and Wiki services Babelfish hosts six separate cFS projects/repos: -cfs_cfe -cfs_osal -cfs_psp -cfs_tools -cfs_apps -cfs_test Anyone with an NDC account can acquire access -Contact Greg Limes for an

10 What’s in the cFE open source tarball? Note: There are other PSPs and Tools at each center that are not open source

11 What’s in the OSAL open source tarball? Note: There are other OS implementations at each center that are not open source

12 What’s in the Application tarballs? Note: There are other applications at each center that are not open source

13 National Aeronautics and Space Administration NASA Wide Community Establishment

14 Community Timeline 2010 Product Line Maturity and Growth Multiple NASA centers using cFS OSAL and cFE Open Source NASA Wide Interest in Establishing Community NASA Wide Community Working Groups 2013 Application Suite Open Source Community Established CCB Bi-weekly Starts cFE Released Finalizing OSAL, PSP, cFE releases Sustain Community/ Establish Charter

15 Community Establishment “Many of the centers are doing great work with Core Flight Software. However, since there currently is no clear forum to discuss lessons learned, changes being made, and resources being developed, this has resulted in centers making conflicting changes, duplicating work, and not fully leveraging available resources”

16 National Aeronautics and Space Administration NASA Wide Community Change Control Board

17 Change Control Board (CCB) Purpose -To form a NASA wide committee responsible for reviewing and approving/disapproving the proposed changes to the open source cFS product baselines and technology branches Responsible for ensuring all baseline products maintain NPR B Class B requirements Includes members from six NASA centers and APL: -Ames Research Center -Glenn Research Center -Goddard Space Flight Center -Johnson Space Center -Langley Research Center -Marshall Space Flight Center Meets bi-weekly -Special topic meetings are scheduled as needed

18 CCB Membership CCB Chair is selected by participating centers Primary and alternate leads selected from each participating center by each participating center -Membership is not intended to be private meetings for the CCB primary/alternate leads Anyone with NDC credentials can join -Any technical personnel that would benefit and contribute to the discussions, decisions and outcomes of the meetings are encouraged and welcome to join

19 What is Managed by the CCB? Development Tools and Ground Systems Core Layer Abstraction Library Layer Hardware Layer Application Layer OSAL Open Source ReleasecFE Open Source ReleaseApplication Open Source Releases cFE cFE API RTEMS PC-Linux OS Abstraction API OS Abstraction API Platform Support Package API Platform Support Package API CFDP Stored Cmd. SB Network Scheduler Memory Man. Memory Dwell Limit Checker Health & Safe Housekeeping File Manager Data Storage Check Sum Beagelbone-Linux Grut699-VxWorks Mcp750-VxWorks Mcf5235-RTEMS VxWorks Posix Application Generator Application Generator Performance Tools Performance Tools Lab Applications Lab Applications Python Ground System Python Ground System Table Tools Unit Test Build System

20 What is Managed by the CCB? The CCB organized cFS as a combined set of five project repositories, in addition to a “test” project: -cfs_osal -cfs_psp -cfs_cfe -cfs_apps -cfs_tools -cfs_test Proof collaboration between centers was possible Serves as a training area and central document location Area for automated build and test support files Each repository is separately version controlled The CCB manages all changes to the “development”, “release”, and “technology” branches within each of the five repositories

21 Currently Available Partly or Not Implemented Partly or Not Implemented Mission/Project Support Mission/Project Support Mission/Project Needs Mission/Project Needs Available Staffing Available Staffing Schedules CCB Building Blocks

22 Change Management Process 1.Babelfish users enter tickets and follow ticket flow 2.Users notify CCB Chair when tickets/change sets are ready for CCB review 3.CCB Chair: a.Assigns bug fix tickets/change sets to CCB members for review and/or b.Schedules special topic meeting for all detailed change sets i.e. detailed design review 4.CCB members review assigned tickets/changes and submit their review comments via the Trac system 5.CCB dispositions assigned tickets/change sets 6.Babelfish CMO merges approved change sets into the development and/or technology branch(s)

23 Release Process Releases are typically driven by (and not limited to): 1.Hot fixes 2.Mission/Project needs All release branches will go through a formal test and verification process: -Unit tests -Build verification tests -Functional tests Includes creating/updating the release documentation: -Test reports -User’s guides -Version Description Documents Includes generation of the open source tarball package

24 CCB Ticket Flow Anyone with access to babelfish may enter a ticket It is acceptable to skip down the list to the next state until the “CCB Gate” is reached Ticket flow states are described in detail on the babelfish wiki: - s_test/wiki/ReferenceTracFlowhttps://babelfish.arc.nasa.gov/trac/cf s_test/wiki/ReferenceTracFlow

25 CCB git Branching Model The CCB’s git branching model maps to the Vincent Driessen (nvie) model: -“hot fixes” come off the master -The development branch is used as the baseline for the next release Changes that are not intended for the next release should not be merged into the development branch Agreed it is good practice to build the next release up front as changes are being merged -A “release” branch will fork off of development. Used for build testing the releases Will include any bug fixes that are found during testing -CCB added an additional “technology” branch Mirrors the development branch Includes technologies that are not ready for release Ensures technologies will compile/run

26 CCB git Branching Model Diagram ref: Technology

27 CCB Closed Ticket Summary

28 OSAL Closed Tickets

29 PSP Closed Tickets

30 cFE Closed Tickets

31 National Aeronautics and Space Administration NASA Wide Community Babelfish Repository

32 Babelfish: Overview What is Babelfish? -A server maintained by NASA ARC Accessible from outside the center with appropriate NASA credentials Hosts distributed git repositories, Trac System, and Wiki for cFS o Source Code Control: the git Repositories o Issue Tracking: the Trac Ticketing System o Shared Documents: the Trac Wiki o Continuous Integration: the Bamboo Plans -Promotes collaboration across centers Improvements made by members of the community are shared Issues and bugs found are shared Note: Continued functioning of the cFS Community also relies on Electronic Mail and Mailing lists (not hosted by Babelfish) and the periodic meetings of the Change Control Board (teleconferences, also not Babelfish)

33 Babelfish: Why git? A distributed version control system Meets community needs: -Promotes center collaboration without forcing the visibility of changes members push to share, fetch to import Babelfish supported infrastructure to set up git quickly -default project repository Sufficient git expertise among community members Supports missions/projects using git -Easy to import/export updates Note: it is recommended to choose the change/configuration management tool that best matches the mission/projects workflow.

34 Babelfish: Trac Wiki Each cFS git repository is coupled with a Trac Wiki -Collect, maintain, and share documents relating to the repository -Documents relating to all repositories are collected in the cfs_test repository: Project Conventions Surveys of External Tools Tutorials Reference Pages Additional Links of Interest Linkage between the Wikis is established -Inter-wiki hotlinks are easily managed Not as full-featured as links to other pages in the same wiki

35 Babelfish: Trac System Babelfish supported to set up issue tracking system quickly -Default issue tracking system -ConfiguraCCB chose to implement a design with many states Narrows categorization of outstanding issues narrowly Many “short-circuit” actions for fast update Configuration of Ticket States and their transition can be customized Each cFS git repository is coupled with a Trac database -Linkage between tickets, the Wiki, and git commits are closely coupled Links that cross repository boundaries are not as tight and provide less “live” information

36 Babelfish: Bamboo Babelfish shared resource providing automatic build and test services We currently build: -OSAL Compiles OSAL library Performs some static code analysis (CppCheck) o Looking at other static analysis tools we can deploy Runs unit tests o Some on the build agent o Others staged to target virtual machines pretending to be flight hardware -cFE The same services as for OSAL listed above, but for a complete cFS Mission, where the collection of cFS Applications may vary from branch to branch Current builds check a variety of branches Additional procedures and facilities within each procedure are under consideration

37 National Aeronautics and Space Administration NASA Wide Community Summary

38 Release Schedule Proposed Release Schedule 11/2015 OSAL & PSP Updates include: What is currently in development branch JSC’s, Class A, Unit Test, and MISRA updates cFE, HS, SC Updates include: What is currently in development branch JSC’s Class A, Unit Test, and MISRA updates Misc Bug Fixes 12/2015 OSAL, PSP, cFE Updates include: Prototype release only -SMP & TSP Support -APID/CCSDS Updates -Misc Bug Fixes -FreeRTOS Port Apps & cFE Updates include: EDS 1/20164/2016

39 Future Plans Formalize and develop CCB process documents: -Software/product management plan for NASA controlled assets Change control Version control Naming conventions/standards Coding standards Trade study guidelines and process NPR B Class B requirements Define milestones and develop schedule for 2016 product releases -Repository organization to allow OSAL and PSP implementations to be individually released -EDS -Message ID name space resolution