William F. Appelbe

dblp:39/6804 · DBLP profile ↗
← Back
13ranked-venue papers
5as first author
0since 2021 · last 1993
—ORCID · none

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

Systems, architecture and hardware · 9 · 3 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorSecurity 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.

Computer architecture, parallel and distributed computing, and storage systems
4 papers
Distributed systems · 69% Parallel and multicore computing · 14% Storage systems · 6%
Network and information security
2 papers
Authentication and access control · 100%
Software engineering, system software, and programming languages
2 papers
Operating systems · 54% Programming languages and type systems · 46%

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

TopicWeightPapersLastEvidence papers
Authentication and access control
access control
0.011989
The Hierarchical Model of Distributed System Security · S&P 1989
Authentication and access control › access control models
access matrix model
0.011989
The Hierarchical Model of Distributed System Security · S&P 1989
Distributed systems
distributed system security
0.011989
The Hierarchical Model of Distributed System Security · S&P 1989
Distributed systems › concurrency control
serializability
0.011989
The Hierarchical Model of Distributed System Security · S&P 1989
Parallel and multicore computing
parallel scheduling
0.011986
Processor Scheduling for Linearly Connected Parallel Processors · IEEE Trans. Computers 1986
Storage systems › file systems › file system design
secure file systems
0.011989
The Hierarchical Model of Distributed System Security · S&P 1989
Operating systems › resource management › process management
CPU scheduling
0.011978
Scheduling Heuristics in a Multiprogramming Environment · IEEE Trans. Computers 1978
Operating systems › resource management › process management › CPU scheduling
multiprocessor scheduling
0.011978
Scheduling Heuristics in a Multiprogramming Environment · IEEE Trans. Computers 1978
Electronic design automation › high-level synthesis
scheduling
0.011978
Scheduling Heuristics in a Multiprogramming Environment · IEEE Trans. Computers 1978
Operating systems › resource management › storage management › file systems
file system design
0.011984
Encapsulation Constructs in Systems Programming Languages · ACM Trans. Program. Lang. Syst. 1984

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

