Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Ralph-Johan Back

dblp:b/RJRBack · DBLP profile ↗
← Back
56ranked-venue papers
45as first author
0since 2021 · last 2018
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Theory of computation · 35 · 30 first-authorSoftware engineering, systems software and programming languages · 16 · 12 first-authorSystems, architecture and hardware · 4 · 3 first-authorComputer networks · 2 · 1 first-authorArtificial intelligence and machine learning · 1Databases, data management, data science and information retrieval · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Theoretical computer science
6 papers
Logic in computer science · 71% Algorithmic game theory and mechanism design · 22% Distributed computing theory · 4%
Software engineering, system software, and programming languages
5 papers
Programming languages and type systems · 44% Concurrent programming · 24% Software maintenance and evolution · 12%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Distributed systems · 70% Integrated circuit design · 30%
Databases, data mining, and information retrieval
1 paper
Transaction processing and concurrency control · 100%

Topics — the 20 heaviest of 24, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Logic in computer science › program logic
predicate transformers
0.012000
Contracts, Games, and Refinement · Inf. Comput. 2000
Logic in computer science
program semantics
0.012000
Contracts, Games, and Refinement · Inf. Comput. 2000
Logic in computer science › formal specification
refinement
0.012000
Contracts, Games, and Refinement · Inf. Comput. 2000
Algorithmic game theory and mechanism design › game solving
winning strategies
0.012000
Contracts, Games, and Refinement · Inf. Comput. 2000
Transaction processing and concurrency control
serializability
0.011988
Serializability in Distributed Systems with Handshaking · ICALP 1988
Programming languages and type systems
language semantics
0.021984
A Semantic Approach to Program Modularity · Inf. Control. 1984
A Refinement of Kahn's Semantic to Handle Non-Determinism and Communication (Extended Abstract) · PODC 1982
Distributed systems
distributed programming
0.011988
Distributed Cooperation with Action Systems · ACM Trans. Program. Lang. Syst. 1988
Integrated circuit design › asynchronous circuit design
handshake protocols
0.011988
Serializability in Distributed Systems with Handshaking · ICALP 1988
Distributed systems › concurrency control
serializability
0.011988
Serializability in Distributed Systems with Handshaking · ICALP 1988
Logic in computer science
semantics
0.021982
Locality in Modular Systems · ICALP 1982
Semantics of Unbounded Nondeterminism · ICALP 1980
Software maintenance and evolution
software modularity
0.011984
A Semantic Approach to Program Modularity · Inf. Control. 1984
Concurrent programming › message passing
process networks
0.011983
Decentralization of Process Nets with Centralized Control · PODC 1983
Compilers and program optimization › program transformation
semantics-preserving transformation
0.011983
Derivation of Efficient DAG Marking Algorithms · POPL 1983
Graph algorithms and graph theory
graph algorithms
0.011983
Derivation of Efficient DAG Marking Algorithms · POPL 1983
Logic in computer science
temporal logic
0.011983
Decentralization of Process Nets with Centralized Control · PODC 1983
Programming languages and type systems
language design
0.011982
Locality in Modular Systems · ICALP 1982
Requirements engineering and software design
modularity
0.011982
Locality in Modular Systems · ICALP 1982
Concurrent programming › concurrency models
nondeterminism
0.011982
A Refinement of Kahn's Semantic to Handle Non-Determinism and Communication (Extended Abstract) · PODC 1982
Programming languages and type systems › language semantics
trace semantics
0.011982
A Refinement of Kahn's Semantic to Handle Non-Determinism and Communication (Extended Abstract) · PODC 1982
Concurrent programming › concurrency theory
process calculi
0.011983
Decentralization of Process Nets with Centralized Control · PODC 1983

Methods — techniques the papers use, named apart from their topics

