10
Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Embed Size (px)

Citation preview

Page 1: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Ada, the Language of Kings

Paradigm PresentationShane Nelson and Rogan Magee

10/05/2011

Page 2: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

History: Before 1983...• Before 1983, the US Military used

over 2000 domain specific languages, some obsolete and/or error prone, in embedded systems.

• The Department of Defense established the Higher Order Working Language Group in 1975 to research a modular, general purpose language.

• In 1978, they established the Steelman Language Requirements (mainly reliability, maintainability, and efficiency) to judge potential languages.

• No existing language was adequate. So they hosted a competition...

Inertial Guidance(Thor IRBM)

Temperature Control in Nuclear Submarines(USS Nautilus)

GPS in Avionics (Boeing 747-230B)

Page 3: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

History: The Competition

Benjamin Brosgol(Intermetrics)-Cambridge, MA: Veterans of MIT's Instrumentation Lab-(Q Guidance Systems)

Jean Ichbiah(CII Honeywell Bull)-Paris, France: Design Computers-(Micral)

John Goodenough(SofTech)-Lowell, MABehind Computer Aided Design (CAD) Systems

Jay Spitzen(SRI International)-Menlo Park, CAGeneral Science Research (Packet Switched Radio, Software Fault-Tolerance)

The Semifinalists

The Organizers (HWOLG)

Started in 1977: accepted 17 proposals. Judged by the HOWLG under Col. William A. Whitaker.

Lt. Col. Whilliam A. Whitaker USAF – (chairman)

David Fisher, Secretary

Cmdr. Jack Cooper (with Bernie ZempolichAnd Robert Kahane)Navy Representative(s)

Bill Carson, ARPA Rep.

Maj. Tom Jarrell, USAF

Paul Cohen, DCA

Lt. Col. Schamber, Marine Corps.

Maj. Breault, Army

Page 4: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

History: What about that name?• After declaring Green the

winners, they sorted through many names and settled on Dod-1.

• Jack Cooper thought the name's “military overtones” would discourage non-military users, so he proposed Ada.

• Named after Ada Augusta King, Countess of Lovelace (1815-1852)

• Daughter of Lord Byron, incredibly gifted and eccentric mathematician.

• Worked on documentation for Charles Babbage's Analytical Engine

• Wrote “first program” ever – counting algorithm for machine

Trial model of the Analytical Engine

The Countess Jacquard Loom (punch cards)

Page 5: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

History: Immediate Apps. - 1983

• Ada's final review and formation finished in 1983 – with the publication of MIL-STD-1815A, after which it was used almost immediately in many military, commercial, and industrial systems.

-Ada used in French rail systems (TGV), “The train that saved French railways”, SNCF pres. Louis Gallois -Ada used in West Virginian hot

steel rolling mills

Page 6: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Language Details: Data StructuresAda is...

Strongly typed:Ada does not allow for cross-type operations...Care must be taken when dealing with types.

Types are:  1. static – checked at

compile time*, • strong – incompatible

with each other,  • equivalent by name –

not by implementation at bit level (an integer is an integer),  

• (can be) abstract –       "tagged type intended          for use as an ancestor          of other types, but which       is not allowed to have          objects of its own"      (user has control)

Predefined Types: Integer, Float, Duration, Character, String, Boolean, System.Address, System.Storage_Elements (address arithmetic and memory management)

Page 7: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Language Details: GenericsGenerics:Ada allows for user defined types and functions of unknown type - generics. The user can either build a new type from existing types or develop one entirely his own. Adaoffers low level control like C++.

Page 8: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Language Details: Unique Data Structure

• Packages: "program units that allow the specification of groups of logically related entities. Typically, a package contains the declaration of a type (often a private type or private extension) along with the declaration of primitive subprograms of the type, which can be called from outside the package, while their inner workings remain hidden from outside users".

Page 9: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Language Details: Control Structures

• Procedure – (like a C++ void function) statement which doesn't return

• Function – block of code which does return• If-Else – Both if and if-else• Case – compares one specific to another• Loops – Both for, while, and varied(see below)• Goto and Returns – transfers control after

label(goto)

Page 10: Ada, the Language of Kings Paradigm Presentation Shane Nelson and Rogan Magee 10/05/2011

Example Program