98,436 research outputs found
Abstractions and sensor design in partial-information, reactive controller synthesis
Automated synthesis of reactive control protocols from temporal logic
specifications has recently attracted considerable attention in various
applications in, for example, robotic motion planning, network management, and
hardware design. An implicit and often unrealistic assumption in this past work
is the availability of complete and precise sensing information during the
execution of the controllers. In this paper, we use an abstraction procedure
for systems with partial observation and propose a formalism to investigate
effects of limitations in sensing. The abstraction procedure enables the
existing synthesis methods with partial observation to be applicable and
efficient for systems with infinite (or finite but large number of) states.
This formalism enables us to systematically discover sensing modalities
necessary in order to render the underlying synthesis problems feasible. We use
counterexamples, which witness unrealizability potentially due to the
limitations in sensing and the coarseness in the abstract system, and
interpolation-based techniques to refine the model and the sensing modalities,
i.e., to identify new sensors to be included, in such synthesis problems. We
demonstrate the method on examples from robotic motion planning.Comment: 9 pages, 4 figures, Accepted at American Control Conference 201
Theoretical studies of a hydrogen abstraction tool for nanotechnology
In the design of a nanoscale, site-specific hydrogen abstraction tool, the authors suggest the use of an alkynyl radical tip. Using ab initio quantum-chemistry techniques including electron correlation they model the abstraction of hydrogen from dihydrogen, methane, acetylene, benzene and isobutane by the acetylene radical. By conservative estimates, the abstraction barrier is small (less than 7.7 kcal mol^-1) in all cases except for acetylene and zero in the case of isobutane. Thermal vibrations at room temperature should be sufficient to supply the small activation energy. Several methods of creating the radical in a controlled vacuum setting should be feasible. The authors show how nanofabrication processes can be accurately and inexpensively designed in a computational framework
Synthesizing Functional Reactive Programs
Functional Reactive Programming (FRP) is a paradigm that has simplified the
construction of reactive programs. There are many libraries that implement
incarnations of FRP, using abstractions such as Applicative, Monads, and
Arrows. However, finding a good control flow, that correctly manages state and
switches behaviors at the right times, still poses a major challenge to
developers. An attractive alternative is specifying the behavior instead of
programming it, as made possible by the recently developed logic: Temporal
Stream Logic (TSL). However, it has not been explored so far how Control Flow
Models (CFMs), as synthesized from TSL specifications, can be turned into
executable code that is compatible with libraries building on FRP. We bridge
this gap, by showing that CFMs are indeed a suitable formalism to be turned
into Applicative, Monadic, and Arrowized FRP. We demonstrate the effectiveness
of our translations on a real-world kitchen timer application, which we
translate to a desktop application using the Arrowized FRP library Yampa, a web
application using the Monadic threepenny-gui library, and to hardware using the
Applicative hardware description language ClaSH.Comment: arXiv admin note: text overlap with arXiv:1712.0024
Path-Based Program Repair
We propose a path-based approach to program repair for imperative programs.
Our repair framework takes as input a faulty program, a logic specification
that is refuted, and a hint where the fault may be located. An iterative
abstraction refinement loop is then used to repair the program: in each
iteration, the faulty program part is re-synthesized considering a symbolic
counterexample, where the control-flow is kept concrete but the data-flow is
symbolic. The appeal of the idea is two-fold: 1) the approach lazily considers
candidate repairs and 2) the repairs are directly derived from the logic
specification. In contrast to prior work, our approach is complete for programs
with finitely many control-flow paths, i.e., the program is repaired if and
only if it can be repaired at the specified fault location. Initial results for
small programs indicate that the approach is useful for debugging programs in
practice.Comment: In Proceedings FESCA 2015, arXiv:1503.0437
StocHy: automated verification and synthesis of stochastic processes
StocHy is a software tool for the quantitative analysis of discrete-time
stochastic hybrid systems (SHS). StocHy accepts a high-level description of
stochastic models and constructs an equivalent SHS model. The tool allows to
(i) simulate the SHS evolution over a given time horizon; and to automatically
construct formal abstractions of the SHS. Abstractions are then employed for
(ii) formal verification or (iii) control (policy, strategy) synthesis. StocHy
allows for modular modelling, and has separate simulation, verification and
synthesis engines, which are implemented as independent libraries. This allows
for libraries to be easily used and for extensions to be easily built. The tool
is implemented in C++ and employs manipulations based on vector calculus, the
use of sparse matrices, the symbolic construction of probabilistic kernels, and
multi-threading. Experiments show StocHy's markedly improved performance when
compared to existing abstraction-based approaches: in particular, StocHy beats
state-of-the-art tools in terms of precision (abstraction error) and
computational effort, and finally attains scalability to large-sized models (12
continuous dimensions). StocHy is available at www.gitlab.com/natchi92/StocHy
Interaction systems design and the protocol- and middleware-centred paradigms in distributed application development
This paper aims at demonstrating the benefits and importance of interaction systems design in the development of distributed applications. We position interaction systems design with respect to two paradigms that have influenced the design of distributed applications: the middleware-centred and the protocol-centred paradigm. We argue that interaction systems that support application-level interactions should be explicitly designed, using the externally observable behaviour of the interaction system as a starting point in interaction systems design. This practice has two main benefits: to promote a systematic design method, in which the correctness of the design of an interaction system can be assessed against its service specification; and, to shield the design of application parts that use the interaction system from choices in the design of the supporting interaction system
- …