Presentation cover page EU

AdaCore Update Ed Schonberg US Headquarters Ben Brosgol 104 Fifth Avenue, 15th Floor New York, NY 10011 [email protected] +1-212-620-7300 (voice) [email protected] +1-212-807-0162 (FAX)

European Headquarters Vendor Presentation 8, rue de Milan 75009 Paris SIGAda 2005 Conference France Atlanta, GA +33 (0)1 49 70 67 16 (voice) +33 (0)1 49 70 05 52 (FAX) 15 November 2005

[email protected] www.adacore.com

Outline

ƒ AdaCore news

ƒ Products: GNAT Pro, GPS, tools

ƒ New Platforms

ƒ Language development: Ada 2005

ƒ Safe programming: environment and tools

ƒ GAP: The GNAT Academic Program

1

1 Who we are, what we do

• AdaCore = Ada Core Technologies + ACT Europe ƒ Separate legal entities but single organization ƒ Founded in 1994 (US) and 1996 (Europe) - Robert Dewar, Edmond Schonberg, Richard Kenner in US - Cyrille Comar, Franco Gasperoni in Europe ƒ Staff comprises around 52 people worldwide, 45 technical - Extreme Ada, compiler and engineering expertise • Flagship product is GNAT Pro ƒ GUI-based Integrated Development Environment ƒ Full Ada (core language + all annexes) ƒ Toolchain / libraries / bindings ƒ On-line consulting / support ƒ Documentation ƒ Add-ons ƒ On-site training in Ada and/or tools

2

GNAT Pro basic components

• Integrated Development Environment ƒ GPS (GNAT Programming Studio) • Compilation tools ƒ gcc ƒ gnatbind ƒ gnatlink ƒ Gnatmake ƒ Next release: version 5.04, Q1 2006 • Project facility ƒ Management of settings used for program builds • Debugger

3

2 GPS IDE

• Functionality ƒ Context-sensitive, language-aware, configurable editor ƒ GNAT Pro Ada compilation system ƒ Visual debugger ƒ Source browsing / navigation facility ƒ Interface to source configuration management tools ƒ Control over project settings ƒ Pretty printing / reformatting ƒ Control over window topography • Attributes ƒ Intuitive, easy to use ƒ On-line help includes access to source files for predefined libraries (in GPS 2.1) ƒ Configurability, extensibility through scripting ƒ Eclipse plug-in under development

4

Project facility

• Introduction ƒ A project is a configurable set of properties for a collection of source files ƒ Developer can specify - Directories for source files, objects, executables - Source file naming conventions (per-unit or global) - Switch settings ƒ Access to command-line switches, environment variables ƒ Hierarchical organization - Project may inherit / override source files from parent project ƒ Project may import other projects containing required source files • Some uses ƒ Common set of sources generates object files in different directories, via different switches ƒ Multiple versions of the body for a package spec ƒ New version to support multi-language builds

5

3 GNAT Pro tools (1)

• Monitoring ƒ gnatmem (heap monitor) ƒ GNAT.Debug_Pools (diagnose heap problems) ƒ gprof (profiler) ƒ Stack checking tool (under development) • Reducing code space ƒ gnatelim (minimize executables) • Testing ƒ gcov (test coverage) ƒ aunit (test harness) • Browsing ƒ gnatxref (cross-referencer) ƒ gnatfind (definition / use finder) ƒ gnatls (library browser)

• Many of the above are ASIS-based

6

GNAT Pro tools (2)

• Documentation ƒ gnathtml (HTML generator) • Utilities ƒ gnatchop (file splitter) ƒ gnatkr (file name “kruncher”) ƒ gnatprep (preprocessor) ƒ gnatstub (body generator) ƒ gnatpp (pretty printer) ƒ gnatclean (delete intermediate files) ƒ gnatmetric (metrics tool, coming in GNAT Pro 5.03a) • Distributed systems ƒ GLADE ƒ PolyOrb

7

4 GNAT Pro platforms

