Artificial Neural Networks Technology. This report describes artificial neural networks, how to use them, and where they are currently being applied. A brief overview of neural networks and their history is provided. The report describes the individual neurons that comprise an artificial neural network, along with the most common training procedures in use. Neural network architectures for prediction, classification, data association, data conceptualization, and data filtering are presented. The report briefly summarizes application areas where neural networks are commonly applied. Finally, commercial neural network development tools are briefly characterized and developing trends are noted. 83 pages, August 1992, $30.
An Overview of Object Oriented Design. This report provides a basic introduction to Object Oriented Design (OOD) and some of its features. The report briefly summarizes the history of OOD, includes a description of an OOD methodology, and defines and discusses concepts and terminology used in OOD. The level of support that various programming languages provide for OOD is discussed in detail. Languages covered by the report include Modula-2, Ada, C++, Objective C, LISP, Smalltalk, and Eiffel. The document concludes with a discussion of how OOD interacts with areas of current research, especially software reuse and alternative life cycle models. The report includes a glossary of OOD terms and an annotated bibliography. 83 pages, April 1991, $25.
Software Analysis and Test Technologies. This report examines current software analysis and test technology and identifies the needs that should be addressed by future technology. Analysis and testing of software includes all life cycle activities conducted to verify and validate the software product. These activities are undertaken to assure the robustness of the development process and the integrity of the developed product throughout the life cycle. Successful analysis and test activities provide decision support information to the acquisition manager, the certifying agent, and the field engineer. This report suggests that progress in analysis and testing requires quantitative empirical data on when and where techniques are most successful, integrated development environments which include analysis and test support, and analysis and test support for contemporary trends in software engineering such as formal methods, object oriented development, parallel programming, and systems engineering. 80 pages, February 1992, $30.
Software Prototyping and Requirements Engineering. The field of software engineering has yet to achieve the productivity gains that have been seen in hardware. Prototyping in more traditional engineering disciplines is a common approach for risk assessment and in validating end user requirements. A decade of experience and research provides the opportunity for an assessment of the area. One area of particular interest to the software engineering community is in coupling prototyping and requirements engineering. This report includes the motivation for using software prototyping in general and specifically in the context of requirements engineering. This overview of software prototyping covers life cycle models, approaches, pitfalls, and opportunities. Summary analyses of software requirements and specification techniques and prototyping tools describe twenty techniques across a variety of language models. Each technique summary and analysis includes the history, an overview of the technique and its methodology, supporting tools, language features, strengths, and weaknesses. The report concludes with suggested areas of future research. 162 pages, June 1992, $30.
Software Reusability. This report states that software reusability is a management problem, not just a technical problem. The advances in U.S. software technology and development reusability are slow at best. The private sector is ahead of the DoD in its efforts simply because the software development process is profit-oriented and most programs are still of a manageable size. The complex issue of software reusability affects all vendors in software engineering and impacts their clients. This report addresses a variety of issues, problems, endeavors, and advances, both in the U.S. and abroad. Conclusions and recommendations are presented that include a discussion of factors and issues that need to be addressed when considering reusability in the development and maintenance of software. 100 pages, August 1990, $25.
A State of the Art Review of Distributed Database Technology. A distributed database is a collection of multiple, logically interrelated databases accessible over a computer network. A Distributed Database Management System (DDBMS) is a software system which permits the management of distributed data with the distribution transparent to the user. This report reviews the issues that arise with such systems, surveys commercially-available DDBMSs, and summarizes the state-of-the-art. 40 pages, October 1992, $30.