A Project with Paradoxical Goals

 

Software Engineering

Figure: If they (engineers in tangible fields) can deliver goods on time and in budget, why can't we? See Superdistribution; Objects as Property on the Electronic Frontier for an extended answer.


Superdistribution Objects as Property on the Electronic Frontier is now in bookstores (Addison Wesley; ISBN 0-201-50208-9).

A cryptolope-based electronic edition will be available on the IBM InfoMarkets web on Sept 1 1996.
Also see Object Technology, Coalition for Electronic Markets and Social Construction, the latter for connections between humanities and object-oriented technology.

No Silver Bullet Reconsidered by Brad Cox "Superdistribution can allow software engineers to overcome the software crisis as tangible domains surmounted the same problem, by encapsulating complexity so thoroughly that everyone else can forget it. The solution requires enforcing property rights in digital goods as robustly as conservation of mass enforces them for tangible goods. " Also see Planning the Software Industrial Revolution and my book, Superdistribution: Objects as Property on the Electronic Frontier.

No Silver Bullet; Essence and Accidents of Software Engineering by Frederick P. Brooks, Jr. Of all the monsters that fill the nightmares of our folklore, none terrify more than werewolves, because they transform unexpectedly from the familiar into horrors. For these, one seeks bullets of silver that can magically lay them to rest. The familiar software project, at least as seen by the nontechnical manager, has something of this character; it is usually innocent and straightforward, but is capable of becoming a monster of missed schedules, blown budgets, and flawed products. So we hear desperate cries for a silver bullet--something to make software costs drop as rapidly as computer hardware costs do.

Worse is Better by rpg@lucid.com However, I believe that worse-is-better, even in its strawman form, has better survival characteristics than the-right-thing, and that the New Jersey approach when used for software is a better approach than the MIT approach.

Making Programs Explode by Barton Miller Abstract of Video Lecture: We tested a wide variety of utility programs on nine UNIX platforms. The programs were sent random input streams. We used a conservative and crude measure of reliability: a program is considered unreliable if it crashes with a core dump or hangs (infinite loop). We used the random testing to also test X-Window applications and servers, network servers, and system library interfaces.

Computing Research Driving Information Technology and the Information Industry Forward Information technology is central to our economy and to our society. It drives many of today's innovations and it offers enormous potential for further innovation in the coming decades. It also is the basis for an extremely successful $500 billion industry that is critical to our nation's international competitiveness. America still holds a commanding lead in this arena. This lead is the result of an extraordinary 50-year partnership among government, industry, and academia, in which federally-sponsored university research has played a critical role. The contributions of the Department of Defense Advanced Research Projects Agency and of the National Science Foundation are particularly notable for the way in which they have nourished the ideas and people that have let industry flourish.

ADL Announcement This message is to formally announce the availability of ADL version 0.8. The message below describes where and how to find this version. Please note that along with this version is the first cut at a localization package for ADL - Japanese.

Computer Science is Dead by Phil Agre with response by Brad Cox and ensuing discussion .

Down to the Wire By Nicholas Petreley Poultry in motion: Bugged Microsoft yanks features and promises The April 10 issue of Business Week includes a very interesting interview with Microsoft chairman Bill Gates. In it, Business Week asks, "What about the charges that you retaliate against companies that act against you?" To which Gates replies, "If your question is, does Microsoft know how to turn the other cheek?... Ask anybody... Are they getting Windows 95 betas?"

How Software Companies Die The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it.

Superdistribution; The Concept and the Architecture by Dr. Ryoichi Mori. Superdistribution is an approach to distributing software in which software is made available freely and without restriction but is protected from modifications and modes of usage not authorized by its vendor. By eliminating the need of software vendors to protect their products against piracy through copy protection and similar measures, superdistribution promotes unrestricted distribution of software. The superdistribution architecture we have developed provides three principal functions: administrative arrangements for collecting accounting information on software usage and fees for software usage; an accounting process that records and accumulates usage charges, payments, and the allocation of usage charges among different software vendors; and a defense mechanism, utilizing digitally protected modules, that protects the system against interference with its proper operation. Superdistribution software is distributed over public channels in encrypted form. In order to participate in superdistribution a computer must be equipped with an S-box -- a digitally protected module containing microprocessors, RAM, ROM, and a real-time clock. The S-box preserves secret information such as a deciphering key and manages the proprietary aspects of the superdistribution system. A Software Usage Monitor insures the integrity of the system and keeps track of accounting information. The S box can be realized as a digitally protected module in the form of a three dimensional integrated circuit.

Second International Workshop On Software Quality Improvement Summary And Assessment by David K. Kahaner The Second International Workshop on Software Quality Improvement was held in Kyoto, Japan, from 22-24 January 1990. The workshop was jointly organized by Professor Torii (Osaka University) and Professor Basili (University of Maryland). The workshop is summarized from the perspective of a numerical analyst. The major conclusions are that some Japanese companies are better at managing the software development process than comparable U.S. companies and that more interaction is needed between numerical and nonnumerical software developers.

