Abstract
As the complexity of systems grows, the correctness of systems becomes harder to achieve. This difficulty promotes a run-time monitoring technique as a promising complementary methodology for higher system assurance. To formalize and understand the computational nature of run-time monitoring is a key to utilize this valuable technique. In this paper, we formalize the notion of run-time monitoring of reactive systems in terms of ω-languages and show that the language of Monitoring and Checking (MaC) architecture, called MEDL, is expressive enough for the run-time monitoring.
First, we provide a descriptive theory for the class of monitorable languages and show that this class of languages coincides with the class Π0 1 of the Arithmetic hierarchy. Second, we introduce a class of automata with storage that can be used to describe the class of monitorable languages using connections to the Arithmetic hierarchy. Finally, we show that MEDL can express the class of monitorable languages via the correspondence between MEDL and the automata with storage.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Schneider, F.B.: Enforceable security policies. Technical Report TR98-1664, Cornell University (1998)
Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21(4), 181–185 (1985)
Staiger, L.: Hierarchies of recursive ω-languages. Journal of Information Processing and Cybernetics EIK 22, 219–241 (1986)
Thomas, W.: Automata on infinite objects. In: Van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, pp. 133–191. Elsevier, Amsterdam (1990)
Staiger, L.: ω-languages. In: Rozenberg, G., Salomaa, A. (eds.) Handbook of Formal Languages, vol. 3, pp. 339–387. Springer, Berlin (1997)
Viswanathan, M.: Foundations for the Run-time Analysis of Software Systems. PhD thesis, Department of Computer and Information Science, University of Pennsylvania (2000)
Engelfriet, J., Hoogeboom, H.J.: X-automata on ω-words. Theoretical Computer Science 110, 1–51 (1993); Earlier version in Proceedings of the International Colloquium on Automata, Languages and Programming, pp. 289–303 (1989)
Landweber, L.H.: Decision problems for ω-automata. Mathematical Systems Theory 3, 376–384 (1969)
Kim, M., Viswanathan, M., Kannan, S., Lee, I., Sokolsky, O.: Java-mac: A run-time assurance approach for java programs. Formal Methods in System Design (2004)
Kim, M.: Information Extraction for Run-time Formal Analysis. PhD thesis, Department of Computer and Information Science, University of Pennsylvania (2001)
Bhargavan, K., Gunter, C., Kim, M., Lee, I., Obradovic, D., Sokolsky, O., Viswanathan, M.: Verisim: Formal analysis of network simulations. IEEE Transaction on Software Engineering (2002)
Kim, M., Lee, I., Sammapun, U., Shin, J., Sokolsky, O.: Monitoring, checking, and steering of real-time systems. In: Runtime Verification, Copenhagen Denmark (2002)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, New York (1992)
Jeffery, C., Zhou, W., Templer, K., Brazell, M.: A lightweight architecture for program execution monitoring. In: ACM Workshop on Program Analysis for Software Tools and Engineering (1998)
Templer, K.S., Jeffery, C.: A configurable automatic instrumentation tool for ansi c. In: Proceedings of the International Conference on Automated Software Engineering (1998)
Mok, A.K., Liu, G.: Early detection of timing constraint violation at run-time. In: Proceedings of the IEEE Real-Time Systems Symposium (1997)
Havelund, K., Rosu, G.: Monitoring Java Programs with JavaPathExplorer. In: Proceedings of the Workshop on Runtime Verification. Electronic Notes in Theoretical Computer Science, vol. 55. Elsevier Publishing, Amsterdam (2001)
Sen, K., Rosu, G., Agha, G.: Runtime Safety Analysis of Multithreaded Programs. In: Proceedings of the International Conference on Automated Software Engineering (2003)
Sen, A., Garg, V.K.: Partial Order Trace Analyzer (POTA) for Distributed Systems. In: Proceedings of the Workshop on Runtime Verification. Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam (2003)
Hamlen, K.W., Morrisett, G., Schneider, F.B.: Computability classes for enforcement mechanisms. ACM Transactions on Programming Languages and Systems (2004) (to appear), Available from http://www.cs.cornell.edu/fbs/publications/EnfClasses.pdf
Sammapun, U., Easwaran, A., Lee, I., Sokolsky, O.: Simulation of simultaneous events in regular expressions for run-time verification. In: Runtime Verification, Barcelona, Spain (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Viswanathan, M., Kim, M. (2005). Foundations for the Run-Time Monitoring of Reactive Systems – Fundamentals of the MaC Language . In: Liu, Z., Araki, K. (eds) Theoretical Aspects of Computing - ICTAC 2004. ICTAC 2004. Lecture Notes in Computer Science, vol 3407. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-31862-0_38
Download citation
DOI: https://doi.org/10.1007/978-3-540-31862-0_38
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-25304-4
Online ISBN: 978-3-540-31862-0
eBook Packages: Computer ScienceComputer Science (R0)