11,607 research outputs found
A Model-Driven Approach for the Formal Verification of Storm-Based Streaming Applications
Data-intensive applications (DIAs) based on so-called Big Data technologies are nowadays a common solution adopted by IT companies to face their growing computational needs. The need for highly reliable applications able to handle huge amounts of data and the availability of infrastructures for distributed computing rapidly led industries to develop frameworks for streaming and big-data processing, like Apache Storm and Spark. The definition of methodologies and principles for good software design is, therefore, fundamental to support the development of DIAs. This paper presents an approach for non-functional analysis of DIAs through D-VerT, a tool for the architectural assessment of Storm applications. The verification is based on a translation of Storm topologies into the CLTLoc metric temporal logic. It allows the designer of a Storm application to check for the existence of components that cannot process their workload in a timely manner, typically due to an incorrect design of the topology
Formal verification of storm topologies through D-VerT
Data-intensive applications (DIAs) based on so-called Big Data technologies are nowadays a common solution adopted by IT companies to face their growing computational needs. The need for highly reliable applications able to handle huge amounts of data and the availability of infrastructures for distributed computing rapidly led industries to develop frame-works for streaming and big-data processing, like Apache Storm and Spark. The definition of methodologies and principles for good software design is, therefore, fundamental to support the development of DIAs. This paper presents an approach for non-functional analysis of DIAs through D- VerT, a tool for the architectural assessment of Storm applications. The verification is based on a translation of Storm topologies into the CLTLoc metric temporal logic. It allows the designer of a Storm application to check for the existence of components that cannot process their workload in a timely manner, typically due to an incorrect design of the topology
Evaluating Model Testing and Model Checking for Finding Requirements Violations in Simulink Models
Matlab/Simulink is a development and simulation language that is widely used
by the Cyber-Physical System (CPS) industry to model dynamical systems. There
are two mainstream approaches to verify CPS Simulink models: model testing that
attempts to identify failures in models by executing them for a number of
sampled test inputs, and model checking that attempts to exhaustively check the
correctness of models against some given formal properties. In this paper, we
present an industrial Simulink model benchmark, provide a categorization of
different model types in the benchmark, describe the recurring logical patterns
in the model requirements, and discuss the results of applying model checking
and model testing approaches to identify requirements violations in the
benchmarked models. Based on the results, we discuss the strengths and
weaknesses of model testing and model checking. Our results further suggest
that model checking and model testing are complementary and by combining them,
we can significantly enhance the capabilities of each of these approaches
individually. We conclude by providing guidelines as to how the two approaches
can be best applied together.Comment: 10 pages + 2 page reference
Verifying big data topologies by-design: a semi-automated approach
Big data architectures have been gaining momentum in recent years. For instance, Twitter uses stream processing frameworks like Apache Storm to analyse billions of tweets per minute and learn the trending topics. However, architectures that process big data involve many different components interconnected via semantically different connectors. Such complex architectures make possible refactoring of the applications a difficult task for software architects, as applications might be very different with respect to the initial designs. As an aid to designers and developers, we developed OSTIA (Ordinary Static Topology Inference Analysis) that allows detecting the occurrence of common anti-patterns across big data architectures and exploiting software verification techniques on the elicited architectural models. This paper illustrates OSTIA and evaluates its uses and benefits on three industrial-scale case-studies
Modeling and Verification of Agent based Adaptive Traffic Signal using Symbolic Model Verifier
This paper addresses the issue of modeling and verification of a Multi Agent
System (MAS) scenario. We have considered an agent based adaptive traffic
signal system. The system monitors the smooth flow of traffic at intersection
of two road segment. After describing how the adaptive traffic signal system
can efficiently be used and showing its advantages over traffic signals with
predetermined periods, we have shown how we can transform this scenario into
Finite State Machine (FSM). Once the system is transformed into a FSM, we have
verified the specifications specified in Computational Tree Logic(CTL) using
NuSMV as a model checking tool. Simulation results obtained from NuSMV showed
us whether the system satisfied the specifications or not. It has also showed
us the state where the system specification does not hold. Using which we
traced back our system to find the source, leading to the specification
violation. Finally, we again verified the modified system with NuSMV for its
specifications.Comment: 13 pages, 6 figures, Submitted to International Journal of Computer
Application (IJCA
SMT-based Verification of LTL Specifications with Integer Constraints and its Application to Runtime Checking of Service Substitutability
An important problem that arises during the execution of service-based
applications concerns the ability to determine whether a running service can be
substituted with one with a different interface, for example if the former is
no longer available. Standard Bounded Model Checking techniques can be used to
perform this check, but they must be able to provide answers very quickly, lest
the check hampers the operativeness of the application, instead of aiding it.
The problem becomes even more complex when conversational services are
considered, i.e., services that expose operations that have Input/Output data
dependencies among them. In this paper we introduce a formal verification
technique for an extension of Linear Temporal Logic that allows users to
include in formulae constraints on integer variables. This technique applied to
the substitutability problem for conversational services is shown to be
considerably faster and with smaller memory footprint than existing ones
- …