Basic Larva
This is your most basic hammer... if you have a standard nail for standard wood, this is the hammer to choose!
|
LARVA is a runtime verification platform for runtime verification of critical systems.
A language was specifically designed to allow a user to specify
the security properties of a JAVA software system. Once these are
specified in a text file, the compiler generates the necessary code in
JAVA and AspectJ which verifies that the properties in the script
are being adhered to during the execution of the system. The
advantage of taking this approach is that the monitoring is done
without changing any code in the system being monitored.
|
larvaBIG/asyncLarva
This is a sturdy hammer... if you have big nails or hard wood, this is the hammer to choose!
|
Larva monitoring relies heavily on main memory. For large systems Larva is a non-starter.
For industrial systems we have larvaBIG which extracts system events using aspect-oriented programming as in Larva but stores monitors in database tables. Its sister tool is asyncLarva which interfaces with a log database to obtain system events rather than aspect-oriented programming. AsyncLarva is thus particularly useful for non-intrusive monitoring.
|
LarvaSTAT
This is a hammer whose handle intended for your comfort... for nailing a lot of nails, this is the hammer to choose!
|
LarvaStat is an extension to the LARVA runtime verification tool and logic with statistical capabilities. The logic is concise and intuitive, yet sufficiently expressive to express a wide variety of statistics including those with real-time aspects. Examples of typical statistics which one can gather with LarvaSTAT are "How many logins occurred in the last 24 hours", "How many downloads took place from login till logout", "How many mouse clicks take place on average during the first minute of visiting a webpage". |
ELarva
This is also a basic hammer... but it simply has a different style!
|
The Larva monitoring tool has been successfully applied to a number of industrial Java systems, providing extra assurance of behaviour correctness. Given the increased interest in concurrent programming, we propose Elarva, an adaptation of Larva for monitoring programs written in Erlang, an established industry-strength concurrent language. Object-oriented Larva constructs have been translated to process-oriented setting, and the synchronous Larva monitoring semantics was altered to an asynchronous interpretation. |
cLarva
This is a sturdy hammer which allows you not only to hammer nails but also to pull them out... if you have some tough work ahead, this is the hammer to choose!
|
cLarva is a monitoring architecture which monitors systems asynchronously but allows a degree of synchrony. In cLarva, control is continually under the jurisdiction of the system - never of the monitor. Thus the system does not wait for the monitor verdict on each step and by the time a problem is detected it is usually to late to take corrective actions. However, the system exposes two
interfaces to the monitor: (i) an interface for the monitor to communicate the fact that
a problem has been detected and the system should stop; and (ii) an interface for the
monitor to indicate which actions should be compensated, i.e. undone. Using compensations, the system can be reversed to the point when the monitor-detected problem occurred. |
|
|