In previous presentations about OIL I have mainly dived into its semantics, but in this presentation I’ll focus on its implementation in the Spoofax language workbench instead, which has been ongoing work for 5 years now. I’ll discuss how we tackled different implementation aspects of a language, such as syntax, transformations and static semantics, and evaluate …continue reading
Hash tables are important data structures for the fast storage and retrieval of data elements. They are, for instance, used often in explicit-state model checkers. In this talk I take a closer look at different types of hash tables, and address their suitability for use on graphics processors (GPUs). The current version of GPUexplore, an …continue reading
Raking is a technique I have developed that allows extracting a statespace of software systems in situ. It does not query the system, but instead uses annotation of the system’s program code. In this talk, I will go deeper into the semantics of this technique.
Model-Based Testing is a formal approach to testing (software) systems. Input-output conformance, often abbreviated by “ioco”, is one such approach to formal testing. It assumes that implementations can be modelled by input-enabled input-output transition systems, and it formalises when a given implementation conforms to a specification of that implementation. In the context of TNO-related projects, …continue reading
Symbolic exploration techniques allow us to construct symbolic state spaces with billions of states. Reducing these state spaces modulo (strong) bisimulation would help in further analysis. In this talk I will present a signature-based partition refinement algorithm from the literature to compute (strong) bisimulation on a symbolic state space. This algorithm requires a transformation of …continue reading
In the MACHINAIDE project we verify Cordis models by means of mCRL2. Cordis models are UML-like models developed, tested and simulated in the Cordis SUITE. In this presentation I will take you along on our journey towards verification of Cordis models in three parts: Description of the structure and semantics of Cordis models Peculiarities in the …continue reading
It is a natural question to find a DFA or NFA for which a given set of words should be accepted and another given set should not be accepted. In this presentation we investigate how to find a smallest automaton for both types by means of SMT solving, and compare the results.
In my previous talk I described the unfolding of process parameters in mCRL2, as it is done by lpsparunfold. This technique requires extending data specifications with new operations and equations. As part of the correctness, we need to reason about properties of the data specification. Working on these proofs triggered questions about the mCRL2 data …continue reading
In this talk we will consider deterministic finite automata(DFAs) with a singleton as alphabet. These rather restrictive machines have a strong connection with a very specific field of word combinatorics. In particular we will show how the periodicity of the bouncing DVD logo(or a billiard ball) is related to these automata and generate so-called Fibonacci words. …continue reading
In this talk, I shall explain Cole’s Parallel Merge Sorting Algorithm, which can sort lists of length n with O(n) processors in O(log n) time.