Introduction To Ada Solo Project: Robert Rostkowski CS 460 Computer Security Fall 2008
Introduction To Ada Solo Project: Robert Rostkowski CS 460 Computer Security Fall 2008
& Science Genius Childhood steered towards math & science Designed airplane in 1828 Tutored by Augustus DeMorgan in 1840 Translated & appended Charles Babbages Analytical Machine into meticulous notes
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 DoDs programming language contest, with a Pascal like dialect
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, its 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,
Object
Ada
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
Package_Name; use Package; procedure Program_Name is Variable : Some_Type; begin Statement_1; Statement_2; end
Ada.Text_IO; use Ada.Text_IO; procedure Hello_World is begin Put (Hello world!) end Hello_World;
Name : String (1..80); Length : Integer; Put (Enter your first name>); Get_Line (Name, Length); New_Line; Put (Hello);
begin
Ada Usage
Boeing 777s 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
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/199801/ar_intro.html
Choose
Ada:
http://www.well.com/~adatoole/bio.html
Sources
Ada
http://en.wilkipedia.org/wiki/Ada_Lovelace
http://en.wilkipedia.org/wiki/Ada_ (programming_language)
Ada
Ada
Sources
What
is Ada?
http://www.dwheeler.com/lovelace/s1s1.htm
Why
Ada? matters!
http://www.adiac.org/whyada/WhyAda.html http://www.milembedded.com/articles/id/?3277
Ada
Acknowledgements
For
their guidance, special thanks to Dr. Netiva Caftori (NEIU) Dr. Tzilla Elrad (IIT)