Model-based self-monitoring embedded programs with temporal logic specifications

We propose a model-based framework for developing self-monitoring embedded programs with temporal logic specifications. In our framework the requirement specification of an embedded program is encoded in the temporal logic MEDL. We propose an algorithm that synthesizes a model-based monitor from a MEDL script. We also introduce a technique that instruments a system model to emit events defined in the model-based primitive event definition language mPEDL. The synthesized model-based monitor may be composed with the instrumented model to form a self-monitoring model, which can be simulated for design-level verification; the composed self-monitoring model can also be used to generate a self-monitoring embedded program, which can monitor its own execution on the target platform in addition to its normal functions. Our approach combines the rigidness of temporal logic specifications with the easy use of a toolkit M2IST that we developed to automate the process of building a self-monitoring embedded program from a system model and its requirement specification.

[1]  Communism,et al.  University of Pennsylvania , 1847, Medical History.

[2]  Guangtian Liu,et al.  Efficient Run-time Monitoring Of Timing Constraints , 1997, Proceedings Third IEEE Real-Time Technology and Applications Symposium.

[3]  Insup Lee,et al.  Testing and Monitoring Model-based Generated Program , 2003, Electron. Notes Theor. Comput. Sci..

[4]  Insup Lee,et al.  Model-based testing and monitoring for hybrid embedded systems , 2004, Proceedings of the 2004 IEEE International Conference on Information Reuse and Integration, 2004. IRI 2004..

[5]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[6]  Gabor Karsai,et al.  An Approach to Self-adaptive Software Based on Supervisory Control , 2001, IWSAS.

[7]  Vijay Kumar,et al.  Hierarchical modeling and analysis of embedded systems , 2003, Proc. IEEE.

[8]  Mahesh Viswanathan,et al.  Java-MaC: a Run-time Assurance Tool for Java Programs , 2001, RV@CAV.

[9]  Zohar Manna,et al.  From Timed to Hybrid Systems , 1991, REX Workshop.

[10]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[11]  Mahesh Viswanathan,et al.  Runtime Assurance Based On Formal Specifications , 1999, PDPTA.

[12]  John C. Knight,et al.  Dependability through Assured Reconfiguration in Embedded System Software , 2006, IEEE Transactions on Dependable and Secure Computing.

[13]  Grigore Rosu,et al.  Monitoring Java Programs with Java PathExplorer , 2001, RV@CAV.

[14]  Thomas A. Henzinger,et al.  The Algorithmic Analysis of Hybrid Systems , 1995, Theor. Comput. Sci..

[15]  Thomas A. Henzinger,et al.  HYTECH: a model checker for hybrid systems , 1997, International Journal on Software Tools for Technology Transfer.

[16]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[17]  Peyman Oreizy,et al.  An architecture-based approach to self-adaptive software , 1999, IEEE Intell. Syst..

[18]  Anuradha M. Annaswamy,et al.  Stable Adaptive Systems , 1989 .