27,314 research outputs found
Probabilistic Model Checking for Energy Analysis in Software Product Lines
In a software product line (SPL), a collection of software products is
defined by their commonalities in terms of features rather than explicitly
specifying all products one-by-one. Several verification techniques were
adapted to establish temporal properties of SPLs. Symbolic and family-based
model checking have been proven to be successful for tackling the combinatorial
blow-up arising when reasoning about several feature combinations. However,
most formal verification approaches for SPLs presented in the literature focus
on the static SPLs, where the features of a product are fixed and cannot be
changed during runtime. This is in contrast to dynamic SPLs, allowing to adapt
feature combinations of a product dynamically after deployment. The main
contribution of the paper is a compositional modeling framework for dynamic
SPLs, which supports probabilistic and nondeterministic choices and allows for
quantitative analysis. We specify the feature changes during runtime within an
automata-based coordination component, enabling to reason over strategies how
to trigger dynamic feature changes for optimizing various quantitative
objectives, e.g., energy or monetary costs and reliability. For our framework
there is a natural and conceptually simple translation into the input language
of the prominent probabilistic model checker PRISM. This facilitates the
application of PRISM's powerful symbolic engine to the operational behavior of
dynamic SPLs and their family-based analysis against various quantitative
queries. We demonstrate feasibility of our approach by a case study issuing an
energy-aware bonding network device.Comment: 14 pages, 11 figure
SPEEDY: An Eclipse-based IDE for invariant inference
SPEEDY is an Eclipse-based IDE for exploring techniques that assist users in
generating correct specifications, particularly including invariant inference
algorithms and tools. It integrates with several back-end tools that propose
invariants and will incorporate published algorithms for inferring object and
loop invariants. Though the architecture is language-neutral, current SPEEDY
targets C programs. Building and using SPEEDY has confirmed earlier experience
demonstrating the importance of showing and editing specifications in the IDEs
that developers customarily use, automating as much of the production and
checking of specifications as possible, and showing counterexample information
directly in the source code editing environment. As in previous work,
automation of specification checking is provided by back-end SMT solvers.
However, reducing the effort demanded of software developers using formal
methods also requires a GUI design that guides users in writing, reviewing, and
correcting specifications and automates specification inference.Comment: In Proceedings F-IDE 2014, arXiv:1404.578
A Low-Overhead Script Language for Tiny Networked Embedded Systems
With sensor networks starting to get mainstream acceptance, programmability is of increasing importance.
Customers and field engineers will need to reprogram existing deployments and software developers
will need to test and debug software in network testbeds. Script languages, which are a popular
mechanism for reprogramming in general-purpose computing, have not been considered for wireless sensor
networks because of the perceived overhead of interpreting a script language on tiny sensor nodes.
In this paper we show that a structured script language is both feasible and efficient for programming
tiny sensor nodes. We present a structured script language, SCript, and develop an interpreter for the
language. To reduce program distribution energy the SCript interpreter stores a tokenized representation
of the scripts which is distributed through the wireless network. The ROM and RAM footprint of the
interpreter is similar to that of existing virtual machines for sensor networks. We show that the interpretation
overhead of our language is on par with that of existing virtual machines. Thus script languages,
previously considered as too expensive for tiny sensor nodes, are a viable alternative to virtual machines
- …