Comprehension of Spacecraft Telemetry Using Hierarchical Specifications of Behavior
A key challenge in operating remote spacecraft is that ground operators must rely on the limited visibility available through spacecraft telemetry in order to assess spacecraft health and operational status. We describe a tool for processing spacecraft telemetry that allows ground operators to impose structure on received telemetry in order to achieve a better comprehension of system state. A key element of our approach is the design of a domain-specific language that allows operators to express models of expected system behavior using partial specifications. The language allows behavior specifications with data fields, similar to other recent runtime verification systems. What is notable about our approach is the ability to develop hierarchical specifications of behavior. The language is implemented as an internal DSL in the Scala programming language that synthesizes rules from patterns of specification behavior. The rules are automatically applied to received telemetry and the inferred behaviors are available to ground operators using a visualization interface that makes it easier to understand and track spacecraft state. We describe initial results from applying our tool to telemetry received from the Curiosity rover currently roving the surface of Mars, where the visualizations are being used to trend subsystem behaviors, in order to identify potential problems before they happen. However, the technology is completely general and can be applied to any system that generates telemetry such as event logs.
KeywordsParallel Composition Ground Operator Communication Session Complex Event Processing Error Trace
Unable to display preview. Download preview PDF.
- 1.D3 website, http://d3js.org
- 2.Drools website, http://www.jboss.org/drools
- 3.Mars Science Laboratory (MSL) mission website, http://mars.jpl.nasa.gov/msl
- 4.Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhoták, O., de Moor, O., Sereni, D., Sittamplan, G., Tibble, J.: Adding trace matching with free variables to AspectJ. In: OOPSLA 2005, ACM Press (2005)Google Scholar
- 16.Havelund, K.: Data automata in Scala. In: Leucker, M., Wang, J. (eds.) 8th International Symposium on Theoretical Aspects of Software Engineering, TASE 2014, Changsha, China, September 1-3. IEEE Computer Society Press, Los Alamitos (2014)Google Scholar
- 17.Havelund, K.: Rule-based runtime verification revisited. Software Tools for Technology Transfer (STTT) (April 2014); Published onlineGoogle Scholar
- 18.Luckham, D. (ed.): The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley (2002)Google Scholar