Delbert Hart
University of Alabama in Huntsville
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Delbert Hart.
international parallel processing symposium | 1997
Delbert Hart; Eileen Kraemer; Gruia-Catalin Roman
Program understanding is central to the development of distributed computations, from the initial coding phase, through testing and debugging, to maintenance and support. Our goal is to support programmers unfamiliar with a particular distributed computation in developing a reasonable understanding of the workings of a program, without requiring that they examine the details of the code itself. Toward, this goal, we propose query based visualization, a novel exploratory approach to understanding distributed computations. The key features of the approach are the use of queries as a device for searching the state space, visual presentation techniques adapted from program animation, and the ability to navigate through the state space using visual interactions. All views correspond to globally consistent snapshots of the computation. A working prototype demonstrates the technical feasibility of the approach.
adaptive agents and multi-agents systems | 2001
Delbert Hart; Mihail Eduard Tudoreanu; Eileen Kraemer
Mobile agents can be employed to help a system adapt to diverse conditions and provide functionality that would otherwise be cumbersome and perhaps in-feasible. The benefits of mobile agents though are not without their own costs in performance and complexity. This paper gives an overview of our work in determining when mobile agents are appropriate for monitoring distributed applications. The high degree of variability resulting from the interaction between the users, applications, and the computing environment makes succinct descriptions of when mobile agents are appropriate very difficult. Our approach has been to identify the basic classes of variables in the evaluation formula and then to perform empirical tests to identify which aspects of the various components has the greatest impact. These results will then be used to identify guidelines as to when mobile agents are advantageous for the monitoring of distributed systems.
ACM Sigsoft Software Engineering Notes | 2000
Gruia-Catalin Roman; Delbert Hart; Eileen Kraemer
We have collected, and continue to collect, data from indust ry on actual processes used and experiences with software reuse. This data is collected and then presented on the web in a s tandard form based on a validated model. The web site also provides interface tools to allow users to describe their own environment and objectives and to receive the data corresponding to the recorded projects that best match the profile. Work such as this can be of great value for developers who are under increasing economic pressure to avoid building each new system anew from the ground up. It is also of value to the research community as an empirical basis for the validation of claims and methods related to software reuse.
acm southeast regional conference | 2004
Tobin Jackson; Delbert Hart
The confidentiality of a distributed computation can be compromised if trust in the client machines cannot be assured. Strategically placed decoy data can provide a measure of confidentiality to a distributed computation by overwhelming an attacker with the combinatorial problem of differentiating live data from decoy data. This paper explores the nature of using decoy data in general and considers the particular problem of using data decoys to provide confidentiality in a matrix multiplication distributed computation.
acm southeast regional conference | 2004
M. Eduard Tudoreanu; Delbert Hart
The benefits of information visualization may be increased by adding a visual representation of the data-to-graphics encoding employed in the visualization. This paper introduces interactive legends that provide both an economical format for conveying a mapping and a widget through which the mapping can be adjusted by users. The explicit representation of the visual encoding creates an environment in which the user can focus cognitive resources on understanding the displayed data rather than on making sense of how the visualization is organized. Legend keys also promote a continuous style of interaction that allows users to adjust the appearance of the observed data according to their understanding and interest. We show the flexibility of legend keys by using them to query the information based on the properties of interest and to focus the presentation on the objects and properties relevant to the current task.
measurement and modeling of computer systems | 1998
Delbert Hart; Eileen Kraemer
Distributed systems present many challenges in their design and operation. Two of these challenges, the monitoring and steering of distributed systems, can be effectively addressed through the use of visualization. Monitoring can create displays that help the user understand the behavior of the computation. Steering is useful for experimenting with and tuning both application and system parameters. Tools for monitoring and steering need an expressive and flexible means of specifying what is to be monitored and how the computation should be steered. An agent-based framework can provide a uniform means for both monitoring and steering an application. Such a framework would also provide a flexible and dynamic mechanism for distributing the monitoring and steering of an application. We investigate the use of agents in the context of our previous work on monitoring using exploratory visualization. An exploratory visualization environment allows the user to dynamically change the monitoring and visualization of a computation to suit his current interests. Exploratory visualization assumes a locality principle is present in a user’s quest for understanding: that during an exploratory session a user will have a specific goal in mind and will systematically move toward that goal. The user proceeds towards that, goal by changing what he is monitoring (through queries of the system), how he views the system (through visualizations), and by interacting with the computation (by submitting steering commands). Changes in the query being used can modify either what data is collected from the processes or how often and when the information is collected. Any number of visualizations can be utilized by the user concurrently to view the application. A challenge of monitoring and steering distributed computations is ensuring the accuracy of the visualizations created and the correct application of steering commands. Our approach to addressing this challenge has been to view the computation as consisting of a set of logical actions that can be seen as if they had occurred atomically, referred to as transactions. Showing actions that correspond to the logical construction of the application as occurring atomically simplifies and enhances the presentation of the computation to the viewer. For steering, transaction boundaries also represent good locations at which to apply changes. Additionally, transactions can be nested within one another, allowing the user to choose at runtime the level of detail at which to view the computation. The exploratory approach is very dynamic in its nature. A mechanism to support it should be flexible, light-weight, powerful and adaptable. An agent-based framework can meet these criteria [HKR98]. There are two aspects to our use of agents to support exploratory monitoring and steering. The first is to develop a powerful and flexible underlying architecture. Then, out, of these basic building blocks, agent libraries will be created to provide a higher level services to the user. The purpose of the higher level libraries of agents will be to facilitate the translation of interactions with the visualizations into monitoring and steering actions. An agent contains both data and instructions. Agent environments provide basic services to agents and interpret their instructions. To employ agents for monitoring and steering, an agent environment library is attached to every process to be monitored. The agent environment has access to data that has been made available to it through annotations, messages sent to other processes, and monitoring components that recognize transactions. The agent environment provides four services to ageuts: 1) agents can create other agents locally, 2) agents can detect, and respond to local events, 3) agents can read and write the contents of other agents that are at the same location, and 4) agents can request to be sent to another location. The agent environment may provide other services depending on the process at which it is located. For instance, an agent environment installed at an application process will allow agents to read and write variables that are available for monitoring and steering. There are two sources of events. location events that are generated by the process where the agent is located and agent events that are created by local agents. Examples of location events at an application process include transaction boundaries, message passing activities, and changes in what data is available for mouitoring and steering. Given these basic capabilities agents provide a flexible and expressive substrate for monitoring and steering. Future work will entail the development of agent libraries to provide various services. Agent libraries will contain templates of useful patterns of agent interactions to achieve monitoring and steering. A pattern of agents in a library, called au agent family, could then be inst,antiated with appropriate parameters to carry out a specific task. Also of interest arc ways that visual interactions can be translated directly into agents or into parameters for agent families.
ieee symposium on visual languages | 1994
Delbert Hart; Charles Calkins
Formal methods hold the promise for high dependability in the design of critical software. However, software engineers who employ formal methods need to communicate their design decisions to those who may not be in a position to acquire a full understanding of the formal notation being used. Visualizations might be able to convey the required information precisely and reliably without the use of formal notation. This paper presents a case study on how to employ visualization to communicate information about successive refinements involved in the formal derivation of a message router. The ultimate goal is to identify issues fundamental to this particular use of visualization and to outline a methodology which achieves effective visual communication without compromising formal reasoning.<<ETX>>
international workshop on software specification and design | 1996
Gruia-Catalin Roman; Delbert Hart; Charles Calkins
Formal methods hold the promise for high dependability in the design of critical software. However, software engineers who employ formal methods need to communicate their design decisions to users, customers, managers, and colleagues who may not be in a position to acquire a full understanding of the formal notation being used. Visualizations derived from formal specifications and designs must be able convey the required information precisely and reliably without the use of formal notation. The paper discusses an attempt to integrate a design methodology based upon specification and program refinement with a state-of-the-art approach to rapid visualization of program executions. The emphasis is placed on how to convey graphically various kinds of formally-stated program properties. The illustrations are extracted from a case study involving the formal derivation of a message router. The ultimate goal is to identify issues fundamental to the use of visualization in conjunction with formal methods and to catalog methods which achieve effective visual communication without compromising formal reasoning.
international conference on computational science | 2016
Salvador Jesus Gutierrez Martinez; Delbert Hart
A study of educational approaches to higher education computing curricula using publicly available data from a representative sample of 27 public colleges in the State University of New York (SUNY) system is performed. Data and text analysis techniques were applied to a corpus built from course descriptions and listed prerequisites across school, department, school type (2- or 4- year or graduate). The results show the existence of different approaches and emphasis to the computing related curricula within the SUNY system. The nature and structure of the relation between different colleges and courses is evidenced and may be useful in planning and development of transfer paths, articulation agreements and general policy development to make system resources more available to a student population.
Archive | 2007
Xin Zheng; Delbert Hart
Monitoring is not simply the collection and enumeration of data points but the discovery of information and knowledge inherent within a system under study. Mobile Surveyor, a model-based monitoring system, provides a new perspective and approach to software monitoring by incorporating data models throughout the monitoring process. This paper presents the construction and usage of ontology in Mobile Surveyor, attempting to capture the conceptual structure that offers semantic terms to model the system and build a generic application-independent monitoring tool. Ontology enables the information and knowledge in Mobile Surveyor to be accessible, sharable, reusable and transformable to the heterogeneous systems and applications that use Mobile Surveyor. The Ontolingua Server with OKBC is used to provide an environment for ontology development and knowledge base query and manipulation. The performance of Mobile Surveyor and the role ontology play in it are demonstrated by using a mobile application as the case study.