The LIME Interface Specification Language and Runtime Monitoring Tool

  • Authors:
  • Kari Kähkönen;Jani Lampinen;Keijo Heljanko;Ilkka Niemelä

  • Affiliations:
  • Department of Information and Computer Science, Helsinki University of Technology TKK, TKK, Finland 02015;Department of Information and Computer Science, Helsinki University of Technology TKK, TKK, Finland 02015;Department of Information and Computer Science, Helsinki University of Technology TKK, TKK, Finland 02015;Department of Information and Computer Science, Helsinki University of Technology TKK, TKK, Finland 02015

  • Venue:
  • Runtime Verification
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes an interface specification language designed in the LIME project (LIME ISL) and the supporting runtime monitoring tool. The interface specification language is tailored for the Java programming language and supports two kinds of specifications: (i) call specifications that specify requirements for the allowed call sequences to a Java object instance and (ii) return specifications that specify the allowed behaviors of the Java object instance. Both the call and return specifications can be expressed with Java annotations in several different ways: as past time LTL formulas, as (safety) future LTL formulas, as regular expressions, and as nondeterministic finite automata. We also describe the supporting LIME interface monitoring tool which is an open source implementation of runtime monitoring for the interface specifications implemented using AspectJ.