Results 1 - 10
of
80
Processing flows of information: from data stream to complex event processing
- ACM COMPUTING SURVEYS
, 2011
"... A large number of distributed applications requires continuous and timely processing of information as it flows from the periphery to the center of the system. Examples include intrusion detection systems which analyze network traffic in real-time to identify possible attacks; environmental monitori ..."
Abstract
-
Cited by 67 (11 self)
- Add to MetaCart
A large number of distributed applications requires continuous and timely processing of information as it flows from the periphery to the center of the system. Examples include intrusion detection systems which analyze network traffic in real-time to identify possible attacks; environmental monitoring applications which process raw data coming from sensor networks to identify critical situations; or applications performing online analysis of stock prices to identify trends and forecast future values. Traditional DBMSs, which need to store and index data before processing it, can hardly fulfill the requirements of timeliness coming from such domains. Accordingly, during the last decade, different research communities developed a number of tools, which we collectively call Information flow processing (IFP) systems, to support these scenarios. They differ in their system architecture, data model, rule model, and rule language. In this article, we survey these systems to help researchers, who often come from different backgrounds, in understanding how the various approaches they adopt may complement each other. In particular, we propose a general, unifying model to capture the different aspects of an IFP system and use it to provide a complete and precise classification of the systems and mechanisms proposed so far.
Self-adaptive software needs quantitative verification at runtime
- Communications of the ACM
"... Software is surreptitiously becoming the backbone of modern society. Most human activities are either software enabled or entirely managed by software. Examples range from healthcare and transportation to commerce and manufacturing. In all these applications, one requirement is becoming common: soft ..."
Abstract
-
Cited by 34 (14 self)
- Add to MetaCart
(Show Context)
Software is surreptitiously becoming the backbone of modern society. Most human activities are either software enabled or entirely managed by software. Examples range from healthcare and transportation to commerce and manufacturing. In all these applications, one requirement is becoming common: software must adapt continuously, to respond to changes in application
Representation-Independent Data Usage Control
"... Abstract. Usage control is concerned with what happens to data af-ter access has been granted. In the literature, usage control models have been defined on the grounds of events that, somehow, are related to data. In order to better cater to the dimension of data, we extend a usage con-trol model by ..."
Abstract
-
Cited by 21 (12 self)
- Add to MetaCart
(Show Context)
Abstract. Usage control is concerned with what happens to data af-ter access has been granted. In the literature, usage control models have been defined on the grounds of events that, somehow, are related to data. In order to better cater to the dimension of data, we extend a usage con-trol model by the explicit distinction between data and representation of data. A data flow model is used to track the flow of data in-between different representations. The usage control model is then extended so that usage control policies can address not just one single representation (e.g., delete file1.txt after thirty days) but rather all representations of the data (e.g., if file1.txt is a copy of file2.txt, also delete file2.txt). We present three proof-of-concept implementations of the model, at the op-erating system level, at the browser level, and at the X11 level, and also provide an ad-hoc implementation for multi-layer enforcement. 1
Quantified Event Automata: Towards Expressive and Efficient Runtime Monitors
"... Abstract. Runtime verification is the process of checking a property on a trace of events produced by the execution of a computational system. Runtime verification techniques have recently focused on parametric specifications where events take data values as parameters. These techniques exist on a s ..."
Abstract
-
Cited by 21 (13 self)
- Add to MetaCart
Abstract. Runtime verification is the process of checking a property on a trace of events produced by the execution of a computational system. Runtime verification techniques have recently focused on parametric specifications where events take data values as parameters. These techniques exist on a spectrum inhabited by both efficient and expressive techniques. These characteristics are usually shown to be conflicting- in state-of-the-art solutions, efficiency is obtained at the cost of loss of expressiveness and vice-versa. To seek a solution to this conflict we explore a new point on the spectrum by defining an alternative runtime verification approach. We introduce a new formalism for concisely capturing expressive specifications with parameters. Our technique is more expressive than the currently most efficient techniques while at the same time allowing for optimizations. 1
Runtime Verification of Safety-Progress Properties
, 2009
"... The underlying property, its definition and representation play a major role when monitoring a system. Having a suitable and con-venient framework to express properties is thus a concern for runtime analysis. It is desirable to delineate in this framework the spaces of pro-perties for which runtime ..."
Abstract
-
Cited by 19 (7 self)
- Add to MetaCart
The underlying property, its definition and representation play a major role when monitoring a system. Having a suitable and con-venient framework to express properties is thus a concern for runtime analysis. It is desirable to delineate in this framework the spaces of pro-perties for which runtime verification approaches can be applied to. This paper presents a unified view of runtime verification and enforce-ment of properties in the safety-progress classification. Firstly, we char-acterize the set of properties which can be verified (monitorable proper-ties) and enforced (enforceable properties) at runtime. We propose in particular an alternative definition of “property monitoring” to the one classically used in this context. Secondly, for the delineated spaces of properties, we obtain specialized verification and enforcement monitors.
What can you verify and enforce at runtime?
- INT J SOFTW TOOLS TECHNOL TRANSFER
, 2011
"... The underlying property, its definition, and representation play a major role when monitoring a system. Having a suitable and convenient framework to express properties is thus a concern for runtime analysis. It is desirable to delineate in this framework the sets of properties for which runtime ana ..."
Abstract
-
Cited by 12 (2 self)
- Add to MetaCart
The underlying property, its definition, and representation play a major role when monitoring a system. Having a suitable and convenient framework to express properties is thus a concern for runtime analysis. It is desirable to delineate in this framework the sets of properties for which runtime analysis approaches can be applied to. This paper presents a unified view of runtime verification and enforcement of properties in the Safety-Progress classification. First, we extend the Safety-Progress classification of properties in a runtime context. Second, we characterize the set of properties which can be verified (monitorable properties) and enforced (enforceable properties) at runtime. We propose in particular an alternative definition of “property monitoring” to the one classically used in this context. Finally, for the delineated sets of properties, we define specialized verification and enforcement monitors.
CoMA: Conformance Monitoring of Java programs by Abstract State Machines
"... State Machines), a specification-based approach and its supporting tool for runtime monitoring of Java software. Based on the information obtained from code execution and model simulation, the conformance of the concrete implementation is checked with respect to its formal specification given in ter ..."
Abstract
-
Cited by 10 (8 self)
- Add to MetaCart
(Show Context)
State Machines), a specification-based approach and its supporting tool for runtime monitoring of Java software. Based on the information obtained from code execution and model simulation, the conformance of the concrete implementation is checked with respect to its formal specification given in terms of Abstract State Machines. At runtime, undesirable behaviors of the implementation, as well as incorrect specifications of the system behavior are recognized. The technique we propose makes use of Java annotations, which link the concrete implementation to its formal model, without enriching the code with behavioral information contained only in the abstract specification. The approach fosters the separation between implementation and specification, and allows the reuse of specifications for other purposes (formal verification, simulation, model-based testing, etc.). 1
You should Better Enforce than Verify
"... Abstract. This tutorial deals with runtime enforcement which is an extension of runtime verification aiming to circumvent misbehaviors of systems. After an historical overview of previous approaches, we present our approach to property enforcement and future challenges. Runtime verification is a wel ..."
Abstract
-
Cited by 10 (4 self)
- Add to MetaCart
(Show Context)
Abstract. This tutorial deals with runtime enforcement which is an extension of runtime verification aiming to circumvent misbehaviors of systems. After an historical overview of previous approaches, we present our approach to property enforcement and future challenges. Runtime verification is a well established technique which consists in using a monitor to supervise at runtime, the execution of an underlying program against a set of expected properties. A monitor is a state machine (with an output function) processing (step by step) an execution sequence of the monitored program, and producing a sequence of verdicts (truth values of a truth-domain) indicating fulfillment or violation of a property. Whilst the detection might sometimes be a sufficient assurance for some systems, the occurrence (resp. non-occurrence) of property violations (resp. validations) might be unacceptable for others. Runtime enforcement [1–4] of the desired property is a possible solution to ensure expected behaviors and avoid misbehaviors. Within this technique the monitor not only observes the current program execution, but it also modifies
N.: Asynchronous Distributed Monitoring for Multiparty Session Enforcement
- In: TGC’11, LNCS
, 2012
"... Abstract. We propose a formal model of runtime safety enforcement for large-scale, cross-language distributed applications with possibly untrusted endpoints. The underlying theory is based on multiparty session types with logical assertions (MPSA), an expressive protocol specification language that ..."
Abstract
-
Cited by 7 (3 self)
- Add to MetaCart
(Show Context)
Abstract. We propose a formal model of runtime safety enforcement for large-scale, cross-language distributed applications with possibly untrusted endpoints. The underlying theory is based on multiparty session types with logical assertions (MPSA), an expressive protocol specification language that supports runtime val-idation through monitoring. Our method starts from global specifications based on MPSAs which the participants should obey. Distributed monitors use local specifications, projected from global specifications, to detect whether the interac-tions are well-behaved, and take appropriate actions, such as suppressing illegal messages. We illustrate the design of our model with examples from real-world distributed applications. We prove monitor transparency, communication confor-mance, and global session fidelity in the presence of possibly unsafe endpoints. 1