Newnews discussion Fetzer's ACM article, "Verification; The Very Idea

Distributed Computer Systems: Backwards towards the Future David Farber The advent of gigabit network technology has inspired a rethinking of, among other things, the structure of network computers, operating systems, and protocol structures. This rethinking has, in the author's opinion, led to the conclusion that a globally distributed computer system represents one of the best applications of this new technology. This paper will examine some of the considerations that led to this conclusion, as well as explore the nature of such a Global Computer.

Decade old document still up to date David Farber This document was prepared and presented approximately 10 years ago. We have prgressed so relately little that I could just re-date it and resubmit it. I thought you might want to reflect on this

If operating systems were airlines. Windows Airlines: The terminal is very neat and clean, the attendants all very attractive, the pilots very capable. The fleet of Learjets the carrier operates is immense. Your jet takes off without a hitch, pushing above the clouds, and at 20,000 feet it explodes without warning.

Japanese Software Quality David Kahaner The Second International Workshop on Software Quality Improvement was held in Kyoto, Japan, from 22-24 January 1990. The workshop was jointly organized by Professor Torii (Osaka University) and Professor Basili (University of Maryland). The workshop is summarized from the perspective of a numerical analyst. The major conclusions are that some Japanese companies are better at managing the software development process than comparable U.S. companies and that more interaction is needed between numerical and nonnumerical software developers.

The Craft of Software Testing Brian Maric My main goal for the book was to solve a problem I saw with existing books: they were not specific enough. They required too much invention and "filling in the blanks" from the reader. I wanted to fix that, to present testing techniques in complete detail and to tie them together into a sensible "cookbook" process that would work reasonably well in most situations.

Future of Computing Mark Weiser A Discussion with Xerox PARC's Mark Weiser on the Future of Computing On 14 December 1993 I had the immense pleasure of visiting with Mark Weiser at his Computer Science Lab (CSL). I knew that I was in for a treat as soon as I walked into the lobby of the Xerox Palo Alto Research Center. Instead of a wood-burning fireplace, PARC has a video of a fireplace fire encased within a fake fireplace. What will the techies think of next?! On 6 December 1994 I had another meeting with Mark following his presentation/panelist participation at Dick Shaffer's excellent conference, The Personal Computer Outlook. This is the industry's annual CEO bash. After going elbow-to-elbow for one week straight with roughly 200,000 Comdex attendees, it was nice to meet face-to-face in a congenial setting with the industry's movers and shakers. I had a chance to touch base with the heads of Novell, Lotus, Compaq, IBM's PC group, AMD, Borland, Symantec, Merisel, 3DO, Geoworks, Cirrus Logic, Acer America and numerous other industry leaders. My hat is off to Dick for putting together an enlightening and well-packaged conference.

A Discipline Of Software Design by Peter Denning Position Paper; Workshop on Software Design; 7-9 August 1992; Software engineering is not a discipline. Its practitioners cannot systematically make and fulfill promises to deliver software systems judged by their customers as usable and dependable, on time and fairly priced. The illusion that software engineers possess a discipline has produced the major breakdown called the software crisis. The central claim explored here is that the standard engineering design process produces a fundamental blindness to the domains of action in which the customers of software systems live and work. The connection between measurable properties of the software and the satisfaction of those customers is, at best, tenuous. We propose a broader interpretation of design that is centered on observing the work processes of a community of customers in a domain and connecting those processes to supportive software technologies. The skill that a designer needs to have to observe work processes and begin making the connections is here called ontological mapping. This skill can be learned and is the basis of a discipline of software design.

Why you should not use Tcl Richard Stallman As interest builds in extensible application programs and tools, and some programmers are tempted to use Tcl, we should not forget the lessons learned from the first widely used extensible text editor--Emacs. The principal lesson of Emacs is that a language for extensions should not be a mere "extension language". It should be a real programming language, designed for writing and maintaining substantial programs. Because people will want to do that!

comp.lang.objective-c This is the first in a series of three informational postings concerning comp.lang.objective-c. This first part answers FAQs; the second part lists available class libraries and the third part is a simple sample Objective-C program.

comp.software-eng The information in the FAQs and the comp.software-eng archives is available through the World-Wide Web (via browsers such as Mosaic and Lynx) at http://www.qucis.queensu.ca:1999/Software-Engineering/ Everything visible through the Web is also available via FTP; the above URL leads to the same directory as you get via anonymous FTP to ftp://ftp.qucis.queensu.ca/pub/software-eng/www

Smalltalk frequently-asked-questions (FAQ) document by Craig Latta (Craig.Latta@NetJam.ORG). It is posted fortnightly to the USENET newsgroups comp.lang.smalltalk and news.answers.