EDBT 2026 Demo / reviewers in the wild / expert
Kees Middelburg
dblp:m/KeesMiddelburg · also Cornelis A. Middelburg
· DBLP profile ↗
40ranked-venue papers
8as first author
4since 2021 · last 2024
0000-0002-8725-0197ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Theory of computation · 38 · 7 first-author · 4 since 2021Systems, architecture and hardware · 2 · 1 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | Imperative Process Algebra and Models of Parallel ComputationabstractAbstract Studies of issues related to computability and computational complexity involve the use of a model of computation. Central in such a model are computational processes. Processes of this kind can be described using an imperative process algebra based on ACP (Algebra of Communicating Processes). In this paper, it is investigated whether the imperative process algebra concerned can play a role in the field of models of computation. It is demonstrated that the process algebra is suitable to describe in a mathematically precise way models of computation corresponding to existing models based on sequential, asynchronous parallel, and synchronous parallel random access machines as well as time and work complexity measures for those models. Kees Middelburg |
Theory Comput. Syst. | 1 |
| 2024 | Dormancy-aware timed branching bisimilarity with an application to communication protocol analysisabstractA variant of the standard notion of branching bisimilarity for processes with discrete relative timing is proposed which is coarser than the standard notion. Using a version of ACP (Algebra of Communicating Processes) with abstraction for processes with discrete relative timing, it is shown that the proposed variant allows of both the functional correctness and the performance properties of the PAR (Positive Acknowledgement with Retransmission) protocol to be analyzed. In the version of ACP concerned, the difference between the standard notion of branching bisimilarity and its proposed variant is characterized by a single axiom schema. Kees Middelburg |
Theor. Comput. Sci. | 1 |
| 2021 | Using Hoare Logic in a Process Algebra SettingabstractThis paper concerns the relation between process algebra and Hoare logic. We investigate the question whether and how a Hoare logic can be used for reasoning about how data change in the course of a process when reasoning equationally about that process. We introduce an extension of ACP (Algebra of Communicating Processes) with features that are relevant to processes in which data are involved, present a Hoare logic for the processes considered in this process algebra, and discuss the use of this Hoare logic as a complement to pure equational reasoning with the equational axioms of the process algebra. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2021 | On the strongest three-valued paraconsistent logic contained in classical logic and its dualabstractAbstract $\textrm{LP}^{\mathbin{\supset },{\mathsf{F}}}$ is a three-valued paraconsistent propositional logic that is essentially the same as J3. It has the most properties that have been proposed as desirable properties of a reasonable paraconsistent propositional logic. However, it follows easily from already published results that there are exactly 8192 different three-valued paraconsistent propositional logics that have the properties concerned. In this paper, properties concerning the logical equivalence relation of a logic are used to distinguish $\textrm{LP}^{\mathbin{\supset },{\mathsf{F}}}$ from the others. As one of the bonuses of focusing on the logical equivalence relation, it is found that only 32 of the 8192 logics have a logical equivalence relation that satisfies the identity, annihilation, idempotent and commutative laws for conjunction and disjunction. For most properties of $\textrm{LP}^{\mathbin{\supset },{\mathsf{F}}}$ that have been proposed as desirable properties of a reasonable paraconsistent propositional logic, its paracomplete analogue has a comparable property. In this paper, properties concerning the logical equivalence relation of a logic are also used to distinguish the paracomplete analogue of $\textrm{LP}^{\mathbin{\supset },{\mathsf{F}}}$ from the other three-valued paracomplete propositional logics with those comparable properties. Kees Middelburg |
J. Log. Comput. | 1 |
| 2020 | On the complexity of the correctness problem for non-zeroness test instruction sequences
Jan A. Bergstra, Kees Middelburg |
Theor. Comput. Sci. | 2 |
| 2019 | Process Algebra with Strategic InterleavingabstractIn process algebras such as ACP (Algebra of Communicating Processes), parallel processes are considered to be interleaved in an arbitrary way. In the case of multi-threading as found in contemporary programming languages, parallel processes are actually interleaved according to some interleaving strategy. An interleaving strategy is what is called a process-scheduling policy in the field of operating systems. In many systems, for instance hardware/software systems, we have to do with both parallel processes that may best be considered to be interleaved in an arbitrary way and parallel processes that may best be considered to be interleaved according to some interleaving strategy. Therefore, we extend ACP in this paper with the latter form of interleaving. The established properties of the extension concerned include an elimination property, a conservative extension property, and a unique expansion property. Jan A. Bergstra, Kees Middelburg |
Theory Comput. Syst. | 2 |
| 2017 | Contradiction-Tolerant Process Algebra with Propositional SignalsabstractIn a previous paper, an ACP-style process algebra was proposed in which propositions are used as the visible part of the state of processes and as state conditions under which processes may proceed. This process algebra, called ACPps, is built on classical propositional logic. In this paper, we pre sent a version of ACPps built on a paraconsistent propositional logic which is essentially the same as CLuNs. There are many systems that would have to deal with self-contradictory states if no special measures were taken. For a number of these systems, it is conceivable that accepting self-contradictory states and dealing with them in a way based on a paraconsistent logic is an alternative to taking special measures. The presented version of ACPps can be suited for the description and analysis of systems that deal with self-contradictory states in a way based on the above-mentioned paraconsistent logic. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2016 | Instruction Sequence Size Complexity of ParityabstractEach Boolean function can be computed by a single-pass instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. Auxiliary Boolean registers are not necessary for this. In the current paper, we show that, in the case of the parity functions, shorter instruction sequences are possible with the use of an auxiliary Boolean register in the presence of instructions to complement the content of auxiliary Boolean registers. This result supports, in a setting where programs are instruction sequences acting on Boolean registers, a basic intuition behind the storage of auxiliary data, namely the intuition that this makes possible a reduction of the size of a program. The work presented in this paper is carried out in the setting of PGA (ProGram Algebra) Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2015 | On Algorithmic Equivalence of Instruction Sequences for Computing Bit String FunctionsabstractEvery partial function from bit strings of a given length to bit strings of a possibly different given length can be computed by a finite instruction sequence that contains only instructions to set and get the content of Boolean registers, forward jump instructions, and a termination instruction. We look for an equivalence relation on instruction sequences of this kind that captures to a reasonable degree the intuitive notion that two instruction sequences express the same algorithm. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2013 | Data Linkage Algebra, Data Linkage Dynamics, and Priority RewritingabstractWe introduce an algebra of data linkages. Data linkages are intended for modelling the states of computations in which dynamic data structures are involved. We present a simple model of computation in which states of computations are modelled as data linkages and state changes take place by means of certain actions. We describe the state changes and replies that result from performing those actions by means of a term rewriting system with rule priorities. The model in question is an upgrade of molecular dynamics. The upgrading is mainly concerned with the features to deal with values and the features to reclaim garbage. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2013 | A Process Calculus with Finitary Comprehended Terms
Jan A. Bergstra, Kees Middelburg |
Theory Comput. Syst. | 2 |
| 2012 | Instruction sequence processing operatorsabstractInstruction sequence is a key concept in practice, but it has as yet not come prominently into the picture in theoretical circles. This paper concerns instruction sequences, the behaviours produced by them under execution, the interaction between these behaviours and components of the execution environment, and two issues relating to computability theory. Positioning Turing’s result regarding the undecidability of the halting problem as a result about programs rather than machines, and taking instruction sequences as programs, we analyse the autosolvability requirement that a program of a certain kind must solve the halting problem for all programs of that kind. We present novel results concerning this autosolvability requirement. The analysis is streamlined by using the notion of a functional unit, which is an abstract state-based model of a machine. In the case where the behaviours exhibited by a component of an execution environment can be viewed as the behaviours of a machine in its different states, the behaviours concerned are completely determined by a functional unit. The above-mentioned analysis involves functional units whose possible states represent the possible contents of the tapes of Turing machines with a particular tape alphabet. We also investigate functional units whose possible states are the natural numbers. This investigation yields a novel computability result, viz. the existence of a universal computable functional unit for natural numbers. Jan A. Bergstra, Kees Middelburg |
Acta Informatica | 2 |
| 2012 | On the Behaviours Produced by Instruction Sequences under ExecutionabstractWe study several aspects of the behaviours produced by instruction sequences under execution in the setting of the algebraic theory of processes known as ACP. We use ACP to describe the behaviours produced by instruction sequences under execution and to describe two protocols implementing these behaviours in the case where the processing of instructions takes place remotely. We also show that all finite-state behaviours considered in ACP can be produced by instruction sequences under execution. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2012 | On the Expressiveness of Single-Pass Instruction SequencesabstractWe perceive programs as single-pass instruction sequences. A single-pass instruction sequence under execution is considered to produce a behaviour to be controlled by some execution environment. Threads as considered in basic thread algebra model such behaviours. We show that all regular threads, i.e. threads that can only be in a finite number of states, can be produced by single-pass instruction sequences without jump instructions if use can be made of Boolean registers. We also show that, in the case where goto instructions are used instead of jump instructions, a bound to the number of labels restricts the expressiveness. Jan A. Bergstra, Kees Middelburg |
Theory Comput. Syst. | 2 |
| 2011 | Thread algebra for poly-threadingabstractAbstract It is a fact of life that sequential programs are often fragmented. Consequently, fragmented program behaviours are frequently found. We consider this phenomenon in the setting of thread algebra. We extend basic thread algebra with poly-threading, the barest mechanism for sequencing of threads that are taken for program fragment behaviours. This mechanism is the counterpart of program overlaying at the level of program behaviours. We relate the resulting theory to the process theory known as ACP and use it to describe analytic execution architectures suited for fragmented programs. We also consider the case where the steps of fragmented program behaviours are interleaved in the ways of non-distributed and distributed multi-threading. Jan A. Bergstra, Kees Middelburg |
Formal Aspects Comput. | 2 |
| 2010 | An Interface Group for Process ComponentsabstractWe take a process component as a pair of an interface and a behaviour. We study the composition of interacting process components in the setting of process algebra. We formalize the interfaces of interacting process components by means of an interface group. An interesting feature of the interface group is that it allows for distinguishing between expectations and promises in interfaces of process components. This distinction comes into play in case components with both client and server behaviour are involved. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2010 | Data Linkage Dynamics with SheddingabstractWe study shedding in the setting of data linkage dynamics, a simple model of computation that bears on the use of dynamic data structures in programming. Shedding is complementary to garbage collection. With shedding, each time a link to a data objec Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2010 | A thread calculus with molecular dynamics
Jan A. Bergstra, Kees Middelburg |
Inf. Comput. | 2 |
| 2010 | On the operating unit size of load/store architecturesabstractWe introduce a strict version of the concept of a load/store instruction set architecture in the setting of Maurer machines. We take the view that transformations on the states of a Maurer machine are achieved by applying threads as considered in thread algebra to the Maurer machine. We study how the transformations on the states of the main memory of a strict load/store instruction set architecture that can be achieved by applying threads depend on the operating unit size, the cardinality of the instruction set and the maximal number of states of the threads. Jan A. Bergstra, Kees Middelburg |
Math. Struct. Comput. Sci. | 2 |
| 2009 | Transmission Protocols for Instruction Streams
Jan A. Bergstra, Kees Middelburg |
ICTAC | 2 |
| 2009 | Machine structure oriented control code logic
Jan A. Bergstra, Kees Middelburg |
Acta Informatica | 2 |
| 2009 | Instruction Sequences with Dynamically Instantiated InstructionsabstractWe study sequential programs that are instruction sequences with dynamically instantiated instructions. We define the meaning of such programs in two different ways. In either case, we give a translation by which each program with dynamically instantiated instructions is turned into a program without them that exhibits on execution the same behaviour by interaction with some service. The complexity of the translations differ considerably, whereas the services concerned are equally simple. However, the service concerned in the case of the simpler translation is far more powerful than the service concerned in the other case. Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2008 | Distributed strategic interleaving with load balancing
Jan A. Bergstra, Kees Middelburg |
Future Gener. Comput. Syst. | 2 |
| 2008 | Maurer computers for pipelined instruction processingabstractWe model micro-architectures with non-pipelined instruction processing and pipelined instruction processing using Maurer machines, basic thread algebra and program algebra. We show that stored programs are executed as intended with these micro-architectures. We believe that this work provides a new mathematical approach to the modelling of micro-architectures and the verification of their correctness and the anticipated speed-up results. Jan A. Bergstra, Kees Middelburg |
Math. Struct. Comput. Sci. | 2 |
| 2007 | Synchronous cooperation for explicit multi-threadingabstractWe develop an algebraic theory of threads, synchronous cooperation of threads and interaction of threads with Maurer machines, and investigate program parallelization using the resulting theory. Program parallelization underlies techniques for speeding up instruction processing on a computer that make use of the abilities of the computer to process instructions simultaneously in cases where the state changes involved do no influence each other. One of our findings is that a strong induction principle is needed when proving theorems about sufficient conditions for the correctness of program parallelizations. The induction principle introduced has brought us to construct a projective limit model for the theory developed. Jan A. Bergstra, Kees Middelburg |
Acta Informatica | 2 |
| 2007 | Thread algebra for strategic interleavingabstractAbstract We take a thread as the behavior of a sequential deterministic program under execution and multi-threading as the form of concurrency provided by contemporary programming languages such as Java and C#. We outline an algebraic theory about threads and multi-threading. In the case of multi-threading, some deterministic interleaving strategy determines how threads are interleaved. Interleaving operators for a number of plausible interleaving strategies are specified in a simple and concise way. By that, we show that it is essentially open-ended what counts as an interleaving strategy. We use deadlock freedom as an example to show that there are properties of multi-threaded programs that depend on the interleaving strategy used. Jan A. Bergstra, Kees Middelburg |
Formal Aspects Comput. | 2 |
| 2007 | Maurer Computers with Single-Thread Control
Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2007 | A Thread Algebra with Multi-Level Strategic InterleavingabstractIn a previous paper we developed an algebraic theory about threads and a form of concurrency where some deterministic interleaving strategy determines how threads that exist concurrently are interleaved. The interleaving of different threads constitutes a multi-thread. Several multi-threads may exist concurrently on a single host in a network, several host behaviours may exist concurrently in a single network on the internet, etc. In the current paper we assume that the above-mentioned kind of interleaving is also present at those other levels. We extend the theory developed so far with features to cover the multi-level case. We employ the resulting theory to develop a simplified, formal representation schema of the design of systems that consist of several multi-threaded programs on various hosts in different networks and to verify a property of all systems designed according to that schema. Jan A. Bergstra, Kees Middelburg |
Theory Comput. Syst. | 2 |
| 2006 | Thread Algebra with Multi-Level Strategies
Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2006 | Splitting bisimulations and retrospective conditions
Jan A. Bergstra, Kees Middelburg |
Inf. Comput. | 2 |
| 2005 | Strong Splitting Bisimulation Equivalence
Jan A. Bergstra, Kees Middelburg |
CALCO | 2 |
| 2005 | A Thread Algebra with Multi-level Strategic Interleaving
Jan A. Bergstra, Kees Middelburg |
CiE | 2 |
| 2005 | Process algebra for hybrid systems
Jan A. Bergstra, Kees Middelburg |
Theor. Comput. Sci. | 2 |
| 2004 | Located Actions in Process Algebra with Timing
Jan A. Bergstra, Kees Middelburg |
Fundam. Informaticae | 2 |
| 2002 | Process Algebra with Nonstandard Timing
Kees Middelburg |
Fundam. Informaticae | 1 |
| 1998 | Truth of Duration Calculus Formulae in Timed FramesabstractDuration calculus is a logical formalism designed for expressing and refining real-time requirements for systems. Timed frames are essentially transition systems meant for modeling the time-dependent behaviour of programs. We investigate the interpretation of duration calculus formulae in timed frames. We elaborate this topic from different angles and show that they agree with each other. The resulting interpretation is expected to make it generally easier to establish semantic links between duration calculus and formalisms aimed at programming. Such semantic links are prerequisites for a solid underpinning of approaches to system development that cover requirement capture through coding using both duration calculus and some formalism(s) aimed at programming. Kees Middelburg |
Fundam. Informaticae | 1 |
| 1994 | A Typed Logic of Partial Functions Reconstructed Classically
Cliff B. Jones, Kees Middelburg |
Acta Informatica | 2 |
| 1992 | Modular Structuring of VDM Specifications in VVSLabstractAbstract VVSL is a language for writing modularly structured VDM specifications. Its modularisation mechanism permits two modules to have parts of their state in common, including hidden parts. Firstly, this paper gives an overview of the structuring sublanguage of VVSL and a concise description of its semantic foundations: DA (a general algebraic model of modules) and λπ -calculus (a variant of classical lambda calculus). The paper also presents a variation on a “challenge problem” of Fitzgerald and Jones as an example of the use of VVSL's structuring language. Finally, their modular structuring style and the suggested language features to support it are commented upon. Kees Middelburg |
Formal Aspects Comput. | 1 |
| 1989 | VVSL: A Language for Structured VDM SpecificationsabstractAbstract VVSL is a VDM specification language of the “British School” with modularisation constructs allowing sharing of hidden state variables and parameterisation constructs for structuring specifications, and with constructs for expressing temporal aspects of the concurrent execution of operations which interfere via state variables. The modularisation and parameterisation constructs have been inspired by the “kernel” design language COLD-K from the ESPRIT project 432: METEOR, and the constructs for expressing temporal aspects by various temporal logics based on linear and discrete time. VVSL is provided with a well-defined semantics by defining a translation to COLD-K extended with constructs which are required for translation of the VVSL constructs for expressing temporal aspects. In this paper, the syntax for the modularisation and parameterisation constructs of VVSL is outlined. Their meaning is informally described by giving an intuitive explanation and by outlining the translation to COLD-K. It is explained in some detail how sharing of hidden state variables is modelled. Examples of the use of the modularisation and parameterisation constructs are also given. These examples are based on a formal definition of the relational data model. With respect to the constructs for expressing temporal aspects, the ideas underlying the use of temporal formulae in VVSL are briefly outlined and a simple example is given. Kees Middelburg |
Formal Aspects Comput. | 1 |
| 1982 | The Effect of the PDP-11 Architecture on Code Generation for ChillabstractThis paper outlines the implementation of the CCITT*) high level programming language CHILL on PDP-11 computers in the CHILL compiler constructed at the Dr. Neher Laboratories. The characteristics and structure of the compiler are briefly described. The relationship between the PDP-11 architecture and the implementation of CHILL is outlined in more detail. Kees Middelburg |
ASPLOS | 1 |