Virginia Tech - Wake Forest University School of Biomedical Engineering & Sciences
Computer Science Technical Reports @Virginia TechNot a member yet
997 research outputs found
Sort by
Simulation Model Specifications: On the Role of Representation in theModel-Centered Sciences
The old adage that "a problem correctly formulated is half solved" is rarely challenged. Model-centered problem solving relies critically on a correct model. Complete, clearly stated assumptions, a precise statement of objectives, and an adequate representation of the model of the system under study are readily accepted as responsibilities of the modeler. But just how important are both the process and product of model representation? The modeler's responsibilities in producing a correct model can be either significantly aided or drastically inhibited by the representational mechanism - the language - being used. The comprehensibility of the model, subsequent extension, adaptation, or maintenance of the model, are highly dependent on the representational language. Language for model representation is therefore an indispensible tool. The pivotal role of this tool is described through its relationship to modeling methodology, model development environments, and automated model diagnosis. The need for an emphasis on the capabilities for conceptual expressiveness, in contrast with execution efficiency is discussed. While software engineering research clearly advocates this redefinition of emphasis, we observe that much of the research in the rising disciplines within parallel computation appears to ignore the lessons of this history
Object Oriented Metrics: Generation and Application
Object oriented software has been cited by many [Cox86, Meye87, Coad90, Booc91] as a cure to some of the common problems occurring in software development. In particular, the object oriented paradigm, through inheritance, polymorphism, and encapsulation, allows for more reusable software components, easier software maintenance, and reduced software complexity. However, in order to make these claims, researchers will need to quantitatively measure various attributes of software (e.g., complexity, reusability, and maintainability). In order to efficiently and accurately use software metrics, it is necessary to automate the metric collection process. The metrics group at Virginia Tech has developed a tool (the Metrics Generator) that, through an interactive interface, allows software developers to generate various software metrics from Ada, C, Classic Ada, or C++ source. The most recent use of the tool was a study by Li and Henry [LiWe93] into the maintainability of object oriented source code. The next use of the tool involves the object oriented paradigm and software reusability
The Cellular Automata Paradigm for the Parallel Solution of HeatTransfer Problems
This paper describes the numerical solution of heat transfer problems using cellular automata. While traditional methods offer high performance on uniprocessor machines, their performance is limited on distributed memory multiprocessors by communication bottlenecks caused by the interdependence of the equations. Using a cellular automata formulation, these bottlenecks can be avoided, and performance greater than that obtained by parallelizing traditional algorithms can be achieved. This paper gives an overview of the cellular automata paradigm and specific examples of solutions to a hyperbolic and a parabolic problem. The accuracy of the method is verified by comparisons of the results with analytical solutions and with results produced by other techniques
Application of the Analytic Hierarchy Process to Complex System Design Evaluation
This paper examines the use of the Analytic Hierarchy Process (AHP) to weight indicators used in the evaluation of complex systems designs which involve software, hardware, and humanware. Since such a comprehensive easily include hundreds of system quality indicators, evaluators need a technique to ensure the identification and emphasis of salient indicators in the determination of the quality of the design. The AHP is a popular technique for determining relative worth among a set of elements. In the present work, we introduce AHP with a simple example, then illustrate the application of the AHP to design evaluation using a subset of indicators from the human component of a system. We note in some detail issues which require added attention when applying AHP to this domain. The issues include indicator selection, dealing with large numbers of indicators, incorporating group judgements, and conflict resolution. We found AHP to be an effective tool for use in assigning weights criticality in indicator-based design evaluation, and propose elements of an environment in which the use of AHP is easily incorporated
CHITRA93: A System to Model Ensembles of Trace Data
CHITRA, a sanskrit word meaning a beautiful or pleasing picture, represents a new approach to understanding trace data generated by computer and communication systems. CHITRA can analyze any time series data, although its features are specifically tailored to trace data from computer and communication systems that we have studied over the years. Because a single trace file represents just a single observation may or may not be representative of the range of behavior that the system can manifest, CHITRA93 analyzes multiple trace files representing multiple observations. A collection of trace files is called an ensemble. CHITRA couples methods to visualize and statistically analyze ensembles, culminating in the construction of one or more models that fit the data in an ensemble. CHITRA addresses the potential state space explosion problem in a model by providing a set of transforms that aggregate or delete information from a trace file
The Global Stability of a Rigid Solid Supported by Elastic Columns
A new stability index, the global critical load, is advocated. This index is useful for flexible structures prone to large disturbances such as earthquakes. A symmetric rigid body supported by flexible legs is studied in detail. The nonlinear equilibrium equations are solved and the results show that global stability depends heavily on the height of the mass center and the distance between the legs
Design of Composite Laminates by a Genetic Algorithm with Memory
This paper describes the use of a genetic algorithm with memory for the design of minimum thickness composite laminates subject to strength, buckling and ply contiguity constraints. A binary tree is used to efficiently store and retrieve information about past designs. This information is used to construct a set of linear approximations to the buckling load in the neighborhood of each member of the population of designs. The approximations are then used to seek nearby improved designs in a procedure called local improvement. The paper demonstrates that this procedure substantially reduces the number of analyses required for the genetic search. The paper also demonstrates that the use of genetic algorithms helps find several alternate designs with similar performance, thus giving the designer a choice of alternatives
Who Reuses What? C++ Libraries and Programmer's Traits
Software Reuse is one key to increasing productivity within the software development process. By reusing existing software, time and effort are saved in the coding, testing, and maintenance phases of a software product. The goals of this research involve examining the process of software reuse and attempt to characterize it. A set of experiments have been run to determine the effects of software reuse in the object oriented paradigm. This paper focuses on the traits of reusers, what type of reuse they perform, and the common characteristics of the classes being reused. In particular, the traits of programmers who reuse often are identified as well as the traits of those who reuse infrequently. Also, do programmers perform black box reuse (reusing library classes without modification) or do they perform white box reuse (using inheritance to modify a library class to the desired functionality) or do they reuse at all? Lastly, a first attempt at characterizing the reusability of a C++ class is presented. Several traits are identified as making a class more reusable to programmers
CHITRA94: A Tool to Dynamically Charaterize Ensembles of Traces for Input Data Modeling and Output Analsis
CHITRA94 is the third generation of a comprehensive system to visualize, transform, statistically analyze, and model ensembles of trace data and validate the resultant models. The tool is useful for deriving input data models from trace data as well as for analysis of trace data output by a simulation. The tool uses an stochastic (possibly no-Markovian) process as its fundamental modeling component. The tool is unique in several respects. First, it focuses on the dynamic characterization of systems. Consequently it includes tests for homogeneity of ensembles, stationarity of individual traces, and the ability to partition ensembles into transient and stationary pieces. Second, CHITRA94 is a scalable performance tool: its methods are designed to work with an arbitrary number of traces in an ensemble so that a user can examine the variability of system behaviors across different traces (representing different observation periods, different system configurations, etc.). To analyze multiple traces, the user can either (1) map the traces to a model that characterizes the dynamic behavior or (2) use a novel visualization, the mass evolution graph, that shows the probability mass distribution evolution of one or more traces. A mass evolution graph is easily constructed from trace data, and the derivative of the paths it contains yield an estimate of probability mass as a function of time. Third, it analyzes categorical, not just numerical, time series data. Categorical data arises naturally in many computer and communication system modeling problems. Fourth, it includes a library of transforms that reduce the state space of the stochastic process generated. Fifth, CHITRA94 is implemented as a user extensible collection of small programs, organized as a library, which allows the user to write new library modules that use existing modules to automate analysis procedures. Instead, CHITRA94 may be invoked from command line, under a GUI, or integrated with another tool (e.g., a simulation model development or CASE tool). The use of CHITRA94 is illustrated on a variety of trace data, and the extensibility is illustrated on the problem of partitioning an ensemble of 60 traces of compressed entertainment video into mutually exclusive, exhaustive, and homogeneous subsets from which a hierarchical workload model is derived
TMM Lecture Materials
TMM (Task Mapping Model) is a user-centered task analysis technique that uses situational evaluation to synthesize new user interface design requirements. This is a sample set of lecture materials for teaching TMM