Monitoring and Checking Concurrent Java Programs with HDTL

HDTL을 이용한 병렬 자바 프로그램의 모니터 링과 검사

  • Cho, Seung-Mo ;
  • Kim, Hyung-Ho (Dept. of Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Cha, Sung-Deok (Dept. of Computer Science, Korea Advanced Institute of Science and Technology) ;
  • Bae, Doo-Hwan (Dept. of Computer Science, Korea Advanced Institute of Science and Technology)
  • 조승모 (한국과학기술원 첨단정보기술연구센터) ;
  • 김형호 (한국과학기술원 전산학과) ;
  • 차성덕 (한국과학기술원 전산학과) ;
  • 배두환 (한국과학기술원 전산학과)
  • Published : 2002.06.01

Abstract

There have been many researches about monitoring and checking the implementations during run-time using formal requirement specification. They usually adopt temporal logics or their extensions to specify the requirements for the implementations. However, most of the systems fail to support the specification of requirements fir dynamic systems - systems whore components are created and removed during run-time. Unlike analysis or design models, most actual implementations are dynamic, so the notion of instances should be employed in the property specification language. In this paper, we show how we can monitor and check Java programs using our temporal logic for dynamic systems (HDTL). We suggest a framework in which the execution of Java programs are monitored and chocked against given HDTL requirements.

정형 명세를 이용하여 구현된 프로그램이 수행 중에 명세를 만족시키는지 모니터링하고 검사하는 기법에 대한 연구들이 기존에 많이 수행되어 왔다. 이들은 주로 요구사항 명세언어로 시제논리 혹은 그것의 확장을 사용하게 된다. 이때 대부분의 연구는 실제 구현된 시스템이 가지는 동적인 변화를 제대로 요구사항 명세에 기술하고, 검사할 수 있는 언어를 제공하지 못하고 있다. 본 연구에서는 동적 시스템의 특성 명세언어로 기존에 제안했던 HDTL을 사용하여 동적인 자바 프로그램의 수행을 모니터링하고 검사하는 프레임웍을 제안한다.

Keywords

References

  1. A. Pnueli, 'The temporal logic of programs,' Proc. 18th IEEE Symposium on Foundation of Computer Science, 1977
  2. M. Kim, S. Kannan, I. Lee, O. Sokolsky, and M. Viswanathan, 'Java-Mar': a Run-time Assurance Tool for Java Programs,' Proc. First Workshop on Runtime Verification (RV'01), Paris, France, 23 July 2001
  3. Klaus Havelund, Grigore Rosu, 'Monitoring Java Programs with Java PathExplorer,' Proc. First Workshop on Runtime Verification(RV'01), Paris, France, 23 July 2001
  4. Dietrich, F., Logean, X.. Koppenhofer, S. & Hubaux, J. - P., 'Modelling and testing object-oriented distributed systems with linear-time temporal logic,' Technical Report SSC/1998/011, Swiss Federal Institute of Technology, Lausanne
  5. Laura K. Dillon and Y. S. Ramakrishna, 'Generating oracles from your favorite temporal logic specifications,' Proceedings of the Fourth ACM SIGSOFT Symposium on Foundations of Software Engineering, Oct. 1996 https://doi.org/10.1145/239098.239116
  6. Seung Mo Cho, Hyung Ho Kim, Sung Deok Cha and Doo Hwan Bae, 'Specification and Validation of Dynamic Systems using Temporal Logic,' IEE Proceedings-Software, Vol. 148, No 4, Aug. 2001 https://doi.org/10.1049/ip-sen:20010558
  7. M. Clavel, F. Duran, S. Eker, P. Lincoln, N. Marti-Oliet, J. Meseguer, and J. Quesada, 'Maude: Specification and Programming in Rewriting Logic,' Maude System documentation, March, 1999
  8. http://java.sun.com/j2se/1.3/docs/guide/jpda/
  9. Hsiang, J., 'Refutational Theorem Proving using Term Rewriting Systems,' PhD thesis, University of Illinois at Champaign-Urbana, 1981
  10. Cohen, S., Jtrek. Compaq, http://www.compaq.com/java/download/jtrek