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

Brent Hailpern

dblp:h/BrentHailpern · DBLP profile ↗
← Back
10ranked-venue papers
7as first author
0since 2021 · last 1992
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 3 first-authorComputer networks · 3 · 3 first-authorSystems, architecture and hardware · 2 · 1 first-author

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
Program verification · 55% Programming languages and type systems · 41% Concurrent programming · 4%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Distributed systems · 76% Performance modeling and evaluation · 15% High-performance computing · 9%
Computer networks
3 papers
Internet architecture and protocols · 60% Routing and switching · 40%
Network and information security
1 paper
Authentication and access control · 100%

Topics — the 18 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Distributed systems › distributed object systems
distributed object model
0.011992
An Object-Based Programming Model for Shared Data · ACM Trans. Program. Lang. Syst. 1992
Authentication and access control
access control
0.011990
Extending Objects to Support Multiple Interfaces and Access Control · IEEE Trans. Software Eng. 1990
Programming languages and type systems
object-oriented programming
0.011990
Extending Objects to Support Multiple Interfaces and Access Control · IEEE Trans. Software Eng. 1990
Programming languages and type systems
functional programming
0.011989
Comparing Two Functional Programming Systems · IEEE Trans. Software Eng. 1989
Program verification
concurrent program verification
0.021983
Modular Verification of Computer Communication Protocols · IEEE Trans. Commun. 1983
Modular Verification of Concurrent Programs · POPL 1982
Program verification
modular verification
0.021983
Modular Verification of Computer Communication Protocols · IEEE Trans. Commun. 1983
Modular Verification of Concurrent Programs · POPL 1982
Internet architecture and protocols
local area network
0.011985
ALAN: A (Circuit-Switched) Local Area Network · IEEE J. Sel. Areas Commun. 1985
Routing and switching › switching networks
non-blocking switching
0.011985
ALAN: A (Circuit-Switched) Local Area Network · IEEE J. Sel. Areas Commun. 1985
Program verification › model checking
finite-state verification
0.011985
A Simple Protocol Whose Proof Isn't · IEEE Trans. Commun. 1985
Program verification
protocol verification
0.011985
A Simple Protocol Whose Proof Isn't · IEEE Trans. Commun. 1985
Programming languages and type systems › object-oriented programming
encapsulation
0.011992
An Object-Based Programming Model for Shared Data · ACM Trans. Program. Lang. Syst. 1992
Program verification › temporal logic verification
safety and liveness verification
0.011982
Modular Verification of Concurrent Programs · POPL 1982
Program verification › temporal logic
temporal logic specification
0.011982
Modular Verification of Concurrent Programs · POPL 1982
Performance modeling and evaluation
benchmarking
0.011989
Comparing Two Functional Programming Systems · IEEE Trans. Software Eng. 1989
High-performance computing
cluster computing
0.011985
ALAN: A (Circuit-Switched) Local Area Network · IEEE J. Sel. Areas Commun. 1985
Internet architecture and protocols › protocol engineering
protocol correctness
0.011983
Modular Verification of Computer Communication Protocols · IEEE Trans. Commun. 1983
Concurrent programming › synchronization
monitors
0.011983
Script: A Communication Abstraction Mechanism · PODC 1983
Concurrent programming › synchronization
shared-memory synchronization
0.011983
Script: A Communication Abstraction Mechanism · PODC 1983

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

