Verification and analysis of domain-specific models of physical characteristics in embedded control software

Context: A considerable portion of the software systems today are adopted in the embedded control domain. Embedded control software deals with controlling a physical system, and as such models of physical characteristics become part of the embedded control software. Objective: Due to the evolution of system properties and increasing complexity, faults can be left undetected in these models of physical characteristics. Therefore, their accuracy must be verified at runtime. Traditional runtime verification techniques that are based on states/events in software execution are inadequate in this case. The behavior suggested by models of physical characteristics cannot be mapped to behavioral properties of software. Moreover, implementation in a general-purpose programming language makes these models hard to locate and verify. Therefore, this paper proposes a novel approach to perform runtime verification of models of physical characteristics in embedded control software. Method: The development of an approach for runtime verification of models of physical characteristics and the application of the approach to two industrial case studies from the printing systems domain. Results: This paper presents a novel approach to specify models of physical characteristics using a domain-specific language, to define monitors that detect inconsistencies by exploiting redundancy in these models, and to realize these monitors using an aspect-oriented approach. We complement runtime verification with static analysis to verify the composition of domain-specific models with the control software written in a general-purpose language. Conclusions: The presented approach enables runtime verification of implemented models of physical characteristics to detect inconsistencies in these models, as well as broken hardware components and wear and tear of hardware in the physical system. The application of declarative aspect-oriented techniques to realize runtime verification monitors increases modularity and provides the ability to statically verify this realization. The complementary static and runtime verification techniques increase the reliability of embedded control software.

[1]  G. Provan,et al.  The Lydia Approach to Combinational Model-Based Diagnosis , 2009 .

[2]  Lodewijk Bergmans,et al.  A graph-based approach to modeling and detecting composition conflicts related to introductions , 2007, AOSD.

[3]  A. J. de Roo Towards More Robust Advice: Message Flow Analysis for Composition Filters and its Application , 2007 .

[4]  Shmuel Katz,et al.  Modular Generic Verification of LTL Properties for Aspects , 2006 .

[5]  Johannes F. Broenink,et al.  Modelling, Simulation and Analysis with 20-Sim , 1997 .

[6]  Grigore Rosu,et al.  Mop: an efficient and generic runtime verification framework , 2007, OOPSLA.

[7]  Brian C. Williams,et al.  Diagnosing Multiple Faults , 1987, Artif. Intell..

[8]  Sandeep Neema,et al.  Model-integrated Tools for the Design of Dynamically Reconfigurable Systems , 2000, VLSI Design.

[9]  Günter Kniesel,et al.  Detection and Resolution of Weaving Interactions , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[10]  Ann Q. Gates,et al.  A taxonomy and catalog of runtime software-fault monitoring tools , 2004, IEEE Transactions on Software Engineering.

[11]  Peter Zoeteweij,et al.  Spectrum-Based Multiple Fault Localization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[12]  Arjan J. de Roo,et al.  Managing Software Complexity of Adaptive Systems , 2012 .

[13]  Christoph Bockisch,et al.  Applying the Composition Filter Model for Runtime Verification of Multiple-Language Software , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[14]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[15]  Daniel Kroening,et al.  A Survey of Automated Techniques for Formal Software Verification , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Kathi Fisler,et al.  Verifying aspect advice modularly , 2004, SIGSOFT '04/FSE-12.

[17]  Stephan Merz,et al.  Model Checking , 2000 .

[18]  Marco Montali,et al.  Runtime Verification of LTL-Based Declarative Process Models , 2011, RV.

[19]  Hasan Sözer,et al.  Runtime Verification of Domain-Specific Models of Physical Characteristics in Control Software , 2011, 2011 Fifth International Conference on Secure Software Integration and Reliability Improvement.

[20]  Paolo Traverso,et al.  Formal Specification and Development of a Safety-Critical Train Management System , 1999, SAFECOMP.

[21]  Mahesh Viswanathan,et al.  Java-MaC: A Run-Time Assurance Approach for Java Programs , 2004, Formal Methods Syst. Des..

[22]  Ondrej Lhoták,et al.  Adding trace matching with free variables to AspectJ , 2005, OOPSLA '05.

[23]  Franz Wotawa,et al.  Formal Verification of Control Software: A Case Study , 2005, IEA/AIE.

[24]  Somayeh Malakuti,et al.  Checking the Correspondence between UML Models and Implementation , 2010, RV.

[25]  Jens Krinke,et al.  Interference Analysis for AspectJ , 2003 .

[26]  Eduardo D. Sontag,et al.  Mathematical Control Theory: Deterministic Finite Dimensional Systems , 1990 .

[27]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[28]  Lujo Bauer,et al.  Composing expressive runtime security policies , 2009, TSEM.

[29]  Koushik Sen,et al.  Efficient decentralized monitoring of safety in distributed systems , 2004, Proceedings. 26th International Conference on Software Engineering.

[30]  Benjamin Livshits,et al.  Finding application errors and security flaws using PQL: a program query language , 2005, OOPSLA '05.

[31]  Paolo Arcaini,et al.  CoMA: Conformance Monitoring of Java Programs by Abstract State Machines , 2011, RV.

[32]  Somayeh Malakuti Khah Olun Abadi Event composition model: achieving naturalness in runtime enforcement , 2011 .

[33]  Koushik Sen,et al.  Rule-Based Runtime Verification , 2004, VMCAI.

[34]  Pascal Durr,et al.  Resource-based Verification for Robust Composition of Aspects , 2008 .

[35]  Lee Pike,et al.  Runtime Verification for Ultra-Critical Systems , 2011, RV.

[36]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[37]  Peter Zoeteweij,et al.  Automated Fault Diagnosis in Embedded Systems , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

[38]  Christoph Bockisch,et al.  An efficient and flexible implementation of aspect-oriented languages , 2008, Ausgezeichnete Informatikdissertationen.

[39]  Lodewijk Bergmans,et al.  Compose*: a Language- and Platform-Independent Aspect Compiler for Composition Filters , 2008 .

[40]  Eduardo D. Sontag,et al.  Mathematical control theory: deterministic finite dimensional systems (2nd ed.) , 1998 .