112,545 research outputs found
A framework for the simulation of structural software evolution
This is the author's accepted manuscript. The final published article is available from the link below. Copyright @ 2008 ACM.As functionality is added to an aging piece of software, its original design and structure will tend to erode. This can lead to high coupling, low cohesion and other undesirable effects associated with spaghetti architectures. The underlying forces that cause such degradation have been the subject of much research. However, progress in this field is slow, as its complexity makes it difficult to isolate the causal flows leading to these effects. This is further complicated by the difficulty of generating enough empirical data, in sufficient quantity, and attributing such data to specific points in the causal chain. This article describes a framework for simulating the structural evolution of software. A complete simulation model is built by incrementally adding modules to the framework, each of which contributes an individual evolutionary effect. These effects are then combined to form a multifaceted simulation that evolves a fictitious code base in a manner approximating real-world behavior. We describe the underlying principles and structures of our framework from a theoretical and user perspective; a validation of a simple set of evolutionary parameters is then provided and three empirical software studies generated from open-source software (OSS) are used to support claims and generated results. The research illustrates how simulation can be used to investigate a complex and under-researched area of the development cycle. It also shows the value of incorporating certain human traits into a simulation—factors that, in real-world system development, can significantly influence evolutionary structures
Collaborative Reuse of Streaming Dataflows in IoT Applications
Distributed Stream Processing Systems (DSPS) like Apache Storm and Spark
Streaming enable composition of continuous dataflows that execute persistently
over data streams. They are used by Internet of Things (IoT) applications to
analyze sensor data from Smart City cyber-infrastructure, and make active
utility management decisions. As the ecosystem of such IoT applications that
leverage shared urban sensor streams continue to grow, applications will
perform duplicate pre-processing and analytics tasks. This offers the
opportunity to collaboratively reuse the outputs of overlapping dataflows,
thereby improving the resource efficiency. In this paper, we propose
\emph{dataflow reuse algorithms} that given a submitted dataflow, identifies
the intersection of reusable tasks and streams from a collection of running
dataflows to form a \emph{merged dataflow}. Similar algorithms to unmerge
dataflows when they are removed are also proposed. We implement these
algorithms for the popular Apache Storm DSPS, and validate their performance
and resource savings for 35 synthetic dataflows based on public OPMW workflows
with diverse arrival and departure distributions, and on 21 real IoT dataflows
from RIoTBench.Comment: To appear in IEEE eScience Conference 201
Optimization of multi-gigabit transceivers for high speed data communication links in HEP Experiments
The scheme of the data acquisition (DAQ) architecture in High Energy Physics
(HEP) experiments consist of data transport from the front-end electronics
(FEE) of the online detectors to the readout units (RU), which perform online
processing of the data, and then to the data storage for offline analysis. With
major upgrades of the Large Hadron Collider (LHC) experiments at CERN, the data
transmission rates in the DAQ systems are expected to reach a few TB/sec within
the next few years. These high rates are normally associated with the increase
in the high-frequency losses, which lead to distortion in the detected signal
and degradation of signal integrity. To address this, we have developed an
optimization technique of the multi-gigabit transceiver (MGT) and implemented
it on the state-of-the-art 20nm Arria-10 FPGA manufactured by Intel Inc. The
setup has been validated for three available high-speed data transmission
protocols, namely, GBT, TTC-PON and 10 Gbps Ethernet. The improvement in the
signal integrity is gauged by two metrics, the Bit Error Rate (BER) and the Eye
Diagram. It is observed that the technique improves the signal integrity and
reduces BER. The test results and the improvements in the metrics of signal
integrity for different link speeds are presented and discussed
Analytic Continuation of Quantum Monte Carlo Data by Stochastic Analytical Inference
We present an algorithm for the analytic continuation of imaginary-time
quantum Monte Carlo data which is strictly based on principles of Bayesian
statistical inference. Within this framework we are able to obtain an explicit
expression for the calculation of a weighted average over possible energy
spectra, which can be evaluated by standard Monte Carlo simulations, yielding
as by-product also the distribution function as function of the regularization
parameter. Our algorithm thus avoids the usual ad-hoc assumptions introduced in
similar algortihms to fix the regularization parameter. We apply the algorithm
to imaginary-time quantum Monte Carlo data and compare the resulting energy
spectra with those from a standard maximum entropy calculation
Designing and Deploying Online Field Experiments
Online experiments are widely used to compare specific design alternatives,
but they can also be used to produce generalizable knowledge and inform
strategic decision making. Doing so often requires sophisticated experimental
designs, iterative refinement, and careful logging and analysis. Few tools
exist that support these needs. We thus introduce a language for online field
experiments called PlanOut. PlanOut separates experimental design from
application code, allowing the experimenter to concisely describe experimental
designs, whether common "A/B tests" and factorial designs, or more complex
designs involving conditional logic or multiple experimental units. These
latter designs are often useful for understanding causal mechanisms involved in
user behaviors. We demonstrate how experiments from the literature can be
implemented in PlanOut, and describe two large field experiments conducted on
Facebook with PlanOut. For common scenarios in which experiments are run
iteratively and in parallel, we introduce a namespaced management system that
encourages sound experimental practice.Comment: Proceedings of the 23rd international conference on World wide web,
283-29
- …