VLDB 2026 Research / reviewers in the wild / expert
Raymond J. A. Buhr
dblp:81/5537
· DBLP profile ↗
17ranked-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 · 12 · 7 first-authorSystems, architecture and hardware · 3 · 2 first-authorComputer networks · 3 · 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 · 75% Concurrent programming · 16% Program verification · 8% | |
| Computer architecture, parallel and distributed computing, and storage systems
3 papers |
Electronic design automation · 95% Embedded and real-time systems · 5% |
Topics — the 15 heaviest of 20, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Requirements engineering and software design
software architecture |
0.0 | 2 | 1998 | Use Case Maps as Architectural Entities for Complex Systems · IEEE Trans. Software Eng. 1998 Architectures with Pictures · OOPSLA 1992 |
Requirements engineering and software design › design process
scenario-based design |
0.0 | 1 | 1998 | Use Case Maps as Architectural Entities for Complex Systems · IEEE Trans. Software Eng. 1998 |
Requirements engineering and software design › object-oriented analysis and design
object-oriented design |
0.0 | 1 | 1994 | Timethread-Role Maps for Object-Oriented Design of Real-Time-and-Distributed Systems · OOPSLA 1994 |
Requirements engineering and software design › software architecture
architecture visualization |
0.0 | 1 | 1992 | Architectures with Pictures · OOPSLA 1992 |
Concurrent programming › concurrency bugs › deadlock
deadlock analysis |
0.0 | 1 | 1991 | Temporal Logic-Based Deadlock Analysis For Ada · IEEE Trans. Software Eng. 1991 |
Program verification
temporal logic verification |
0.0 | 1 | 1991 | Temporal Logic-Based Deadlock Analysis For Ada · IEEE Trans. Software Eng. 1991 |
Requirements engineering and software design
software design notation |
0.0 | 2 | 1994 | Timethread-Role Maps for Object-Oriented Design of Real-Time-and-Distributed Systems · OOPSLA 1994 Architectures with Pictures · OOPSLA 1992 |
Electronic design automation
hardware/software co-design |
0.0 | 1 | 1989 | Software CAD: A Revolutionary Approach · IEEE Trans. Software Eng. 1989 |
Electronic design automation › high-level synthesis
hardware compilation |
0.0 | 1 | 1985 | Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware Compilation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1985 |
Electronic design automation
hardware description language |
0.0 | 1 | 1985 | Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware Compilation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1985 |
Electronic design automation
high-level synthesis |
0.0 | 1 | 1985 | Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware Compilation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1985 |
Internet architecture and protocols › network architecture design
OSI reference model |
0.0 | 1 | 1983 | Evolving Toward Open System Interconnection · INFOCOM 1983 |
Data models and query languages › data modeling
network data model |
0.0 | 1 | 1977 | Validation Algorithms for Pointer Values in DBTG DataBases · ACM Trans. Database Syst. 1977 |
Programming languages and type systems
language design |
0.0 | 1 | 1985 | Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware Compilation · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 1985 |
Embedded and real-time systems
multitasking embedded system |
0.0 | 1 | 1985 | Experiments with Prolog Design Descriptions and Tools in CAEDE: An Iconic Design Environment for Multitasking, Embdedded Systems · ICSE 1985 |
Methods — techniques the papers use, named apart from their topics
scenario-based notation · 0.0prolog · 0.0visual paradigm · 0.0theorem proving · 0.0linear-time temporal logic · 0.0temporal analysis · 0.0set-theoretic models · 0.0proof trees · 0.0control/data-flow graph construction · 0.0protocol architecture evolution · 0.0typed pointer concept · 0.0sequential processing algorithms · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1999 | Use Case Maps for the Capture and Validation of Distributed Systems RequirementsabstractFunctional scenarios describing system views, uses, or services are a common way of capturing requirements of distributed systems. However, integrating individual scenarios in different ways may result in different kinds of unexpected or undesirable interactions. We present an innovative approach based on the combined use of two notations. The first one is a recent visual notation for causal scenarios called use case maps (UCMs), which is used to capture and integrate the requirements. Integrating UCMs together helps avoiding many interactions before any prototype is generated. The second notation is the formal specification language LOTOS. UCM scenarios are translated into high-level LOTOS specifications, which can be used to validate the requirements formally through numerous techniques, including functional testing based on UCMs. LOTOS possesses powerful testing concepts and tools that we use for the detection of remaining undesirable interactions. To illustrate these concepts, we use a simple connection example and results from the capture and the validation of several telephony features from the First Feature Interaction Contest. Daniel Amyot, Luigi Logrippo, Raymond J. A. Buhr, Tom Gray |
RE | 3 |
| 1998 | Use Case Maps as Architectural Entities for Complex SystemsabstractThe paper presents a novel, scenario based notation called Use Case Maps (UCMs) for describing, in a high level way, how the organizational structure of a complex system and the emergent behavior of the system are intertwined. The notation is not a behavior specification technique in the ordinary sense, but a notation for helping a person to visualize, think about, and explain the big picture. UCMs are presented as "architectural entities" that help a person stand back from the details during all phases of system development. The notation has been thoroughly exercised on systems of industrial scale and complexity and the distilled essence of what has been found to work in practice is summarized. Examples are presented that confront difficult complex system issues directly: decentralized control, concurrency, failure, diversity, elusiveness and fluidity of runtime views of software, self modification of system makeup, difficulty of seeing large scale units of emergent behavior cutting across systems as coherent entities (and of seeing how such entities arise from the collective efforts of components), and large scale. Raymond J. A. Buhr |
IEEE Trans. Software Eng. | 1 |
| 1996 | Understanding Large-Scale Behavior Patterns in Complex systemsabstractUnderstanding how a complex system works as a whole can be difficult because it requires blending information about structure and behaviour into a coherent whole that can be understood without reference to details of how its parts are constructed, behave internally, or interact. The problem is doubly difficult for software systems, because we do not know any good large-scale models of such systems to keep in the mind's eye. We have details in code files, low-level diagrams of software details (for example, class inheritance hierarchies), and system views of hardware environments, but these are not enough. We suggest that model of whole systems that we can diagram and hold in the mind's eye are so important for human understanding of complex systems of all kinds that, if they do not exist, they must be invented. Use case maps are an example of a model invented for this purpose. While use case maps were invented to deal with the problems of understanding software systems, they are useful for complex systems of all kinds. Raymond J. A. Buhr |
ICECCS | 1 |
| 1995 | Formal Support for Design Techniques: A Timethreads-LOTOS Approach
Daniel Amyot, Francis Bordeleau, Raymond J. A. Buhr, Luigi Logrippo |
FORTE | 3 |
| 1994 | Timethread-Role Maps for Object-Oriented Design of Real-Time-and-Distributed SystemsabstractObject-oriented design methods and notations do not adequately address the concerns of real-time-and-distributed (RTD) systems. Issues critical to such systems, like performance, robustness, and concurrency are not seriously considered until detailed design. We propose an object-oriented approach that allows RTD design issues to be considered before detailed design. The approach revolves around timethread-role maps that present composite pictures of concurrent, interacting, end-to-end responsibility paths through a system. It is related to responsibility-driven design approaches, but extended for RTD systems. The paper illustrates by example how timethread-role maps can be used to explore, compare and explain different organizations for achieving the paths. The paper also illustrates how timethread-role maps may be used to represent dynamic structure. Raymond J. A. Buhr, Ronald S. Casselman |
OOPSLA | 1 |
| 1993 | Pictures that Play: Design Notations for Real-time and Distributed SystemsabstractAbstract ‘Pictures that play’ are design diagrams that give enough visual cues to enable a person to trace causality sequences that cut across them, without referring to (or even knowing) the kind of details that would enable a tool to execute the design or to generate executable code. Playing design diagrams is particularly important while exploring alternative solutions during the early stages of designing all kinds of systems. It is done either by mentally tracing sequences across diagrams on paper or a computer screen, or physically tracing them on whiteboards with a pointer or finger during design meetings. Two complementary pictorial design notations are described and used together in an example to illustrate the concept of play and to show how to do it: timethreads, a new notation for causality sequences that cut across many components and across the system end‐to‐end, and machine charts, an older notation for architecture presented here from a new angle. These notations are specifically designed to support play during the design process, not just record the end result. The focus is on real‐time and distributed (RTD) systems, but the approach has wider applicability. Raymond J. A. Buhr |
Softw. Pract. Exp. | 1 |
| 1992 | Architectures with Picturesabstractarticle Architectures with pictures Share on Authors: Raymond J. A. Buhr View Profile , Ronald S. Casselman View Profile Authors Info & Claims ACM SIGPLAN NoticesVolume 27Issue 10Oct. 1992 pp 466–483https://doi.org/10.1145/141937.141973Online:31 October 1992Publication History 14citation395DownloadsMetricsTotal Citations14Total Downloads395Last 12 Months7Last 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 SiteGet Access Raymond J. A. Buhr, Ronald S. Casselman |
OOPSLA | 1 |
| 1991 | Using LOTOS in a Design Environment
Mark Vigder, Raymond J. A. Buhr |
FORTE | 2 |
| 1991 | Temporal Logic-Based Deadlock Analysis For AdaabstractA temporal logic-based specification language and deadlock analyzer for Ada is described. The deadlock analyzer is intended for use within Timebench, a concurrent system-design environment with support for Ada. The specification language, COL, uses linear-time temporal logic to provide a formal basis for axiomatic reasoning. The deadlock analysis tool uses the reasoning power of COL to demonstrate that Ada designs specified in COL are systemwide deadlock-free: in essence, it uses a specialized theorem prover to deduce the absence of deadlock. The deadlock algorithm is shown to be decidable for finite systems and acceptable otherwise. It is also shown to have a worst-case computational complexity that is exponential with the number of tasks. The analyzer has been implemented in Prolog. Numerous examples are evaluated using the analyzer, including readers and writers, gas station, five dining philosophers, and a layered communications system. The results indicate that analysis time is reasonable for moderate designs in spite of the worst-case complexity of the algorithm.> Gerald M. Karam, Raymond J. A. Buhr |
IEEE Trans. Software Eng. | 2 |
| 1990 | Starvation and Critical Race Analyzers for AdaabstractStarvation and critical race analysis tools for Ada designs are described. These tools are part of a temporal analysis toolset that includes an operational specification language, a language interpreter, and a deadlock analyzer for Ada. The starvation analyzer is based on a set-theoretic model of starvation. It uses a proof tree produced by the deadlock analyzer to define the possible computation space of the design. A preprocessing phase of the starvation tool optimizes the analysis so that the resulting analysis is efficient. Unlike livelock analysis in state machines, the starvation analyzer does not require a priori specification of home states to discern liveness. The critical race analysis tool provides semiautomatic proof of critical races by identifying nondeterministic rendezvous (races) from the proof tree generated by the deadlock analyzer, and then assisting the human operator in identifying which of these constitute critical races. Several design examples are used to demonstrate the capabilities of the two analysis methods.> Gerald M. Karam, Raymond J. A. Buhr |
IEEE Trans. Software Eng. | 2 |
| 1989 | Software CAD: A Revolutionary ApproachabstractA research project is described in which an experimental software CAD environment called the Carleton embedded system design environment (CAEDE), oriented toward embedded systems and Ada, was developed to provide a demonstration of the concept and to serve as a research testbed. The major contribution of CAEDE is a demonstration of a visual paradigm which combines semantic depth and syntactic shallowness, relative to Ada, in a manner that makes it possible for the embedded-system designer to work in terms of abstract machines while still thinking Ada. A secondary contribution is the identification of Prolog as a promising approach for supporting tool development in an environment which supports the visual paradigm. Also described are experimental tools for temporal analysis, performance analysis, and the generation of skeleton Ada code.> Raymond J. A. Buhr, Gerald M. Karam, Carol J. Hayes, C. Murray Woodside |
IEEE Trans. Software Eng. | 1 |
| 1985 | Experiments with Prolog Design Descriptions and Tools in CAEDE: An Iconic Design Environment for Multitasking, Embdedded Systems
Raymond J. A. Buhr, C. Murray Woodside, Gerald M. Karam, K. Van Der Loo, D. G. Lewis |
ICSE | 1 |
| 1985 | Applicability of a Subset of Ada as an Algorithmic Hardware Description Language for Graph-Based Hardware CompilationabstractThe requirements of an algorithmic level hardware description language can be met by a software language with only limited feature enhancement. This paper discusses the feasibility of using a subset of Ada as a hardware description language. Methods are presented for realizing the extra features required for hardware description within the syntax of Ada. This allows the compiled Ada program to act as a functional simulator. Our particular context for hardware description is as a source language for a hardware compiler. Rules are presented for translating a circuit described in the Ada subset onto a control/data-flow graph (CDFG), our intermediate level form. Emil F. Girczyc, Raymond J. A. Buhr, John P. Knight |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 2 |
| 1983 | Evolving Toward Open System Interconnection
Raymond J. A. Buhr, D. A. MacKinnon |
INFOCOM | 1 |
| 1982 | Object-Oriented Structured Design of Layered Protocol Systems
Raymond J. A. Buhr, S. Michell |
ICDCS | 1 |
| 1982 | MAILROOM: A computer-based message system model for person-to-person and process-to-process communication
Raymond J. A. Buhr, D. A. MacKinnon |
ICDCS | 1 |
| 1977 | Validation Algorithms for Pointer Values in DBTG DataBasesabstractThis paper develops algorithms for verifying pointer values in DBTG (Data Base Task Group) type databases. To validate pointer implemented access paths and set structures, two algorithms are developed. The first procedure exploits the “typed pointer” concept employed in modern programming languages to diagnose abnormalities in directories and set instances. The second algorithm completes pointer validation by examining set instances to ensure that each DBTG set has a unique owner. Sequential processing is used by both algorithms, allowing a straightforward implementation which is efficient in both time and space. As presented, the algorithms are independent of implementation schema and physical structure. D. A. Thomas, Bernard Pagurek, Raymond J. A. Buhr |
ACM Trans. Database Syst. | 3 |