is software engineering? a personal retrospective and a look at the road ahead. brad cox, ph.d. ...
TRANSCRIPT
Is Software Engineering?Is Software Engineering?A personal retrospective andA personal retrospective and
a look at the road aheada look at the road ahead..
Brad Cox, Ph.D.http://virtualschool.edu
Cleveland StateCleveland StateNov 7, 2002Nov 7, 2002
http://virtualschool.edu
Industrial RevolutionBefore
Generalist craftsmen hand-fabricated the parts and assembled them into finished products
DuringWater-powered tools of certainty replaced hand-powered tools of risk
Specification and testing tools made interchangeable parts possible
AfterIndustry-wide displacement of generalist craftsmen by specialized labor
http://virtualschool.edu
Software complexitySoftware complexity
Wooden Pencil Digital Pencil
Digital PropertyEight people made this
Tangible PropertyThousands made this.
http://virtualschool.edu
Pencil supply chainPencil supply chain
Pencil MillPencil Mill(San Leandro)(San Leandro)
BrassBrass
EraserEraser
LacquerLacquer
““Lead”Lead”
CedarCedar(Oregon)(Oregon)
GraphiteGraphite(Ceylon)(Ceylon)
ClayClay(Mississippi)(Mississippi)
Candelilla WaxCandelilla Wax(Mexico)(Mexico)
Rape Seed OilRape Seed Oil(Indonesia)(Indonesia)
Pumice (Italy)Pumice (Italy)
Sulfur Sulfur ChlorideChloride
FacticeFactice
CadmiumCadmiumSulfideSulfide
SulfonatedSulfonatedTallowTallow
ZincZinc
CopperCopper
Black NickelBlack Nickel
http://virtualschool.edu
Eliminating complexity
Supply chainsSupply chains eliminateeliminate complexity complexityBy making it somebody else’s problemBy making it somebody else’s problem
Through buying/selling goods/servicesThrough buying/selling goods/services
Compensation is assuredCompensation is assuredGoods obey physical conservation lawsGoods obey physical conservation laws
Cheaters have the right but not the abilityCheaters have the right but not the ability
Protection is endogenous, not exogenousProtection is endogenous, not exogenous
Built in, not strapped onBuilt in, not strapped on
http://virtualschool.edu
Is Software Engineering?
Engineers do for a dollarwhat any fool can do for two
Specify
Acquire/FabricateComponents
Assemble
Test
Deliver Design
Processes and Products Supply Chains
http://virtualschool.edu
Today’s OutlineIs Software Engineering?
Software Components (Objective-C)
Salesrooms versus Vaults (MyBank)
Distributed Learning Environments
http://virtualschool.edu
An object-oriented guyFabrication Tools
1973: PhD Mathematical Biology, University of Chicago
1974: Post-doc; NIH, MD and Woods Hole, MA (Fortran)
1975: University of Chicago Virology, IL (Fortran)
1977: Tal-Star Systems, NJ, System Architect (C)
1978: Hendrix Electronics, NH, System Architect (Unix, C)
Assembly/Testing Tools1980: ITT Programming Technology Research, CT (Unix, C)
1982: Schlumberger-Doll Research, CT (Unix, C)
1983: Stepstone, CT (Objective-C, GUI ICpak)
Coordination Tools1993: George Mason University, VA (Perl, Java, Oberon)
2002: Interactive Learning Environment (Ruby)
Supply Chain Tools1999: Superdistribution Inc, VA (Java)
2001: MyBank Feasibility Demonstration (Java)
http://virtualschool.edu
The Software-IC IdealObjective-C
C for fabricating low-level Software ICs
Smalltalk for soldering them together
ICpak 101Foundation class library
ICpak 201Graphical User Interface Library
TaskmasterMultitasking library for higher-level components
Automated test infrastructure
http://virtualschool.edu
The Software-IC RealityHardware is made of atoms
Abide by physical conservation laws
Trivial to buy, sell and own
Software is made of bitsImmune to physical conservation laws
Impossible to buy, sell and own as before
ConclusionsCopyright based compensation cannot work
Advertising based compensation : tried and failed
Useright based compensation (rental) could work
Pay by the drink v. pay by the barrel
http://virtualschool.edu
Today’s OutlineIs Software Engineering?
Software Components (Objective-C)
Salesrooms versus Vaults (MyBank)
Distributed Learning Environments
http://virtualschool.edu
The present situationAdvertising-supported content
Internet as text TV
Distracting “animated content”
Pop-over ads, spyware, privacy, spam
Dot-bomb debacle
Warfare between owners and buyers Lawyers/courts/government
Digital Millennium Copyright Act
Napster out of business
RIAA’s tax proposal
Win-lose not win-winSellers view buyers as thieves
Buyers return the favor, in spades
http://virtualschool.edu
Why not win-win?Root of the problem
Tangible property’s made of atoms
Digital property’s made of bits
Intellectual property’s made of neither
Seeds of the solutionRights v. abilities
Exogenous v. endogenous
Unigranular v. multigranular
Vaults v. salesrooms
Tangible Intellectual
Digital
http://virtualschool.edu
Vaults
Win-loseFocus on thieves not customers
Focus on protectingNot on buying/selling
Static securityMaginot style concrete and steel
ExogenousWrapped around not built in
Cryptography
XRML
Digital property
http://virtualschool.edu
Salesrooms
Win-winCustomers and thieves
Selling and protecting
Emphasis on dynamic securityCameras, alarms, clerks, guards
Endogenous protectionConservation of mass
Multigranular and unigranularAdvanced and primitive goods
http://virtualschool.edu
Salesrooms
Exchange transactionsGoods flow one way, money the other
Flexibility. How would you like to pay?
Supply chainsUnigranular = primitive
Multigranular = advanced
goods money
supply chain
http://virtualschool.edu
Checkout counter
dbmsprice
Barcode scanner
barcodeserver
Credit cardscanner
account
checkout
Total + tax
receipt
http://virtualschool.edu
Data(dumb)
Seller
MyBank
Who? calling objectWhat? called objectWhen? timestamp
Buyer
allow?
commit
API
infrastructure
checkbookObject (smart) server
accounts
cryptographickeys
Seller2 Seller3
http://virtualschool.edu
SubroutineA SubroutineB
ComponentA ComponentB
Revenue flows upon useNot when bits are acquired
ApplicationA ApplicationB
login logoutEnd User
http://virtualschool.edu
Today’s OutlineIs Software Engineering?
Software Components (Objective-C)
Vaults versus Salesrooms (MyBank)
Distributed Learning Environments
http://virtualschool.edu
Coordination ToolsCommunication tools
Amplify signal and noise equally
Television, billboards, newspapers
Listservs, chat, static html
Coordination toolsAmplify only timely/relevant signal
Eliminate untimely/irrelevant noise
What this individual needs nowDynamic web sites
http://virtualschool.edu
A web-oriented worldA web-oriented world1993: Face to face (electronic) classroom
Gopher, Lynx, Html, Pine, Direct Dial Connectivity
1994: Video + InternetDialup IP, Eudora, MosaicTelevision + videotape
1995: Coordination TechnologyDynamic pages (perl, cgi, mod_perl)DARPA CAETI Project (DODDS Europe)
1997: Paul Allen AwardIMS Digital Commerce Project
2002: Interactive Learning Environmenthttp://virtualschool.edu/ile
http://virtualschool.edu
Haul the education, not the studentsHaul the education, not the students
VideoVideoInternetInternet
TelephonesTelephones Face to FaceFace to Face
http://virtualschool.edu
Teaching principlesHaul the education to the students
Not the other way around
Coordination technologyAmplify signal, eliminate noise
Leave no one behindDesign out failure behaviors
Doing, not memorizing
Teams, not individuals
Real-world, not academic
Get the economics rightAutomate the drudge work
Handle large enrollments
http://virtualschool.edu
Questions?Is Software Engineering?
Software Components (Objective-C)
Vaults versus Salesrooms (MyBank)
Distributed Learning Environments
http://virtualschool.edu