Why This Matters

Software increasingly implements critical functionality in cyber-physical systems where faults can have safety consequences, yet traditional software testing and verification cannot guarantee correct behavior in all operational scenarios. This work innovates by applying proven aerospace health management principles to software systems through model-based development that automatically generates monitoring code. The hierarchical health management structure enables both localized component recovery and global system diagnosis.

What We Did

This paper applies software health management techniques to real-time systems using model-based development and the ARINC Component Model framework. The work extends traditional system health management from aerospace to software by developing component-level health managers that monitor individual components and system-level health managers that coordinate global system health. It demonstrates application of model-based design tools to automatically generate both functional code and health management code from specifications.

Key Results

The approach successfully demonstrates application of software health management to a real-time system case study with automatic code generation producing functional and monitoring code that respects timing constraints. Results show that component-level health managers can effectively detect and mitigate anomalies while system-level managers coordinate global recovery actions. The framework enables developers to specify health management requirements in models and automatically generate executable code with known timing properties.

Full Abstract

Cite This Paper

@inproceedings{Mahadevan2011,
  author = {Mahadevan, Nagabhushan and Dubey, Abhishek and Karsai, Gabor},
  booktitle = {2011 {ICSE} Symposium on Software Engineering for Adaptive and Self-Managing Systems, {SEAMS} 2011, Waikiki, Honolulu , HI, USA, May 23-24, 2011},
  title = {Application of software health management techniques},
  year = {2011},
  acceptance = {27},
  pages = {1--10},
  abstract = {The growing complexity of software used in large-scale, safety critical cyber-physical systems makes it increasingly difficult to expose and hence correct all potential defects. There is a need to augment the existing fault tolerance methodologies with new approaches that address latent software defects exposed at runtime. This paper describes an approach that borrows and adapts traditional {\textquoteleft}System Health Management{\textquoteright} techniques to improve software dependability through simple formal specification of runtime monitoring, diagnosis, and mitigation strategies. The two-level approach to health management at the component and system level is demonstrated on a simulated case study of an Air Data Inertial Reference Unit (ADIRU). An ADIRU was categorized as the primary failure source for the in-flight upset caused in the Malaysian Air flight 124 over Perth, Australia in 2005.},
  bibsource = {dblp computer science bibliography, https://dblp.org},
  biburl = {https://dblp.org/rec/bib/conf/icse/MahadevanDK11},
  category = {selectiveconference},
  contribution = {colab},
  doi = {10.1145/1988008.1988010},
  file = {:Mahadevan2011-Application_of_software_health_management_techniques.pdf:PDF},
  keywords = {software health management, real-time systems, model-based design, component architecture, code generation, fault mitigation},
  project = {cps-middleware,cps-reliability},
  tag = {platform},
  timestamp = {Tue, 06 Nov 2018 00:00:00 +0100},
  url = {https://doi.org/10.1145/1988008.1988010}
}
Quick Info
Year 2011
Keywords
software health management real-time systems model-based design component architecture code generation fault mitigation
Research Areas
CPS middleware Explainable AI
Search Tags

Application, software, health, management, techniques, software health management, real-time systems, model-based design, component architecture, code generation, fault mitigation, CPS, middleware, Explainable AI, 2011, Mahadevan, Dubey, Karsai