Introduction to Ada Solo Project

Document Sample
Introduction to Ada Solo Project Powered By Docstoc
					Introduction to Ada
    Solo Project
    Robert Rostkowski
 CS 460 Computer Security
        Fall 2008
      Ada Lovelace (1815-1852)
 Math    & Science Genius
     Childhood steered towards math &
      science
     Designed airplane in 1828
     Tutored by Augustus DeMorgan in 1840
     Translated & appended Charles
      Babbage’s Analytical Machine into
      meticulous notes
      Ada Lovelace (1815-1852)
 First  Programmer
     Explained how Analytical Engine could
      calculate Bernoulli Numbers
     Wrote (first) program for the never built
      Analytical Engine
                Ada History
   US Department of Defense (DoD) Pre-1980
     Too Many Programming Languages (450+)

       • Hardware dependent
       • Unsafe modular programming
       • Outdated programming languages
       • By 1977, it was time for a change
       • In 1979, Jean Ichbiah won the DoD’s
         programming language contest, with a
         Pascal like dialect
            Ada & WWII
      Cryptography Challenge
 Joachim    Schweth used Ada to crack the
 Lorenz S242 Encryptor (16 million million
 million permutations), in just 46 seconds.
 Overall, the cryptography challenge took a
 little less than two hours.
           Ada Standards
 Ada  83 (1983)
   ANSI/MIL-STD 1815 A

 Ada 87 (1987)
   ISO-8652: 1987

 Ada 95 (1995)
   ISO-8652: 1995

     • Interfaces with C, C++, FORTRAN,
       COBOL & Java source code
           Ada Standards
 The DoD, ANSI & ISO standards are
 adhered worldwide. Thus, it’s easy to write
 and revise Ada code. More importantly,
 safety and security are more reliable with
 a global, structured, standardized,
 hardware & operating system independent
 programming language. Ada supports
 OOP too.
             Ada Compilers
 GNAT,    the GNU/NYU Ada 95
     Free
     Unix flavors
     Windows 95 & above
 Object   Ada
     Developed by Aonix
     X Windows
     Windows 95 & above
           Ada Compilers
 Compile-time   errors
 Run-time errors
   Unallocated memory

   Buffer overflow

   Off by one

   Fully checks array access handling

   Verification

 Exception handling
 Supports software engineering standards
         Ada Program Structure
 with Package_Name;
 use Package;
 procedure Program_Name is
    Variable : Some_Type;

 begin
 Statement_1; Statement_2;
 end
    Ada Hello Word Program
 with Ada.Text_IO;
 use Ada.Text_IO;
 procedure Hello_World is
 begin
    Put (“Hello world!”)

 end Hello_World;
         Ada Get Name Program
 with Ada.Text_IO; use Ada.Text_IO;
 procedure Get_Name is
       Name : String (1..80);
       Length : Integer;
   begin
       Put (“Enter your first name>”);
       Get_Line (Name, Length);
       New_Line;
       Put (“Hello”);
      Ada Get Name Program
    Put (Name (1..Length));
    Put (“, we hope that you enjoy learning

     Ada!”);
 end Get_Name;
                          Ada Usage
   US Department of Defense (DoD)
   Air Travel
       Boeing 777’s fly by wire system
       Boeing 787 Dreamliner
       Canadian Automated Air Traffic System
         •   1 million lines of Ada code
         •   Distributed processing
         •   Ada database
         •   Object Oriented Design
       Global air traffic control
       iFACTS, new UK air traffic control
         • Written from ground up
              Ada Usage
 French  TGV high speed train
 Other industries
   Financial Systems
   Power Generation
   Healthcare
   Communication
   Safety Critical
                 Ada Usage
 Designed    for large critical programs
     Real Time & Embedded Systems
     Numerical
     Financial
                 Sources
 Introducing   Ada
     http://www.adahome.com/articles/1998-
      01/ar_intro.html
 Choose Ada, The Most Trusted Name in
 Software
     http://www.adaic.org/whyada/choose.html
 Ada:   The Enchantress of Numbers
     http://www.well.com/~adatoole/bio.html
                  Sources
 Ada   Lovelace
     http://en.wilkipedia.org/wiki/Ada_Lovelace
 Ada   (programming language)
      http://en.wilkipedia.org/wiki/Ada_
     (programming_language)
 Adahelps win WWII Cyrptography
 Challenge
     http://www.adiac.org/news/crypto.html
                   Sources
 What   is Ada?
     http://www.dwheeler.com/lovelace/s1s1.htm
 Why    Ada?
     http://www.adiac.org/whyada/WhyAda.html
 Ada   matters!
     http://www.mil-
      embedded.com/articles/id/?3277
         Acknowledgements
 For their guidance, special thanks to
 Dr. Netiva Caftori (NEIU)
 Dr. Tzilla Elrad (IIT)

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:3
posted:10/17/2012
language:Unknown
pages:20