From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE, LOTS_OF_MONEY autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!attcan!uunet!ginosko!brutus.cs.uiuc.edu!tut.cis.ohio-state.edu!ucbvax!grebyn.com!karl From: karl@grebyn.com (Karl Nyberg) Newsgroups: comp.lang.ada Subject: DoD Small Business Innovation Research Program (SBIR) Ada Topics Message-ID: <8909230422.AA04110@grebyn.com> Date: 23 Sep 89 04:22:47 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet List-Id: This is the list the DoD SBIR FY90 topics that explicitly call out Ada in the titles. Phase I efforts are typically on half-person year effort over a period not to exceed six months. Phase I proposals are limited to 25 pages, and may receive awards up to $50,000 each. It is estimated that as many as 1200 Phase I awards will be made during FY 90. Phase II awards are up to $500,000 and 450 such awards are anticipated during FY 90. Copies of the solicitation are available from the SBIR Program Office, Washington, DC. Closing date on proposals is 5 January 1990. -- Karl -- ================================================================== Army A90-030: Distributed Ada Real-Time Software: Development and Execution Support OBJECTIVE: The objective of this project is to provide support for the development of distributed Ada real-time software for loosely coupled homogeneous microprocessors. This will include addressing the issues of an Ada compilation system and a distributed runtime environment that will effect the distribution of a program through an integrated process without manual modification of code. CATEGORY: Basic Research. DESCRIPTION: GENERAL: In order to obtain the performance needed for Ada hard real-time embedded software systems it is often necessary to distribute a program so it runs on an network of loosely coupled microprocessors. The Ada language provides a tasking model that can be used as a single mode of concurrency if distributed rendezvous can be supported across multiple processors. There is currently no simple method defined to accomplish the development, testing, and execution of distributed Ada programs. Software developed for distributed systems often involves manual preprocessing of source code or postprocessing of object code in order to effect the distribution. There are no provisions for, among other things, dynamic task migration between processors, transparent network debugging support with synchronous halting of all processors and system clocks, analysis of behavior that could predict overload conditions, analysis of tradeoffs involved when network interface standards are imposed that affect real-time response requirements, allowing for standard fault tolerance techniques, and testing that time requirements are being met by the software running on multiple processors. Distributed support is needed from an integrated compiler/linker/tester environment with a distributed runtime in order to realize the benefits of using the Ada tasking model of concurrency as a uniform model among multiple processors. The results of Phase I will include an analysis of the current state-of-the-art in the development of distributed real-time Ada systems, specifically in the tools to support distributed development and execution. It will propose a solution that will answer as a minimum the issues described in this solicitation. This solution will be embodied in proposed development, testing, and execution tools and a proposed distributed Ada runtime environment concept that will demonstrate the viability of the approach to accomplish the distribution of an Ada program. Phase II will implement the proposed prototypes that will support the implementation, testing, and execution of distributed Ada software. PHASE I: Research will be completed exploring issues and concepts and prototype solutions will be proposed. PHASE II: Proposed prototypes will be developed. PHASE III: Proposed product will be developed. ================================================================== Army A90-159. Ada Programming Support Environment (APSE) Definition OBJECTIVE: The objective of this task is to develop and implement and [sic] APSE for the command based on the command's development, enhancement, and maintenance characteristics. APSE's should be formed for these three major domains, with emphasis on large, medium and small systems. CATEGORY: Exploratory Development. GENERAL: Numerous CASE tools have been introduced into the marketplace over the last few years. Coupled with the fact there are multifaceted functions and level of efforts within the development, enhancement and maintenance arenas for Management Information Systems (MIS), a detailed study is needed to professionally infuse tools, environments, and methodologies for each of the MIS life cycle phases into a productively [sic] matrix. Phase I would be to perform the research to identify tools, environments and methodologies, and produce a "how they all fit together" matrix. Therefore, in choosing an environment and a method, the appropriate tools from the matrix should dictate an appropriate APSE for an MIS/"business data processing" domain. Phase II would be to demonstrate APSEs. PHASE I: Phase I would be to perform the research to identify tools, environments and methodologies, and produce a "how they all fit together" matrix. Therefore, in choosing an environment and a method, the appropriate tools from the matrix should dictate an appropriate APSE for an MIS/"business data processing" domain. PHASE II: Phase II would be to demonstrate MIS related APSEs. ================================================================== Navy N90-274: Tools to Assist in Modification and Reuse of Ada Software CATEGORY: Exploratory Development OBJECTIVE: To develop software tools that will assist the Ada programmer in understanding existing Ada software so that it ma be more easily modified or reused. DESCRIPTION: An acute need exists today for tools that will improve the productivity of the programmer who must, or wishes to, make use of Ada code written by someone else. These tools are intended to help the programmer do the following: 1) install a large existing system that is written in Ada and make modifications to it. (The programmer, who is told to install a 50000 source lines of code Ada software system and to make enhancements to it, needs help.) 2) Reuse one component of a larger system. (An example of this is rusing the user interface from the Inertial navigation system.) 3) Reuse or modify Ada code in some other manner. A great deal of public domain Ada software exists in the SIMTEL20 and other repositories. Usually before software can be reused it must be modified to fit a particular application. Tools that will facilitate the rapid understanding of potentially reusable Ada software are needed. These tools should encourage reuse as well of the use of Ada repositories. Some examples of such tools are listed below. Certainly there are others. 1) A graphics tool that reads in Ada source code and creates Buhr Diagrams, Boochagrams, or other meaningful graphical representations of the source code. 2) A file that summarizes the contents of Ada files. The input is the list of Ada files that contain the software. The output is the list of files and the Ada program units contained within, with indentation to indicate nesting. 3) A tool that automatically expands "is separate" Ada statements to include the code contained in the separate files. Such a tool would eliminate the need for the programmer to examine multiple listings when "is separate" statements are used. PHASE I: Determine capability to develop the tools. PHASE II: Develop specific tools for immediate use in naval systems as specified by DON/SPAWAR/NOSC. ================================================================== Navy N90-291 A Prototype Ada Repository for Command and Control Software Components CATEGORY: Advanced Development OBJECTIVE: Software for Navy Command and Control systems is a major product of the Naval Ocean Systems Center. Ada, the programming language mandated for use by the Department of Defense, is now being used in the development of Navy Command and Control systems. Due to a limited number of software engineers, an increase in software being developed, and a shrinking Department of Defense budget, it is critical to gain maximum utilization of our limited resources. One such gain may be in the area of reusable software components. While the information to be processed by the myriad systems currently under development may be unique, many of the capabilities provided by these systems are similar. Being able to design, develop, store and retrieve reusable software components which satisfy the functionality of command and control system will aid the software engineering in curtailing software costs while contributing to software development productivity. The elements of this effort will include hardware, software tools, a repository of existing reusable components and software engineers assigned to a command and control software development program. The objective is to provide a prototype system that can be easily accessed by software engineers to provide software components for possible reuse in the development of new Command and Control systems. DESCRIPTION: Phase I: Through domain analysis, specific operations of Command and Control software will be identified and grouped. An example of such functionality may include message origination, message parsing and database updating. A design of a database for Ada software components, a design for the retrieval of the information and tools to assist the software engineer would be specified and made available. The format and method for acquiring software component descriptions, techniquest to identify a taxonomy and to locate relevant components and identification of naming conventions will be developed. PHASE II: Ada software components will be acquired to fill and test the prototype. The system will be made available to software engineers and metrics associated with the use of the prototype will be gathered. An evaluation of these metrics as well as an evaluation of the repository itself will be used to enhance the prototype. Analysis of this information will improve understanding of the policies, methods and tools needed to encourage reuse of Ada software. PHASE III: A follow-on phase will identify methods to improve the organization and expert system tools to aid in the retrieval of information. Additional software components will be identified and added to the software repository; selected components may also be deleted. ==================================================================