SlideShare a Scribd company logo
High Integrity Software for Spacecraft
Copyright 2015 Carl Brandon
Dr. Carl Brandon & Dr. Peter Chapin carl.brandon@vtc.edu
Vermont Technical College +1-802-356-2822 (Voice)
Randolph Center, VT 05061 USA http://www.cubesatlab.org
ELaNa IV lessons for CubeSat software:
•NASA’s 2010 CubeSat Launch Initiative (ELaNa)
•Our project was in the first group selected for launch
•Our single-unit CubeSat was launched as part of NASA’s ELaNa IV on
an Air Force ORS-3 Minotaur 1 flight November 19, 2013 to a 500 km
altitude, 40.5o
inclination orbit and will remain in orbit until about July,
2016. It is the only one of the 12 ELaNa IV university CubeSats still
operating.
•The Vermont Lunar CubeSat is testing components of a Lunar
navigation system in Low Earth Orbit
•Follow our project at cubesatlab.org
NASA ELaNa IV Launch
Brandon - Chapin- Adacore Tech Days-
2015
ELaNa IV Results
• 12 University & 2 NASA CubeSats
launched
• Only 4 university CubeSats were
heard from at all, 8 were DOA
• One may have lasted part of a week
• One lasted four months
• One fried the batteries the first day
(software error)
• Ours, as many Vermonters do, took
a 2 ½ month winter vacation
Brandon - Chapin- Adacore Tech Days-
2015
ELaNa IV Results May 8, 2014Last
updated 5/7/2014
by Carl
Brandon
Position Payload Name
Beacon
Heard?
Commanding and
Telemetry
Ground System
Status
Overall Status Identified by JSpOC? Notes
1.1-A Prometheus 1.1 Yes
1.1-B Prometheus 1.2 Yes
1.2-A Prometheus 2.1 Yes
1.2-B Prometheus 2.2 Yes
1.3 Horus No No updates.
1.4 ORSES Yes No uplink/downlink established since 25Nov13.
1.5 ORS Tech 1 Yes
No change for ORS Tech 1 – Full communications (uplink and
downlink) . Object 39387.
1.6 ORS Tech 2 Yes
No change for ORS Tech 2 – Full communications (uplink and
downlink) . Object 39396.
1.7-A Prometheus 3.1 Yes
1.7-B Prometheus 3.2 Yes
1.8-A Prometheus 4.1 Yes
1.8-B Prometheus 4.2 Yes
2.1 SENSE SV 1 Yes
1 of 2 solar panels deployed, currently experiencing a low-
power anomaly. No contact with SV for 7 days in January,
working through fishbone anaylsis.
2.2 H2 No No change since last report
2.3-A Vermont Lunar Yes Working
2.3-B TJ3Sat No No change since last report
2.3-C Black Knight 1 No
No change for Black Knight 1. We have MIT Lincoln Labs
testing our ground station radio and LNA right now.
Anticipate renewed contact efforts in two weeks.
2.4 Firefly Yes
Firefly continues to be GREEN (spacecraft). Ground station is
YELLOW (cold weather issues, next expected contact
Thursday). We are commissioning the spacecraft, preparing
to enter science mode in February.
2.5-A KYSat II Yes
No changes from last week, using 39384 to track. Still no
reliable uplink haven¹t been able to use 21 meter dish at
Morehead State University due to snow and ice in the area.
Ground stations and spacecraft are currently green.
2.5-B NPS-SCAT Maybe
Still no contact with NPS-SCAT since last contact reported. No
other updates but we are currently using the new 39389
object allocation in our attempts.
2.5-C CAPE 2 Yes Only works in sunlight. Batteries dead.
2.6-a DragonSat-1 No No satellite contact; good ground station.
2.6-B PhoneSat Yes Tracked and working.
2.6-C SPA-1 Trailblazer No
Trailblazer still not heard from. We are now continuing to
look at those two TLEs and are hopeful. Satellite Red, Ground
Station Green.
2.7-A COPPER No No changes to COPPER.
2.7-B SwampSat No
There is no update from SwampSat. We have been using the
information from JSpOC to track, however, we are unable to
communicate with SwampSat. Also, our ground station is
fully functional.
2.7-C ChargerSat No
No change in SV status. We are currently repairing wind
damage on our antenna mount, and as such, have not been
able to utilize the information provided by JSpOC.
2.8 SENSE SV 2 Yes
Averaging 5 contacts per day. Yellow, 0 of 2 solar panels
deployed, shedding loads to regain positive power balance.
Beginning payload checkout as power balance allows.
Prometheus is all green.
Prometheus is all green.
Brandon - Chapin- Adacore Tech Days-
2015
Reliability issues from ELaNa IV
Software reliability issues:
• Design reviews
• Language selection (SPARK/Ada)
• Static analysis tools (SPARK 2005)
• Repository (Assembla)
• ISIS (Holland, not Syria) antenna
electrical model testing
Brandon - Chapin- Adacore Tech Days-
2015
Software reliability issues:
• Most CubeSats have used C
• Ada, alone has 10% of the C error
rate
• SPARK/Ada with the SPARK toolset
has 1% of the C error rate
• Students became productive with
SPARK in a couple of weeks
Brandon - Chapin- Adacore Tech Days-
2015
SPARK/Ada is used in:
Commercial aviation:
•Rolls-Royce Trent jet engines
•ARINC ACAMS system
Military aviation:
•EuroFighter Typhoon
•Harrier GR9
•AerMacchi M346
•Lockheed Martin C130J
Air-traffic management: (UK NATS iFACTS system)
Rail: (numerous signaling applications)
Medical: (LifeFlow ventricular assist device)
Brandon - Chapin- Adacore Tech Days-
2015
Our current SPARK 2005 CubeSat software:
• 5991 lines of code
• 4095 lines of comments (2843 are SPARK
annotations)
• a total of 10,086 lines (not including blank lines)
• The Examiner generated 4542 verification conditions
• all but 102 were proved automatically (98%)
• we attempted to prove the program free of runtime
errors
• which allowed us to suppress all checks
• The C portion consisted of 2239 lines (including
blank lines)
• Additional provers in SPARK 2014 would allow 100%
Brandon - Chapin- Adacore Tech Days-
2015
Our new SPARK 2014 CubedOS CubeSat software:
• General purpose CubeSat software system
• Written in SPARK/Ada & proven free from runtime
errors
• Currently in development for use in our Lunar
IceCube flight software
• Can integrate existing Ada or C runtime libraries
• Uses a Low Level Abstraction Layer (LLAL)
• LLAL allows running on bare hardware, or OS such
as Linux or VxWorks, easily modified for new hardware
• Provides inter module communication
• All modules are completely independent
Brandon - Chapin- Adacore Tech Days-
2015
Our new SPARK 2014 CubedOS CubeSat software:
• An asynchronous message passing system with
mailboxes. This, together with the underlying Ada
runtime system constitutes the "kernel" of CubedOS.
•A runtime library of useful packages, all verified with
SPARK.
•A real time clock module.
•A file system interface.
•A radio communications interface.
•Modules providing support for CCSDS (Consultative
Committee for Space Data Systems) protocols.
• A general driver model that allows components to
communicate with drivers fairly generically
Brandon - Chapin- Adacore Tech Days-
2015
CubedOS provides several advantages over "home
grown" frameworks:
•The message passing architecture is highly
concurrent and allows many overlapping activities to
be programmed in a natural way.
•For example, our implementation of the CCSDS File
Delivery Protocol (CFDP) used in the Deep Space
Network takes advantage of this.
•The architecture provides a lot of runtime flexibility;
programs can adapt their communication patterns at
runtime.
•The architecture is consistent with the restrictions of
Ada's Ravenscar profile (for safe concurrency).
Brandon - Chapin- Adacore Tech Days-
2015
CubedOS also brings several disadvantages over
more customized solutions:
•Because CubedOS messages are just octet
sequences, there is runtime overhead associated with
encoding and decoding them.
•CubedOS sacrifices some static type safety; decoded
messages must be validated at runtime with type
errors being handled during the validation process.
This is particularly worrisome in light of CubedOS's
goal of providing robust assurances of correctness.
•It is unclear at this time how analyzable CubedOS will
be with the SPARK tools. We await access to SPARK
2014 tools that can process tasking constructs.
Brandon - Chapin- Adacore Tech Days-
2015
CubedOS:
•CubedOS is an ongoing effort and should be
considered experimental at this time.
•However, we hope to refine the architecture and
implement enough non-trivial services to make
CubedOS useful to other groups.
•Our long term goal is to distribute CubedOS to others
working on CubeSat software or, for that matter, other
similar embedded systems.
Brandon - Chapin- Adacore Tech Days-
2015
Some errors that verification condition proofs
prevent with SPARK/Ada:
•array index out of range
•type range violation (see Ariane 5 below)
•division by zero
•numerical overflow (see Boeing 787 below)
Brandon - Chapin- Adacore Tech Days-
2015
Some examples of SPARK annotations (which are
Ada comments):
--# global in out Counter;
--# derives Counter from Counter, Table, Value &
--# Found, Index from Table, Value;
--# pre Counter < Integer'Last;
--# post Found -> (Table(Index) = Value and
Counter = Counter~ + 1);
-- precedes an Ada comment
--# indicates a SPARK annotation
~ indicates the initial value
Brandon - Chapin- Adacore Tech Days-
2015
Two software failures that would have been
prevented with SPARK/Ada:
•Ariane 5 initial flight failure
•Boeing 787 generator control computer shutdown
Brandon - Chapin- Adacore Tech Days-
2015
Ariane 5 initial flight failure:
Brandon - Chapin- Adacore Tech Days-
2015
Good
Bad, 37 seconds later
Ariane 5 initial flight failure:
•Software reused from Ariane 4, written in Ada
•The greater horizontal acceleration caused a data
conversion from a 64-bit floating point number to a 16-
bit signed integer value to overflow and cause a
hardware exception.
•Efficiency considerations had omitted range checks
for this particular variable, though conversions of other
variables in the code were protected.
•The exception halted the reference platforms,
resulting in the destruction of the flight.
•Financial loss close to $500,000,000.
•SPARK/Ada would have prevented this failure
Brandon - Chapin- Adacore Tech Days-
2015
Boeing 787 generator control computer:
•There are two generators for each of two engines,
each with its own control computer programmed in
Ada
•The computer keeps count of power on time in
centiseconds in a 32 bit register
•Just after 8 months elapses, the register overflows
•Each computer goes into “safe” mode shutting down
its generator resulting in a complete power failure,
causing loss of control of the aircraft
•The FAA Airworthiness Directive says to shut off the
power before 8 months as the solution
•SPARK/Ada would have prevented this
Brandon - Chapin- Adacore Tech Days-
2015
Brandon - Chapin- Adacore Tech Days-
2015
A SPARK 2014 book is now available:
Vermont Lunar CubeSat
Our first picture of Earth, February 2014
The North coast of Western Australia near Port Hedland
Brandon - Chapin- Adacore Tech Days-
2015
Lessons Learned from ELaNa IV
Western Australia north of Perth
Brandon - Chapin- Adacore Tech Days-
2015
Vermont Lunar CubeSat
More clouds.
Brandon - Chapin- Adacore Tech Days-
2015
Vermont Lunar CubeSat
Clouds over the ocean, June 2015.
Brandon - Chapin- Adacore Tech Days-
2015
Vermont Lunar CubeSat
Clouds over the ocean, September 2015.
Brandon - Chapin- Adacore Tech Days-
2015
Vermont Lunar CubeSat
Vermont Lunar CubeSat (10 cm cube)
Brandon - Chapin- Adacore Tech Days-
2015
Software Development Comments
for our first CubeSat
Brandon - Chapin- Adacore Tech Days-2015
• SPARK caught errors as we refactored the software as
we developed greater understanding of the hardware
• SPARK helped the discipline of the software during
turnover as some students graduated and were replaced
• Although we did not have a formal development process,
without SPARK we probably would not have completed
the project with the limited personnel resources and tight
time constraint
• Although the CubeSat is limited to 1.3kg, the paperwork
might be 13 kg ;-)
Lunar IceCube (10cm x 20cm x 30cm)
Lunar IceCube 6U CubeSat, Morehead State University, PI., Goddard
(BIRCHES IR Spectrometer), JPL (Iris 2 data & nav radio) & Vermont
Tech (Flight software). Busek ion drive with 1.5 kg Iodine propellant.
Brandon - Chapin- Adacore Tech Days-
2015
Busek Ion Thruster
65W 1.4 mN, 3 cm beam width
BIT-3 Iodine Propellant
Brandon - Chapin- Adacore Tech Days-
2015
JPL Iris 2 X-Band Radio/Transponder
Brandon - Chapin- Adacore Tech Days-
2015
Lunar IceCube Block Diagram
Brandon - Chapin- Adacore Tech Days-
2015
ELaNa IV Launch Minotaur 1 – Wallops Island
November 19, 2013, 8:15 PM
First two stages are Minuteman II first two stages, third
and fourth stages are Pegasus second and third stages
Brandon - Chapin- Adacore Tech Days-2015
Lunar IceCube Launch Vehicle
Brandon - Chapin- Adacore Tech Days-2015
NASA’s Space Launch System 2018
Acknowledgements
• NASA Vermont Space Grant Consortium
• NASA
• Vermont Technical College
• AdaCore, Inc. (GNAT Pro)
• Altran Praxis (SPARK)
• SofCheck (AdaMagic)
• Applied Graphics, Inc. (STK)
•LED Dynamics (PV boards)
•Microstrain (IMU)
Brandon - Chapin- Adacore Tech Days-2015
High Integrity Software for Spacecraft
Copyright 2015 Carl Brandon
Dr. Carl Brandon & Dr. Peter Chapin carl.brandon@vtc.edu
Vermont Technical College +1-802-356-2822 (Voice)
Randolph Center, VT 05061 USA http://www.cubesatlab.org

