David Alex Lamb

dblp:38/5857 · DBLP profile ↗
← Back
12ranked-venue papers
7as 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 · 9 · 5 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorTheory of computation · 2 · 2 first-authorSystems, architecture and hardware · 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
5 papers
Programming languages and type systems · 37% Requirements engineering and software design · 30% Program verification · 23%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Distributed systems · 100%

Topics — the 8 heaviest of 10, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Programming languages and type systems
language design
0.011994
Design and Specification of Iterators Using the Swapping Paradigm · IEEE Trans. Software Eng. 1994
Program verification
modular reasoning
0.011994
Design and Specification of Iterators Using the Swapping Paradigm · IEEE Trans. Software Eng. 1994
Requirements engineering and software design › specification
specification methods
0.011992
The Property Vector Specification of a Multiset Iterator · ICSE 1992
Requirements engineering and software design
formal specification
0.011990
Specification of Iterators · IEEE Trans. Software Eng. 1990
Compilers and program optimization
intermediate representation
0.011987
IDL: Sharing Intermediate Representations · ACM Trans. Program. Lang. Syst. 1987
Programming languages and type systems
data types
0.011992
The Property Vector Specification of a Multiset Iterator · ICSE 1992
Programming languages and type systems › specification language
algebraic specification
0.011990
Specification of Iterators · IEEE Trans. Software Eng. 1990
Distributed systems › component-based systems
component communication
0.011987
IDL: Sharing Intermediate Representations · ACM Trans. Program. Lang. Syst. 1987

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

property vector specification · 0.0code generation · 0.0trace specification · 0.0algebraic specification · 0.0interface task · 0.0
YearPublicationVenuePosition
1999 Behavioural Views for Software Requirements Engineering
Ayaz Isazadeh, David Alex Lamb, Terry Shepard
Requir. Eng.2
1996 An Algorithmic Semantics for Viewcharts
abstract
Behavioral requirements engineering of large-scale software systems, using current Formal Description Techniques (FDT), is complex and difficult. In Statecharts, this complexity is evident in the form of a blow-up in the number of states and difficulty of managing the name space. We have introduced a notation, called Viewcharts, which reduces the complexity of expressing behavioral requirements of large systems. Viewcharts extends Statecharts to include behavioral views and their composition. In this paper we present an overview of the Viewcharts notation and establish its semantics via translation to Statecharts.
Ayaz Isazadeh, David Alex Lamb
ICECCS2
1994 Communicating Abstract Data Type Values in Heterogeneous Distributed Programs
abstract
This paper is concerned with the problem of communicating abstract data type (ADT) values in heterogeneous distributed programs. It focuses on addressing two fundamental issues of the problem: the selection of suitable exchange representations and the generation of data converters. Exchange representations are the ways to represent data during transmissions across networks. Data converters are programs transforming data from one representation to another; they are the major facility to deal with heterogeneity in a communication. This paper reports the following results: a term-based exchange representation, which is an abstract notation and so is particularly suitable for communicating ADT values in heterogeneous programs; and methods to generate data converters.>
David Alex Lamb
ICDCS2
1994 Design and Specification of Iterators Using the Swapping Paradigm
abstract
How should iterators be abstracted and encapsulated in modern imperative languages? We consider the combined impact of several factors on this question: the need for a common interface model for user defined iterator abstractions, the importance of formal methods in specifying such a model, and problems involved in modular correctness proofs of iterator implementations and clients. A series of iterator designs illustrates the advantages of the swapping paradigm over the traditional copying paradigm. Specifically, swapping based designs admit more efficient implementations while offering relatively straightforward formal specifications and the potential for modular reasoning about program behavior. The final proposed design schema is a common interface model for an iterator for any generic collection.>
Bruce W. Weide, Stephen H. Edwards, Douglas E. Harms, David Alex Lamb
IEEE Trans. Software Eng.4
1992 The Property Vector Specification of a Multiset Iterator
abstract
Trace assertion specification methods constrain behaviour at the interface of a module by identifying legal sequences is its equivalent normal/canonical form.
Trevor W. Pearce, David Alex Lamb
ICSE2
1990 Specification of Iterators
abstract
Iterators are defined, and previously published methods for defining their meanings are outlined. It is shown how to use trace specifications to define a common form of iterator module (Alphard-style iterators). A form of specification for an iterator is shown which can capture the key differences between a set and a sequence at a few particular places in the specification. The trace specification of a sequence iterator is compared to an algebraic specification. It is concluded that the algebraic specification is possible but somewhat clumsier. Traces are used to give partial specifications of iterator construct that make sequences of calls on procedural parameters.>
David Alex Lamb
IEEE Trans. Software Eng.1
1988 Benign Side Effects
David Alex Lamb
Inf. Process. Lett.1
1988 Testing for Class Membership in Multi-Parent Hierarchies
David Alex Lamb, Robin W. Dawes
Inf. Process. Lett.1
1987 DRAT: A program for maintaining listings
David Alex Lamb, Ivor Durham, Joseph M. Newcomer
J. Syst. Softw.1
1987 IDL: Sharing Intermediate Representations
abstract
IDL (Interface Description Language) is a practical and useful tool for controlling the exchange of structured data between different components of a large system. IDL is a notation for describing collections of programs and the data structures through which they communicate. Using IDL, a designer gives abstract descriptions of data structures, together with representation specifications that specialize the abstract structures for particular programs. A tool, the IDL translator, generates readers and writers that map between concrete internal representations and abstract exchange representations.
David Alex Lamb
ACM Trans. Program. Lang. Syst.1
1983 Simulation of Procedure Variables Using Ada Tasks
abstract
We give a technique for partially simulating procedure variables using Ada tasks. The simulation involves using interface tasks, a technique which may be useful for other problems.
David Alex Lamb, Paul N. Hilfinger
IEEE Trans. Software Eng.1
1981 Construction of a Peephole Optimizer
abstract
Abstract The design and construction of a peephole optimizer is described. The optimizer consists of a database of patterns, a translator that translates the patterns into an implementation language, and a pattern‐matcher skeleton into which the generated pattern code is inserted. it is argued that this three‐part split is a good way to approach the construction of certain kinds of programs.
David Alex Lamb
Softw. Pract. Exp.1