Programming Prehistoric studies Grady Booch IBM Individual.

Uploaded on:
Programming Paleontology Grady Booch IBM Individual. Programming Prehistoric studies. What it is/the thing that it not/why we burrow The procedure of paleohistory Design remaking Handbook of Programming Engineering Safeguarding of exemplary programming. The amount Programming Exists On the planet?. (not a measure of worth)
Slide 1

Programming Archeology Grady Booch IBM Fellow

Slide 2

Software Archeology What it is/the thing that it not/why we burrow The procedure of prehistoric studies Architectural recreation Handbook of Software Architecture Preservation of excellent programming

Slide 3

How Much Software Exists In The World? (not a measure of worth) (you need to execute it) SLOC is a measure of work Old code never kicks the bucket Some code is DOA Some suppositions 1 SLOC = 1 semicolon Number of programming experts overall % of programming experts who cut code SLOC/designer/year $100/SLOC to create

Slide 4

Number Of Software Professional Worldwide

Slide 5

% Of Software Professionals Who Cut Code

Slide 6


Slide 7

New Or Modified SLOC/Year And Cumulative

Slide 8

Software Archeology The recuperation of key insights around a current framework adequate to reason about, fix, adjust, change, collect, and utilize that framework itself or its parts.

Slide 9

Why We Dig To reason about CAATS To settle Y2K To adjust Homeland Security To change JPL Spirit To collect Microsoft PAG To utilize AWACS Mid-term modernization

Slide 10

The Process of Archeology

Slide 11

The Process of Archeology Study of the source code Reverse building Probing and other instrumentation Review of existing reports Interviews with tribal pioneers

Slide 12

Architectural Reconstruction Architecture The central association of a framework, typified in its parts, their connections to one another, and the standards administering its outline and development (IEEE Std 1471-2000, 2000, p. 3). Partner An individual, group, or association (or classes thereof) with hobbies in, or concerns in respect to, a framework (IEEE Std 1741-2000, 2000, p. 3). Concern Those intrigues which relate to the framework\'s advancement, its operation or some other perspectives that are basic or generally critical to one or more partners. Concerns incorporate framework contemplations, for example, execution, unwavering quality, security, dispersion, and evolvability (IEEE Std 1471-2000, 2000, p. 4). View A representation of an entire framework from the point of view of a related arrangement of concerns (IEEE Std 1471-2000, 2000, p. 3).

Slide 13

Architectural Views Use case see The perspective of a framework\'s structural engineering that envelops the utilization cases that portrayed the framework\'s conduct as seen by its end clients and other outside partners. Consistent perspective The physical spot where a framework is created, utilized, or sent. Procedure see The perspective of a framework\'s construction modeling that incorporates the strings and procedures that shape the framework\'s simultaneousness and synchronization instruments; a procedure perspective addresses the execution, adaptability, and throughput of the framework. Usage see The perspective of a framework\'s building design that envelops the parts used to amass and discharge the physical framework; an execution perspective addresses the arrangement administration of the framework\'s discharges, made up of to some degree autonomous segments that can be gathered in different all around organized approaches to deliver a running framework. Arrangement see The perspective of a framework\'s building design that encompassesthe hubs the structure the framework\'s equipment topology on which the framework executes; a sending perspective addresses the appropriation, conveyance, and establishment of the parts that make up the physical framework.

Slide 14

Architecture Metamodel

Slide 15

Architecture Metamodel

Slide 16

Architecture Metamodel

Slide 17

Eclipse Eclipse was begun around 2 yrs go - when IBM made a $40M commitment to the fundamental code base – yet is currently a free element The central draftsmen are John Wiegand, Dave Thomson, John Duimovich all piece of the OTI group which kicked off Eclipse.

Slide 18

Eclipse Artifacts Eclipse Platform Technical Overview How to utilize the Eclipse API Eclipse Overview More itemized data exists for each of the subprojects.

Slide 19

Eclipse Architecture

Slide 20

Eclipse Use Case View Check In/Out Resource Close Perspective Close Window Display Help Invoke New Tool Open Perspective Open Window Refresh Workspace Shutdown Workbench Startup Workbench

Slide 21

Eclipse Implementation View

Slide 22

Eclipse Logical View Plugin Development Environment (PDE) Workbench Team Debug Ant Help Java Development Tools (JDT)

Slide 23


Slide 24


Slide 25


Slide 26


Slide 27


Slide 28

Drag and Drop

Slide 29


Slide 30


Slide 31


Slide 32


Slide 33


Slide 34

Core boot

Slide 35


Slide 36


Slide 37