More Related Content

What's hot

Synthesis of Platform Architectures from OpenCL Programs
Synthesis of Platform Architectures from OpenCL ProgramsSynthesis of Platform Architectures from OpenCL Programs
Synthesis of Platform Architectures from OpenCL Programs
Nikos Bellas
 
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
babak hosseini
 
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Yahoo Developer Network
 
Cape2013 scilab-workshop-19Oct13
Cape2013 scilab-workshop-19Oct13Cape2013 scilab-workshop-19Oct13
Cape2013 scilab-workshop-19Oct13
Naren P.R.
 
Nexmark with beam
Nexmark with beamNexmark with beam
Nexmark with beam
Etienne Chauchot
 
Design of high speed adders for efficient digital design blocks
Design of high speed adders for efficient digital design blocksDesign of high speed adders for efficient digital design blocks
Design of high speed adders for efficient digital design blocksBharath Chary
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKenna
openseesdays
 
High performance LINPACK
High performance LINPACKHigh performance LINPACK
High performance LINPACK
Wei Mu
 
Large Graph Processing
Large Graph ProcessingLarge Graph Processing
Large Graph Processing
Zuhair khayyat
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...
openseesdays
 
SparkNet presentation
SparkNet presentationSparkNet presentation
SparkNet presentation
Sneh Pahilwani
 
