2,679 research outputs found
Causal graph dynamics
We extend the theory of Cellular Automata to arbitrary, time-varying graphs.
In other words we formalize, and prove theorems about, the intuitive idea of a
labelled graph which evolves in time - but under the natural constraint that
information can only ever be transmitted at a bounded speed, with respect to
the distance given by the graph. The notion of translation-invariance is also
generalized. The definition we provide for these "causal graph dynamics" is
simple and axiomatic. The theorems we provide also show that it is robust. For
instance, causal graph dynamics are stable under composition and under
restriction to radius one. In the finite case some fundamental facts of
Cellular Automata theory carry through: causal graph dynamics admit a
characterization as continuous functions, and they are stable under inversion.
The provided examples suggest a wide range of applications of this mathematical
object, from complex systems science to theoretical physics. KEYWORDS:
Dynamical networks, Boolean networks, Generative networks automata, Cayley
cellular automata, Graph Automata, Graph rewriting automata, Parallel graph
transformations, Amalgamated graph transformations, Time-varying graphs, Regge
calculus, Local, No-signalling.Comment: 25 pages, 9 figures, LaTeX, v2: Minor presentation improvements, v3:
Typos corrected, figure adde
Finite Countermodel Based Verification for Program Transformation (A Case Study)
Both automatic program verification and program transformation are based on
program analysis. In the past decade a number of approaches using various
automatic general-purpose program transformation techniques (partial deduction,
specialization, supercompilation) for verification of unreachability properties
of computing systems were introduced and demonstrated. On the other hand, the
semantics based unfold-fold program transformation methods pose themselves
diverse kinds of reachability tasks and try to solve them, aiming at improving
the semantics tree of the program being transformed. That means some
general-purpose verification methods may be used for strengthening program
transformation techniques. This paper considers the question how finite
countermodels for safety verification method might be used in Turchin's
supercompilation method. We extract a number of supercompilation sub-algorithms
trying to solve reachability problems and demonstrate use of an external
countermodel finder for solving some of the problems.Comment: In Proceedings VPT 2015, arXiv:1512.0221
Unveiling metamorphism by abstract interpretation of code properties
Metamorphic code includes self-modifying semantics-preserving transformations to exploit code diversification. The impact of metamorphism is growing in security and code protection technologies, both for preventing malicious host attacks, e.g., in software diversification for IP and integrity protection, and in malicious software attacks, e.g., in metamorphic malware self-modifying their own code in order to foil detection systems based on signature matching. In this paper we consider the problem of automatically extracting metamorphic signatures from metamorphic code. We introduce a semantics for self-modifying code, later called phase semantics, and prove its correctness by showing that it is an abstract interpretation of the standard trace semantics. Phase semantics precisely models the metamorphic code behavior by providing a set of traces of programs which correspond to the possible evolutions of the metamorphic code during execution. We show that metamorphic signatures can be automatically extracted by abstract interpretation of the phase semantics. In particular, we introduce the notion of regular metamorphism, where the invariants of the phase semantics can be modeled as finite state automata representing the code structure of all possible metamorphic change of a metamorphic code, and we provide a static signature extraction algorithm for metamorphic code where metamorphic signatures are approximated in regular metamorphism
The Paths to Choreography Extraction
Choreographies are global descriptions of interactions among concurrent
components, most notably used in the settings of verification (e.g., Multiparty
Session Types) and synthesis of correct-by-construction software (Choreographic
Programming). They require a top-down approach: programmers first write
choreographies, and then use them to verify or synthesize their programs.
However, most existing software does not come with choreographies yet, which
prevents their application.
To attack this problem, we propose a novel methodology (called choreography
extraction) that, given a set of programs or protocol specifications,
automatically constructs a choreography that describes their behavior. The key
to our extraction is identifying a set of paths in a graph that represents the
symbolic execution of the programs of interest. Our method improves on previous
work in several directions: we can now deal with programs that are equipped
with a state and internal computation capabilities; time complexity is
dramatically better; we capture programs that are correct but not necessarily
synchronizable, i.e., they work because they exploit asynchronous
communication
A Graph-Transformation Modelling Framework for Supervisory Control
Formal design methodologies have the potential to accelerate the development and increase the
reliability of supervisory controllers designed within industry. One promising design framework
which has been shown to do so is known as supervisory control synthesis (SCS).
In SCS, instead of manually designing the supervisory controller itself, one designs models of
the uncontrolled system and its control requirements. These models are then provided as input to
a special synthesis algorithm which uses them to automatically generate a model of the supervisory
controller. This outputted model is guaranteed to be correct as long as the models of the uncontrolled
system and its control requirements are valid. This accelerates development by removing
the need to verify and rectify the model of the supervisory controller. Instead, only the models of
the uncontrolled system and its requirements must be validated.
To address problems of scale, SCS can be applied in modular fashion, and implemented in
hierarchical and decentralized architectures.
Despite the large body of research con rming the bene ts of integrating SCS within the development
process of supervisory controllers, it has still not yet found widespread application within
industry. In the author's opinion, this is partly attributed to the non-user-friendly nature of the
automaton-based modelling framework used create the models of the uncontrolled system (and
control requirements in even-based SCS). It is believed that in order for SCS to become more accessible
to a wider range of non experts, modelling within SCS must be made more intuitive and
user-friendly.
To improve the usability of SCS, this work illustrates how a graph transformation-based modelling
approach can be employed to generate the automaton models required for supervisory control
synthesis. Furthermore, it is demonstrated how models of the speci cation can be intuitively represented
within our proposed modelling framework for both event- and state-based supervisory
control synthesis. Lastly, this thesis assesses the relative advantages brought about by the proposed
graph transformation-based modelling framework over the conventional automaton based modelling
approach
- …