Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Tools

Runtime Monitoring & Software Verification


August, 2004: Runtime Monitoring & Software Verification

Formal Specifications

Temporal logic is a prominent formal specification language for reactive systems. Linear time Temporal Logic (LTL) is the variant temporal logic most suitable for runtime monitoring. The syntax of LTL adds eight operators to the AND, OR, XOR, and NOT of propositional logic. Four of the operators deal with the future—Always in the Future, Sometime in the Future, Until, and Next Cycle. Four more address the past—Always in the Past, Sometime in the Past, Since, and Previous Cycle.

Metric Temporal Logic (MTL) enhances LTL's capability. With it, you can define upper and lower time constraints and time ranges for all LTL temporal operators. By imposing relative- and real-time constraints on LTL statements, MTL lets you use LTL to verify real-time systems.

An example showing a relative-time upper bound in MTL is: Always<10(readySignal Implies Next ackSignal), which says: Always, within the next 10 cycles, readySignal equals 1 implies that one cycle later ackSignal equals 1. readySignal and ackSignal are propositional logic expressions, and a cycle is an LTL time unit, which is a user-controlled quantity. For example, the infusion pump in Listing One was designed to operate and evaluate assertions at a rate of 1 Hz. The time constraint is relative in that it is counted in clock cycles.

Another example is Alwaystimer1[5,10](readySignal Implies Eventuallytimer2>= 20 ackSignal), which reads: Always, between 5 and 10 timer1 real-time units in the future, readySignal equals 1 implies that eventually, at least 20 timer2 real-time units further in the future, ackSignal equals 1. Here, two real-time constraints are specified by timer1 and timer2. A separate statement maps these timers to system calls, system clocks, or other counting devices.

Some code generators further extend LTL by adding counting operators (see "The Temporal Rover and the ATG Rover," by D. Drusinsky, Proceedings of the Spin2000 Workshop, Springer Verlag Lecture Notes in Computer Science). Another important extension is the support for asserting about time-series related properties, such as stability and monotonicity, as in an automotive cruise control system when required to sustain 98 percent speed stability while cruising.

—D.D.


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.