Designing a machine learning algorithm for Apache Spark
Designing a machine learning algorithm for Apache SparkDesigning a machine learning algorithm for Apache Spark
Designing a machine learning algorithm for Apache Spark
Marco Gaido
 
The Rise of Small Satellites
The Rise of Small SatellitesThe Rise of Small Satellites
The Rise of Small Satellites
mooctu9
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
inside-BigData.com
 
Update on Trinity System Procurement and Plans
Update on Trinity System Procurement and PlansUpdate on Trinity System Procurement and Plans
Update on Trinity System Procurement and Plans
inside-BigData.com
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific Workflows
Matthew Gerring
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
LEGATO project
 
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Alessio Bucaioni
 

What's hot (19)

Synthesis of Platform Architectures from OpenCL Programs
Synthesis of Platform Architectures from OpenCL ProgramsSynthesis of Platform Architectures from OpenCL Programs
Synthesis of Platform Architectures from OpenCL Programs
 
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
Large-Margin Multiple Kernel Learning for Discriminative Features Selection a...
 
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
Apache YARN Federation and Tez at Microsoft, Anupam Upadhyay, Adrian Nicoara,...
 
Project ppt
Project pptProject ppt
Project ppt
 
Cape2013 scilab-workshop-19Oct13
Cape2013 scilab-workshop-19Oct13Cape2013 scilab-workshop-19Oct13
Cape2013 scilab-workshop-19Oct13
 