temporal logic · 0.0guarded iteration statement · 0.0refinement · 0.0program transformation · 0.0denotational semantics · 0.0
YearPublicationVenuePosition
2018 A Precise Pictorial Language for Array Invariants
Johannes Eriksson, Masoumeh Parsa, Ralph-Johan Back
IFM3
2014 Proofs and Refutations in Invariant-Based Programming
Johannes Eriksson, Masoumeh Parsa, Ralph-Johan Back
IFM3
2012 Agile Development with Stepwise Feature Introduction
Mikolaj Olszewski, Ralph-Johan Back
ENASE2
2012 Invariant diagrams with data refinement
abstract
Abstract Invariant based programming is an approach where we start to construct a program by first identifying the basic situations (pre- and post-conditions as well as invariants) that could arise during the execution of the algorithm. These situations are identified before any code is written. After that, we identify the transitions between the situations, which will give us the flow of control in the program. Data refinement is a technique of building correct programs working on concrete data structures as refinements of more abstract programs working on abstract data types. We study in this paper data refinement for invariant based programs and we apply it to the construction of the classical Deutsch–Schorr–Waite graph marking algorithm. Our results are formalized and mechanically proved in the Isabelle/HOL theorem prover.
Viorel Preoteasa, Ralph-Johan Back
Formal Aspects Comput.2
2012 Quantitative Analysis of the Self-Assembly Strategies of Intermediate Filaments from Tetrameric Vimentin
abstract
In vitro assembly of intermediate filaments from tetrameric vimentin consists of a very rapid phase of tetramers laterally associating into unit-length filaments and a slow phase of filament elongation. We focus in this paper on a systematic quantitative investigation of two molecular models for filament assembly, recently proposed in (Kirmse et al. J. Biol. Chem. 282, 52 (2007), 18563-18572), through mathematical modeling, model fitting, and model validation. We analyze the quantitative contribution of each filament elongation strategy: with tetramers, with unit-length filaments, with longer filaments, or combinations thereof. In each case, we discuss the numerical fitting of the model with respect to one set of data, and its separate validation with respect to a second, different set of data. We introduce a high-resolution model for vimentin filament self-assembly, able to capture the detailed dynamics of filaments of arbitrary length. This provides much more predictive power for the model, in comparison to previous models where only the mean length of all filaments in the solution could be analyzed. We show how kinetic observations on low-resolution models can be extrapolated to the high-resolution model and used for lowering its complexity.
Eugen Czeizler, Andrzej Mizera, Elena Czeizler, Ralph-Johan Back, John E. Eriksson, Ion Petre
IEEE ACM Trans. Comput. Biol. Bioinform.4
2011 A simple mass-action model for the eukaryotic heat shock response and its mathematical validation
Ion Petre, Andrzej Mizera, Claire L. Hyder, Annika Meinander, Andrey Mikhailov, Richard I. Morimoto, Lea Sistonen, John E. Eriksson, Ralph-Johan Back
Nat. Comput.9
2010 Applying PVS Background Theories and Proof Strategies in Invariant Based Programming
Johannes Eriksson, Ralph-Johan Back
ICFEM2
2010 Structured derivations: a unified proof style for teaching mathematics
abstract
Abstract Structured derivations were introduced by Back and von Wright as an extension of the calculational proof style originally proposed by E. W. Dijkstra and his colleagues. Structured derivations added nested subderivations and inherited assumptions to this style. This paper introduces further extensions of the structured derivation format, and gives a precise syntax and semantics for the extended proof style. The extensions provide a unification of the three main proof styles used in mathematics today: Hilbert-style forward chaining proofs, Gentzen-style backward chaining proofs and algebraic derivations and calculations (in particular, Dijkstra’s calculational proof style). Each of these proof styles can now be directly presented as a structured derivation. Even more importantly, the three proof styles can be freely intermixed in a single structured derivation, allowing different proof styles to be used in different parts of the derivation, each time choosing the proof style that is most suitable for the (sub)problem at hand. We describe here (extended) structured derivations, feature by feature, and illustrate each feature with examples. We show how to model the three main proof styles as structured derivations. We give an exact syntax for structured derivations and define their semantics by showing how a structured derivation can be automatically translated into an equivalent Gentzen-style sequent calculus derivation. Structured derivations have been primarily developed for teaching mathematics at the secondary and tertiary education level. The syntax of structured derivations determines the general structure of the proof, but does not impose any restrictions on how the basic notions of the underlying mathematical domain are treated. Hence, the style can be used for any kind of proofs, calculations, derivations, and general problem solving found in mathematics education at these levels. The precise syntax makes it easy to provide computer support for structured derivations.
Ralph-Johan Back
Formal Aspects Comput.1
2009 Computational Heuristics for Simplifying a Biological Model
Ion Petre, Andrzej Mizera, Ralph-Johan Back
CiE3
2009 Invariant based programming: basic approach and teaching experiences
abstract
Abstract Program verification is usually done by adding specifications and invariants to the program and then proving that the verification conditions are all true. This makes program verification an alternative to or a complement to testing. We describe here another approach to program construction, which we refer to as invariant based programming , where we start by formulating the specifications and the internal loop invariants for the program, before we write the program code itself. The correctness of the code is then easy to check at the same time as one is constructing it. In this approach, program verification becomes a complement to coding rather than to testing. The purpose is to produce programs and software that are correct by construction. We present a new kind of diagrams, nested invariant diagrams , where program specifications and invariants (rather than the control) provide the main organizing structure. Nesting of invariants provide an extension hierarchy that allows us to express the invariants in a very compact manner. We have studied the feasibility of formulating specifications and loop invariants before the code itself has been written in a number of case studies. Our experience is that a systematic use of figures, in combination with a rough idea of the intended behavior of the algorithm, makes it rather straightforward to formulate the invariants needed for the program, to construct the code around these invariants and to check that the resulting program is indeed correct. We describe our experiences from using invariant based programming in practice, both from teaching programmers how to construct programs that they prove correct themselves, and from teaching invariant based programming for CS students in class.
Ralph-Johan Back
Formal Aspects Comput.1
2007 Testing and Verifying Invariant Based Programs in the SOCOS Environment
Ralph-Johan Back, Johannes Eriksson, Magnus O. Myreen
TAP1
2005 Tool Support for Invariant Based Programming
abstract
Invariant based programming is an approach to program construction where we provide the program pre- and postconditions as well as loop invariants before we construct the code itself. This approach allows us to construct a program and its correctness proof hand in hand. We describe here an extension to an existing mathematics editor that supports this style of program construction. The main help that the tool provides is automatic simplification of verification conditions that are generated in the programming process. The tool shows the user a check list of those conditions that it was not able to prove automatically. The user can use this check list to complete the proof (either manually or using an interactive theorem prover) or to find errors in the program.
Ralph-Johan Back, Magnus O. Myreen
APSEC1
2005 Software Development and Experimentation in an Academic Environment: The Gaudi Experience
Ralph-Johan Back, Luka Milovanov, Ivan Porres
PROFES1
2005 An algebraic treatment of procedure refinement to support mechanical verification
abstract
Abstract. We introduce a new algebraic model for program variables, suitable for reasoning about recursive procedures with parameters and local variables in a mechanical verification setting. We give a predicate transformer semantics to recursive procedures and prove refinement rules for introducing recursive procedure calls, procedure parameters, and local variables. We also prove, based on the refinement rules, Hoare total correctness rules for recursive procedures, and parameters. We introduce a special form of Hoare specification statement which alone is enough to fully specify a procedure. Moreover, we prove that this Hoare specification statement is equivalent to a refinement specification. We implemented this theory in the PVS theorem prover.
Ralph-Johan Back, Viorel Preoteasa
Formal Aspects Comput.1
2003 Reasoning about Pointers in Refinement Calculus
abstract
Pointers are an important programming concept. They are used explicitly or implicitly in many programming languages. In particular, the semantics of object-oriented programming languages rely on pointers. We introduce a semantics for pointer structures. Pointers are seen as indexes and pointer fields are functions from these indexes to values. Using this semantics we turn all pointer operations into simple assignments and then we use refinement calculus techniques to construct a pointer-manipulating program that checks whether or not a single linked list has a loop. We also introduce an induction principle on pointer structures in order to reduce complexity of the proofs.
Ralph-Johan Back, Xiaocong Fan, Viorel Preoteasa
APSEC1
2003 Compositional Action System Refinement
abstract
Abstract We show how a parallel composition of action systems can be refined by refining the components separately, and checking non-interference against invariants and guarantee conditions, which are abstract and stable. The guarantee condition can be thought of as a very abstract specification of how a system affects the global state, and it allows us to show that an action system refinement is valid in a given environment, even if we do not know any of the details of that environment. The paper extends the traditional notion of action systems slightly, and it makes use of a generalisation of the attribute model for program variables.
Ralph-Johan Back, Joakim von Wright
Formal Aspects Comput.1
2002 Symbolic Simulation of Hybrid Systems
abstract
Continuous action systems (CAS) is a formalism intended for modeling hybrid systems (systems that combine discrete control with continuous behavior), and proving properties about the model within refinement calculus. We use a symbolic manipulation program to build a tool for simulating CAS models by, calculating symbolically the time evolution of the discrete and continuous CAS model functions, as explicit and exact expressions of a continuous time variable. We may then study the time behavior and general properties of the model by plotting these functions with respect to time. For certain models our tool eliminates the need for introducing tolerances into the model structure. The tool is useful for checking that the model behaves correctly, and we can sometimes study the behavior of CAS models with in principle infinite precision.
Ralph-Johan Back, Cristina Cerschi Seceleanu, Jan Westerholm
APSEC1
2002 SFI: A Refinement Based Layered Software Architecture
Ralph-Johan Back
ICFEM1
2000 Class Refinement as Semantics of Correct Object Substitutability
abstract
Abstract. Subtype polymorphism, based on syntactic conformance of objects' methods and used for substituting subtype objects for supertype objects, is a characteristic feature of the object-oriented programming style. While certainly very useful, typechecking of syntactic conformance of subtype objects to supertype objects is insufficient to guarantee correctness of object substitutability. In addition, the behaviour of subtype objects must be constrained to achieve correctness. In class-based systems classes specify the behaviour of the objects they instantiate. In this paper we define the class refinement relation which captures the semantic constraints that must be imposed on classes to guarantee correctness of substitutability in all clients of the objects these classes instantiate. Clients of class instances are modelled as programs making an iterative choice over invocation of class methods, and we formally prove that when a class C ′ refines a class C , substituting instances of C ′ for instances of C is refinement for the clients.
Ralph-Johan Back, Anna Mikhajlova, Joakim von Wright
Formal Aspects Comput.1
2000 Encoding, Decoding and Data Refinement
abstract
Abstract. Data refinement is the systematic replacement of a data structure with another one in program development. Data refinement between program statements can on an abstract level be described as a commutativity property where the abstraction relationship between the data structures involved is represented by an abstract statement (adecoding). We generalise the traditional notion of data refinement by defining anencoding operatorthat describes the least (most abstract) data refinement with respect to a given abstraction. We investigate the categorical and algebraic properties of encoding and describe a number of special cases, which include traditional notions of data refinement. The dual operator of encoding isdecoding, which we investigate and give an intuitive interpretation to. Finally we show a number of applications of encoding and decoding.
Ralph-Johan Back, Joakim von Wright
Formal Aspects Comput.1
2000 Contracts, Games, and Refinement
abstract
We consider the notion of a contract that governs the behavior of a collection of agents. In particular, we study the question of whether a group among these agents can achieve a given goal by following the contract. We show that this can be reduced to studying the existence of winning strategies in a two-person game. We define a weakest precondition semantics for contract statements that permits us to compute the initial states from which a group of agents has a winning strategy to reach their goal. This semantics generalizes the traditional predicate transformer semantics for program statements to contracts and games. Ordinary programs and interactive programs are special kinds of contracts. A notion of correctness and refinement is introduced for contracts. Contracts are shown to form a complete lattice with respect to the refinement ordering.
Ralph-Johan Back, Joakim von Wright
Inf. Comput.1
1999 Reasoning Algebraically about Loops
Ralph-Johan Back, Joakim von Wright
Acta Informatica1
1998 Fusion and Simultaneous Execution in the Refinement Calculus
Ralph-Johan Back, Michael J. Butler
Acta Informatica1
1998 Refinement of Fair Action Systems
Ralph-Johan Back, Qiwen Xu
Acta Informatica1
1997 Structured Calculational Proof
abstract
Abstract We propose a new format for writing proofs, called structured calculational proof . The format resembles the calculational style already familiar to many computer scientists, but extends it to allow the hierarchical decomposition of larger proofs into smaller ones. Structured calculation is actually an alternative presentation of natural deduction, a style of reasoning which uses hierarchical decomposition to great effect, but which is traditionally expressed in a notation that is inconvenient for writing calculational proofs. The hierarchical nature of structured calculational proofs can be used for browsing proofs in electronic publications.
Ralph-Johan Back, Jim Grundy, Joakim von Wright
Formal Aspects Comput.1
1996 Superposition Refinement of Reactive Systems
abstract
Abstract Superposition refinement enhances an algorithm by superposing one computation mechanism onto another mechanism, in a way that preserves the behavior of the original mechanism. Superposition seems to be particularly well suited to the development of parallel and distributed programs: an originally simple sequential algorithm can be extended with mechanisms that distribute control and state information to many processes, thus permitting efficient parallel execution of the algorithm. We will show in this paper how superposition of reactive systems is expressed in the refinement calculus. We illustrate the power of this method by a case study, showing how a distributed broadcasting system is derived through a sequence of superposition refinements.
Ralph-Johan Back, Kaisa Sere
Formal Aspects Comput.1
1996 Specifying the Caltech Asynchronous Microprocessor
Ralph-Johan Back, Alain J. Martin, Kaisa Sere
Sci. Comput. Program.1
1995 Exploring Summation and Product Operators in the Refinement Calculus
Ralph-Johan Back, Michael J. Butler
MPC1
1995 An Action System Specification of the Caltech Asynchronous Microprocessor
Ralph-Johan Back, Alain J. Martin, Kaisa Sere
MPC1
1995 Games and Winning Strategies
Ralph-Johan Back, Joakim von Wright
Inf. Process. Lett.1
1994 Trace Refinement of Action Systems
Ralph-Johan Back, Joakim von Wright
CONCUR1
1993 Construction of large-size interconnection networks with high performance
abstract
Abstract This paper proposes a new method, recursive expansion (RE), for systematically constructing interconnection networks of arbitrary large size with high performance. On the basis of two small‐size networks, a frame and a unit, the RE method works in a manner of recursively replacing each node in the frame with an expanded network containing a set of copies of the unit and each edge in the frame with a set of interunit connections connecting a pair of the networks until a network of the desired size has been obtained. By RE, we can construct various kinds of large‐size and low‐cost interconnection networks. Two applications of the method, the ℋ︁Σr network based on the torus and the ℋ︁Σr network based on the hypercube, show that our method can produce networks with cost O((log3/2 n)/(log3/2 log n)) (degree O(1)) and O(log n log log n) (degree O(log log n)). In addition to low cost, networks constructed by RE also possess other properties such as high constructability, good extendability, symmetric topology, and efficient message routing. This paper describes an algorithm, for automatically constructing arbitrary large size networks with high performance. For constructing a network of size nr through r phases RE on the basis of a frame of degree df and a unit of size nu and degree du, the algorithm has a time complexity O((max{(df/nu), (du/r)})rn2r). Finally, a routing algorithm for networks constructed by RE is presented. The routing algorithm can realize point‐to‐point message routing without using a global routing table at each node and has a time complexity O((ku + kf)dfr), where ku and kf are diameters of the frame and of the unit, df is the degree of the frame, and r is the number of phases of RE to construct the network. © 1993 by John Wiley & Sons, Inc.
Hong Shen 0001, Ralph-Johan Back
Networks2
1993 Statement Inversion and Strongest Postcondition
Ralph-Johan Back, Joakim von Wright
Sci. Comput. Program.1
1992 On Equivalence-Completions of Fairness Assumtions
abstract
Abstract The paper considers the treatment of fairness assumptions which are not equivalence-robust , a central issue in relating interleaving semantics to partial order semantics . A notion of completion is introduced and studied, and two specific completions are considered: maximal completion , which is easier to implement (shown by a broadcast bus implementation) but guarantees only weak liveness properties of programs using it; and minimal completion , which may be harder to implement but induces stronger liveness properties on programs using it. Some properties of completions are formulated. Finally, the impact of non-equivalence-robustness on compositionality with respect to separate fairness assumptions is considered.
Nissim Francez, Ralph-Johan Back, Reino Kurki-Suonio
Formal Aspects Comput.2
1992 Construction of large-size interconnection networks with high performance
Hong Shen 0001, Ralph-Johan Back
Microprocess. Microprogramming2
1992 Combining Angles, Demons and Miracles in Program Specifications
Ralph-Johan Back, Joakim von Wright
Theor. Comput. Sci.1
1991 Superposition Refinement of Parallel Algorithms
Ralph-Johan Back, Kaisa Sere
FORTE1
1990 Duality in Specification Languages: A Lattice-Theoretical Approach
Ralph-Johan Back, Joakim von Wright
Acta Informatica1
1990 Refinement Concepts Formalised in Higher Order Logic
abstract
Abstract A theory of commands with weakest precondition semantics is formalised using the HOL proof assistant system. The concept of refinement between commands is formalised, a number of refinement rules are proved and it is shown how the formalisation can be used for proving refinements of actual program texts correct.
Ralph-Johan Back, Joakim von Wright
Formal Aspects Comput.1
1989 Stepwise Refinement of Action Systems
Ralph-Johan Back, Kaisa Sere
MPC1
1989 A Lattice-theoretical Basis for a Specification Language
Ralph-Johan Back, Joakim von Wright
MPC1
1989 Decentralization of Process Nets with Centralized Control
Ralph-Johan Back, Reino Kurki-Suonio
Distributed Comput.1
1989 Stepwise Refinement of Parallel Algorithms
Ralph-Johan Back, Kaisa Sere
Sci. Comput. Program.1
1988 Serializability in Distributed Systems with Handshaking
Ralph-Johan Back, Reino Kurki-Suonio
ICALP1
1988 A Calculus of Refinements for Program Derivations
Ralph-Johan Back
Acta Informatica1
1988 Distributed Cooperation with Action Systems
abstract
Action systems provide a method to program distributed systems that emphasizes the overall behavior of the system. System behavior is described in terms of the possible interactions (actions) that the processes can engage in, rather than in terms of the sequential code that the processes execute. The actions provide a symmetric communication mechanism that permits an arbitrary number of processes to be synchronized by a common handshake. This is a generalization of the usual approach, employed in languages like CSP and Ada, in which communication is asymmetric and restricted to involve only two processes. Two different execution models are given for action systems: a sequential one and a concurrent one. The sequential model is easier to use for reasoning, and is essentially equivalent to the guarded iteration statement by Dijkstra. It is well suited for reasoning about system properties in temporal logic, but requires a stronger fairness notion than it is reasonable to assume a distributed implementation will support. The concurrent execution model reflects the true concurrency that is present in a distributed execution, and corresponds to the way in which the system is actually implemented. An efficient distributed implementation of action systems on a local area network is described. The fairness assumptions of the concurrent model can be guaranteed in this implementation. The relationship between the two execution models is studied in detail in the paper. For systems that will be called fairly serializable, the two models are shown to be equivalent. Proof methods are given for verifying this property of action systems. It is shown that for fairly serializable systems, properties that hold for any concurrent execution of the system can be established by temporal proofs that are conducted entirely within the simpler sequential execution model.
Ralph-Johan Back, Reino Kurki-Suonio
ACM Trans. Program. Lang. Syst.1
1985 On the Suitability of Trace Semantics for Modular Proofs of Communicating Processes
Ralph-Johan Back, Heikki Mannila
Theor. Comput. Sci.1
1984 A Semantic Approach to Program Modularity
Ralph-Johan Back, Heikki Mannila
Inf. Control.1
1983 Decentralization of Process Nets with Centralized Control
abstract
The behavior of a net of interconnected, communicating processes is described in terms of the joint actions in which the processes can participate. A distinction is made between centralized and decentralized action systems. In the former, a central agent with complete information about the state of the system controls the execution of the actions; in the latter no such agent is needed. Properties of joint action systems are expressed in temporal logic. Centralized action systems allow for simple description of system behavior. Decentralized (two-process) action systems again can be mechanically compiled into a collection of CSP processes. A method for transforming centralized action systems into decentralized ones is described. The correctness of this method is proved, and its use is illustrated by deriving a process net that distributedly sorts successive lists of integers.
Ralph-Johan Back, Reino Kurki-Suonio
PODC1
1983 Derivation of Efficient DAG Marking Algorithms
abstract
The best known linear-time list marking algorithms also require a linear amount of workspace. Algorithms working in bounded workspace have been obtained only by allowing quadratic execution time or by restricting the list structures to trees. We improve on this here by deriving a new linear-time, bounded workspace marking algorithm that works for dags. The algorithm is derived using correctness-preserving program transformations, which prove the correctness of the algorithm. Our derivation of the marking algorithm provides an example where this method has actually been used to derive a new, more efficient algorithm, rather than just to establish the correctness of a previously known algorithm.
Ralph-Johan Back, Heikki Mannila, Kari-Jouko Räihä
POPL1
1983 A Continuous Semantics for Unbounded Nondeterminism
Ralph-Johan Back
Theor. Comput. Sci.1
1982 Locality in Modular Systems
Ralph-Johan Back, Heikki Mannila
ICALP1
1982 A Refinement of Kahn's Semantic to Handle Non-Determinism and Communication (Extended Abstract)
abstract
Systems of processes connected together by communication channels are studied semantically. A model for such systems, based on traces of communication events, is described. This semantic model is more general than the stream function model described by Kahn, in that it permits processes to have a nondeterministic behaviour. The relationship between these two semantics is discussed. It is shown that the merge anomaly of Brock and Ackermann does not arise in the trace semantics.
Ralph-Johan Back, Heikki Mannila
PODC1
1981 Proving Total Correctness of Nondeterministic Programs in Infinitary Logic
Ralph-Johan Back
Acta Informatica1
1981 On Correct Refinement of Programs
Ralph-Johan Back
J. Comput. Syst. Sci.1
1980 Semantics of Unbounded Nondeterminism
Ralph-Johan Back
ICALP1