Welcome to ACM SIGAda's 2001 Annual International Conference - the yearly "meeting place" of the Ada community! We welcome you back to Minnesota, where much of the original Ada work took place. The GREEN language which became Ada was a product of Honeywell. One of the first Ada compilers was built by an group in Control Data (now part of General Dynamics) and important language design work was done by Sperry-Univac (now part of Lockheed-Martin). The current Crusadar (UDLP) and RAAF (Lockheed-Martin) projects continue to show how Ada can be used effectively and efficiently to build high-quality systems.
As we move into the 21st century, Ada continues unparalleled in the areas of distributed, real-time, and embedded systems. Where correctness, reliability, and robustness are a concern, Ada's track record of an all-around success is unparalleled. At a time when authorities such as Capers Jones indicate that the biggest gain in effectiveness and efficiency comes from the reuse of high-quality deliverables (and biggest loss from the reuse of low-quality deliverables), Ada's concepts of interface and implementation separation, generics, and packaging take increased interest from the software development community. For example, the Java generics proposal echos that of Ada83; we know that Ada has almost a 20-year lead in these areas only now being recognized as issues by other languages. And the Ada95 fully implemented distributed-concurrency on top of concurrent objects clearly tops other solutions, as shown by Per Brinch Hansen's 1999 SIGPlan arcticle on Java's insecure parallelism.
We offer you a conference featuring a top-quality technical program focused on important strengths of Ada: distributed, real-time, and embedded systems. The visions of these systems reflected in Ada's original requirements in the 1970s have expanded in almost unimagineable ways with Ada95 implementations, and continue to be objects of envy by those in the programming language community who understand what the strengths of a language brings to implementors in terms of efficiency, reliability, and effectiveness. Software challenges remain dominant in these domains with rapid hardware advances. Most other languages fail to meet the needs identified as far back as the 1976 Steelman, being able at best to do only 3A of the needed function while Ada performs over 95%. Ada's track record of reliability, efficiency, robustness and all-around success is unparalleled at solving real-time and/or distributed system challenges. High-speed ground transportation systems all over the world, most modem jetliner avionics, satellite systems, and battle automation use Ada and power important parts of the world's economies and defenses. Two days of technical papers, keynotes, and invited presentations will report how these successes are achieved and where remaining issues are leading.
To complement technical papers and keynote talks focused on these themes, parallel=track sessions on other important Ada software engineering and education topics are also offered at SIGAda 2001. Yet, with few exceptions, these topics directly or indirectly interact with theme topics. Thus, we hope you will find the entire technical program enticing whether or not you axe currently working in distributed and/or real-time embedded domains.
Beyond the formal conference of selected papers and presentations, SIGAda 2001 offers workshops and tutorials with the same duality of on-theme and complementary topics. SIGAda's tutorials and workshops provide full- or half-days for those working the same issues to share with each other and leverage everyone's accomplishments; workshop products are "delivered" to the community. The broad offerings of career-enhancing tutorials include basic Ada 95 introductions for software engineers new to Aria, intermediate and advanced Ada topics for practitioners striving to expand their Ada expertise, and several language-independent technology topics such as proving programs correct. These topies arc often coupled with Ada technology because only Ada's full and complete definition allows one to indicate what is expected, and to show that it can be achieved. Join us in understanding how these topics mutually support the disciplined development and evolution of serious, high quality software systems.
Finally, we hope SIGAda 2001 provides you an outstanding opportunity for rewarding affiliation with colleagues in industry, academia, and government - discussions "in the hall," informal meal-time meetings, and even during the more relaxed moments we make for socializing and at the nearby Mall of America attractions. If you don't realize it already, you will learn that these associations can be as valuable as the technical program at professional conferences, and often extend the experience after you return home.
A language for systems not just software
The specification and implementation of software-intensive systems have generally been viewed as separate processes with differing notations. There are good reasons for trying to use notations capable of bridging the gap between the two. The spark ...
Real-time convergence of Ada and Java™
Two independent recent efforts have defined extensions to the Java platform that intend to satisfy real-time requirements. This paper summarizes the major features of these efforts, compares them to each other and to Ada 95's Real-Time Annex, and argues ...
Ada 95 bindings for the NCSA hierarchical data format
This paper describes Ada95 bindings for HDF4 and HDF5, the current versions of the NCSA Hierarchical Data Format (HDF). These self-describing file formats are intended for storage of large, diverse collections of scientific data and for retrieving ...
Automating software module testing for FAA certification
Structural testing, also called code-based or white-box testing, is performed for the purpose of exercising the code thoroughly. The code coverage measurements are used to evaluate the effectiveness of the test cases toward this goal. Manual, code-based ...
Implementing a product line-based architecture in Ada
This paper describes a software component model that encourages reuse in application families by recognizing and leveraging similarities between products within a product family, as well as among product families themselves. By applying a product-...
Ship system 2000, a stable architecture under continuous evolution
Ship System 2000 was conceived in the middle of the 1980s. It was started as a development project for a general Command and Control and Weapon Control Systems for naval ships (C2 and WCS), intended for reuse. Its first use was for three different ship ...
Reengineering an Ada95-programmed command and control information system by using UML
We describe the concepts and experiences we have made in an ongoing project by modeling and reengineering an experimental command and control information system which is nearly completely implemented in Ada95. For this purpose, we use the UML tool ...
Electronic maneuvering board and dead reckoning tracer decision aid for the officer of the deck
The U.S. Navy currently bases the majority of our contact management decisions around a time and manning intensive paper-based Maneuvering Board (MOBOARD) process. The use of Maneuvering Boards is a perishable skill that has a steep learning curve. In order ...
Teaching computer science with robotics using Ada/Mindstorms 2.0
We present one approach to teaching basic computer science concepts with robotics, using an Ada interface to Lego Mindstorms™. We show simple problems put to students with no programming experience, discuss the solutions, and for each concept explain ...
Using Ada 95 in a compiler course
In this extended abstract, we describe the use of Ada 95 in a Compiler Construction Course.
Beyond ASIS: program data bases and tool-oriented queries
The availability of higher level ASIS libraries is of prime importance for the real success of ASIS technology to facilitate the development of Software Analysis and Testing (SAT) tools. This is due to the fact that ASIS queries are expressed in terms ...
Targeting Ada95/DSA for distributed simulation of multiprotocol communication networks
This paper describes the use of Ada95/DSA as middleware for modeling network's entities into distributed objects which can be used for both distributed execution and simulation without transformation of the model. First, general issues of simulation of ...
Dynamic analysis for locating product features in Ada code
In this paper, we describe a Software Reconnaissance method for locating product features in code. The University of West Florida has provided a public domain Reconnaissance tool for C and C++. Characteristics of the Ada programming language present new ...
Detecting concurrently executed pairs of statements using an adapted MHP algorithm
Information about which pairs of statements in a program can be executed concurrently is important for improving the accuracy of dataflow analysis, optimizing programs, and detecting errors. This paper presents a new method named Concurrent Control Flow ...
Vetronics technology testbed: experience report
The Vetronics (vehicle electronics) Technology Testbed (VTT) is a research project being developed by the U.S Army Tank-Automotive Research Development and Engineering Center (TARDEC). The main objective of the VTT is to demonstrate the capability of ...
An object-oriented metrics suite for Ada 95
Ada 95 added object-oriented programming capabilities to the existing Ada standard. The object-oriented paradigm results in new relationships within and among software modules. Traditional software product metrics, i.e., those metrics developed for ...