Nexmark with beam
Nexmark with beamNexmark with beam
Nexmark with beam
 
Design of high speed adders for efficient digital design blocks
Design of high speed adders for efficient digital design blocksDesign of high speed adders for efficient digital design blocks
Design of high speed adders for efficient digital design blocks
 
Introduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKennaIntroduction to OpenSees by Frank McKenna
Introduction to OpenSees by Frank McKenna
 
High performance LINPACK
High performance LINPACKHigh performance LINPACK
High performance LINPACK
 
Large Graph Processing
Large Graph ProcessingLarge Graph Processing
Large Graph Processing
 
A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...A shared-filesystem-memory approach for running IDA in parallel over informal...
A shared-filesystem-memory approach for running IDA in parallel over informal...
 
SparkNet presentation
SparkNet presentationSparkNet presentation
SparkNet presentation
 
Designing a machine learning algorithm for Apache Spark
Designing a machine learning algorithm for Apache SparkDesigning a machine learning algorithm for Apache Spark
Designing a machine learning algorithm for Apache Spark
 
The Rise of Small Satellites
The Rise of Small SatellitesThe Rise of Small Satellites
The Rise of Small Satellites
 
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
Abstractions and Directives for Adapting Wavefront Algorithms to Future Archi...
 
Update on Trinity System Procurement and Plans
Update on Trinity System Procurement and PlansUpdate on Trinity System Procurement and Plans
Update on Trinity System Procurement and Plans
 
DAWN and Scientific Workflows
DAWN and Scientific WorkflowsDAWN and Scientific Workflows
DAWN and Scientific Workflows
 
LEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming ModelsLEGaTO: Software Stack Programming Models
LEGaTO: Software Stack Programming Models
 
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
Raising Abstraction in Timing Analysis for Vehicular Embedded Systems through...
 

Similar to Tech Days 2015: User Presentation Vermont Technical College

Data link layer
Data link layerData link layer
Data link layer
kovendanv
 
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
scalaconfjp
 
Latihan soal
Latihan soalLatihan soal
Latihan soal
joko
 
IPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCGIPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCG
Jisc
 
Ecet 365 Enhance teaching / snaptutorial.com
Ecet 365   Enhance teaching / snaptutorial.comEcet 365   Enhance teaching / snaptutorial.com
Ecet 365 Enhance teaching / snaptutorial.com
Davis116a
 
ECET 365 Exceptional Education / snaptutorial.com
ECET 365 Exceptional Education / snaptutorial.comECET 365 Exceptional Education / snaptutorial.com
ECET 365 Exceptional Education / snaptutorial.com
donaldzs109
 
Ecet 365 Education Redefined - snaptutorial.com
Ecet 365    Education Redefined - snaptutorial.comEcet 365    Education Redefined - snaptutorial.com
Ecet 365 Education Redefined - snaptutorial.com
DavisMurphyC85
 
RVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer ToolRVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer Tool
MDC_UNICA
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
Ccie Light
 
JPNE MAP-E Deployment (IETF92@Dallas)
JPNE MAP-E Deployment (IETF92@Dallas)JPNE MAP-E Deployment (IETF92@Dallas)
JPNE MAP-E Deployment (IETF92@Dallas)
Akira Nakagawa
 
ECET 365 Success Begins/Newtonhelp.com
ECET 365 Success Begins/Newtonhelp.comECET 365 Success Begins/Newtonhelp.com
ECET 365 Success Begins/Newtonhelp.com
ledlang1
 
ECET 365 Success Begins /newtonhelp.com 
ECET 365 Success Begins /newtonhelp.com ECET 365 Success Begins /newtonhelp.com 
ECET 365 Success Begins /newtonhelp.com 
myblue134
 
PANSAT COM AB05-CD06 Final Report
PANSAT COM AB05-CD06 Final ReportPANSAT COM AB05-CD06 Final Report
PANSAT COM AB05-CD06 Final ReportBrian Martiniello
 
Swimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case studySwimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case study
OPNFV
 
Michael_K_Bartosewcz_September_2015_resume
Michael_K_Bartosewcz_September_2015_resumeMichael_K_Bartosewcz_September_2015_resume
Michael_K_Bartosewcz_September_2015_resumeMike (Bart) Bartosewcz
 
Metabolomics in Galaxy - ICG8 Shenzhen 2013
Metabolomics in Galaxy - ICG8 Shenzhen 2013Metabolomics in Galaxy - ICG8 Shenzhen 2013
Metabolomics in Galaxy - ICG8 Shenzhen 2013
Robert Davidson
 
