/
Product Management The Johns Hopkins University Applied Product Management The Johns Hopkins University Applied

Product Management The Johns Hopkins University Applied - PowerPoint Presentation

yoshiko-marsland
yoshiko-marsland . @yoshiko-marsland
Follow
343 views
Uploaded On 2019-11-09

Product Management The Johns Hopkins University Applied - PPT Presentation

Product Management The Johns Hopkins University Applied Physics Laboratory core Flight Software System Workshop October 26 2015 Susanne Strege NASA Goddard Space Flight Center a nd Gregory Limes NASA Ames Research Center ID: 764984

cfs ccb application open ccb cfs open application source nasa cfe babelfish community release git osal test system development

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Product Management The Johns Hopkins Uni..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Product Management The Johns Hopkins University Applied Physics Laboratorycore Flight Software System WorkshopOctober 26, 2015 Susanne Strege – NASA Goddard Space Flight Center a nd Gregory Limes – NASA Ames Research Center

Product Management Agenda cFS ProductsWhat is the cFS ? Product Listing Status – Where we are nowWhere is the cFS?NASA Wide Community EstablishmentChange Control Board (CCB)MembershipWhat is being managed by the CCBChange Management ProcessRelease ProcessApproved ChangesBabelfish RepositoryRelease ScheduleFuture Plans

cFS Products

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

Product Listing Development Tools and Ground Systems Core Layer Abstraction Library Layer Hardware Layer Application Layer OSAL Open Source Release cFE Open Source Release Application Open Sourc e Releases cFE cFE API RTEMS PC-Linux OS Abstraction 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 Performance Tools Lab Applications Python Ground System Table Tools Unit Test Build System

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 2015Community CCB has been in operation for ~1 yearSeveral bug fixes and enhancements have been integrated into product development branchescmake build environmentUnit Test (UT) Assert Library integrationElectronic Data Sheet prerequisites Upcoming releases include:cFE 6.5.0.0OSAL 4.2.0.0PSP 1.3.0.0Health and Safety (HS) 2.2.1.0Stored Command (SC) 2.4.1.0

Current cFS Releases Component Release cFE6.4.2.0OSAL4.1.1PSP1.2.0.0CFDP Application2.2.1.0 Checksum Application 2.3.1.0 Data Storage Application 2.4.1.0 File Manager Application 2.4.2.0Housekeeping Application 2.4.0.0Health and Safety Application2.2.0.0 Limit Checker Application2.0.0.0Memory Dwell Application 2.3.0.0 Memory Manager Application 2.4.0.0 Scheduler Application 2.2.0.0 Software Bus Network Application 1.0.0.0 Stored Command Application 2.4.0.0 Where We Are Now

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

cFS Community Projects on Babelfish Babelfish provides two services for each project: git repository Trac system Provides issue tracking and Wiki servicesBabelfish hosts six separate cFS projects/repos:cfs_cfecfs_osalcfs_pspcfs_toolscfs_apps cfs_test Anyone with an NDC account can acquire access Contact Greg Limes ( gregory.limes@nasa.gov ) for an account

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

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

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

NASA Wide Community Establishment

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 ReleasedFinalizingOSAL, PSP,cFE releases SustainCommunity/ Establish Charter

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”

NASA Wide Community Change Control Board

Change Control Board (CCB) PurposeTo 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 CenterGlenn Research CenterGoddard Space Flight CenterJohnson Space CenterLangley Research CenterMarshall Space Flight CenterMeets bi-weeklySpecial topic meetings are scheduled as needed

CCB Membership CCB Chair is selected by participating centersPrimary 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 joinAny technical personnel that would benefit and contribute to the discussions, decisions and outcomes of the meetings are encouraged and welcome to join

What is Managed by the CCB? Development Tools and Ground Systems Core Layer Abstraction Library Layer Hardware Layer Application Layer OSAL Open Source Release cFE Open Source Release Application Open Sourc e Releases cFE cFE API RTEMS PC-Linux OS Abstraction 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 Performance Tools Lab Applications Python Ground System Table Tools Unit Test Build System

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_osalcfs_pspcfs_cfecfs_appscfs_toolscfs_testProof collaboration between centers was possibleServes as a training area and central document locationArea 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

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

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

Release Process Releases are typically driven by (and not limited to):Hot fixes Mission/Project needs All release branches will go through a formal test and verification process: Unit testsBuild verification testsFunctional testsIncludes creating/updating the release documentation:Test reportsUser’s guidesVersion Description DocumentsIncludes generation of the open source tarball package

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 reachedTicket flow states are described in detail on the babelfish wiki:https://babelfish.arc.nasa.gov/trac/cfs_test/wiki/ReferenceTracFlow

CCB git Branching ModelThe CCB’s git branching model maps to the Vincent Driessen (nvie) model: http://nvie.com/posts/a-successful-git-branching-model/“hot fixes” come off the masterThe development branch is used as the baseline for the next releaseChanges that are not intended for the next release should not be merged into the development branchAgreed it is good practice to build the next release up front as changes are being mergedA “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

CCB git Branching Model Diagram ref: http://nvie.com/posts/a-successful-git-branching-model/ Technology

CCB Closed Ticket Summary

OSAL Closed Tickets

PSP Closed Tickets

cFE Closed Tickets

NASA Wide Community Babelfish Repository

Babelfish: Overview What is Babelfish?A server maintained by NASA ARC Accessible from outside the center with appropriate NASA credentialsHosts distributed git repositories, Trac System, and Wiki for cFSSource Code Control: the git RepositoriesIssue Tracking: the Trac Ticketing SystemShared Documents: the Trac WikiContinuous Integration: the Bamboo PlansPromotes collaboration across centersImprovements 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)

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

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 ConventionsSurveys of External ToolsTutorialsReference PagesAdditional Links of InterestLinkage between the Wikis is establishedInter-wiki hotlinks are easily managedNot as full-featured as links to other pages in the same wiki

Babelfish: Trac SystemBabelfish supported to set up issue tracking system quickly Default issue tracking system Configura CCB chose to implement a design with many statesNarrows categorization of outstanding issues narrowlyMany “short-circuit” actions for fast updateConfiguration of Ticket States and their transition can be customizedEach cFS git repository is coupled with a Trac databaseLinkage between tickets, the Wiki, and git commits are closely coupledLinks that cross repository boundaries are not as tight and provide less “live” information

Babelfish: Bamboo Babelfish shared resource providing automatic build and test services We currently build: OSAL Compiles OSAL libraryPerforms some static code analysis (CppCheck)Looking at other static analysis tools we can deploy Runs unit tests Some on the build agentOthers staged to target virtual machines pretending to be flight hardwarecFEThe 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 branchesAdditional procedures and facilities within each procedure are under consideration

NASA Wide Community Summary

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

Future Plans Formalize and develop CCB process documents:Software/product management plan for NASA controlled assetsChange control Version control Naming conventions/standards Coding standardsTrade study guidelines and processNPR-7150.2B Class B requirementsDefine milestones and develop schedule for 2016 product releasesRepository organization to allow OSAL and PSP implementations to be individually releasedEDSMessage ID name space resolution