@string{brics = "{BRICS}"} @string{daimi = "Department of Computer Science, University of Aarhus"} @string{iesd = "Department of Computer Science, Institute of Electronic Systems, Aalborg University"} @string{rs = "Research Series"} @string{ns = "Notes Series"} @string{ls = "Lecture Series"} @string{ds = "Dissertation Series"} @TechReport{BRICS-DS-98-3, author = "Sunesen, Kim", title = "Reasoning about Reactive Systems", institution = brics, year = 1998, type = ds, number = "DS-98-3", address = daimi, month = dec, note = "PhD thesis. xvi+204~pp", abstract = "The main concern of this thesis is the formal reasoning about reactive systems.\bibpar We first consider the automated verification of safety properties of finite systems. We propose a practical framework for integrating the behavioural reasoning about distributed reactive systems with model-checking methods. We devise a small self-contained theory of distributed reactive systems including standard concepts like implementation, abstraction, and proof methods for compositional reasoning. The proof methods are based on trace abstractions that relate the behaviours of the program with the specification. We show that trace abstractions and the proof methods can be expressed in a decidable Monadic Second-Order Logic (M2L) on words. To demonstrate the practical pertinence of the approach, we give a self-contained, introductory account of the method applied to an RPC-memory specification problem proposed by Broy and Lamport. The purely behavioural descriptions which we formulate from the informal specifications are written in the high-level symbolic language FIDO, a syntactic extension of M2L. Our solution involves FIDO-formulas more than 10 pages long. They are translated into M2L-formulas of length more than 100 pages which are decided automatically within minutes. Hence, our work shows that complex behaviours of reactive systems can be formulated and reasoned about without explicit state-based programming, and moreover that temporal properties can be stated succinctly while enjoying automated analysis and verification.\bibpar Next, we consider the theoretical borderline of decidability of behavioural equivalences for infinite-state systems. We provide a systematic study of the decidability of non-interleaving linear-time behavioural equivalences for infinite-state systems defined by CCS and TCSP style process description languages. We compare standard language equivalence with two generalisations based on the predominant approaches for capturing non-interleaving behaviour: pomsets representing global causal dependency, and locality representing spatial distribution of events. Beginning with the process calculus of Basic Parallel Processes (BPP) obtained as a minimal concurrent extension of finite processes, we systematically investigate extensions towards full CCS and TCSP. Our results show that whether a non-interleaving equivalence is based on global causal dependency between events or whether it is based on spatial distribution of events can have an impact on decidability. Furthermore, we investigate tau-forgetting versions of the two non-interleaving equivalences, and show that for BPP they are decidable.\bibpar Finally, we address the issue of synthesising distributed systems -- modelled as elementary net systems -- from purely sequential behaviours represented by synchronisation trees. Based on the notion of regions, Ehrenfeucht and Rozenberg have characterised the transition systems that correspond to the behaviour of elementary net systems. Building upon their results, we characterise the synchronisation trees that correspond to the behaviour of active elementary net systems, that is, those in which each condition can always cease to hold. The identified class of synchronisation trees is definable in a monadic second order logic over infinite trees. Hence, our work provides a theoretical foundation for smoothly combining techniques for the synthesis of nets from transition systems with the synthesis of synchronisation trees from logical specifications", linkhtmlabs = "", linkps = "", linkpdf = "" } @TechReport{BRICS-DS-98-2, author = "Lassen, S{\o}ren B.", OPTauthor = "Lassen, S{\o}ren B{\o}gh", title = "Relational Reasoning about Functions and Nondeterminism", institution = brics, year = 1998, type = ds, number = "DS-98-2", address = daimi, month = dec, note = "PhD thesis. x+126~pp", abstract = "This dissertation explores a uniform, relational proof style for operational arguments about program equivalences. It improves and facilitates many previously given proofs, and it is used to establish new proof rules for reasoning about term contexts, recursion, and nondeterminism in higher-order programming languages.\bibpar Part I develops an algebra of relations on terms and exploits these relations in operational arguments about contextual equivalence for a typed deterministic functional language. Novel proofs of the basic laws, sequentiality and continuity properties, induction rules, and the CIU Theorem are presented together with new relational proof rules akin to Sangiorgi's ``bisimulation up to context'' for process calculi.\bibpar Part II extends the results from the first part to nondeterministic functional programs. May and must operational semantics and contextual equivalences are defined and their properties are explored by means of relational techniques. For must contextual equivalence, the failure of ordinary syntactic $\omega$-continuity in the presence of countable nondeterminism is addressed by a novel transfinite syntactic continuity principle. The relational techniques are also applied to the study of lower and upper applicative simulation relations, yielding new results about their properties in the presence of countable and fair nondeterminism, and about their relationship with the contextual equivalences", linkhtmlabs = "", OPTcomment = "", OPTlinkdvi = "", linkps = "", linkpdf = "" } @TechReport{BRICS-DS-98-1, author = "Hougaard, Ole I.", OPTauthor = "Ole Ildsgaard Hougaard", title = "The {CLP(OIH)} Language", institution = brics, year = 1998, type = ds, number = "DS-98-1", address = daimi, month = feb, note = "PhD thesis. xii+187~pp", abstract = "Many type inference problems are different instances of the same constraint satisfaction problem. That is, there is a class of constraints so that these type inference problems can be reduced to the problem of finding a solution to a set of constraints. Furthermore, there is an efficient constraint solving algorithm which can find this solution in polynomial time.\bibpar We have shown this by defining the appropriate constraint domain, devising an efficient constraint satisfaction algorithm, and designing a constraint logic programming language over the constraint domain. We have implemented an interpreter for the language and have thus produced a tool which is well-suited for type inference problems of different kinds.\bibpar Among the problems that can be reduced to our constraint domain are the following: \begin{itemize} \item The simply typed $\lambda$-calculus. \item The $\lambda$-calculus with subtyping. \item Arbadi and Cardelli's Object calculus. \item Effect systems for control flow analysis. \item {\sf Turbo Pascal}. \end{itemize} With the added power of the constraint logic programming language, certain type systems with no known efficient algorithm can also be implemented --- e.g.\ the object calculus with {\sf selftype}.\bibpar The programming language thus provides a very easy way of implementing a vast array of different type inference problems", linkhtmlabs = "", OPTcomment = "", OPTlinkdvi = "", linkps = "", linkpdf = "" }