state transition model · 0.0reachability proof · 0.0serializability theory · 0.0access matrix model · 0.0heuristic assignment · 0.0graph-theoretic modeling · 0.0language design evaluation · 0.0simulation · 0.0dispatching heuristic · 0.0directed graph task model · 0.0
YearPublicationVenuePosition
1993 Optimizing Parallel Programs Using Affinity Regions
abstract
Afinity regions ensure that a shared processor scheduling, mapping iterations to processors, is used in consecutive parallel loop nests. Using affinity regions can significantly improve locality of reference and hence the performance. This paper discusses the use and effectiveness of affinity regions.
William F. Appelbe, Balakrishnan Lakshmanan
ICPP (2)1
1991 PATCH - a new algorithm for rapid incremental dependence analysis
abstract
Dependenceanalysis is critical to tools for parallel programming such as compilers, parallelizers, and performance analyzers.Conventional algorithms and data structures for dependence analysis are complex and time consuming, requiring multiple passes.In addition, these algorithms cannot easily be adapted to incrementally recompute dependence after program modifications.In this paper we present a new approach to dependence analysis which computes dependence in linear time (no backtracking) with a low space overhead.The algorithm handles arbitrary, unstructured control flow and calls to subprograms whose dependence have not been analyzed, and can be extended to allow very rapid incremental dependence recomputation.The algorithms are currently being implemented in PAT, a portable parallelization tool.
William F. Appelbe, Kevin Smith 0002, R. E. Kurt Stirewalt
ICS1
1990 Incremental dependence analysis for interactive parallelization
abstract
Incrementally updating dependence information during interactive parallelization is a difficult proposition. We have developed a tool (PAT) that maintains dependence information during incremental transformations to a Fortran program, including loop parallelization, code replication, alignment and shifting, as well as insertion and deletion of code including parallel primitives. Our analysis is based on a variation on the standard approach to dependence graph generation, with program wide and local information separated in a sequential and a parallel dependence graph.
Kevin Smith 0002, William F. Appelbe, R. E. Kurt Stirewalt
ICS2
1990 A Formal Protection Model of Security in Centralized, Parallel, and Distributed Systems
abstract
One way to show that a system is not secure is to demonstrate that a malicious or mistake-prone user or program can break security by causing the system to reach a nonsecure state. A fundamental aspect of a security model is a proof that validates that every state reachable from a secure initial state is secure. A sequential security model assumes that every command that acts as a state transition executes sequentially, while a concurrent security model assumes that multiple commands execute concurrently. This paper presents a security model called the Centralized-Parallel-Distributed model (CPD model) that defines security for logically, or physically centralized, parallel, and distributed systems. The purpose of the CPD model is to define concurrency conditions that guarentee that a concurrent system cannot reach a state in which privileges are configured in a nonsecure manner. As an example, the conditions are used to construct a representation of a distributed system.
Glenn S. Benson, Ian F. Akyildiz, William F. Appelbe
ACM Trans. Comput. Syst.3
1989 Interactive conversion of sequential to multitasking FORTRAN
abstract
Fully automated compilation of sequential Fortran to efficient multitasking code is impractical; tools need to be developed to aid users in interactively converting sequential to multitasking Fortran. This paper reports on experience using an interactive Parallelizing Assistant Tool (PAT) to convert sequential Fortran applications (ranging from short benchmarks to large application programs) to Cray microtasking Fortran, and discusses the advantages and limitations of interactive parallelization. We also introduce a taxonomy of task parallelization.
Kevin Smith 0002, William F. Appelbe
ICS2
1989 The Hierarchical Model of Distributed System Security
abstract
A description is given of the hierarchical model (HM), an access matrix-based model used to define nondisclosure in distributed multilevel secure applications such as secure file systems, secure switches, and secure upgrade downgrade facilities. The HM explicitly encodes access rights, synchronization primitives, and indirection in its state matrix. Serializability of concurrent commands is formally defined in terms of the HM syntactic model of computation. HM serializability conditions are independent of the semantic security predicate. Finally, an example that illustrates the HM is presented.>
Glenn S. Benson, William F. Appelbe, Ian F. Akyildiz
S&P2
1988 The Clouds Distributed Operating System
abstract
A description is given of Clouds, an operating system designed to run on a set of general-purpose computers that are connected via a medium-to-high-speed local area network. The structure of Clouds promotes transparency, support for advanced programming paradigms, and integration of resource management, as well as a fair degree of autonomy at each site. The system structuring paradigm chosen for Clouds is an object/thread model. All instances of services, programs, and data in Clouds are encapsulated in objects. The concept of persistent objects does away with the need for file systems, replacing it with a more powerful concept, namely, the object system. The facilities in Clouds include integration of resources by location transparency; support for various types of atomic operations, including conventional transactions; advanced support for achieving fault tolerance; and provisions for dynamic reconfiguration.>
Partha Dasgupta, Richard J. LeBlanc, William F. Appelbe
ICDCS3
1988 PAT : An Interactive Fortran Parallelizing Assistant Tool
Kevin Smith 0002, William F. Appelbe
ICPP (2)2
1987 Real-time Interrupt Handling in Ada
abstract
Abstract The Ada† programming language defines the semantics of interrupt handling as part of the tasking mechanism, making it possible to construct implementation‐independent interrupt handlers. However, for the Ada mechanism to be effective, an implementation must provide support not specified by the Ada standard, such as for initializing hardware interrupting devices, handling unexpected interrupts and optimizing for real‐time performance constraints. This paper analyses some of the constraints that efficient interrupt support places on an implementation. It develops a model for the interaction between interrupt hardware and Ada tasks and describes optimizations for Ada interrupt handlers. Implementation issues, including task priorities and task termination for interrupt handlers, are discussed in detail.
Jørgen Born Rasmussen, William F. Appelbe
Softw. Pract. Exp.2
1986 Processor Scheduling for Linearly Connected Parallel Processors
abstract
A low-level parallel processor (LLPP) is one in which two or more machine-level operations are executed in parallel. This paper analyzes the use of linearly connected LLPP's for parallel evaluation of program fragments. A graph-theoretic model is presented which describes the communication constraints of linearly connected parallel processors. A tight, necessary condition for finding assignments of program fragments to linearly connected LLPP's that require no communication delays is presented. Also, several weak sufficient conditions have been found and efficient heuristics for determining optimal assignments have been developed.
Charles E. McDowell, William F. Appelbe
IEEE Trans. Computers2
1985 A Survey of Systems Programming Languages: Concepts and Facilities
abstract
Abstract In recent years, high‐level programming languages have evolved specifically for systems programming. In this paper, systems programming languages are surveyed to find common characteristics and individual differences and limitations of a number of current languages, including Ada, Concurrent Pascal, CLU, Pascal‐Plus, Modula‐2, Mesa, Edison, PLZ/SYS and C. The survey is based on the following classification of systems programming concepts and facilities: types, sequential control, concurrency, encapsulation, environment specifications and programming support environments.
William F. Appelbe, Klaus Hansen
Softw. Pract. Exp.1
1984 Encapsulation Constructs in Systems Programming Languages
abstract
This paper investigates the desirable properties of programming language constructs that support encapsulation of environments and abstract data types.These properties are illustrated by using a simple multiuser file system as a model.The requirements for such a file system are outlined; then the model file system design is described by a hierarchy of encapsulated abstract data types and environments.The high-level language constructs necessary to directly implement the model file system design are identified.It is concluded that environment encapsulation and abstract data types must be supported by different constructs, and the desirable properties of such constructs are outlined.A superset of Ada e that effectively supports both environments and abstract data types is introduced and used to implement the model file system.The encapsulation constructs of several modern systems programming languages are evaluated.Each of these languages is shown to be insufficient for a direct implementation of the model file system design.
William F. Appelbe, Anders P. Ravn
ACM Trans. Program. Lang. Syst.1
1978 Scheduling Heuristics in a Multiprogramming Environment
abstract
Utilization of a uniprocessor system in a multiprogramming environment can be optimized by maximizing the overlap of processor and input-output operations. A computational process can be modeled by a directed graph each node of which represents a task comprising processor and input-output segments. Any optimal schedulng algorithm for the model cannot be polynomially bounded, but the optimal criteria can be used to develop a hierarchy of dispatching heuristics based upon selecting an optimal partial task schedule. These heuristics are analyzed and evaluated by a simulation study and are shown to be more effective than those previously proposed. The dispatching heuristics developed have a wide range of potential applications to systems requiring dynamic task scheduling.
William F. Appelbe, Mabo Robert Ito
IEEE Trans. Computers1