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

Howard A. Sholl

dblp:s/HowardASholl · DBLP profile ↗
← Back
26ranked-venue papers
8as first author
0since 2021 · last 2008
—ORCID · none

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

Applied, interdisciplinary, general and emerging computing · 9 · 3 first-authorSystems, architecture and hardware · 8 · 3 first-authorHuman-computer interaction and ubiquitous computing · 5 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorComputer networks · 3

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
8 papers
Performance modeling and evaluation · 33% Parallel and multicore computing · 31% Embedded and real-time systems · 16%

Topics — the 17 heaviest of 20, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Embedded and real-time systems
distributed real-time systems
0.011989
Software Partitioning for Distributed, Sequential, Pipelined Applications · IEEE Trans. Software Eng. 1989
Performance modeling and evaluation › queueing models
queueing network model
0.011989
Software Partitioning for Distributed, Sequential, Pipelined Applications · IEEE Trans. Software Eng. 1989
Parallel and multicore computing
software partitioning
0.011989
Software Partitioning for Distributed, Sequential, Pipelined Applications · IEEE Trans. Software Eng. 1989
Electronic design automation › logic synthesis
sequential circuit synthesis
0.021980
Theory and Design of Mixed-Mode Sequential Machines · IEEE Trans. Computers 1980
Direct Transition Memory and its Application in Computer Design · IEEE Trans. Computers 1974
Parallel and multicore computing
parallel computation models
0.011991
Micro Time Cost Analysis of Parallel Computations · IEEE Trans. Computers 1991
Processor architecture and microarchitecture › multiprocessor architecture
multimicroprocessor system
0.011982
A Multimicroprocessor System for Real-Time Classification of Railroad Track Flaws · IEEE Trans. Computers 1982
Parallel and multicore computing
parallel computing
0.011982
A Multimicroprocessor System for Real-Time Classification of Railroad Track Flaws · IEEE Trans. Computers 1982
Parallel and multicore computing › parallel programming models › automatic parallelization
parallelism extraction
0.011982
An Expression Model for Extraction and Evaluation of Parallelism in Control Structures · IEEE Trans. Computers 1982
Parallel and multicore computing
parallel programming models
0.011982
An Expression Model for Extraction and Evaluation of Parallelism in Control Structures · IEEE Trans. Computers 1982
Embedded and real-time systems › real-time AI systems › real-time inference
real-time classification
0.011982
A Multimicroprocessor System for Real-Time Classification of Railroad Track Flaws · IEEE Trans. Computers 1982
Electronic design automation
logic synthesis
0.021975
Design of Asynchronous Sequential Networks Using READ-ONLY Memories · IEEE Trans. Computers 1975
Direct Transition Memory and its Application in Computer Design · IEEE Trans. Computers 1974
Processor architecture and microarchitecture
microprogramming
0.021975
Design of Asynchronous Sequential Networks Using READ-ONLY Memories · IEEE Trans. Computers 1975
Direct Transition Memory and its Application in Computer Design · IEEE Trans. Computers 1974
Memory systems › non-volatile memory
read-only memory
0.011975
Design of Asynchronous Sequential Networks Using READ-ONLY Memories · IEEE Trans. Computers 1975
Performance modeling and evaluation › software performance engineering
software performance modeling
0.011975
Software Performance Modeling Using Computation Structures · IEEE Trans. Software Eng. 1975
Performance modeling and evaluation › performance prediction
parallel program performance prediction
0.011982
An Expression Model for Extraction and Evaluation of Parallelism in Control Structures · IEEE Trans. Computers 1982
Integrated circuit design
digital circuit design
0.021975
Design of Asynchronous Sequential Networks Using READ-ONLY Memories · IEEE Trans. Computers 1975
Direct Transition Memory and its Application in Computer Design · IEEE Trans. Computers 1974
Integrated circuit design
asynchronous circuit design
0.011975
Design of Asynchronous Sequential Networks Using READ-ONLY Memories · IEEE Trans. Computers 1975

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

