352,208 research outputs found
Unifying Requirements and Code: an Example
Requirements and code, in conventional software engineering wisdom, belong to
entirely different worlds. Is it possible to unify these two worlds? A unified
framework could help make software easier to change and reuse. To explore the
feasibility of such an approach, the case study reported here takes a classic
example from the requirements engineering literature and describes it using a
programming language framework to express both domain and machine properties.
The paper describes the solution, discusses its benefits and limitations, and
assesses its scalability.Comment: 13 pages; 7 figures; to appear in Ershov Informatics Conference, PSI,
Kazan, Russia (LNCS), 201
Abstract Data Types in Event-B - An Application of Generic Instantiation
Integrating formal methods into industrial practice is a challenging task.
Often, different kinds of expertise are required within the same development.
On the one hand, there are domain engineers who have specific knowledge of the
system under development. On the other hand, there are formal methods experts
who have experience in rigorously specifying and reasoning about formal
systems. Coordination between these groups is important for taking advantage of
their expertise. In this paper, we describe our approach of using generic
instantiation to facilitate this coordination. In particular, generic
instantiation enables a separation of concerns between the different parties
involved in developing formal systems.Comment: In Proceedings of DS-Event-B 2012: Workshop on the experience of and
advances in developing dependable systems in Event-B, in conjunction with
ICFEM 2012 - Kyoto, Japan, November 13, 201
Gaming security by obscurity
Shannon sought security against the attacker with unlimited computational
powers: *if an information source conveys some information, then Shannon's
attacker will surely extract that information*. Diffie and Hellman refined
Shannon's attacker model by taking into account the fact that the real
attackers are computationally limited. This idea became one of the greatest new
paradigms in computer science, and led to modern cryptography.
Shannon also sought security against the attacker with unlimited logical and
observational powers, expressed through the maxim that "the enemy knows the
system". This view is still endorsed in cryptography. The popular formulation,
going back to Kerckhoffs, is that "there is no security by obscurity", meaning
that the algorithms cannot be kept obscured from the attacker, and that
security should only rely upon the secret keys. In fact, modern cryptography
goes even further than Shannon or Kerckhoffs in tacitly assuming that *if there
is an algorithm that can break the system, then the attacker will surely find
that algorithm*. The attacker is not viewed as an omnipotent computer any more,
but he is still construed as an omnipotent programmer.
So the Diffie-Hellman step from unlimited to limited computational powers has
not been extended into a step from unlimited to limited logical or programming
powers. Is the assumption that all feasible algorithms will eventually be
discovered and implemented really different from the assumption that everything
that is computable will eventually be computed? The present paper explores some
ways to refine the current models of the attacker, and of the defender, by
taking into account their limited logical and programming powers. If the
adaptive attacker actively queries the system to seek out its vulnerabilities,
can the system gain some security by actively learning attacker's methods, and
adapting to them?Comment: 15 pages, 9 figures, 2 tables; final version appeared in the
Proceedings of New Security Paradigms Workshop 2011 (ACM 2011); typos
correcte
Applying Formal Methods to Gossiping Networks with mCRL and Groove
In this paper we explore the practical possibilities of using formal methods to analyze gossiping networks. In particular, we use mCRL and Groove to model the peer sampling service, and analyze it through a series of model transformations to CTMCs and finally MRMs. Our tools compute the expected value of various network quality indicators, such as average path lengths, over all possible system runs. Both transient and steady state analysis are supported. We compare our results with the simulation and emulation results found in [10]
Push-Pull Block Puzzles are Hard
This paper proves that push-pull block puzzles in 3D are PSPACE-complete to
solve, and push-pull block puzzles in 2D with thin walls are NP-hard to solve,
settling an open question by Zubaran and Ritt. Push-pull block puzzles are a
type of recreational motion planning problem, similar to Sokoban, that involve
moving a `robot' on a square grid with obstacles. The obstacles
cannot be traversed by the robot, but some can be pushed and pulled by the
robot into adjacent squares. Thin walls prevent movement between two adjacent
squares. This work follows in a long line of algorithms and complexity work on
similar problems. The 2D push-pull block puzzle shows up in the video games
Pukoban as well as The Legend of Zelda: A Link to the Past, giving another
proof of hardness for the latter. This variant of block-pushing puzzles is of
particular interest because of its connections to reversibility, since any
action (e.g., push or pull) can be inverted by another valid action (e.g., pull
or push).Comment: Full version of CIAC 2017 paper. 17 page
The repton model of gel electrophoresis
We discuss the repton model of agarose gel electrophoresis of DNA. We review
previous results, both analytic and numerical, as well as presenting a new
numerical algorithm for the efficient simulation of the model, and suggesting a
new approach to the model's analytic solution.Comment: 17 pages including 6 PostScript figures, typeset with LaTeX 2e using
the Elsevier macro package elsart.cl
Desktop fiber push-out apparatus
A desktop fiber push-out was developed which offers the advantage of being compact, easy to operate, and inexpensive. A description of the design and operation of this apparatus is given
Making sense of step-by-step procedures
Procedural instructions that consist of only a sequence of steps will probably be executable, but nevertheless ¿meaningless¿ to users of technical devices. The paper discusses three features that can make procedural instructions more meaningful: adding functional coordinating information, adding information about the use of the technical device in real life, and adding operational information about how the device works. The research literature supports the effectiveness of the first feature, but offers little evidence that real life elements enhance understanding of instructions. As for operational information, the research suggests that users are willing to read it, and that it contributes to better understanding and performance in the long term, but only if it is closely related to the procedure. As a conclusion, we propose a theoretical framework that assumes three levels of mental representation of instructions: syntactical, semantic, and situationa
- …