Browsing by Author "Keller, Benjamin J."
Now showing 1 - 9 of 9
Results Per Page
Sort Options
- The Abstraction Refinement Model and the Modification-Cost ProblemKeller, Benjamin J.; Nance, Richard E. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1992)A problem common to systems and software engineering is that of estimating the cost of making changes to a system. For system modifications that include changes to the design history of the system this is the "modification-cost" problem. A solution to this problem is important to planning changes in large systems engineering projects. In this paper, a cost model based on the Abstraction Refinement Model (ARM) is proposed as a framework for deriving solutions to the modification-cost problem. The ARM is a characterization of software evolution that is also applicable to general systems. Modifications to systems and their design histories are described using the components of the ARM. The cost model is defined by functions on the ARM components. The derived solution is given by an abstract expression of the cost functions.
- An algebraic model of software evolutionKeller, Benjamin J. (Virginia Tech, 1990-09-05)A model of the software evolution process, called the Abstraction Refinement Model, is described which builds on the algebraic influence of the Laws of Programming and the transformational Draco Paradigm. The result is an algebraic structure consisting of the states of the software product (system descriptions) ordered by a relation of relative correctness with transformations defined between the system descriptions. This structure is interpreted as the software evolution space, with the intended semantics given by a model combining axiomatic semantics and the Lindenbaum algebra of a first-order logic. Using this interpretation, software evolution can be represented as a sequence of transformations on system descriptions. The primary contributions of the characterization of software evolution are to the understanding of maintenance and its relationship to development. The influence of development on maintenance is shown as the transfer of a "descriptive context" for the software system. This context is used as an information source during maintenance, and is progressively modified by maintenance activities. These activities are characterized by balanced forward and reverse transformations. The use of reverse transformations explaining the role of reverse engineering in maintenance for information gathering and document reconstruction. Additionally, the form of maintenance affects the performance of the activity, with adaptive maintenance differing from corrective, perfective and preventive maintenance. These factors contribute to the descriptive nature and utility of the Abstraction Refinement Model in defining methodologies for maintenance.
- Algorithms and Orders for Finding Noncummutative Gröbner BasesKeller, Benjamin J. (Virginia Tech, 1997-03-17)The problem of choosing efficient algorithms and good admissible orders for computing Gröbner bases in noncommutative algebras is considered. Gröbner bases are an important tool that make many problems in polynomial algebra computationally tractable. However, the computation of Gröbner bases is expensive, and in noncommutative algebras is not guaranteed to terminate. The algorithm, together with the order used to determine the leading term of each polynomial, are known to affect the cost of the computation, and are the focus of this thesis. A Gröbner basis is a set of polynomials computed, using Buchberger's algorithm, from another set of polynomials. The noncommutative form of Buchberger's algorithm repeatedly constructs a new polynomial from a triple, which is a pair of polynomials whose leading terms overlap and form a nontrivial common multiple. The algorithm leaves a number of details underspecified, and can be altered to improve its behavior. A significant improvement is the development of a dynamic dictionary matching approach that efficiently solves the pattern matching problems of noncommutative Gröbner basis computations. Three algorithmic alternatives are considered: the strategy for selecting triples (selection), the strategy for removing triples from consideration (triple elimination), and the approach to keeping the set interreduced (set reduction). Experiments show that the selection strategy is generally more significant than the other techniques, with the best strategy being the one that chooses the triple with the shortest common multiple. The best triple elimination strategy ignoring resource constraints is the Gebauer-Müller strategy. However, another strategy is defined that can perform as well as the Gebauer-Müller strategy in less space. The experiments also show that the admissible order used to determine the leading term of a polynomial is more significant than the algorithm. Experiments indicate that the choice of order is dependent on the input set of polynomials, but also suggest that the length lexicographic order is a good choice for many problems. A more practical approach to chosing an order may be to develop heuristics that attempt to find an order that minimizes the number of overlaps considered during the computation.
- Development of an AEGIS Maintenance Methodology Task 2: Models of the AEGIS Maintenance ProcessKeller, Benjamin J.; Nance, Richard E.; Arthur, James D. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)Covering the Task 2 effort in the development of an AEGIS software maintenance methodology, the derivation of requirements from maintenance principles is summarized. Three models of the maintenance process provide the basis for identifying points of application. The mid-level (aggregate) model is the major focus of the methodology definition. Recommendations address the potential uses of different modeling perspectives, better balance between products and process assessment, use of metrics, and the selection of maintenance tools.
- Documentation Production under Next Generation TechnologiesNance, Richard E.; Keller, Benjamin J.; Boldery, Dave B. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1989)This paper describes the development of the Abstraction Refinement Model as a basis for linking the development and maintenance tasks in software systems. Documentation is critical in both efforts, and the reliance on development documentation during maintenance is characterized by the model and through a characterization of the development documentation requirement stipulated under DoD-STD-2167A. The Abstraction Refinement Model enables a coherent characterization of the reverse engineering requirements generally caused by a faulty or inadequately documented development process. Within the context of the model, the Automated Document Design System (ADDS) is characterized, and the system is evaluated with regard to its current capabilities versus future potential. A set of recommendations regarding ADDS concludes the report.
- Documentation Production under Next Generation TechnologiesNance, Richard E.; Keller, Benjamin J.; Boldery, Dave B. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1989)This report describes the development of the Abstraction Refinement Model as a basis for linking the development and maintenance tasks in software systems. Documentation is critical in both efforts, and the reliance on development documentation during maintenance is characterized by the model and through a characterization of the development documentation requirement stipulated under DoD-STD2167A. The Abstraction Refinement Model enables a coherent characterization of the reverse engineering requirements generally caused by a faulty or inadequately documented development process. Within the context of the model, the Automated Documentation Design System (ADDS) is characterized, and the system is evaluated with regard to its current capabilities versus future potential. A set of recommendations regarding ADDS concludes the report.
- Efficient and Portable Middleware for Application-level AdaptationRao, Deepak (Virginia Tech, 2001-05-16)Software-intensive systems operating in a shared environment must utilize a "request, acquire and release" protocol. In the popular client-server architecture resource-poor clients rely on servers for the needed capabilities. With mobile clients using wireless connectivity, the disparity in resource needs can force the consideration of adaptation by clients, leading to a strategy of self-reliance. Achieving self-reliance through adaptation becomes even more attractive in environments, which are dynamic and continually changing. A more comprehensive strategy is for the mobile client to recognize the changing resource levels and plan for any such degradation; that is, the applications in the mobile client need to adapt to the changing environment and availability of resources. Portable adaptation middleware that is sensitive to architecture and context changes in network operations is designed and implemented. The Adaptation Middleware not only provides the flexibility for the client applications to adapt to changing resources around them, but also to changing resource levels within the client applications. Further, the Adaptation Middleware imposes few changes on the structure of the client application. The Adaptation Middleware creates the adaptations; the client remains unaware and unconcerned with these adaptations. The Adaptation Middleware in this study also enables a more informative cost estimation with regard to applications such as mobile agents. A sample application developed using the Adaptation Middleware shows performance improvements in the range of 31% to 54%. A limited set of experiments show an average response time of 68 milliseconds, which seems acceptable for most applications. Further, the Adaptation Middleware permits increased stability for applications demonstrating demand levels subject to high uncertainty.
- Jumping Connections: A Graph-Theoretic Model for Recommender SystemsMirza, Batul J. (Virginia Tech, 2001-02-08)Recommender systems have become paramount to customize information access and reduce information overload. They serve multiple uses, ranging from suggesting products and artifacts (to consumers), to bringing people together by the connections induced by (similar) reactions to products and services. This thesis presents a graph-theoretic model that casts recommendation as a process of 'jumping connections' in a graph. In addition to emphasizing the social network aspect, this viewpoint provides a novel evaluation criterion for recommender systems. Algorithms for recommender systems are distinguished not in terms of predicted ratings of services/artifacts, but in terms of the combinations of people and artifacts that they bring together. We present an algorithmic framework drawn from random graph theory and outline an analysis for one particular form of jump called a 'hammock.' Experimental results on two datasets collected over the Internet demonstrate the validity of this approach.
- Requirements for a Software Maintenance MethodologyNance, Richard E.; Arthur, James D.; Keller, Benjamin J. (Department of Computer Science, Virginia Polytechnic Institute & State University, 1990)Software maintenance, although widely recognized as the most costly period in the life of a system, is given only passing consideration in life-cycle models. An extensive literature review shows the relationship between the development and maintenance phases to be ignored to a large extent. The Abstraction Refinement Model (ARM) describes the dependency of software maintenance on the quality of the documentation and depicts the adaptive and perfective maintenance forms as relying on earlier design and requirements documents to a greater degree than corrective and preventative maintenance. The ARM is effective in laying the foundations for a software maintenance methodology, particularly in explaining the role of reverse engineering. Coupling the ARM with the Objectives/Principles/Attributes procedure for the evaluation for software development methodologies proves effective in drawing the contrast with maintenance requirements. which are specifically identified for further study and assessment.