• Native • Cross / Tornado ƒ Alpha OpenVMS ƒ SPARC Solaris Ö 68K ƒ Alpha Tru64 ƒ x86 Windows Ö 68K ƒ Mac OS X ƒ SPARC Solaris Ö PowerPC ƒ MIPS IRIX ƒ x86 Windows Ö PowerPC ƒ PA-RISC HP-UX ƒ x86 Windows Ö ƒ PowerPC AIX StrongARM/XScale ƒ SGI Altix ƒ SPARC Solaris Ö UltraSPARC ƒ SPARC Solaris • LynxOS ƒ x86/Pentium GNU ƒ Native x86 ƒ x86 Windows ƒ SPARC Solaris Ö PowerPC ƒ x86 Trusted Solaris • Ports in progress • High-Integrity Edition ƒ HP-Linux Itanium ƒ DO-178B VxWorks/Cert ƒ IVMS - PowerPC (Solaris hosted) ƒ SPARC Solaris Ö x86 VxWorks - PowerPC (x86 Windows) ƒ Vxworks 6 ƒ VxWorks AE653 - PowerPC (Solaris hosted) - PowerPC (x86 Windows)

8

GNAT 2005

• Implementation of the new standard continues. • Programming in the large ƒ Limited_With clauses ƒ Private_With clauses • Object-Oriented features ƒ Interfaces ƒ Object notation ƒ Task, protected, synchronized, limited interfaces • Containers • Generalized anonymous access types

• New real-time features (flexible scheduling policies, time budgets) to be provided by MarteOS • (Madrid/Santander collaboration)

9

5 GNAT Pro High-Integrity Edition (1)

• Enforcement of selected profile ƒ High-Integrity profiles - Zero Footprint - Cert - Ravenscar ƒ Full-Runtime • Allowance of user-specified profile ƒ Run-time libraries selected à la carte, based on features actually used in the program • Platform / application ƒ Wind River Platform for Safety Critical ARINC 653 ƒ Boeing 7E7 Dreamliner Common Core System (Smiths Aerospace) • Status ƒ Certification materials (DO-178B, Level A) for Ada libraries are being completed (collaboration with Verocel and Wind River, for Smiths Industries)

10

GNAT Pro High-Integrity Edition (2)

• Product highlights ƒ Binding to ARINC 653 Application Executive (APEX) ƒ Support for AE653 partition types • Compiler features relevant to High-Integrity development ƒ Generation of human-readable low-level intermediate representation (-gnatD, -gnatG) ƒ Generation of human-readable data layout information (-gnatRi) ƒ Generation of assembly language listing ƒ Restrictions identifiers for implicit loops or conditionals ƒ Restrictions identifier for form of explicit conditionals ƒ Style checks (-gnatyi)

11

6 User interface to AdaCore: GNAT Tracker

• Secure web-based customer interface

• Download of GNAT Pro tool suite and components

• Online version of GNAT Pro documentation

• Submit toolset support or online consulting requests

• Download of GNAT Pro releases

• Access to up-to-date versions of known-issues and features

• Browse/search all request exchanges for your account

12

Additional services

• GNAT consulting • On-site courses ƒ Introduction to GNAT Pro and GPS ƒ Introduction to GNAT Pro and GPS for AE653 ƒ Ada Programming with GNAT Pro: Fundamentals ƒ Ada Programming with GNAT Pro: Advanced Topics ƒ Ada Programming with GNAT Pro: Beyond Ada 83 • Professional services ƒ GNAT Pro ports ƒ Special-purpose run-time libraries ƒ Tool customization and enhancements ƒ Assistance with in-house specialized GCC and GNAT ports

13

7 The GNAT Academic Program

• GAP is an AdaCore initiative to foster the use of Ada in academia ƒ AdaCore serves as clearinghouse of resources for universities that use Ada for teaching and research • GNAT software freely available to faculty and students ƒ GNAT binaries for XP, Linux, Solaris ƒ GPS ƒ On-line GNAT and Ada technical support • Clearinghouse for Ada information ƒ Teaching materials ƒ Textbooks in electronic form ƒ Software (GNAT et al, MarteOS) • A catalyst for Ada activities ƒ Over 100 members today

14

8