57,311 research outputs found
Refinement by interpretation in {\pi}-institutions
The paper discusses the role of interpretations, understood as multifunctions
that preserve and reflect logical consequence, as refinement witnesses in the
general setting of pi-institutions. This leads to a smooth generalization of
the refinement-by-interpretation approach, recently introduced by the authors
in more specific contexts. As a second, yet related contribution a basis is
provided to build up a refinement calculus of structured specifications in and
across arbitrary pi-institutions.Comment: In Proceedings Refine 2011, arXiv:1106.348
HeteroGenius: A Framework for Hybrid Analysis of Heterogeneous Software Specifications
Nowadays, software artifacts are ubiquitous in our lives being an essential
part of home appliances, cars, cell phones, and even in more critical
activities like aeronautics and health sciences. In this context software
failures may produce enormous losses, either economical or, in the worst case,
in human lives. Software analysis is an area in software engineering concerned
with the application of diverse techniques in order to prove the absence of
errors in software pieces. In many cases different analysis techniques are
applied by following specific methodological combinations that ensure better
results. These interactions between tools are usually carried out at the user
level and it is not supported by the tools. In this work we present
HeteroGenius, a framework conceived to develop tools that allow users to
perform hybrid analysis of heterogeneous software specifications.
HeteroGenius was designed prioritising the possibility of adding new
specification languages and analysis tools and enabling a synergic relation of
the techniques under a graphical interface satisfying several well-known
usability enhancement criteria. As a case-study we implemented the
functionality of Dynamite on top of HeteroGenius.Comment: In Proceedings LAFM 2013, arXiv:1401.056
A Component-oriented Framework for Autonomous Agents
The design of a complex system warrants a compositional methodology, i.e.,
composing simple components to obtain a larger system that exhibits their
collective behavior in a meaningful way. We propose an automaton-based paradigm
for compositional design of such systems where an action is accompanied by one
or more preferences. At run-time, these preferences provide a natural fallback
mechanism for the component, while at design-time they can be used to reason
about the behavior of the component in an uncertain physical world. Using
structures that tell us how to compose preferences and actions, we can compose
formal representations of individual components or agents to obtain a
representation of the composed system. We extend Linear Temporal Logic with two
unary connectives that reflect the compositional structure of the actions, and
show how it can be used to diagnose undesired behavior by tracing the
falsification of a specification back to one or more culpable components
Evolving NoSQL Databases Without Downtime
NoSQL databases like Redis, Cassandra, and MongoDB are increasingly popular
because they are flexible, lightweight, and easy to work with. Applications
that use these databases will evolve over time, sometimes necessitating (or
preferring) a change to the format or organization of the data. The problem we
address in this paper is: How can we support the evolution of high-availability
applications and their NoSQL data online, without excessive delays or
interruptions, even in the presence of backward-incompatible data format
changes?
We present KVolve, an extension to the popular Redis NoSQL database, as a
solution to this problem. KVolve permits a developer to submit an upgrade
specification that defines how to transform existing data to the newest
version. This transformation is applied lazily as applications interact with
the database, thus avoiding long pause times. We demonstrate that KVolve is
expressive enough to support substantial practical updates, including format
changes to RedisFS, a Redis-backed file system, while imposing essentially no
overhead in general use and minimal pause times during updates.Comment: Update to writing/structur
- …