simulation · 0.0analytic modeling · 0.0queueing network approximation · 0.0branch-and-bound · 0.0tree-structured pipeline · 0.0probabilistic grammars · 0.0finite state procedures · 0.0computation structures model · 0.0ROM implementation · 0.0self-clocked mode · 0.0
YearPublicationVenuePosition
2008 High-Speed, Real-Time, Ultrasonic Anomaly Surface Profiling for Rail Inspection Applications
Howard A. Sholl, Reda A. Ammar, Saleh Ibrahim
CAINE1
2005 Application of Object Oriented Performance Model To Aspects of a Health Care Management System
Amal Abdel-raouf, Reda A. Ammar, Howard A. Sholl
CAINE3
2005 Practical Methods for Deadline Scheduling using Process Residual Time
Sarah Tasneem, Howard A. Sholl, Reda A. Ammar
CAINE2
2005 Using Residual Times to Meet Deadlines in M/G/C Queues
abstract
In systems where job service demands are only known probabilistically, there is very little to distinguish between jobs. Therefore, no universal optimum scheduling strategy or algorithm exists. If the distribution of job times is known, then the residual time (expected time remaining for a job), based on the service it has already received, can be calculated. In a detailed discrete event simulation, we have explored the use of this function for increasing the probability that a job will meet its deadline. We have tested many different distributions with a wide range of sigma2and shape, four of which are reported here. We compare with RR and FCFS, and find that in all distributions studied our algorithm performs best. We also studied the use of two slow servers versus one fast server, and have found that they provide comparable performance, and in a few cases the double server system does better
Sarah Tasneem, Lester Lipsky, Reda A. Ammar, Howard A. Sholl
NCA4
2004 A methodology to compute task remaining execution time
abstract
Scheduling can require analyzing not only the total computation time of a task, but also the remaining execution time, R(t)/sub /spl Delta/t/, after accumulated time /spl Delta/t. Often a software program's execution time is characterized by a single value (mean). When scheduling is based on partial execution (a common scenario in multimedia systems) a more accurate estimation of remaining time (R(t)/sub /spl Delta/t/) is desired than can be obtained from just the initial mean value, in order to have effective scheduling decisions. The remaining time approach can provide more accurate estimation, and therefore more effective scheduling, in time-sensitive situations. We developed an analytical model for computing expected remaining execution time, (R(t)/sub /spl Delta/t/)~ , of software programs from their execution time and probability distributions. To implement the equations, we further designed an algorithm that computes (R(t)/sub /spl Delta/t/)~ for operating system scheduling applications. We proved that the real time execution complexity of the algorithm is O(1) and is, therefore, independent of the size of the distribution. Our method of more accurate estimate of (R(t)/sub /spl Delta/t/)~ implies expect better scheduling performance in applications where remaining execution time is used, especially in CPU scheduling.
Sarah Tasneem, Reda A. Ammar, Howard A. Sholl
ISCC3
2003 Performance-Based Modeling for Object-Oriented Software
Amal Abdel-raouf, Reda A. Ammar, Howard A. Sholl, Tahany A. Fergany
CAINE3
2002 Performance Modeling of a Power Management/Control System
Howard A. Sholl, Reda A. Ammar, Ahmed M. Mohamed
CAINE1
2001 A Framework for Designing Performance-Oriented Distributed Systems
abstract
A methodology and related software design environment for the development of performance-engineered object-oriented distributed systems is essential. In this research, a performance-engineered design framework that utilizes the system architecture and object-oriented software design techniques of the Unified Modeling Language (UML) and the architecture of the Hierarchical Performance Model (HPM) is developed to assist designers in evaluating alternatives for performance enhancement. The developed framework integrates the architectural, structural and behavioral components of an application with the performance parameters required for performance model generation and evaluation during the software design process. Performance views for the presentation of performance information and selection of critical path scenarios along with an example are briefly described.
Debra L. Smarkusky, Reda A. Ammar, Howard A. Sholl
ISCC3
2000 Hierarchical Performance Modeling for Distributed System Architectures
abstract
Performance modeling and evaluation techniques are essential when designing and implementing distributed software systems. Constructing performance models for such systems can require significant effort. This paper presents Hierarchical Performance Modeling as a technique to model performance for different layers of abstraction. Once the system architecture and software functionality have been specified, this model supports performance model generation for the evaluation and analysis of computation delays of software processes, communication delays of distributed software architectures, and hardware platform alternatives. A simplified example is presented to illustrate the concepts of the Hierarchical Performance Model.
Debra L. Smarkusky, Reda A. Ammar, Imad Antonios, Howard A. Sholl
ISCC4
1991 Approximations of the mean resequencing waiting time in M/GI/c systems
abstract
The problem of obtaining approximate formulas for mean resequencing waiting times of M/GI/c queueing systems is considered. Two assumptions, commonly used in the study of M/GI/c systems, to derive the formulas are adopted. The formulas are quite accurate and the accuracy increases as c becomes larger. The relative differences between simulation results and the ones calculated by the formulas are below 4%, even for larger server utilization ( rho ). For small rho , the differences are below 1%. Both small rho , the differences are below 1%. Both numerical and simulation results indicate that when the squared coefficient of variation of service time distribution is greater than 1, the mean resequencing waiting time is likely to be very large.>
Yiping Ding, Howard A. Sholl, Lester Lipsky
ICDCS2
1991 Micro Time Cost Analysis of Parallel Computations
abstract
The authors investigate the modeling and analysis of time cost behavior of parallel computations. It is assumed parallel computations reside in a computer system in which there is a limited number of processors, all the processors have the same speed, and they communicate with each other through a shared memory. It has been found that the time costs of parallel computations depend on the input, the algorithm, the data structure, the processor speed, the number of processors, the processing power allocation, the communication, the execution overhead, and the execution environment. The authors define time costs of parallel computations as a function of the first seven factors as listed. The computation structure model is modified to describe the impact of these seven factors on time cost. Techniques based on the modified computation structure model are developed to analyze time cost. A software tool, TCAS (time cost analysis system), that uses both the analytic and the simulation approaches is designed and implemented to aid users in determining the time cost behavior of their parallel computations.>
Howard A. Sholl, Reda A. Ammar
IEEE Trans. Computers2
1990 A Tool to Minimize the Time Costs of Parallel Computations Through Optimal Processing Power Allocation
abstract
Abstract In this paper, we present a software system, OPAS (Optimal Allocation System), that incorporates the optimal allocation policy in the analysis of the time‐cost behaviour of parallel computations. OPAS assumes that the underlying system which supports the executions of parallel computations has a finite number of processors, that all the processors have the same speed and that the communication is achieved through a shared memory. OPAS defines the time cost as a function of the input, the algorithm, the data structure, the processor speed, the number of processors and the processing power allocation. In analysing the time cost of a computation, OPAS first uses the optimal allocation policy that we developed previously to determine the amount of processing power each node receives and then derives the computation's time cost. OPAS can evaluate different time‐cost behaviours, such as the minimum time cost, the maximum time cost, the average time cost and the time‐cost variance. It can also determine the speed‐up and efficiency, and plot the time‐cost curve and time‐cost distribution.
Howard A. Sholl, Reda A. Ammar
Softw. Pract. Exp.2
1989 A computation-oriented program experimentation system (COPES)
abstract
A software experimental analysis approach that unifies static and dynamic techniques is presented. The goal was to develop practical means to obtain precise, in-depth, and relevant performance information, especially execution time, for guiding design decisions. First, computation cost functions of a program are derived. This is done by modeling the program using the computation structure model and then applying a flow analysis technique to derive the program's cost function. In addition, program instrumentation techniques are employed to measure control flows and to trace program variables. Finally, precise execution-time information is computed by evaluating the cost function against the measured control flows. The three classes of parameters (execution time, control flow and program variables) can be analyzed selectively and interactively; this gives much insight about an individual design alternative's actual behavior. To cope with tedious and frequent analyses of large and complex software, a tool COPES, was built that automates the static and dynamic techniques required. The implementation and usage of this tool are illustrated.>
Reda A. Ammar, Hermes Law, Howard A. Sholl
SMC3
1989 An architecture assessment environment for massively parallel computations
abstract
An architecture assessment environment is proposed for the design and performance evaluation of massively parallel real-time systems. Included are the major inherent phases of design activity and performance analysis that are implicit in the real-time design process. The major contribution is the definition of a comprehensive methodology and corresponding software support tools to allow and assist a designer in his/her development and assessment of parallel real-time systems. Included in the formulation is the ability to specify either homogeneous or heterogeneous hardware architectures, and to provide a basis for determining performance estimates early in the design process which could allow and direct intelligent design decisions. In addition, the methodology presented can be used to support the entire system life-cycle.>
Reda A. Ammar, Howard A. Sholl, Lester Lipsky, Jose Munoz
SMC2
1989 Determination of parallel software organizations for performance-constrained and connectivity-constrained distributed systems
abstract
The process connectivity constraints and the resulting impact on the computation structure are considered. Within these constraints, an approach is presented for restructuring a set of subtasks with precedence constraints and stochastic properties into alternative parallel structures that can be scheduled in parallel distributed systems. A queuing model is used to evaluate the module response time and its resource cost. This model takes into consideration both the communication and the synchronization delays. Finally, an algorithm for determining feasible schedules (that meet designer performance constraints) in order of minimum resource cost is developed.>
Tahany A. Fergany, Howard A. Sholl
SMC2
1989 Using HyperCard to rapidly prototype human-computer interfaces to CASE systems
abstract
HyperCard is an object-oriented, graphic programming language developed by Apple Computer Inc. for its Macintosh computers. A description is given of the use of HyperCard in the development of prototype human-computer interfaces for CASE systems. Direct manipulation creating static graphic components and artificial delays, are discussed.>
Howard A. Sholl, Reda A. Ammar, William S. Weiss
SMC1
1989 A Model to Predict the Average Response Time of User Programs
Howard A. Sholl, Reda A. Ammar
Perform. Evaluation2
1989 Software Partitioning for Distributed, Sequential, Pipelined Applications
abstract
Investigation into real-time performance analysis and allocation of system resources to meet throughout and response time requirements has resulted in a proposed methodology for structuring software for real-time distributed systems. A queueing network model is used to estimate real-time performance for alternative software partitions, and those partitions which can satisfy user performance requirements while requiring minimal resources are determined. The current work is limited to feed-forward, pipelined structures. Partition blocks are formed by merging user-specified modules, and the required processing power to meet user requirements is then determined. A two queue model, representing module service and communications, is analyzed using queueing network approximation. The results show that the optimal solution set can be determined using a branch and bound approach. An example of the application of the results to a real system is provided. The results have been implemented as a user-interactive software structuring tool.
Venkatraman R. Iyer, Howard A. Sholl
IEEE Trans. Software Eng.2
1988 RTS: A System to Simulate the Real Time Cost Behaviour of Parallel Computations
abstract
Abstract In this paper, we present a software tool, RTS (real time simulator), that analyses the time cost behaviour of parallel computations through simulation. It is assumed in RTS that the computer system which supports the executions of parallel computations has a limited number of processors all processors have the same speed and they communicate with each other through a shared memory. In RTS, the time cost of a parallel computation is defined as a function of the input, the algorithm, the data structure, the processor speed, the number of processors, the processor power allocation, the communication and the execution environment. How RTS models the time cost is first discussed in the paper. In the model, a locking technique is used to manipulate the access to the shared memory, processing power is equally allocated among all the operations that are currently being performed in parallel in the computer system, and the number of operations in the execution environment of a parallel computation changes from time to time. How RTS works and how the simulation is used to do time cost analysis are also discussed.
Howard A. Sholl, Reda A. Ammar
Softw. Pract. Exp.2
1982 A Multimicroprocessor System for Real-Time Classification of Railroad Track Flaws
abstract
A multiple microprocessor system is described which was developed for real-time detection and classification of railroad track flaws. Multiple processors were necessary to achieve the desired test vehicle velocity while maintaining the desired density (rate) of testing. The system is organized logically as a tree-structured pipeline of processing stages where the effective data rate from data input toward classification decision output is successively reduced as processing function potential is increased. A corresponding partitioning of the pattern recognition process was organized as a set of hierarchies, where successive patterns are modeled as regular probabilistic grammars and their recognizers implemented as finite state procedures. Interprocessor communications was achieved using shared (2-port) memories. A system prototype was designed and implemented, using real-time data from earlier work to ensure a performance level equivalent to a vehicle velocity of 40 km/h. The resulting system, while applied to a railroad track problem, is applicable to other real-time environments, with suitable parameterization.
Howard A. Sholl, Kevin Morris, James Norris
IEEE Trans. Computers1
1982 An Expression Model for Extraction and Evaluation of Parallelism in Control Structures
abstract
In the last few years advancements in VLSI technology have brought about practical research consideration of distributed computer system applications. A significant question is, "What potential improvements may be expected in an algorithm when its control structure is altered to maximize its internal parallelism?" This paper develops a general model for this area based on computation structures, defines algorithms to extract parallelism, and examines an experimental test set of programs in PL/1 to assess their potential performance improvement in expected execution time.
Martin C. Wei, Howard A. Sholl
IEEE Trans. Computers2
1980 Theory and Design of Mixed-Mode Sequential Machines
abstract
A mixed mode sequential machine (MSM) is defined as a representation in which both synchronous (clocked) and asynchronous (unclocked) state transitions are allowed. The intent of the representation is to allow designers to consider both types of transitions in a single structure, thereby promoting the use of LSI devices such as ROM's or PLA's to resolve the realization question. The approach is thus different from conventional design methods, in which asynchronous problems are treated separately with separate devices. The problems of state reduction, state assignment, and realization are covered. Of particular note is the development of a ROM implementation, which allows both clocked and unclocked transitions to occur.
Bulent I. Dervisoglu, Howard A. Sholl
IEEE Trans. Computers2
1975 Design of Asynchronous Sequential Networks Using READ-ONLY Memories
abstract
The application of microprogrammed READ-ONLY memories in the design of asynchronous sequential networks is investigated. Variations of single-transition time (STT) state assignments are shown to be applicable to the problem of assigning memory addresses to a memory representation of an asynchronous network. Design algorithms are developed which allow the implementation of an asynchronous sequential network as a READ-ONLY memory. Two operating modes are considered: normal asynchronous operation and a self-clocked mode in which sequential outputs are allowed on a single-input change, thus providing a means of implementing functions normally achieved with synchronous (clocked) networks. In addition the practical timing constraints of the proposed methods are considered.
Howard A. Sholl, Shou-Chung Yang
IEEE Trans. Computers1
1975 Software Performance Modeling Using Computation Structures
abstract
An engineering-oriented performance model of a computation is developed by extending the concept of a computation structure to cover the performance costs appropriate to software modelling. The model allows both serial and parallel (multiprocessor) configurations,and the evaluation of both time space parameters for alternate realizations. A brief discussion on the use of the model as a mechanism to guide the performance optimisation of programs is included.
Howard A. Sholl, Taylor L. Booth
IEEE Trans. Software Eng.1
1974 Direct Transition Memory and its Application in Computer Design
abstract
This paper investigates a potential application of microprogrammable memories to the problem of sequential network synthesis and computer design. It is shown that by allowing a controllable amount of memory redundance, a microprogrammed emulation of a state table can be organized such that decision branches in the microprogram are achieved in an immediate multiport manner, without the need of additional branch steps in the microprogram, thus increasing operational speed. A design technique is developed which, for a given state table, allows a minimum number of memory address variables to be used while minimizing the dependence of the variables on both the input and current state information. This technique has immediate practical application in the design of sequential networks, and is shown to be feasible in the controller design of a general purpost computer.
Howard A. Sholl
IEEE Trans. Computers1
1972 Modeling of an Operator's Performance in a Short-Term Visual Information Processing Task
abstract
A predictive model is presented that represents the human as an information processor by mathematically simulating the results of past psychological research in choice reaction time, memory storage/ retrieval, and perceptual information processing. Both discrimination and identification tasks are characterized by ideal decisions with additive Gaussian noise. In an information processing task both presented and stored information are processed using a sequential dimensional procedure to identify a presented stimulus. This technique is shown to produce a logarithmic variation in response time as a function of the number of stimuli being presented. The model's simulation of a three-dimensional visual identification task was compared with the experimental results of three subjects. The equipment used consisted of a computer-controlled discrete dot display; the dimensions used were horizontal and vertical extent and the percentage of dots present in a given area. It was found that the simulation reflected the subjects' behavior in both decision accuracy and response time for different sets of a priori probabilities.
Howard A. Sholl
IEEE Trans. Syst. Man Cybern.1