Rob Davidson: Using Galaxy for Metabolomics
Rob Davidson: Using Galaxy for MetabolomicsRob Davidson: Using Galaxy for Metabolomics
Rob Davidson: Using Galaxy for Metabolomics
GigaScience, BGI Hong Kong
 

Similar to Tech Days 2015: User Presentation Vermont Technical College (20)

Data link layer
Data link layerData link layer
Data link layer
 
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
Scarab: SAT-based Constraint Programming System in Scala / Scala上で実現された制約プログラ...
 
Latihan soal
Latihan soalLatihan soal
Latihan soal
 
IPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCGIPv6 deployment on GridPP & WLCG
IPv6 deployment on GridPP & WLCG
 
Ecet 365 Enhance teaching / snaptutorial.com
Ecet 365   Enhance teaching / snaptutorial.comEcet 365   Enhance teaching / snaptutorial.com
Ecet 365 Enhance teaching / snaptutorial.com
 
ECET 365 Exceptional Education / snaptutorial.com
ECET 365 Exceptional Education / snaptutorial.comECET 365 Exceptional Education / snaptutorial.com
ECET 365 Exceptional Education / snaptutorial.com
 
Ecet 365 Education Redefined - snaptutorial.com
Ecet 365    Education Redefined - snaptutorial.comEcet 365    Education Redefined - snaptutorial.com
Ecet 365 Education Redefined - snaptutorial.com
 
RVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer ToolRVC: A Multi-Decoder CAL Composer Tool
RVC: A Multi-Decoder CAL Composer Tool
 
Openlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sionOpenlab.2014 02-13.major.vi sion
Openlab.2014 02-13.major.vi sion
 
JPNE MAP-E Deployment (IETF92@Dallas)
JPNE MAP-E Deployment (IETF92@Dallas)JPNE MAP-E Deployment (IETF92@Dallas)
JPNE MAP-E Deployment (IETF92@Dallas)
 
ECET 365 Success Begins/Newtonhelp.com
ECET 365 Success Begins/Newtonhelp.comECET 365 Success Begins/Newtonhelp.com
ECET 365 Success Begins/Newtonhelp.com
 
ECET 365 Success Begins /newtonhelp.com 
ECET 365 Success Begins /newtonhelp.com ECET 365 Success Begins /newtonhelp.com 
ECET 365 Success Begins /newtonhelp.com 
 
presentation
presentationpresentation
presentation
 
LTTechServices_Surya
LTTechServices_SuryaLTTechServices_Surya
LTTechServices_Surya
 
PANSAT COM AB05-CD06 Final Report
PANSAT COM AB05-CD06 Final ReportPANSAT COM AB05-CD06 Final Report
PANSAT COM AB05-CD06 Final Report
 
Swimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case studySwimming upstream: OPNFV Doctor project case study
Swimming upstream: OPNFV Doctor project case study
 
Michael_K_Bartosewcz_September_2015_resume
Michael_K_Bartosewcz_September_2015_resumeMichael_K_Bartosewcz_September_2015_resume
Michael_K_Bartosewcz_September_2015_resume
 
Ianson
IansonIanson
Ianson
 
Metabolomics in Galaxy - ICG8 Shenzhen 2013
Metabolomics in Galaxy - ICG8 Shenzhen 2013Metabolomics in Galaxy - ICG8 Shenzhen 2013
Metabolomics in Galaxy - ICG8 Shenzhen 2013
 
Rob Davidson: Using Galaxy for Metabolomics
Rob Davidson: Using Galaxy for MetabolomicsRob Davidson: Using Galaxy for Metabolomics
Rob Davidson: Using Galaxy for Metabolomics
 

More from AdaCore

RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
AdaCore
 
Have we a Human Ecosystem?
Have we a Human Ecosystem?Have we a Human Ecosystem?
Have we a Human Ecosystem?
AdaCore
 
Rust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesRust and the coming age of high integrity languages
Rust and the coming age of high integrity languages
AdaCore
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic library
AdaCore
 
Developing Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsDeveloping Future High Integrity Processing Solutions
Developing Future High Integrity Processing Solutions
AdaCore
 
Taming event-driven software via formal verification
Taming event-driven software via formal verificationTaming event-driven software via formal verification
Taming event-driven software via formal verification
AdaCore
 
Pushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofPushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program Proof
AdaCore
 
RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
AdaCore
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configuration
AdaCore
 
Securing the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareSecuring the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded Software
AdaCore
 
Spark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentSpark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware Development
AdaCore
 
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
AdaCore
 
The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!
AdaCore
 
Adaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR Architecture
AdaCore
 
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
AdaCore
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar Technology
AdaCore
 
MISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextMISRA C in an ISO 26262 context
MISRA C in an ISO 26262 context
AdaCore
 
Application of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareApplication of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle software
AdaCore
 
The Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareThe Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling Software
AdaCore
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise Environment
AdaCore
 

More from AdaCore (20)

RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
 
Have we a Human Ecosystem?
Have we a Human Ecosystem?Have we a Human Ecosystem?
Have we a Human Ecosystem?
 
Rust and the coming age of high integrity languages
Rust and the coming age of high integrity languagesRust and the coming age of high integrity languages
Rust and the coming age of high integrity languages
 
SPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic librarySPARKNaCl: A verified, fast cryptographic library
SPARKNaCl: A verified, fast cryptographic library
 
Developing Future High Integrity Processing Solutions
Developing Future High Integrity Processing SolutionsDeveloping Future High Integrity Processing Solutions
Developing Future High Integrity Processing Solutions
 