Lessons Learned A considerable measure of outline data lives in tribal memory There were abnormal state building perspectives and low level configuration sees, yet little in the middle of Reconstructing the arrangement and usage perspectives are simple Reconstructing the utilization case perspective is conceivable Reconstructing the intelligent and procedure perspectives are hard Harvesting examples is even harder

Slide 38

Handbook of Software Architecture No compositional reference exists for programming escalated frameworks Goals of the handbook Codify the construction modeling of a substantial gathering of intriguing programming serious frameworks Study these structural examples in the designing\'s setting strengths that formed them Satisfy my interest

Slide 40

Entertainment and Sports Disney Hall of the Presidents Hong Kong Jockey Club NBC control room Olympics Spiderman Veri-Lite Financial Fedline security framework Great Plains NYSE Visa Wells Fargo Games Deep Blue Doom III StarCraft The Sims Content Authoring Avid Massive Microsoft Word Photoshop Renderman Wall Street Journal Yamaha Development Eclipse emacs JIT Devices Bernini Artista CocaCola Foveon camera General Electric Hamilton Automation Otis Suunto watch Triton Artificial Intelligence Asimo Avida Blondie24 CYC Swarm Trilogy Commercial and Non-Profit   Amazon eBay Home Depot LDS Library of Congress Saber Starwood Ticketmaster Communications 5ESS 911 Nokia

Slide 41

Scientific ABI Prism Earth Weather Simula Jason Mars Exploration Rover Mathematica Mona Loa observator y National Data Buoy Center National Ignition Facility NavTech Protein Data Bank SETI@home Transportation BMW British Rail CAATS Evans and Sutherland Fedex Ford NuTech OOCL Military AEGIS AWACS Bendix Chyenne Mountain F16 Force XXI GPS Pathfinder Predator Space Command Operating Systemsâ  Linux Palm OS Wind River OS Windows XP Platforms .NET J2EE Industrial Dow Chemical NERTO Toyota Legal Identix Lexis/Nexis Supreme Court Medical Cogency Medtronics Philips Siemens Utilities AOL Messenger Babblefish Google Groove sendmail

Slide 42

Preservation of Classic Software No thorough and deliberate action has yet been embraced to save programming ancient rarities There are various motivations to act now Many of the writers of fundamental frameworks are still alive Many others may have the source code or outline reports for these frameworks gathering dust in their workplaces or carports Time is our adversary: after some time, these relics will get to be lost perpetually

Slide 43

Goals Preserving such antiquities for future eras is more than an important recorded interest The comprehension and codification of engineering examples The advancement of programming structural engineering and how they were results of their time An announcement of former craftsmanship applicable to the issues of demonstrating and negating programming licenses Preserving such curios likewise gives crude materials to future eras of programming archeologists, students of history, and programming engineers who can gain from the past with respect to What worked and what didn\'t What was splendid and what was an utter disappointment

Slide 44

Metahistory I’ve been propelled by two gatherings: Bruce Andersen (Handbook of Software Architecture) Ward Cunningham (and the Hillside Group) Spring 2002 Survey of 500 of my dearest companions Fall 2002 Museum load up meeting Fall 2003 Workshop on conservation of programming Current Establishment of Software Collections Committee

Slide 45

Spring 2002 I\'m looking for your assistance in safeguarding excellent programming items before they are always lost to future eras. As Bjarne Stroustrup, the creator of C++, has watched, "our human advancement keeps running on computers." There are various associations - most eminently the Computer Museum History Center - devoted to saving fantastic equipment, yet it jumps out at me (and others) that we ought to additionally save excellent programming also. There are various motivations to act now. Albeit a significant number of the creators of such frameworks are still alive and numerous others may have the source code or configuration archives for these frameworks gathering dust in their workplaces or carports, time is our foe and after some time, these curios will get to be hopeless. Incidentally, see that I said "source code" and "design documents." Executables are fascinating just seeing that we have the machines whereupon to run them (and saving running equipment is a totally diverse issue), however the code and outlines that these executables show let us know much about the product\'s condition hone, the brains of their creators, and the specialized, social, and monetary strengths that molded these items in their time. Safeguarding such antiques for future eras is surely an important recorded interest, however they additionally offer an announcement of former workmanship (significant to the issues of demonstrating/refuting programming licenses), the advancement of programming construction modeling (and how they were results of their time), and the production of engineering (examples are normal answers for regular issues, and such examples have risen for specific areas and improvement societies). Protecting such antiques likewise gives the crude materials to future eras of programming archeologists, history specialists, and programming engineers (the last who can gain from

View more...