views mechanism · 0.0graph reduction · 0.0benchmarking · 0.0temporal logic · 0.0star topology · 0.0module specification · 0.0intelligent workstation nodes · 0.0history variables · 0.0finite-state-machine approach · 0.0abstract-program approach · 0.0enrollment of processes into roles · 0.0monotonic predicates · 0.0
YearPublicationVenuePosition
1992 An Object-Based Programming Model for Shared Data
abstract
The classical object model supports private data within objects and clean interfaces between objects, and by definition does not permit sharing of data among arbitrary objects. This is a problem for real-world applications, such as advanced financial services and integrated network management, where the same data logically belong to multiple objects and may be distributed over multiple nodes on the network. Rather than give up the advantages of encapsulated objects in modeling real-world entities, we propose a new object model that supports shared data in a distributed environment. The key is separating distribution of computation units from information-hiding concerns. Minimal units of data and control, called facets , may be shared among multiple objects and are grouped into processes . Thus, a single object, or information-hiding unit, may be distributed among multiple processes, or computation units. In other words, different facets of the same object may reside in different address spaces on different machines. We introduce our new object model, describe a motivating example from the financial domain, and then explain facets, objects, and processes, followed by timing and synchronization concerns.
Gail E. Kaiser, Brent Hailpern
ACM Trans. Program. Lang. Syst.2
1991 Dynamic reconfiguration in an object-based programming language with distributed shared data
abstract
An approach to dynamic reconfiguration in online distributed applications based on a data sharing model is presented. The data sharing model consists of facets, objects, and processes, with facets as the unit of sharing. The primary contribution of this work is the addition of important special cases of dynamic reconfiguration, without resorting to general dynamic allocation. A metaphor consistent with PROFIT's data sharing model for expressing dynamic reconfiguration facilities within the programming language is proposed.>
Brent Hailpern, Gail E. Kaiser
ICDCS1
1990 Extending Objects to Support Multiple Interfaces and Access Control
abstract
A mechanism, called views, that allows programmers to specify multiple interfaces for objects and to control explicitly access to each interface is described. This mechanism provides a simple and flexible means of specifying enforceable access restrictions at many levels of granularity. It also results in system organization that supports browsing based on a number of different criteria. Views is defined, some examples of its uses are given, the impact of views on system organization is discussed, and five approaches to implementing views are outlined.>
Brent Hailpern, Harold Ossher
IEEE Trans. Software Eng.1
1989 Comparing Two Functional Programming Systems
abstract
A technique is presented for comparing the performance of functional languages with different evaluation strategies running on different machines. A set of small benchmarks is used, and th execution times of these programs running in the functional language and in the implementation language of the functional system are compared. The ratio of these execution times measured how well the functional system used the resources of the underlying hardware and implementation language. Also two functional programming systems are described. One system is a graph reduction interpreter for lambda calculus. The other is a DEL-style intermediate instruction set architecture for FP. The benchmarks in FP and the performances of the two systems on these benchmarks are presented.>
Brent Hailpern, Tien Huynh, György E. Révész
IEEE Trans. Software Eng.1
1986 Script: A Communication Abstraction Mechanism and Its Verification
Nissim Francez, Brent Hailpern, Gadi Taubenfeld
Sci. Comput. Program.2
1985 ALAN: A (Circuit-Switched) Local Area Network
abstract
Our view is that people (that is, programmers and general computer users) tend to work together in small groups, where information and resources are shared freely within a group. Most interactions occur within the group (called a cluster)-sending messages, exchanging data, sharing a printer. Communication outside the cluster-sending mail to someone in another group or using a large number cruncher-is comparalively rare. Under this hypothesis, it is advantageous to optimize and simplify interactions within the group. This paper describes our attempt to design a cluster network based on a nonblocking crosspoint switch, which we call ALAN (a local area net). ALAN clusters are star-connected-with intelligent workstation nodes (PC's) at the points of the star, and the ALAN switch at the center.
Brent Hailpern, Andrew R. Heller, Lee W. Hoevel, Yannick J. Thefaine
IEEE J. Sel. Areas Commun.1
1985 A Simple Protocol Whose Proof Isn't
abstract
Aho, Ullman, and Yannakakis have proposed a set of protocols that ensure reliable transmission of data across an error-prone channel. They have obtained lower bounds on the complexity required of the protocols to assure reliability for different classes of errors. They specify these protocols with finite-state machines. Although the protocol machines have only a small number of states, they are nontrivial to prove correct. In this paper we present proofs of one of these protocols using the finite-state-machine approach and the abstract-program approach. We also show that the abstract-program approach gives special insight into the operation of the protocol.
Brent Hailpern
IEEE Trans. Commun.1
1983 Script: A Communication Abstraction Mechanism
abstract
In this paper, we introduce a new abstraction mechanism, called a script, which hides the low-level details that implement patterns of communication. A script localizes the communication between a set of roles (formal processes), to which actual processes enroll in order to participate in the action of the script. The paper discusses the addition of scripts to the languages CSP and Ada, as well as to a shared-variable language with monitors.
Nissim Francez, Brent Hailpern
PODC2
1983 Modular Verification of Computer Communication Protocols
abstract
Programs that implement computer communications protocols can exhibit extremely complicated behavior, and neither informal reasoning nor testing is reliable enough to establish their correctness. In this paper we discuss the application of modular program verification techniques to protocols. This approach is more reliable than informal reasoning, but has an advantage over formal reasoning based on finite-state models, the complexity of the proof need not grow unmanageably as the size of the program increases. Certain tools of concurrent program verification that are especially useful for protocols are presented, history variables that record sequences of input and output values, temporal logic for expressing properties that must hold in a future system state such as eventual receipt of a message), and module specification and composition rules. The use of these techniques is illustrated by verifying two data transfer protocols from the literature: the alternating bit protocol and a protocol proposed by Stenning.
Brent Hailpern, Susan S. Owicki
IEEE Trans. Commun.1
1982 Modular Verification of Concurrent Programs
abstract
Verifying concurrent systems can be difficult because of the complex interactions possible between system components. In this paper, we propose a technique to simplify the task: modular composition of sequential proofs. We model a parallel program as a set of modules that interact by procedure calls. The properties of each module are proved using a sequential-program verification technique. If the modules satisfy a set of constraints presented in this paper, we may compose the modules into a system and the properties of the modules into properties of the system. The constraints ensure that the specifications are robust for each module where they are defined or used, in the sense that they are unaffected by current actions of other modules. A specification can be guaranteed robust for module m by restricting it to local variables of m, or by using monotonic predicates, which once true remain true forever. Our technique can be used to prove safety and liveness properties of parallel programs---the liveness properties are specified using temporal logic.
Brent Hailpern, Susan S. Owicki
POPL1