Taming event-driven software via formal verification
Taming event-driven software via formal verificationTaming event-driven software via formal verification
Taming event-driven software via formal verification
 
Pushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program ProofPushing the Boundary of Mostly Automatic Program Proof
Pushing the Boundary of Mostly Automatic Program Proof
 
RCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standardsRCA OCORA: Safe Computing Platform using open standards
RCA OCORA: Safe Computing Platform using open standards
 
Product Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configurationProduct Lines and Ecosystems: from customization to configuration
Product Lines and Ecosystems: from customization to configuration
 
Securing the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded SoftwareSecuring the Future of Safety and Security of Embedded Software
Securing the Future of Safety and Security of Embedded Software
 
Spark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware DevelopmentSpark / Ada for Safe and Secure Firmware Development
Spark / Ada for Safe and Secure Firmware Development
 
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...Introducing the HICLASS Research Programme - Enabling Development of Complex ...
Introducing the HICLASS Research Programme - Enabling Development of Complex ...
 
The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!The Future of Aerospace – More Software Please!
The Future of Aerospace – More Software Please!
 
Adaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR ArchitectureAdaptive AUTOSAR - The New AUTOSAR Architecture
Adaptive AUTOSAR - The New AUTOSAR Architecture
 
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
Using Tiers of Assurance Evidence to Reduce the Tears! Adopting the “Wheel of...
 
Software Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar TechnologySoftware Engineering for Robotics - The RoboStar Technology
Software Engineering for Robotics - The RoboStar Technology
 
MISRA C in an ISO 26262 context
MISRA C in an ISO 26262 contextMISRA C in an ISO 26262 context
MISRA C in an ISO 26262 context
 
Application of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle softwareApplication of theorem proving for safety-critical vehicle software
Application of theorem proving for safety-critical vehicle software
 
The Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling SoftwareThe Application of Formal Methods to Railway Signalling Software
The Application of Formal Methods to Railway Signalling Software
 
Bounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise EnvironmentBounded Model Checking for C Programs in an Enterprise Environment
Bounded Model Checking for C Programs in an Enterprise Environment
 

Recently uploaded

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 

Recently uploaded (20)

A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 

