SMEDL: Combining Synchronous and Asynchronous Monitoring
read more
Citations
Tools and Algorithms for the Construction and Analysis of Systems. Proc. TACAS 2009
Runtime Verification for Decentralised and Distributed Systems
A Survey of Runtime Monitoring Instrumentation Techniques
A Survey of Runtime Monitoring Instrumentation Techniques.
A theory of monitors
References
Aspect-oriented programming
Tools and Algorithms for the Construction and Analysis of Systems. Proc. TACAS 2009
A Brief Account of Runtime Verification
An overview of the MOP runtime verification framework
Java-MaC: A Run-Time Assurance Approach for Java Programs
Related Papers (5)
Frequently Asked Questions (16)
Q2. What are the future works in "Smedl: combining synchronous and asynchronous monitoring" ?
In their tool, extension to synchronous monitoring over a network would be a simple extension to consider in the future. Potentially, deployments could be mixed, however implementation of the monitor becomes substantially more complicated. The most surprising lesson from the case study, for us, was that the overhead of sending an event to a separate monitor can be larger than checking the event synchronously within the same monitor.
Q3. What is the overhead of a synchronous monitoring system?
There are three sources of overhead for synchronous monitoring: instantiation of monitors, checking of observations, and communication.
Q4. What is the overhead of asynchronous checking?
Increasing the size of the map tends to reduce overhead, since robots tend to move straight over longer distances on a larger map, without generating observations.
Q5. What is a generic framework for properties specification and the checking of the properties at runtime?
MOP (Monitoring Oriented Programming) [6] is a generic framework for properties specification and the checking of the properties at runtime.
Q6. What is the purpose of synchronous monitoring?
Synchronous monitoring will block the execution of the system being monitored until validity of an observation is confirmed, ensuring that potentially hazardous behavior is not propagated to the system environment.
Q7. What is the way to monitor the properties of a distributed system?
the proposed tool, DIANA, only supports the asynchronous monitoring for distributed program with a fixed architecture. [12] presents a method for monitoring multi-threaded componentbased systems described in BIP but it is not suitable for distributed systems. [13] proposes a primitive condition rule-based system RuleR which supports the hierarchy architecture of monitors but asynchronous monitoring is not supported.
Q8. What is the architecture description language used for asynchronous communication between monitors?
To support the asynchronous communication between monitors, the authors use the publish-subscribe mechanism of the RabbitMQ middleware [16].
Q9. what is the function that is used to check the direction of the robot?
If the helper function check retrieved returns true, the exported event retrieved will be raised carrying the number of moves that the robot has taken to retrieve this target.
Q10. What is the architecture description language for integrating monitor instances and target program?
The monitor generator generates the code for a single monitor object, while the configurator is responsible for integrating monitor instances and target program, based on the SMEDL architecture specification.
Q11. What is the definition of a monitoring object?
Each monitoring object is converted to executable code by the SMEDL code generator and can be instantiated multiple times with different parameters, either statically during the target system startup or dynamically at run time, in response to system events such as the creation of a new thread in the target system.
Q12. What is the disadvantage of synchronous monitoring?
synchronous monitoring incurs high execution overhead for the target system, and less critical properties may not require such strict guarantees.
Q13. What is the definition of a monitoring system?
A SMEDL monitoring system can be divided as four parts: target system, monitoring specification, SMEDL code generator and runtime checkers, as illustrated in Fig.
Q14. What is the overhead of asynchronous monitoring?
Communication overhead is incurred only when asynchronousmonitors are present and events need to be sent to the asynchronous monitors via the middleware.
Q15. What is the language used for defining connection patterns between monitor instances?
Apart from the source and target monitoring objects and events, connection patterns also specify matching rules between source and target monitor instances according to instance parameters or attributes of the event. [15] gives a detailed description of the language.
Q16. What is the surprising lesson from the case study?
The most surprising lesson from the case study, for us, was that the overhead of sending an event to a separate monitor can be larger than checking the event synchronously within the same monitor.