| Related sites for http://www.sei.cmu.edu/str/descriptions/ada83_body.html |
| TimeClock_Plus enables management to collect and report data in real time, up to the second, at any time of day | | Productive_Computer_Systems Developers of interactive presentations, training materials and kiosks. | | EDIdEv An EDI Development Kit to facilitate the development of EDI Applications. It has an ActiveX control and COM component to aid in Electronic Data Interchange programming. By EDIdEv LLC. | | Living_Water,_Inc_ Providing custom software applications, web site design, and legacy IBM system integration services. | | Visiq_Technologies Offer focussed security applaince solutions for small to medium businesses. Based in the Leeds, UK | | Bytware Provider of iSeries and AS/400e monitoring, paging, security, and help desk solutions. | | Sound_Box Radio automation software. | | Nexcomp Reseller of Apple Macintosh computers, memory, service parts, and software. | | Eureka_exception_log A tool that perfectly integrates with Delphi IDE, allowing to compile projects and packages (included DLLs) able to intercept any type of exception, to create a list of jumps made in it before produci | | Firewall_Appliance_Defined A brief but succinct discussion of what a firewall appliance is, their use and why they are needed. Covers basic firewall technology and firewall appliance and firewall software. | | RFC_3067 TERENA'S Incident Object Description and Exchange Format Requirements. J. Arvidsson, A. Cormack, Y. Demchenko, J. Meijer. February 2001. | | RFC_2956 Overview of 1999 IAB Network Layer Workshop. M. Kaat. October 2000. | | PIC-based_Applications Projects using Microchip PICmicro microcontrollers (MCUs), coded in CCS C, descriptions, schematics; all free, with source code. Westford MicroSystems. | | Lone_Palm_Designs Offers web site and graphic development solutions. Also provides domain registration and hosting. | | Fluidesign Offers design, print, and intranet design services. | | The_Big_Picture Offers design, consulting, and training services. Located in Connecticut. | | Smarter_by_Design Offers design, hosting, and promotion services. | | Ashbury_Designs Web site branding, architecture and user interface development. | | Cazbah E-mail marketing, automated search engine optimization, full e-commerce solutions, and credit card processing. | | Nexus_Group,_Inc_ Design, Java, JSP, ASP, PHP, Cold Fusion, content management, Intranets, database development, and e-commerce. Located in Vancouver, British Columbia, Canada. |
|
Ada 83     Software Technology Roadmap Background & Overview Technology Descriptions Defining Software Technology Technology Categories Template for Technology Descriptions Taxonomies Glossary & Indexes  Ada 83 StatusCOMPLETE Purpose and OriginAda is a general-purpose, internationally-standardized computer programminglanguage developed by the U.S. Department of Defense to help softwaredesigners and programmers develop large, reliable applications. The Adalanguage enhances portability, maintainability, flexibility, reliability, andprovides interoperability by standardization. The Ada 83 (1983) version [ANSI 83](international standard: ISO/IEC 8652: 1987) is considered object-based asopposed to object-oriented (seeObject-Oriented Programming Languages)because it does not fully support inheritance or polymorphism [Lawlis96]. Technical DetailThe Ada language supports principles of good software engineering anddiscourages poor practices by prohibiting them when possible. Features thatsupport code clarity and encapsulation (use of packages, use of genericpackages and subprograms with generic parameters, and private and limitedprivate types) provide support for maintenance and reusability. Ada also features strong typing--stronger than C or C++. The Ada 83 language is independent of any particular hardware or operating system; the interface to any given platform is defined in a specific "System" package. Ada features that support portability include the ability to define numerical types using system-independent declarations and the ability to encapsulate dependencies.Ada compilers are validated against established writtenstandards- all standard language features exist in every validated Adacompiler. To become validated, a compiler must comply with the Ada Compiler Validation Capability (ACVC) suiteof tests. Because of language standardization and required compiler validation, Ada provides an extremely high degree of support for interoperability and portability. Ada 83 includes features that can be used for object-based programming, but it stops short of providing full support for object-oriented programming (OOP); this is partly because of concerns regarding runtime performance during Ada's development.By requiring specifications such as type specifications, by performing consistency checks across separately compiled units, and by providing exception handling facilities, Ada 83 provides a high degree of reliability compared to other programming languages. Ada 83 provides features such as tasking, type declarations, and low-levellanguage features to give explicit support of concurrency and real-timeprocessing. However, Ada 83 does not specify tasking and type declarations insuch a way that the resulting performance can always be predicted; this hasbeen a criticism of the language in certain application areas such asembedded, real-time systems. Usage ConsiderationsAda was originally developed to support embedded software systems, but it hasproven to provide good support for real-time, computationally-intensive,communication, and information system domains [Lawlis 96].When combined with static code analysis or formal proofs, Ada can be used insafety-critical systems. For example, Ada has successfully been used in thedevelopment of the control systems for the safety-critical Boeing 777 Aircraft[AdaIC 96].When considering performance, benchmarks performed on both Ada and C softwarewith language toolsets of equal quality and maturity found that the twolanguages execute equally efficiently- with Ada versions having a slight edgeover C versions [Syiek95]. The quality of the compiled code is determined mostly by the quality of the compiler and not by the language. The burden of optimization is somewhat automated in Ada, as opposed to languages like C, where it is manually performed by the programmer.When attempting to interface Ada 83 with other languages, several technicalissues must be addressed. In order for Ada to call subroutines written inanother language, an Ada compiler must support the pragma interface for theother language and its compiler. Similarly, if another language must call Adasubroutines, that language's compiler may also need modifications. The datarepresentation between Ada and the other language must be compatible. Also,the system runtime support environment may need to be modified so that spaceis not wasted by functionally redundant support software [Hefley92]. Ada 83 has recently been superseded by Ada 95 (see Ada 95). This new version places the software community into a transition period. Among the issues to be considered in transitioning from Ada 83 to Ada 95 are the following:Ada 83 compiler validation status. Validation certificates for all validated Ada 83 compilers expire at the end of March 1998; this may affect maintenance on existing systems written in Ada 83.Ada 95 compiler capabilities and availability the developmental status of a particular system The current "philosophy" is that unless a demonstrated need exists, currentoperational systems or systems currently in development using Ada 83 do not need to transition to Ada 95[Engle96]. Refer to the Ada 95 technology description for moreinformation on transitioning from Ada 83 to Ada 95. A significant resource that addresses management and technical issuessurrounding the adoption of Ada is the Ada Adoption Handbook [Hefley 92]. MaturityAda 83, with over 700 validated compilers [Compilers 96], has been used on a wide variety of programs in embedded, real-time,communication, and information system domains. It is supported by manydevelopment environments. Over 4 million lines of Ada code were successfullyused in developing the AN/BSY-2 and AN/BQG-5 systems of the Seawolf submarine-a large, extensive, embedded system [Holzer96]. Ada has become the standard programming language for airborne systems atBoeing Commercial Airplane Group (BCAG). Boeing used Ada to build 60 percentof the systems on the Boeing 777, which represents 70% of the 2.5 millionlines of developed code [Pehrson96, ReuseIC 95]. Ada is increasingly being taught in schools- approximately 323 institutionsand companies are teaching Ada- a trend of 25% growth per year in schools andcourses; this indicates increased and continued acceptance of Ada as aprogramming language [AdaIC 96]. Costs and LimitationsIn a study performed in 1994, it was found that for life-cycle costs, Ada wastwice as cost effective as C [Zeigler 95].Common perceptions and conventional wisdom regarding Ada 83 (and Ada 95) have been shown to be incorrect or only partially correct. These perceptions include the following: Ada is far too complex. Ada is too difficult to teach, to learn, to use. Ada is too expensive. Using Ada causes inefficiencies.Training in Ada is too expensive. Ada is old-fashioned. Ada is not object-oriented.Ada does not fit into COTS software. Mangold examines these perceptions in some detail [Mangold 96]. AlternativesOther programming languages to consider are Ada 95, C, C++, FORTRAN, COBOL, Pascal,Assembly Language, LISP, or Smalltalk. Index CategoriesThis technology is classified under the following categories. Select acategory for a list of related topics. Name of technology Ada 83 Application category Programming Language (AP.1.4.2.1), Compiler (AP.1.4.2.3) Quality measures category Reliability (QM.2.1.2), Maintainability (QM.3.1), Interoperability (QM.4.1), Portability (QM.4.2), Scalability (QM.4.3), Reusability (QM.4.4) Computing reviews category Programming Languages (D.3) References and Information Sources[AdaIC 96]AdaIC NEWS [online]. Available WWW <URL: http://sw-eng.falls-church.va.us/AdaIC/news/> (1996).[ANSI 83]ANSI/MIL-STD-1815A-1983. Reference Manual for the Ada ProgrammingLanguage. New York, NY: American National Standards Institute, Inc., 1983.[Compilers 96]Ada 83 Validated Compilers List [online]. Available WWW <URL: http://sw-eng.falls-church.va.us/AdaIC/compilers/83val/83vcl.txt> (August 1996).[Engle 96]Engle, Chuck. Re[2]: Ada 83/Ada 95 [email to Gary Haines], [online]. Available email: ghaines@spacecom.af.mil (August 19, 1996).[Halang 90]Halang, W.A. & Stoyenko, A.D. "Comparative Evaluation of High-LevelReal-Time Programming Languages." Real-Time Systems 2, 4 (November1990): 365-82. [HBAP 96]Ada Home: The Home of the Brave Ada Programmers (HBAP) [online]. Available WWW <URL: http://lglwww.epfl.ch:80/Ada/>(1996). [Hefley 92]Hefley, W.; Foreman, J.; Engle, C.; & Goodenough, J. Ada AdoptionHandbook: A Program Manager's Guide Version 2.0 (CMU/SEI-92-TR-29,ADA258937). Pittsburgh, PA: Software Engineering Institute, Carnegie MellonUniversity, 1992. [Holzer 96]Holzer, Robert. "Sea Trials Prompt U.S. Navy to Tout Seawolf Sub's Virtues,"Defense News 11, 28 (July 15-20, 1996): 12. [Lawlis 96]Lawlis, Patricia K. Guidelines for Choosing a Computer Language: Support forthe Visionary Organization [online]. Available WWW <URL: http://sw-eng.falls-church.va.us/> (1996). [Mangold 96]Mangold, K. "Ada95-An Approach to Overcome the Software Crisis?"4-10. Proceedings of Ada in Europe 1995. Frankfurt, Germany, October 2-6, 1995. Berlin, Germany: Springer-Verlag, 1996.[Pehrson 96]Pehrson, Ron J. Software Development for the Boeing 777 [online]. Available WWW <URL: http://www.stsc.hill.af.mil/CrossTalk/1996/jan/Boein777.html> (1996).[Poza 90]Poza, Hugo B. & Cupak Jr., John J. "Ada: The Better Language for EmbeddedApplications." Journal of Electronic Defense 13, 1 (January 1990): 47.[ReuseIC 95]Boeing 777: Flying High with Ada and Reuse [online]. Available WWW <URL: http://sw-eng.falls-church.va.us/ReuseIC/pubs/flyers/boe-reus.shtml>(1995). [Syiek 95]Syiek, David. "C vs. Ada: Arguing Performance Religion." ACM Ada Letters 15, 6 (November/December 1995): 67-9.[Tang 92]Tang, L.S. "A Comparison of Ada and C++," 338-49. Proceedings of TRI-Ada`92. Orlando, FL, November 16-20, 1992. New York, NY: Association forComputing Machinery, 1992.[Zeigler 95]Zeigler, Stephen F. Comparing Development Costs of C and Ada[online]. Available WWW <URL: http://sw-eng.falls-church.va.us/> (1995). Current Author/Maintainer Cory Vondrak, TRW, Redondo Beach, CA Capt Gary Haines, AFMC SSSG External Reviewers John Goodenough, SEI Modifications 20 June 97: updated URLs for [AdaIC 96] and [Pehrson 96]. 10 Jan 97 (original)The SoftwareEngineering Institute (SEI) is a federally funded research anddevelopment center sponsored by the U.S. Department of Defenseand operated by Carnegie Mellon University. Copyright2008by Carnegie Mellon UniversityTerms of UseURL: http://www.sei.cmu.edu/str/descriptions/ada83_body.htmlLast Modified: 24 July 2008 |
|