Close
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
Read Down
Sign in
Close
Welcome!Log into your account
Forgot your password?
Read Down
Password recovery
Recover your password
Close
Search
Logo
Logo
  • Latest News
  • Artificial Intelligence
  • Video
  • Big Data and Analytics
  • Cloud
  • Networking
  • Cybersecurity
  • Applications
  • IT Management
  • Storage
  • Sponsored
  • Mobile
  • Small Business
  • Development
  • Database
  • Servers
  • Android
  • Apple
  • Innovation
  • Blogs
  • PC Hardware
  • Reviews
  • Search Engines
  • Virtualization
More
    Home Development
    • Development

    ISO Approves Ada 2012 Programming Language Standard

    Written by

    Darryl K. Taft
    Published December 19, 2012
    Share
    Facebook
    Twitter
    Linkedin

      eWEEK content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

      Though somewhat long-in-the-tooth and seemingly past its prime for some uses, the Ada programming language has reached a new milestone as the International Organization for Standardization (ISO) has approved Ada 2012 as a standard.

      The Ada Resource Association (ARA) and Ada-Europe on Dec. 18 announced the approval and publication of the latest version of the Ada programming language by the Geneva-based ISO, breathing new life into the language heavily used in the 1980s and 1990s for mission-critical systems.

      Ada 2012 brings significant enhancements to Ada, most notably in the area of “contract-based programming.”

      New features here include the ability to specify preconditions and postconditions for subprograms, and invariants for private, encapsulated types. These take the form of Boolean expressions that can be interpreted, under programmer control, as runtime conditions to be checked. The contract-based programming features fit in smoothly with Ada’s object-oriented programming model, and support the type substitutability guidance supplied in the Object-Oriented Technologies and Related Techniques Supplement (DO-332) to the new avionics software safety standard DO-178C/ED-12C.

      “AdaCore is pleased to learn that the Ada 2012 standard has been formally approved and published by ISO,” Edmond Schonberg, a co-founder of AdaCore and the head of the ISO group that conducted the Ada 2012 work, told eWEEK. “This makes Ada 2012 the first mainstream language to include standard support for contract-based programming, a development style that is becoming increasingly important for systems with demanding requirements for reliability, safety or security.”

      Other new features in Ada 2012 include enhancements to the containers library, additional expressiveness through features such as conditional expressions and more powerful iterators, and support for multicore platforms. This includes task affinities and the extension of the Ravenscar profile—standardized in Ada 2005 as an efficient and predictable tasking subset for high-integrity real-time systems—to multiprocessor and multicore environments.

      “Contract-based programming in effect allows the developer to specify software requirements as part of the source program, where they can be verified by the compiler or checked at runtime,” Schonberg said. “An example of a contract is a function’s preconditions [what the function assumes] and its postconditions [what it promises].

      “The new news here, which distinguishes Ada from other languages, is that contracts are part of the standard language syntax and semantics where they can be exploited by the compiler,” he continued. “Further, this feature is integrated carefully into the existing language framework, for example, the object-oriented programming facility, which is a major advance in the state of the art.”

      Ada 2012 is a big step in the state of the art in programming languages, Schonberg explained. “The new features answer real user needs, and help cement Ada’s reputation as a language of choice for systems where reliability, safety and security are paramount,” he said.

      Ada is typically used for complex systems. Ada 2012 can be applied both in industry for production software development, and in academia for teaching and research. Indeed, Ada is seeing significant use worldwide in high-integrity, safety-critical, high-security domains, including commercial and military aircraft avionics, air traffic control, railroad systems and medical devices. With its embodiment of modern software engineering principles, Ada is a good teaching language for both introductory and advanced computer science courses and research, particularly in the area of real-time technologies.

      ISO Approves Ada 2012 Programming Language Standard

      Prominent Ada users include the Federal Aviation Administration (FAA) for many of its air-traffic-control systems. Many aviation systems suppliers and airplane makers use Ada for avionics systems. And several railway systems around the world, including the New York City subway, use Ada in their core apps. In addition, NASA utilizes Ada in many of its systems, and a host of military command and control systems employ the language.

      “Every time I fly, I am comforted by the fact that most of the world’s air-traffic-control systems have Ada in them,” said Grady Booch, chief scientist for software engineering at IBM Research and author of the book “Software Engineering with Ada” published in 1983.

      AdaCore, which has dedicated itself to Ada, has a long history and close connection with the Ada programming language and makes and sells the GNAT Pro and a host of other tools. GNAT was initially known as the GNU NYU Ada Translator. AdaCore employees worked on the original Ada 83 design and review, played key roles in the Ada 95 project and Ada 2005 effort, and are now deeply involved with the Ada 2012 revision.

      “Ada 2012 is the logical next step along Ada’s trailblazing path toward supporting high-integrity programming,” said S. Tucker Taft, director of language research at AdaCore. “By integrating contract-based programming features directly in the language, Ada remains the model for combining industrial-strength safety and security with the flexibility and expressiveness needed for building today’s most challenging applications.”

      Moreover, Ada offers an “excellent match to two major trends in technology: the increasing reliance on software for safety and security-critical systems, and the movement toward multicore architectures for performance,” Schonberg said. “Ada was designed with reliability as a major goal; vulnerabilities that are commonplace in other languages—such as the notorious ‘buffer overflow’ problem—do not arise in Ada. And as just noted, the provision of contract-based programming puts Ada in the forefront of language technology for reliable systems.

      “Ada’s concurrency model, coupled with explicit features for multicore support, make it a practical solution for today’s hardware platforms. Further, Ada 2012 is not simply an ISO standard; it’s a language that is available now with a production implementation in AdaCore’s GNAT Pro development environment,” he continued.

      In addition to Ada’s continued use in its traditional domains, including aerospace, defense and transportation, there is new interest from other fields such as finance, automotive and medical devices, Schonberg said.

      “In short, Ada is viable as a development language now more than ever, with features that respond to real requirements and with implementations that are available today,” he said.

      ISO Approves Ada 2012 Programming Language Standard

      Ada is a structured, statically typed, imperative, wide-spectrum and object-oriented high-level computer programming language, extended from Pascal and other languages. It has strong built-in language support for explicit concurrency, offering tasks, synchronous message passing, protected objects and nondeterminism. Ada was originally designed by a team led by Jean Ichbiah of CII Honeywell Bull under contract to the United States Department of Defense from 1977 to 1983 to supersede the hundreds of programming languages then used by the DOD.

      The programming language was named after Ada Lovelace, a mathematician who is sometimes regarded as the world’s first programmer because of her work with Charles Babbage. She was also the daughter of the poet Lord Byron. Ironically, the Ada 2012 standard announcement comes just days after Lovelace’s Dec. 10 birthday.

      Ada was originally targeted at embedded and real-time systems. The Ada 95 revision, designed by S. Tucker Taft of Intermetrics in the early 1990s, improved support for systems, numerical, financial and object-oriented programming (OOP).

      Ada is designed for the development of very large software systems. Ada packages can be compiled separately, and their specifications can also be compiled separately without the implementation to check for consistency. This makes it possible to detect problems early during the design phase, before implementation starts. The Ada programming language is designed for large, long-lived applications—and embedded systems in particular—where reliability and efficiency are essential.

      The language revision, known as Ada 2012, was under the auspices of ISO/IEC JTC1/SC22/WG9 and was conducted by the Ada Rapporteur Group (ARG) subunit of WG9, with sponsorship in part from the ARA and Ada-Europe.

      ISO and the International Electrotechnical Commission (IEC) are the two primary organizations for international standardization. They resolve the problem of overlapping scope by forming a Joint Technical Committee, JTC1, to deal with all standardization in the scope of information technology. JTC1 deals with its large scope of work by subdividing the responsibility among a number of subcommittees.

      SC22—which deals with programming languages, their environments and system software interfaces—is the parent body of WG9. In turn, SC22 subdivides its scope of work among several Working Groups. WG9 is responsible for the “development of ISO standards for programming language Ada.” That gives you ISO/IEC JTC1/SC22/WG9. The formal approval of the standard was issued Nov. 20 by ISO/IEC JTC 1, and the standard was published Dec. 15.

      A technical summary of Ada 2012, together with an explanation of the language’s benefits and a set of links to further information, is available at www.ada2012.org, which the Ada Resource Association maintains.

      Darryl K. Taft
      Darryl K. Taft
      Darryl K. Taft covers the development tools and developer-related issues beat from his office in Baltimore. He has more than 10 years of experience in the business and is always looking for the next scoop. Taft is a member of the Association for Computing Machinery (ACM) and was named 'one of the most active middleware reporters in the world' by The Middleware Co. He also has his own card in the 'Who's Who in Enterprise Java' deck.

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      Get the Free Newsletter!

      Subscribe to Daily Tech Insider for top news, trends & analysis

      MOST POPULAR ARTICLES

      Artificial Intelligence

      9 Best AI 3D Generators You Need...

      Sam Rinko - June 25, 2024 0
      AI 3D Generators are powerful tools for many different industries. Discover the best AI 3D Generators, and learn which is best for your specific use case.
      Read more
      Cloud

      RingCentral Expands Its Collaboration Platform

      Zeus Kerravala - November 22, 2023 0
      RingCentral adds AI-enabled contact center and hybrid event products to its suite of collaboration services.
      Read more
      Artificial Intelligence

      8 Best AI Data Analytics Software &...

      Aminu Abdullahi - January 18, 2024 0
      Learn the top AI data analytics software to use. Compare AI data analytics solutions & features to make the best choice for your business.
      Read more
      Latest News

      Zeus Kerravala on Networking: Multicloud, 5G, and...

      James Maguire - December 16, 2022 0
      I spoke with Zeus Kerravala, industry analyst at ZK Research, about the rapid changes in enterprise networking, as tech advances and digital transformation prompt...
      Read more
      Video

      Datadog President Amit Agarwal on Trends in...

      James Maguire - November 11, 2022 0
      I spoke with Amit Agarwal, President of Datadog, about infrastructure observability, from current trends to key challenges to the future of this rapidly growing...
      Read more
      Logo

      eWeek has the latest technology news and analysis, buying guides, and product reviews for IT professionals and technology buyers. The site’s focus is on innovative solutions and covering in-depth technical content. eWeek stays on the cutting edge of technology news and IT trends through interviews and expert analysis. Gain insight from top innovators and thought leaders in the fields of IT, business, enterprise software, startups, and more.

      Facebook
      Linkedin
      RSS
      Twitter
      Youtube

      Advertisers

      Advertise with TechnologyAdvice on eWeek and our other IT-focused platforms.

      Advertise with Us

      Menu

      • About eWeek
      • Subscribe to our Newsletter
      • Latest News

      Our Brands

      • Privacy Policy
      • Terms
      • About
      • Contact
      • Advertise
      • Sitemap
      • California – Do Not Sell My Information

      Property of TechnologyAdvice.
      © 2024 TechnologyAdvice. All Rights Reserved

      Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.

      ×