Demo Data from EDBT 2026 / reviewers in the wild / expert
David J. King
dblp:39/5521
· DBLP profile ↗
6ranked-venue papers
1as first author
0since 2021 · last 2008
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 1Security and privacy · 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.
| Software engineering, system software, and programming languages
2 papers |
Requirements engineering and software design · 82% Programming languages and type systems · 18% | |
| Theoretical computer science
1 paper |
Graph algorithms and graph theory · 100% |
Topics — the 8 heaviest of 9, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Requirements engineering and software design › requirements modeling
scenario-based requirements |
0.1 | 1 | 2005 | Detecting and resolving semantic pathologies in UML sequence diagrams · ESEC/SIGSOFT FSE 2005 |
Requirements engineering and software design › software design notation
UML sequence diagrams |
0.1 | 1 | 2005 | Detecting and resolving semantic pathologies in UML sequence diagrams · ESEC/SIGSOFT FSE 2005 |
Requirements engineering and software design
software architecture |
0.0 | 1 | 2005 | Detecting and resolving semantic pathologies in UML sequence diagrams · ESEC/SIGSOFT FSE 2005 |
Programming languages and type systems
functional programming |
0.0 | 1 | 1995 | Structuring Depth-First Search Algorithms in Haskell · POPL 1995 |
Programming languages and type systems › functional language
lazy functional languages |
0.0 | 1 | 1995 | Structuring Depth-First Search Algorithms in Haskell · POPL 1995 |
Graph algorithms and graph theory › graph algorithms › graph search
depth-first search |
0.0 | 1 | 1995 | Structuring Depth-First Search Algorithms in Haskell · POPL 1995 |
Graph algorithms and graph theory
graph algorithms |
0.0 | 1 | 1995 | Structuring Depth-First Search Algorithms in Haskell · POPL 1995 |
Graph algorithms and graph theory › graph algorithms › connectivity
strongly connected components |
0.0 | 1 | 1995 | Structuring Depth-First Search Algorithms in Haskell · POPL 1995 |
Methods — techniques the papers use, named apart from their topics
partial order theory · 0.1UML profiling · 0.1calculational proof · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | High-level distribution for the rapid production of robust telecoms software: comparing C++ and ERLANGabstractAbstract Currently most distributed telecoms software is engineered using low‐ and mid‐level distributed technologies, but there is a drive to use high‐level distribution. This paper reports the first systematic comparison of a high‐level distributed programming language in the context of substantial commercial products. Our research strategy is to reengineer some C++/CORBA telecoms applications in ERLANG, a high‐level distributed language, and make comparative measurements. Investigating the potential advantages of the high‐level ERLANG technology shows that two significant benefits are realized. Firstly, robust configurable systems are easily developed using the high‐level constructs for fault tolerance and distribution. The ERLANG code exhibits resilience: sustaining throughput at extreme loads and automatically recovering when load drops; availability: remaining available despite repeated and multiple failures; dynamic reconfigurability: with throughput scaling near‐linearly when resources are added or removed. Secondly, ERLANG delivers significant productivity and maintainability benefits: the ERLANG components are less than one‐third of the size of their C++ counterparts. The productivity gains are attributed to specific language features, for example, high‐level communication saves 22%, and automatic memory management saves 11%—compared with the C++ implementation. Investigating the feasibility of the high‐level ERLANG technology demonstrates that it fulfils several essential requirements. The requisite distributed functionality is readily specified, even although control of low‐level distributed coordination aspects is abrogated to the ERLANG implementation. At the expense of additional memory residency, excellent time performance is achieved, e.g. three times faster than the C++ implementation, due to ERLANG's lightweight processes. ERLANG interoperates at low cost with conventional technologies, allowing incremental reengineering of large distributed systems. The technology is available on the required hardware/operating system platforms, and is well supported. Copyright © 2007 John Wiley & Sons, Ltd. Jan Henry Nyström, Philip W. Trinder, David J. King |
Concurr. Comput. Pract. Exp. | 3 |
| 2007 | Evaluating high-level distributed language constructsabstractThe paper investigates the impact of high level distributed programming language constructs on the engineering of realistic software components. Based on reengineering two non-trivial telecoms components, we compare two high-level distributed functional languages, Erlang and GdH, with conventional distributed technologies C++/CORBA and C++/UDP. Jan Henry Nyström, Philip W. Trinder, David J. King |
ICFP | 3 |
| 2005 | Are High-Level Languages Suitable for Robust Telecoms Software?
Jan Henry Nyström, Philip W. Trinder, David J. King |
SAFECOMP | 3 |
| 2005 | Detecting and resolving semantic pathologies in UML sequence diagramsabstractScenario based requirements specifications are the industry norm for defining communicating systems. These scenarios are often captured in the form of UML/MSC sequence diagrams. Errors are often introduced at this stage of the development process, which are costly to resolve if they are not detected early. This paper is concerned with the automatic detection and resolution of semantic errors that can occur in such scenarios.The paper discusses a semantic interpretation of scenario-based requirements and various types of defects (or pathologies) that can be detected. The paper defines the semantics and defects within a partial order theoretic framework. We introduce a UML 2.0 profile that captures various domain specific communication semantics, which can be used to determine the relevance of detected pathologies when different underlying implementation assumptions are made. The paper also discusses how to automatically resolve pathologies by using this profile to adapt the communication architecture in the requirements model. Paul Baker, Paul Bristow, Clive Jervis, David J. King, Robert Thomson 0002, Bill Mitchell, Simon Burton 0001 |
ESEC/SIGSOFT FSE | 4 |
| 2000 | An operational semantics for parallel lazy evaluationabstractWe present an operational semantics for parallel lazy evaluation that accurately models the parallel behaviour of the non-strict parallel functional language GpH. Parallelism is modelled synchronously, that is, single reductions are carried out separately then combined before proceeding to the next set of reductions. Consequently the semantics has two levels, with transition rules for individual threads at one level and combining rules at the other. Each parallel thread is modelled by a binding labelled with an indication of its activity status. To the best of our knowledge this is the first semantics that models such thread states. A set of labelled bindings corresponds to a heap and is used to model sharing.The semantics is set at a higher level of abstraction than an abstract machine and is therefore more manageable for proofs about programs rather than implementations. At the same time, it is sufficiently low level to allow us to reason about programs in terms of parallelism (i.e. the number of processors used) as well as work and run-time with different numbers of processors.The framework used by the semantics is sufficiently flexible and general that it can easily be adapted to express other evaluation models such as sequential call-by-need, speculative evaluation, non-deterministic choice and others. Clement A. Baker-Finch, David J. King, Philip W. Trinder |
ICFP | 2 |
| 1995 | Structuring Depth-First Search Algorithms in HaskellabstractDepth-first search is the key to a wide variety of graph algorithms. In this paper we express depth-first search in a lazy functional language, obtaining a linear-time implementation. Unlike traditional imperative presentations, we use the structuring methods of functional languages to construct algorithms from individual reusable components. This style of algorithm construction turns out to be quite amenable to formal proof, which we exemplify through a calculational-style proof of a far from obvious strongly-connected components algorithm. David J. King, John Launchbury |
POPL | 1 |