[Top] [All Lists]

Re: [ontolog-forum] STANDARD ONTOLOGY: USECS: The Catalog of World Entit

To: "[ontolog-forum]" <ontolog-forum@xxxxxxxxxxxxxxxx>
From: Thomas Johnston <tmj44p@xxxxxxx>
Date: Wed, 22 Jul 2015 20:12:52 +0000 (UTC)
Message-id: <802397948.735483.1437595972121.JavaMail.yahoo@xxxxxxxxxxxxxx>
I sadly agree with your description of what's "NEW" (and "IMPROVED", of course) in software. 

And while the immanent prospect of liability wonderfully focuses the mind (to paraphrase Samuel Johnson), I think that what distinguishes the reliable software you describe from the rest isn't just the liability. It's the consequences of the real-time nature of the software.

If software for a medical device that is keeping someone alive malfunctions, then that person may die before medical personnel can intervene. If the autopilot software for airplanes malfunctions, even greater disasters may occur. If router software in wide-area networks malfunctions, millions of messages may be lost, or may arrive too late to influence actions (like financial transactions). 

On the other hand, if insurance claims-processing software malfunctions, the member (insured party) will point it out; and even if it takes a few weeks, the mistake will be corrected. Same thing for payroll, A/R, A/P and industry-specific OLTP  and data warehousing software. 

So the critical software is the software that, if it malfunctions, may cause a disaster, and may do so too quickly for human intervention to prevent it. 

I think that the reason so much commercial software is so lousy is that we are willing to tolerate the mistakes it creates, and to rely on human intervention to compensate for those mistakes. And possibly this is a better (more rational) choice than taking on the cost of making that software more reliable! The issue is which revenue minus cost is greater: (a) unreliable software plus the personnel required to compensate for its mistakes; or (b) highly reliable software plus many fewer such compensating personnel.

Personally, I believe that if we could measure the strategic costs of lousy commercial software and not just the tactical costs, we would find that we should indeed invest a lot more in producing more reliable commercial software. But that isn't a given.


On Tuesday, July 21, 2015 5:50 PM, Edward Barkmeyer <ebarkmeyer@xxxxxxxxxxxx> wrote:

Yeah.  In many engineering trades, about every 10 years we make a variant of an old design that uses the latest physical technology, and describe it exactly that way, so that engineers trust the design based on successful implementations with earlier technologies.  In software engineering, however, we create a new set of terms and pretend that it is a brand new idea (possibly out of utter ignorance of all preceding engineering experience), and then we assert that because it is new, it must be better than anything that is known to work.  It is an anti-engineering view of product development.
My first experience of this phenomenon was to watch the “minicomputer” technology of the late 1960s take 5-7 years to learn the need for, and design of, a 1961 operating system.  But far and away the funniest instance was the guy teaching a class in how to program microcomputers in 1974-5 who explained this great new software idea – the subroutine! 
By comparison, however, the software that lands commercial aircraft, and the software that drives automatic braking systems, and the software that runs chemical plants, is deliberately simple, tested in against every contingency the test engineers (who did not do the design and development) can imagine, and then reused without change wherever possible.  And that is because there is one major engineering principle at work in those applications – liability!
From: ontolog-forum-bounces@xxxxxxxxxxxxxxxx [mailto:ontolog-forum-bounces@xxxxxxxxxxxxxxxx] On Behalf Of David Eddy
Sent: Tuesday, July 21, 2015 3:28 PM
To: [ontolog-forum]
Subject: Re: [ontolog-forum] STANDARD ONTOLOGY: USECS: The Catalog of World Entities
David -
On Jul 21, 2015, at 12:02 PM, David Price <dprice@xxxxxxxxxxxxxxx> wrote:
There are many domains where terms are very well-defined, specifically many engineering disciplines exhibit that characteristic …
I will enthusiastically embrace this to mean that “software engineering” is self effacing puffery, since software terms are anything but well-defined.
Somewhere there’s got to be a comedy skit showing a Baby Boomer / mainframer & a Millennial talking past each other about the same topics but with different terminology.
This is pretty close:            https://www.youtube.com/watch?v=Cz2-ukrd2VQ
David Eddy
Babson Park, MA

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (01)

<Prev in Thread] Current Thread [Next in Thread>