Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 1 National Aeronautics and Space Administration Product Management The Johns Hopkins University Applied Physics Laboratory core Flight Software System."— Presentation transcript:

1 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 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 3 National Aeronautics and Space Administration cFS Products

4 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 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 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 2015 -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 6.5.0.0 o OSAL 4.2.0.0 o PSP 1.3.0.0 o Health and Safety (HS) 2.2.1.0 o Stored Command (SC) 2.4.1.0

7 7 Current cFS Releases ComponentRelease cFE6.4.2.0 OSAL4.1.1 PSP1.2.0.0 CFDP Application2.2.1.0 Checksum Application2.3.1.0 Data Storage Application2.4.1.0 File Manager Application2.4.2.0 Housekeeping Application2.4.0.0 Health and Safety Application2.2.0.0 Limit Checker Application2.0.0.0 Memory Dwell Application2.3.0.0 Memory Manager Application2.4.0.0 Scheduler Application2.2.0.0 Software Bus Network Application1.0.0.0 Stored Command Application2.4.0.0 Where We Are Now

8 8 cFE open Internet access at http://sourceforge.net/projects/coreflightexec/ http://sourceforge.net/projects/coreflightexec/ -Source code -Requirements and user guides -Tools OSAL open Internet access at http://sourceforge.net/projects/osal/http://sourceforge.net/projects/osal/ -Source code -Requirements and user guides -Tools cFS application suite is also available on sourceforge -Application sourceforge links are available from https://cfs.gsfc.nasa.govhttps://cfs.gsfc.nasa.gov Where is the cFS?

9 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 (gregory.limes@nasa.gov) for an accountgregory.limes@nasa.gov

10 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 11 What’s in the OSAL open source tarball? Note: There are other OS implementations at each center that are not open source

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

13 13 National Aeronautics and Space Administration NASA Wide Community Establishment

14 14 Community Timeline 2010 Product Line Maturity and Growth 2014 2011 Multiple NASA centers using cFS 2012 2015 2016 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 6.4.2 Released Finalizing OSAL, PSP, cFE releases Sustain Community/ Establish Charter

15 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 16 National Aeronautics and Space Administration NASA Wide Community Change Control Board

17 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-7150.2B 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 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 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 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 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 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 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 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: -https://babelfish.arc.nasa.gov/trac/cf s_test/wiki/ReferenceTracFlowhttps://babelfish.arc.nasa.gov/trac/cf s_test/wiki/ReferenceTracFlow

25 25 CCB git Branching Model The CCB’s git branching model maps to the Vincent Driessen (nvie) model: http://nvie.com/posts/a-successful-git-branching-model/http://nvie.com/posts/a-successful-git-branching-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 26 CCB git Branching Model Diagram ref: http://nvie.com/posts/a-successful-git-branching-model/http://nvie.com/posts/a-successful-git-branching-model/ Technology

27 27 CCB Closed Ticket Summary

28 28 OSAL Closed Tickets

29 29 PSP Closed Tickets

30 30 cFE Closed Tickets

31 31 National Aeronautics and Space Administration NASA Wide Community Babelfish Repository

32 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 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 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 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 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 37 National Aeronautics and Space Administration NASA Wide Community Summary

38 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 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-7150.2B 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


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

Similar presentations


Ads by Google