950 research outputs found
Ada code reuse guidelines for design-for-reuse
The phenomenal growth in the costs of producing software over the last three decades has forced the computing industry to look for alternative strategies to that implied by the waterfall model of computer system development. One frequently observed solution is that of reusing the code from previously designed systems in the construction of new ones; this technique is known as software reuse. Ada language was developed as a tool to address the above problems and is believed to have many useful language features such as package and generics to produce reusable software. But programming in Ada does not guarantee the production of highly reusable software. Therefore guidelines for users are needed to maximise the benefits from using Ada. In this thesis, Ada code reuse guidelines are proposed, and as an attempt to prove the usefulness of them, reuse metrics are studied. The thesis concludes by stressing the novelty of the approach, the difficulties encountered, and enhancements to the proposed methods to overcome these shortcomings
Software for integrated manufacturing systems, part 2
Part 1 presented an overview of the unified approach to manufacturing software. The specific characteristics of the approach that allow it to realize the goals of reduced cost, increased reliability and increased flexibility are considered. Why the blending of a components view, distributed languages, generics and formal models is important, why each individual part of this approach is essential, and why each component will typically have each of these parts are examined. An example of a specification for a real material handling system is presented using the approach and compared with the standard interface specification given by the manufacturer. Use of the component in a distributed manufacturing system is then compared with use of the traditional specification with a more traditional approach to designing the system. An overview is also provided of the underlying mechanisms used for implementing distributed manufacturing systems using the unified software/hardware component approach
Ada training evaluation and recommendations from the Gamma Ray Observatory Ada Development Team
The Ada training experiences of the Gamma Ray Observatory Ada development team are related, and recommendations are made concerning future Ada training for software developers. Training methods are evaluated, deficiencies in the training program are noted, and a recommended approach, including course outline, time allocation, and reference materials, is offered
Rational's experience using Ada for very large systems
The experience using the Rational Environment has confirmed the advantages forseen when the project was started. Interactive syntatic and semantic information makes a tremendous difference in the ease of constructing programs and making changes to them. The ability to follow semantic references makes it easier to understand exisiting programs and the impact of changes. The integrated debugger makes it much easier to find bugs and test fixes quickly. Taken together, these facilites have helped greatly in reducing the impact of ongoing maintenance of the ability to produce a new code. Similar improvements are anticipated as the same level of integration and interactivity are achieved for configuration management and version control. The environment has also proven useful in introducing personnel to the project and existing personnel to new parts of the system. Personnel benefit from the assistance with syntax and semantics; everyone benefits from the ability to traverse and understand the structure of unfamiliar software. It is often possible for someone completely unfamiliar with a body of code to use these facilities, to understand it well enough to successfully with a body of code to use these facilities to understand it well enough to successfully diagnose and fix bugs in a matter of minutes
The C++0x "Concepts" Effort
C++0x is the working title for the revision of the ISO standard of the C++
programming language that was originally planned for release in 2009 but that
was delayed to 2011. The largest language extension in C++0x was "concepts",
that is, a collection of features for constraining template parameters. In
September of 2008, the C++ standards committee voted the concepts extension
into C++0x, but then in July of 2009, the committee voted the concepts
extension back out of C++0x.
This article is my account of the technical challenges and debates within the
"concepts" effort in the years 2003 to 2009. To provide some background, the
article also describes the design space for constrained parametric
polymorphism, or what is colloquially know as constrained generics. While this
article is meant to be generally accessible, the writing is aimed toward
readers with background in functional programming and programming language
theory. This article grew out of a lecture at the Spring School on Generic and
Indexed Programming at the University of Oxford, March 2010
Managing Ada development
The Ada programming language was developed under the sponsorship of the Department of Defense to address the soaring costs associated with software development and maintenance. Ada is powerful, and yet to take full advantage of its power, it is sufficiently complex and different from current programming approaches that there is considerable risk associated with committing a program to be done in Ada. There are also few programs of any substantial size that have been implemented using Ada that may be studied to determine those management methods that resulted in a successful Ada project. The items presented are the author's opinions which have been formed as a result of going through an experience software development. The difficulties faced, risks assumed, management methods applied, and lessons learned, and most importantly, the techniques that were successful are all valuable sources of management information for those managers ready to assume major Ada developments projects
Experiments with Ada
A 1200-line Ada source code project simulating the most basic functions of an operations control center was developed. We selected George Cherry's Process Abstraction Methodology for Embedded Large Applications (PAMELA) and DEC's Ada Compilation System (ACS) under VAX/VMS to build the software from requirements to acceptance test. The system runs faster than its FORTRAN implementation and was produced on schedule and under budget with an overall productivity in excess of 30 lines of Ada source code per day
Software issues involved in code translation of C to Ada programs
It is often thought that translation of one programming language to another is a simple solution that can be used to extend the software life span or in rehosting software to another environment. The possible problems are examined as are the advantages and disadvantages of direct machine or human code translation versus that of redesign and rewrite of the software. The translation of the expert system language called C Language Integrated Production System (CLIPS) which is written in C, to Ada, will be used as a case study of the problems that are encountered
Evolution of Ada technology in the flight dynamics area: Implementation/testing phase analysis
An analysis is presented of the software engineering issues related to the use of Ada for the implementation and system testing phases of four Ada projects developed in the flight dynamics area. These projects reflect an evolving understanding of more effective use of Ada features. In addition, the testing methodology used on these projects has changed substantially from that used on previous FORTRAN projects
Generic Ada code in the NASA space station command, control and communications environment
The results of efforts to apply powerful Ada constructs to the formatted message handling process are described. The goal of these efforts was to extend the state-of-technology in message handling while at the same time producing production-quality, reusable code. The first effort was initiated in September, 1984 and delivered in April, 1985. That product, the Generic Message Handling Facility, met initial goals, was reused, and is available in the Ada Repository on ARPANET. However, it became apparent during its development that the initial approach to building a message handler template was not optimal. As a result of this initial effort, several alternate approaches were identified, and research is now on-going to identify an improved product. The ultimate goal is to be able to instantly build a message handling system for any message format given a specification of that message format. The problem lies in how to specify the message format, and one that is done, how to use that information to build the message handler. Message handling systems and message types are described. The initial efforts, its results and its shortcomings are detailed. The approach now being taken to build a system which will be significantly easier to implement, and once implemented, easier to use, is described. Finally, conclusions are offered
- …