VLDB 2026 Research / reviewers in the wild / expert
David C. Luckham
dblp:92/3763
· DBLP profile ↗
23ranked-venue papers
10as first author
0since 2021 · last 1999
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 11 · 7 first-authorTheory of computation · 8 · 2 first-authorSystems, architecture and hardware · 2Artificial intelligence and machine learning · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 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
7 papers |
Requirements engineering and software design · 55% Programming languages and type systems · 38% Program verification · 6% | |
| Computer architecture, parallel and distributed computing, and storage systems
5 papers |
Performance modeling and evaluation · 49% Electronic design automation · 28% Distributed systems · 22% | |
| Theoretical computer science
3 papers |
Computational complexity · 47% Logic in computer science · 24% Automated reasoning and model checking · 16% |
Topics — the 23 heaviest of 28, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Requirements engineering and software design › software architecture › architecture description
architecture description language |
0.0 | 2 | 1995 | An Event-Based Architecture Definition Language · IEEE Trans. Software Eng. 1995 Specification and Analysis of System Architecture Using Rapide · IEEE Trans. Software Eng. 1995 |
Requirements engineering and software design
software architecture |
0.0 | 2 | 1995 | An Event-Based Architecture Definition Language · IEEE Trans. Software Eng. 1995 Specification and Analysis of System Architecture Using Rapide · IEEE Trans. Software Eng. 1995 |
Programming languages and type systems
language design |
0.0 | 1 | 1994 | A Type System for Prototyping Languages · POPL 1994 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 1992 | Object-Oriented Megaprogramming (Panel) · OOPSLA 1992 |
Performance modeling and evaluation
simulation |
0.0 | 1 | 1992 | Validating Discrete Event Simulations Using Event Pattern Mappings · DAC 1992 |
Electronic design automation › hardware verification and test
formal verification |
0.0 | 1 | 1988 | Verification of VHDL Designs Using VAL · DAC 1988 |
Electronic design automation
hardware verification and test |
0.0 | 1 | 1988 | Verification of VHDL Designs Using VAL · DAC 1988 |
Distributed systems › distributed database
distributed transactions |
0.0 | 1 | 1995 | Specification and Analysis of System Architecture Using Rapide · IEEE Trans. Software Eng. 1995 |
Programming languages and type systems › language semantics › formal semantics
axiomatic semantics |
0.0 | 1 | 1980 | Ada Exception Handling: An Axiomatic Approach · ACM Trans. Program. Lang. Syst. 1980 |
Programming languages and type systems › control structures
exception handling |
0.0 | 1 | 1980 | Ada Exception Handling: An Axiomatic Approach · ACM Trans. Program. Lang. Syst. 1980 |
Programming languages and type systems
language semantics |
0.0 | 1 | 1980 | Ada Exception Handling: An Axiomatic Approach · ACM Trans. Program. Lang. Syst. 1980 |
Program verification › deductive verification
axiomatic verification |
0.0 | 1 | 1979 | Verification of Array, Record, and Pointer Operations in Pascal · ACM Trans. Program. Lang. Syst. 1979 |
Program verification
data structure verification |
0.0 | 1 | 1979 | Verification of Array, Record, and Pointer Operations in Pascal · ACM Trans. Program. Lang. Syst. 1979 |
Program verification
pointer program verification |
0.0 | 1 | 1979 | Verification of Array, Record, and Pointer Operations in Pascal · ACM Trans. Program. Lang. Syst. 1979 |
Program verification › temporal logic verification
fairness verification |
0.0 | 1 | 1976 | Verification of Fairness in an Implementation of Monitors · ICSE 1976 |
Concurrent programming › synchronization
monitors |
0.0 | 1 | 1976 | Verification of Fairness in an Implementation of Monitors · ICSE 1976 |
Computational complexity › proof complexity
resolution |
0.0 | 2 | 1972 | Compatibility and Complexity of Refinements of the Resolution Principle · SIAM J. Comput. 1972 Extracting Information from Resolution Proof Trees · Artif. Intell. 1971 |
Automated reasoning and model checking
automated theorem proving |
0.0 | 1 | 1972 | Compatibility and Complexity of Refinements of the Resolution Principle · SIAM J. Comput. 1972 |
Computational complexity
decidability |
0.0 | 1 | 1972 | On the Equivalence of Schemes · STOC 1972 |
Automata and formal languages
equivalence problem |
0.0 | 1 | 1972 | On the Equivalence of Schemes · STOC 1972 |
Logic in computer science › program semantics
program equivalence |
0.0 | 1 | 1972 | On the Equivalence of Schemes · STOC 1972 |
Computational complexity
proof complexity |
0.0 | 1 | 1972 | Compatibility and Complexity of Refinements of the Resolution Principle · SIAM J. Comput. 1972 |
Logic in computer science
proof theory |
0.0 | 1 | 1972 | Compatibility and Complexity of Refinements of the Resolution Principle · SIAM J. Comput. 1972 |
Methods — techniques the papers use, named apart from their topics
poset execution model · 0.0event-based simulation · 0.0event-based modeling · 0.0causal event modeling · 0.0type language design · 0.0executable specification · 0.0VAL · 0.0entry assertions · 0.0axiomatic proof rules · 0.0resolution refinement · 0.0proof-preserving transformation · 0.0proof rules · 0.0assertion language · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1999 | Event Mining with Event Processing Networks
Louis Perrochon, Walter Mann, Stephane Kasriel, David C. Luckham |
PAKDD | 4 |
| 1999 | Event-Based Execution Architectures for Dynamic Software Systems
James Vera, Louis Perrochon, David C. Luckham |
WICSA | 3 |
| 1995 | Specification and Analysis of System Architecture Using RapideabstractRapide is an event-based, concurrent, object-oriented language specifically designed for prototyping system architectures. Two principle design goals are: (1) to provide constructs for defining executable prototypes of architectures and (2) to adopt an execution model in which the concurrency, synchronization, dataflow, and timing properties of a prototype are explicitly represented. This paper describes the partially ordered event set (poset) execution model and outlines with examples some of the event-based features for defining communication architectures and relationships between architectures. Various features of Rapide are illustrated by excerpts from a prototype of the X/Open distributed transaction processing reference architecture.> David C. Luckham, John J. Kenney, Larry M. Augustin, James Vera, Doug Bryan, Walter Mann |
IEEE Trans. Software Eng. | 1 |
| 1995 | Correction to "Specification and Analysis of System Architecture Using Rapide"
David C. Luckham, John J. Kenney, Larry M. Augustin, James Vera, Doug Bryan, Walter Mann |
IEEE Trans. Software Eng. | 1 |
| 1995 | An Event-Based Architecture Definition LanguageabstractThis paper discusses general requirements for architecture definition languages, and describes the syntax and semantics of the subset of the Rapide language that is designed to satisfy these requirements. Rapide is a concurrent event-based simulation language for defining and simulating the behavior of system architectures. Rapide is intended for modelling the architectures of concurrent and distributed systems, both hardware and software in order to represent the behavior of distributed systems in as much detail as possible. Rapide is designed to make the greatest possible use of event-based modelling by producing causal event simulations. When a Rapide model is executed it produces a simulation that shows not only the events that make up the model's behavior, and their timestamps, but also which events caused other events, and which events happened independently. The architecture definition features of Rapide are described: event patterns, interfaces, architectures and event pattern mappings. The use of these features to build causal event models of both static and dynamic architectures is illustrated by a series of simple examples from both software and hardware. Also we give a detailed example of the use of event pattern mappings to define the relationship between two architectures at different levels of abstraction. Finally, we discuss briefly how Rapide is related to other event-based languages.> David C. Luckham, James Vera |
IEEE Trans. Software Eng. | 1 |
| 1994 | A Type System for Prototyping LanguagesabstractRAPIDE is a programming language framework designed for the development of large, concurrent, real-time systems by prototyping. The framework consists of a type language and default executable, specification and architecture languages, along with associated programming tools. We describe the main features of the type language, its intended use in a prototyping environment, and rationale for selected design decisions. Dinesh Katiyar, David C. Luckham, John C. Mitchell |
POPL | 2 |
| 1993 | Partial orderings of event sets and their application to prototyping concurrent, timed systemsabstractRAPIDE is a concurrent, object-oriented language specifically designed for prototyping large concurrent systems. One of the principle design goals has been to adopt a computation model in which the synchronization, concurrency, data flow, and timing aspects of a prototype are explicitly represented and easily accessible both to the prototype itself and to the prototyper. This article describes the partially ordered event set (poset) computation model and the features of RAPIDE for using posets in reactive prototypes and for automatically checking posets. An example prototyping scenario illustrates uses of the poset computation model, with and without timing. David C. Luckham, James Vera, Doug Bryan, Larry M. Augustin, Frank C. Belz |
J. Syst. Softw. | 1 |
| 1992 | Validating Discrete Event Simulations Using Event Pattern Mappings
Benoit A. Gennart, David C. Luckham |
DAC | 2 |
| 1992 | Object-Oriented Megaprogramming (Panel)abstractarticle Free Access Share on Object-oriented megaprogramming (panel) Authors: Peter Wegner View Profile , William Scherlis View Profile , James Purtilo View Profile , David Luckham View Profile , Ralph Johnson View Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 27Issue 10Oct. 1992 pp 392–396https://doi.org/10.1145/141937.141968Published:31 October 1992Publication History 1citation258DownloadsMetricsTotal Citations1Total Downloads258Last 12 Months9Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF Peter Wegner, William L. Scherlis, James M. Purtilo, David C. Luckham, Ralph E. Johnson |
OOPSLA | 4 |
| 1988 | Verification of VHDL Designs Using VAL
Larry M. Augustin, Benoit A. Gennart, Youm Huh, David C. Luckham, Alec G. Stanculescu |
DAC | 4 |
| 1986 | Concurrent Runtime Checking of Annotated Ada Programs
David S. Rosenblum, Sriram Sankar, David C. Luckham |
FSTTCS | 3 |
| 1984 | Adam: An Ada-based Language for MultiprocessingabstractAbstract Adam is a high‐level language for parallel processing. It is intended for programming resource scheduling applications, in particular supervisory packages for run‐time scheduling of multiprocessing systems. An important design goal was to provide support for implementation of Ada and its run‐time environment. Adam has been used to implement Ada task supervision and also as a high‐level target language for compilation of Ada tasking. Adam provides facilities corresponding to the Ada sequential constructs (including subprograms, packages, exceptions, generics). In addition, it provides specialized module constructs for implementation of packages that may be shared between parallel processes, and new predefined types for scheduling. The parallel processing constructs of Adam are more primitive than Ada tasking. Strong restrictions are enforced on the ways in which parallel processes can interact. A compiler for Adam has been implemented in MacLisp on DEC PDP‐10 computers. Runtime support packages in Adam for scheduling (on a single CPU) and I/O are also provided. The compiler contains a library manipulation facility for separate compilation. The Adam compiler has been used to build an Ada compiler for most of the July 1980 Ada, including task types and rendezvous constructs. This was achieved by implementing the translation of Ada tasking into Adam parallel processing as a preprocessor to the Adam compiler. This present Ada compiler, which has been operational since December 1980, uses a procedure call implementation of tasking. It can be easily modified to other implementations. Compilation of Ada tasking into a high‐level target language such as Adam facilitates studying questions of correctness and efficiency of various compilation algorithms, and code optimizations specific to tasking, e.g. elimination of unnecessary threads of control. This paper gives an overview of Adam and examples of its use. Emphasis is placed on the differences from Ada. Experience using Adam to build the experimental Ada system is evaluated. Design of a run‐time supervisor in Adam is discussed in detail. David C. Luckham, Friedrich W. von Henke, H. J. Larsen, Duncan Stevenson |
Softw. Pract. Exp. | 1 |
| 1980 | Ada Exception Handling: An Axiomatic ApproachabstractA method of documenting exception propagation and handling in Ada programs is proposed. Exception propagation declarations are introduced as a new component of Ada specifications, permitting documentation of those exceptions that can be propagated by a subprogram. Exception handlers are documented by entry assertions. Axioms and proof rules for Ada exceptions given. These rules are simple extensions of previous rules for Pascal and define an axiomatic semantics of Ada exceptions. As a result, Ada programs specified according to the method can be analyzed by formal proof techniques for consistency with their specifications, even if they employ exception propagation and handling to achieve required results (i.e., nonerror situations). Example verifications are given. David C. Luckham, Wolfgang Polak |
ACM Trans. Program. Lang. Syst. | 1 |
| 1979 | Verification of Array, Record, and Pointer Operations in PascalabstractA practical method is presented for automating in a uniform way the verification of Pascal programs that operate on the standard Pascal data structures Array, Record, and Pointer. New assertion language primitives are introduced for describing computational effects of operations on these data structures. Axioms defining the semantics of the new primitives are given. Proof rules for standard Pascal operations on data structures are then defined using the extended assertion language. An axiomatic rule for the Pascal storage allocation operation, NEW, is also given. These rulers have been implemented in the Stanford Pascal program verifier. Examples illustrating the verification of programs which operate on list structures implemented with pointers and records are discussed. These include programs with side effects. David C. Luckham, Norihisa Suzuki |
ACM Trans. Program. Lang. Syst. | 1 |
| 1977 | Proof of Termination within a Weak Logic of Programs
David C. Luckham, Norihisa Suzuki |
Acta Informatica | 1 |
| 1976 | Verification of Fairness in an Implementation of Monitors
Richard Alan Karp, David C. Luckham |
ICSE | 2 |
| 1974 | Automatic Program Verification I: A Logical Basis and its Implementation
Shigeru Igarashi, Ralph L. London, David C. Luckham |
Acta Informatica | 3 |
| 1973 | Program Schemes, Recursion Schemes, and Formal Languages
Stephen J. Garland, David C. Luckham |
J. Comput. Syst. Sci. | 2 |
| 1972 | On the Equivalence of SchemesabstractOne objective of the study of schemes for computation is that of finding general methods for checking or verifying a given program against its specifications. If one views the program and its specification as presenting two supposedly equivalent schemes for a computation, then the objective reduces to one of finding general methods for determining whether, in fact, the two schemes are equivalent. Unfortunately, for many classes of schemes which are sufficiently powerful, this “equivalence problem” is not decidable, i.e. there are no general methods capable of determining, in all cases, whether two schemes in the class are equivalent. In this report we investigate the question of which classes of schemes have decidable equivalence problems, or, in otherwords the question of for which classes of schemes there exist general methods capable of determining equivalence. Stephen J. Garland, David C. Luckham |
STOC | 2 |
| 1972 | Compatibility and Complexity of Refinements of the Resolution PrincipleabstractThis paper studies a number of logically complete search strategies (refinements) for improving the performance of automatic theorem-proving programs based on the resolution principle. These strategies restrict the number of deductions generated by the program at the expense of sometimes missing the shortest proof. By considering elementary proof-preserving transformations on resolution proof trees, (i) it is shown that the conjunction of set-of-support, resolution-with-merging, and linear form deduction is again a complete refinement; (ii) bounds are obtained on the possible increase in complexity of the proof trees when the linear form and resolution-with-merging refinements are imposed. Finally, examples are given which demonstrate the savings in time and storage when refinements are used to prove some theorems of moderate difficulty in group theory and ternary boolean algebra. Richard B. Kieburtz, David C. Luckham |
SIAM J. Comput. | 2 |
| 1971 | Extracting Information from Resolution Proof Trees
David C. Luckham, Nils J. Nilsson |
Artif. Intell. | 1 |
| 1970 | On Formalised Computer Programs
David C. Luckham, David M. R. Park, Mike Paterson |
J. Comput. Syst. Sci. | 1 |
| 1964 | Hierarchies Over Recursive Well-OrderingsabstractIn the original example of a transfinite hierarchy of degrees of unsolvability, a predicate Ha is associated with each a in the set 0 of ordinal notations. (See Kleene [K1], Spector [S1], and the references there to Davis and Mostowski.) The predicates are defined by means of induction over the partial well-ordering relation ≤0 on the set 0 of notations for the recursive ordinals. The usefulness of this hierarchy of predicates is enhanced by Spector's proof [S1] of the “uniqueness” property: viz. that the degree of Ha depends only on the ordinal |a| for which a is a notation. Herbert B. Enderton, David C. Luckham |
J. Symb. Log. | 2 |