Tech Days 2015: User Presentation Vermont Technical College

  • 1. High Integrity Software for Spacecraft Copyright 2015 Carl Brandon Dr. Carl Brandon & Dr. Peter Chapin carl.brandon@vtc.edu Vermont Technical College +1-802-356-2822 (Voice) Randolph Center, VT 05061 USA http://www.cubesatlab.org
  • 2. ELaNa IV lessons for CubeSat software: •NASA’s 2010 CubeSat Launch Initiative (ELaNa) •Our project was in the first group selected for launch •Our single-unit CubeSat was launched as part of NASA’s ELaNa IV on an Air Force ORS-3 Minotaur 1 flight November 19, 2013 to a 500 km altitude, 40.5o inclination orbit and will remain in orbit until about July, 2016. It is the only one of the 12 ELaNa IV university CubeSats still operating. •The Vermont Lunar CubeSat is testing components of a Lunar navigation system in Low Earth Orbit •Follow our project at cubesatlab.org NASA ELaNa IV Launch Brandon - Chapin- Adacore Tech Days- 2015
  • 3. ELaNa IV Results • 12 University & 2 NASA CubeSats launched • Only 4 university CubeSats were heard from at all, 8 were DOA • One may have lasted part of a week • One lasted four months • One fried the batteries the first day (software error) • Ours, as many Vermonters do, took a 2 ½ month winter vacation Brandon - Chapin- Adacore Tech Days- 2015
  • 4. ELaNa IV Results May 8, 2014Last updated 5/7/2014 by Carl Brandon Position Payload Name Beacon Heard? Commanding and Telemetry Ground System Status Overall Status Identified by JSpOC? Notes 1.1-A Prometheus 1.1 Yes 1.1-B Prometheus 1.2 Yes 1.2-A Prometheus 2.1 Yes 1.2-B Prometheus 2.2 Yes 1.3 Horus No No updates. 1.4 ORSES Yes No uplink/downlink established since 25Nov13. 1.5 ORS Tech 1 Yes No change for ORS Tech 1 – Full communications (uplink and downlink) . Object 39387. 1.6 ORS Tech 2 Yes No change for ORS Tech 2 – Full communications (uplink and downlink) . Object 39396. 1.7-A Prometheus 3.1 Yes 1.7-B Prometheus 3.2 Yes 1.8-A Prometheus 4.1 Yes 1.8-B Prometheus 4.2 Yes 2.1 SENSE SV 1 Yes 1 of 2 solar panels deployed, currently experiencing a low- power anomaly. No contact with SV for 7 days in January, working through fishbone anaylsis. 2.2 H2 No No change since last report 2.3-A Vermont Lunar Yes Working 2.3-B TJ3Sat No No change since last report 2.3-C Black Knight 1 No No change for Black Knight 1. We have MIT Lincoln Labs testing our ground station radio and LNA right now. Anticipate renewed contact efforts in two weeks. 2.4 Firefly Yes Firefly continues to be GREEN (spacecraft). Ground station is YELLOW (cold weather issues, next expected contact Thursday). We are commissioning the spacecraft, preparing to enter science mode in February. 2.5-A KYSat II Yes No changes from last week, using 39384 to track. Still no reliable uplink haven¹t been able to use 21 meter dish at Morehead State University due to snow and ice in the area. Ground stations and spacecraft are currently green. 2.5-B NPS-SCAT Maybe Still no contact with NPS-SCAT since last contact reported. No other updates but we are currently using the new 39389 object allocation in our attempts. 2.5-C CAPE 2 Yes Only works in sunlight. Batteries dead. 2.6-a DragonSat-1 No No satellite contact; good ground station. 2.6-B PhoneSat Yes Tracked and working. 2.6-C SPA-1 Trailblazer No Trailblazer still not heard from. We are now continuing to look at those two TLEs and are hopeful. Satellite Red, Ground Station Green. 2.7-A COPPER No No changes to COPPER. 2.7-B SwampSat No There is no update from SwampSat. We have been using the information from JSpOC to track, however, we are unable to communicate with SwampSat. Also, our ground station is fully functional. 2.7-C ChargerSat No No change in SV status. We are currently repairing wind damage on our antenna mount, and as such, have not been able to utilize the information provided by JSpOC. 2.8 SENSE SV 2 Yes Averaging 5 contacts per day. Yellow, 0 of 2 solar panels deployed, shedding loads to regain positive power balance. Beginning payload checkout as power balance allows. Prometheus is all green. Prometheus is all green. Brandon - Chapin- Adacore Tech Days- 2015
  • 5. Reliability issues from ELaNa IV Software reliability issues: • Design reviews • Language selection (SPARK/Ada) • Static analysis tools (SPARK 2005) • Repository (Assembla) • ISIS (Holland, not Syria) antenna electrical model testing Brandon - Chapin- Adacore Tech Days- 2015
  • 6. Software reliability issues: • Most CubeSats have used C • Ada, alone has 10% of the C error rate • SPARK/Ada with the SPARK toolset has 1% of the C error rate • Students became productive with SPARK in a couple of weeks Brandon - Chapin- Adacore Tech Days- 2015
  • 7. SPARK/Ada is used in: Commercial aviation: •Rolls-Royce Trent jet engines •ARINC ACAMS system Military aviation: •EuroFighter Typhoon •Harrier GR9 •AerMacchi M346 •Lockheed Martin C130J Air-traffic management: (UK NATS iFACTS system) Rail: (numerous signaling applications) Medical: (LifeFlow ventricular assist device) Brandon - Chapin- Adacore Tech Days- 2015
  • 8. Our current SPARK 2005 CubeSat software: • 5991 lines of code • 4095 lines of comments (2843 are SPARK annotations) • a total of 10,086 lines (not including blank lines) • The Examiner generated 4542 verification conditions • all but 102 were proved automatically (98%) • we attempted to prove the program free of runtime errors • which allowed us to suppress all checks • The C portion consisted of 2239 lines (including blank lines) • Additional provers in SPARK 2014 would allow 100% Brandon - Chapin- Adacore Tech Days- 2015
  • 9. Our new SPARK 2014 CubedOS CubeSat software: • General purpose CubeSat software system • Written in SPARK/Ada & proven free from runtime errors • Currently in development for use in our Lunar IceCube flight software • Can integrate existing Ada or C runtime libraries • Uses a Low Level Abstraction Layer (LLAL) • LLAL allows running on bare hardware, or OS such as Linux or VxWorks, easily modified for new hardware • Provides inter module communication • All modules are completely independent Brandon - Chapin- Adacore Tech Days- 2015
  • 10. Our new SPARK 2014 CubedOS CubeSat software: • An asynchronous message passing system with mailboxes. This, together with the underlying Ada runtime system constitutes the "kernel" of CubedOS. •A runtime library of useful packages, all verified with SPARK. •A real time clock module. •A file system interface. •A radio communications interface. •Modules providing support for CCSDS (Consultative Committee for Space Data Systems) protocols. • A general driver model that allows components to communicate with drivers fairly generically Brandon - Chapin- Adacore Tech Days- 2015
  • 11. CubedOS provides several advantages over "home grown" frameworks: •The message passing architecture is highly concurrent and allows many overlapping activities to be programmed in a natural way. •For example, our implementation of the CCSDS File Delivery Protocol (CFDP) used in the Deep Space Network takes advantage of this. •The architecture provides a lot of runtime flexibility; programs can adapt their communication patterns at runtime. •The architecture is consistent with the restrictions of Ada's Ravenscar profile (for safe concurrency). Brandon - Chapin- Adacore Tech Days- 2015
  • 12. CubedOS also brings several disadvantages over more customized solutions: •Because CubedOS messages are just octet sequences, there is runtime overhead associated with encoding and decoding them. •CubedOS sacrifices some static type safety; decoded messages must be validated at runtime with type errors being handled during the validation process. This is particularly worrisome in light of CubedOS's goal of providing robust assurances of correctness. •It is unclear at this time how analyzable CubedOS will be with the SPARK tools. We await access to SPARK 2014 tools that can process tasking constructs. Brandon - Chapin- Adacore Tech Days- 2015
  • 13. CubedOS: •CubedOS is an ongoing effort and should be considered experimental at this time. •However, we hope to refine the architecture and implement enough non-trivial services to make CubedOS useful to other groups. •Our long term goal is to distribute CubedOS to others working on CubeSat software or, for that matter, other similar embedded systems. Brandon - Chapin- Adacore Tech Days- 2015
  • 14. Some errors that verification condition proofs prevent with SPARK/Ada: •array index out of range •type range violation (see Ariane 5 below) •division by zero •numerical overflow (see Boeing 787 below) Brandon - Chapin- Adacore Tech Days- 2015
  • 15. Some examples of SPARK annotations (which are Ada comments): --# global in out Counter; --# derives Counter from Counter, Table, Value & --# Found, Index from Table, Value; --# pre Counter < Integer'Last; --# post Found -> (Table(Index) = Value and Counter = Counter~ + 1); -- precedes an Ada comment --# indicates a SPARK annotation ~ indicates the initial value Brandon - Chapin- Adacore Tech Days- 2015
  • 16. Two software failures that would have been prevented with SPARK/Ada: •Ariane 5 initial flight failure •Boeing 787 generator control computer shutdown Brandon - Chapin- Adacore Tech Days- 2015
  • 17. Ariane 5 initial flight failure: Brandon - Chapin- Adacore Tech Days- 2015 Good Bad, 37 seconds later
  • 18. Ariane 5 initial flight failure: •Software reused from Ariane 4, written in Ada •The greater horizontal acceleration caused a data conversion from a 64-bit floating point number to a 16- bit signed integer value to overflow and cause a hardware exception. •Efficiency considerations had omitted range checks for this particular variable, though conversions of other variables in the code were protected. •The exception halted the reference platforms, resulting in the destruction of the flight. •Financial loss close to $500,000,000. •SPARK/Ada would have prevented this failure Brandon - Chapin- Adacore Tech Days- 2015
  • 19. Boeing 787 generator control computer: •There are two generators for each of two engines, each with its own control computer programmed in Ada •The computer keeps count of power on time in centiseconds in a 32 bit register •Just after 8 months elapses, the register overflows •Each computer goes into “safe” mode shutting down its generator resulting in a complete power failure, causing loss of control of the aircraft •The FAA Airworthiness Directive says to shut off the power before 8 months as the solution •SPARK/Ada would have prevented this Brandon - Chapin- Adacore Tech Days- 2015
  • 20. Brandon - Chapin- Adacore Tech Days- 2015 A SPARK 2014 book is now available:
  • 21. Vermont Lunar CubeSat Our first picture of Earth, February 2014 The North coast of Western Australia near Port Hedland Brandon - Chapin- Adacore Tech Days- 2015
  • 22. Lessons Learned from ELaNa IV Western Australia north of Perth Brandon - Chapin- Adacore Tech Days- 2015
  • 23. Vermont Lunar CubeSat More clouds. Brandon - Chapin- Adacore Tech Days- 2015
  • 24. Vermont Lunar CubeSat Clouds over the ocean, June 2015. Brandon - Chapin- Adacore Tech Days- 2015
  • 25. Vermont Lunar CubeSat Clouds over the ocean, September 2015. Brandon - Chapin- Adacore Tech Days- 2015
  • 26. Vermont Lunar CubeSat Vermont Lunar CubeSat (10 cm cube) Brandon - Chapin- Adacore Tech Days- 2015
  • 27. Software Development Comments for our first CubeSat Brandon - Chapin- Adacore Tech Days-2015 • SPARK caught errors as we refactored the software as we developed greater understanding of the hardware • SPARK helped the discipline of the software during turnover as some students graduated and were replaced • Although we did not have a formal development process, without SPARK we probably would not have completed the project with the limited personnel resources and tight time constraint • Although the CubeSat is limited to 1.3kg, the paperwork might be 13 kg ;-)
  • 28. Lunar IceCube (10cm x 20cm x 30cm) Lunar IceCube 6U CubeSat, Morehead State University, PI., Goddard (BIRCHES IR Spectrometer), JPL (Iris 2 data & nav radio) & Vermont Tech (Flight software). Busek ion drive with 1.5 kg Iodine propellant. Brandon - Chapin- Adacore Tech Days- 2015
  • 29. Busek Ion Thruster 65W 1.4 mN, 3 cm beam width BIT-3 Iodine Propellant Brandon - Chapin- Adacore Tech Days- 2015
  • 30. JPL Iris 2 X-Band Radio/Transponder Brandon - Chapin- Adacore Tech Days- 2015
  • 31. Lunar IceCube Block Diagram Brandon - Chapin- Adacore Tech Days- 2015
  • 32. ELaNa IV Launch Minotaur 1 – Wallops Island November 19, 2013, 8:15 PM First two stages are Minuteman II first two stages, third and fourth stages are Pegasus second and third stages Brandon - Chapin- Adacore Tech Days-2015
  • 33. Lunar IceCube Launch Vehicle Brandon - Chapin- Adacore Tech Days-2015 NASA’s Space Launch System 2018
  • 34. Acknowledgements • NASA Vermont Space Grant Consortium • NASA • Vermont Technical College • AdaCore, Inc. (GNAT Pro) • Altran Praxis (SPARK) • SofCheck (AdaMagic) • Applied Graphics, Inc. (STK) •LED Dynamics (PV boards) •Microstrain (IMU) Brandon - Chapin- Adacore Tech Days-2015
  • 35. High Integrity Software for Spacecraft Copyright 2015 Carl Brandon Dr. Carl Brandon & Dr. Peter Chapin carl.brandon@vtc.edu Vermont Technical College +1-802-356-2822 (Voice) Randolph Center, VT 05061 USA http://www.cubesatlab.org