Previous in Forum: Electrolysis Units   Next in Forum: Wanted: PIN Photodiode
Close
Close
Close
59 comments
Rate Comments: Nested
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31

Software is Mostly Unnecessary

12/13/2008 12:46 PM

Software is Mostly Unnecessary

"Programming is the only engineering profession that spends half its time and effort on detecting and correcting mistakes made in the other half of the time." wrote Bernhard Beckert in Intelligent Systems, an IEEE Computer Society magazine. Software engineering is thus only 50% efficient and levies on the world's manufacturers (and consumers) an extra $100 billion a year and an unknown amount of collateral damage.1, 2

There is no guarantee that computer products delivered to government, military, industry, business, or private citizens are software-bug free. Why would we keep pouring resources into such an ineffective and problem-ridden enterprise, unless we have come to believe there is no alternative? Surely if there was a reasonable and more straight-forward approach, we would exercise it. That would be good business. For now, it is software on top of hardware—or nothing. Instead of fixing bugs that continually occur, even after five decades of experience, why don't we find ways to reduce our dependency on software?

The subject of software invariably brings to mind the embedded control systems upon which most of the software runs. Man-years of engineering labor go into the design and manufacture of those control-electronics (computers, microprocessors, and microcontrollers) that interact with us and directly affect our lives and well-being many times a day. But it is not enough to expend man-years creating the electronic hardware. Similar efforts are required to design and produce software for those same control systems. Software specification, verification, integration with hardware, and debugging continue to be problematic. Although seemingly vital, as it is used in many products or in their manufacturing processes, software is mostly unnecessary as well as a detrimental complication for defense3 and control safety.

Hardware is essential. It performs all the logic and arithmetic operations, and the reception, decoding, and storage of sensory information and data. Every effect created by a hardware-software combination is initiated in and executed by hardware, not software. Hardware even houses and paces the software instructions. Hardware is indispensable. Controllers can't work without it. It is not the case that hardware is dependent upon software for functionality. It is the other way around. Software depends upon hardware to code it, house it, access it, step through it, and implement it. That turns out to be a benefit, because hardware can be tested with finite resources, while software testing may never end. "Complete testing of a moderately complex software module is infeasible. Defect-free software product can not be assured."2 "Software essentially requires infinite testing, whereas hardware can usually be tested exhaustively."4

The problems in software multiply with complexity, which climbs ever higher. Is software really necessary? If systems relied more on hardware and less on software, some of our reliability problems would simply vanish and time- and safety-critical applications improve. Wouldn't it be a good thing to surely and systematically decrease the use of and dependence upon software, in favor of the more reliable and testable hardware?

What is software, anyway? We can find that software selects, sequences, and times the hardware functions. But software itself is sequenced and timed by hardware. Software, in the final analysis, can only tell the hardware what to do, in what order and, in some cases, for how long to do the activity. Software provides direction to the hardware, but hardware actually performs all the functions. Software only tells the hardware what it is time to do:

001010 (now it is time to) Do X,

001012 (now it is time to) Do Y,

001014 (now it is time to) Do Z,

Hardware is the necessary and more robust physical layer that constitutes and connects subsystems. Software consists of fragile over-layers of command that generate their own problems. If the hardware for control systems was smarter in matters temporal, it would not need as much, or perhaps it would not need any, software. If the hardware could be designed and configured to know when to do the functions and operations it already knows how to do, it would not need software to tell it when to do them. Shifting software functions to hardware would be key in reducing software dependency. Hardware is faster, surer, and more reliable than software. If the hardware did not need software, it could be more autonomous and simpler. Controller design efforts would be more focused and efficient as well.

If we could decrease the necessity and use of control-system software by a factor of, say five, complexity due to software might be reduced even more on a percentage basis. In that case, problems attributable to software could decline by a factor of ten. The controls-software industry could also shrink by a similar factor. The ensuing consolidation would greatly benefit the providers and end-users during its growth phase, as has been shown by other innovative technologies.

What do you think?

CharlieM

References:

1. "Intelligent Systems and Formal Methods in Software Engineering" by

Bernhard Beckert in IEEE Intelligent Systems, November/December 2006

2. "Software Reliability" by Jiantao Pan, Carnegie-Mellon University, 1999

http://www.ece.cmu.edu/~koopman/des_s99/sw_reliability/

3. "Software Aspects of Strategic Defense Systems" by David Lorge Parnas, 1985

http://www.klabs.org/richcontent/software_content/papers/parnas_acm_85.pdf

4. Overview of Software Reliability http://sw-assurance.gsfc.nasa.gov/disciplines/reliability/index.php

__________________
A continuum is a given, not constructable.
Register to Reply
Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.

Good Answers:

These comments received enough positive votes to make them "good answers".

"Almost" Good Answers:

Check out these comments that don't yet have enough votes to be "official" good answers and, if you agree with them, vote them!
Active Contributor

Join Date: Dec 2008
Location: Minnesota. United States
Posts: 18
Good Answers: 1
#1

Re: Software is Mostly Unnecessary

12/13/2008 1:14 PM

gosh! this is an awefully long discussion note.Time consuming to read through, but anyways. Let me put it this way. Hardware is just like a human body or pound of flesh you could say that has no skeleton or backbone. Software can be likened to that skeletal framework or backbone and what makes the human body functional. Hardware by itself is useless in most cases. Software is very necessary because even though some people dont see the good in it. It actually plays God to any hardware...directing, channeling,scheduling, predicting, etc all that the hardware will do, so that its functionality is successful. Imagine sending a space shuttle to space without any software! that being said. I shouldn't say any more on the topic. The hardship or complexity associated with software is a gift to ensure efficacy in every way!

__________________
Rexy
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#3
In reply to #1

Re: Software is Mostly Unnecessary

12/13/2008 4:31 PM

Before software on hardware there were calculators of many types, both analog and digital, even one from ancient Egypt that calculated the positions of the sun and moon. All of those early machines were hardware-only. As late as 1965, NCR (National Cash Register) was training their technicians in maintenance of equipment having 300 to 1,000 mechanical parts and no software.

Jacquard in 1801 used punched cards for his automatic loom, a purely mechanical apparatus. Lovelace (1843) and Hollerith (early 1900s) moved the punched-card technique into data-processing. Turing, in 1936 provided the theoretical foundation for a system of computing that required software, and a decade or so later von Neumann described the architecture of hardware facilities that became our bus-organized modern computers.

Are you of the opinion that Turing machines (TMs) with shared resources and software is the end of that line?

Do you think that nothing better will ever be invented, that the present situation is the ultimate in programmable/configurable hardware?

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Popular Science - Biology - New Member Hobbies - Musician - New Member APIX Pilot Plant Design Project - Member - New Member Hobbies - CNC - New Member Fans of Old Computers - ZX-81 - New Member

Join Date: Jan 2007
Location: Centurion, South Africa
Posts: 3921
Good Answers: 97
#2

Re: Software is Mostly Unnecessary

12/13/2008 1:53 PM

Software are 200% necessary

software is needed in the CPU to execute the commands (micro code), at boot up , always.

Without software you may as well have a serial box with a power cord connected to it on your desk.

In my case being a DEY (Do Everything Yourselves) the client , annalist , coder , backup personnel and coffee maker are the same person and all know exactly what is expected from them and nobody will be blamed.

For commissioned work setting the specs correctly the first time is very important.

__________________
Never do today what you can put of until tomorrow - Student motto
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#5
In reply to #2

Re: Software is Mostly Unnecessary

12/13/2008 6:04 PM

If used exclusively, central command ultimately leads to failure. Examples are the Vietnam War and the USSR. We can kill two birds with a single stone: get rid of the CPU and software with one remedy. Control systems will be ever so much better.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: May 2006
Location: Placerville, CA (38° 45N, 120° 47'W)
Posts: 6215
Good Answers: 248
#11
In reply to #5

Re: Software is Mostly Unnecessary

12/14/2008 10:16 AM

I fail to see an alternative to a CPU/software combination to any but the simplest machines in your posts. No mechanical device can even remotely approach the billions of operations per second handled by current CPUs.

I do believe the availability of large amounts of RAM and other memory has led to much less carefully written software, and clearly trying to keep new software compatible with old hardware leads to extra complexity, but that does not suggest eliminating software!

__________________
Teaching is a great experience, but there is no better teacher than experience.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#14
In reply to #11

Re: Software is Mostly Unnecessary

12/14/2008 11:34 AM

You are in good company, because most fail to see an alternative but use what is easily available.

All complex machines were built from "the simplest machines."

All current CPUs' functions can be reduced to combinations and sequences of only three operations: AND (conjunction), NOT (negation), and STORE (memorize). Each of those is a simple "mechanical" operation, that was implemented mechanically in the first devices capable of logic and computation. The only miracle of modern computers is their comparatively small size, low cost, and high speed. Their fundamentals have not progressed beyond those very same primitive operations.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#4

Re: Software is Mostly Unnecessary

12/13/2008 5:41 PM

Your comments show that you were not explained why software was developped and why on the contraray of what you think without soft ware economically things would not be better but worse.

Let assume you have to solve a problem and you have a hardware performing perfectly. Now for whichever reason the user wants to solve a problem with a slightly changed parameter. Your eccelent hardware cannot do it any more so that you are obliged to make a new specific hardware for the new problem. And this repeats every time a new problem appears!

Using software you only change a value somewhere and your harware system can supply the solution to the new problem.

Is it now clear ?

From an other point of view have you ever thought about computing speed? Using mechanical systems will be the solution from the 17th and 18th century but not for today and tomorrow.

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#6
In reply to #4

Re: Software is Mostly Unnecessary

12/13/2008 6:19 PM

I mentioned that software emerged as a necessary adjunct to Touring machines. The system I am championing is a non-computational approach to reckoning for process control. Such a non-Touring system would have configurable hardware that one could easily change to suit a changed process specification.

My reference to the original analog and digital computers having been all-hardware was to show that software is not an absolute necessity. In any case, electronics has for the most part replaced mechanical and electro-mechanical components. There is no reason to go backwards: Any new system would take advantage of the latest in device technology that provides very small components and great speed of response.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: Jul 2007
Posts: 4448
Good Answers: 143
#7
In reply to #6

Re: Software is Mostly Unnecessary

12/13/2008 7:47 PM

I've worked a little with non-software control (see my post about railroad frogs) and it's generally awfully slow and really BIG and needs a lot of maintenance. I can't even begin to imagine how many relays, for example, it would take to do a simple integration. Now, replace the relays with transistors and it's much easier, but still pretty big. So, we can then put all the transistors on an IC and make it smaller, but how to figure out the pathways and layout? Ah, software! You could burn an eprom with toggle switches, but...?!

But, I think software is much older than Touring machines. I'm surprised Nick Name let that one slide since software began in Lyons more than 2 centuries ago. Anyway, why not just use reliable software? It owrks four mic works microsoft for micrworks.

__________________
"Well, I've wrestled with reality for 35 years, Doctor, and I'm happy to state I finally won out over it." Elwood P. Dowd
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#8
In reply to #7

Re: Software is Mostly Unnecessary

12/13/2008 8:29 PM

A Touring-paradigm controller needs a minimum of say 10,000 gates. It needs both hardware and software. The software must be integrated with the hardware. It is relatively slow. It can't perform tasks in continuous time because it is based upon linear-sequential operation. Each function takes its turn while the rest wait. It is not real-time: answers come well after-the-fact. It has a fixed architecture which may not be ideally suited to the application for which it is being used. It is complex and confusing to programmers because all temporal effects must be translated into the space-domain for logical treatment, then translated back to the natural time domain for output. It is difficult to test, and may take forever to test exhaustively. (see references in my first post)

The controller I envision performing non-numerical reckoning for a factory fabricating machine or an automatic braking system or for several control systems of similar complexity, needs a few hundreds of gates. There is no software. It is fast, with 2001-era FPGA devices responding in six nanoseconds of real time (not after x-many instructions). It can perform tasks in continuous time as it operates in an asynchronous and non-clocked parallel-concurrent manner. Its architecture is especially suitable for the process it controls, as by design the controller is a simulacrum of the target process. It tests itself simultaneously and continuously and in parallel with monitoring and controlling the process. It is simple because it deals with spatial and temporal effects directly in their native domains. It is hardware, so it can usually be tested exhaustively.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Hobbies - Model Rocketry - New Member

Join Date: Jun 2007
Location: East of Seattle, Washington state Republic of the 50 states of America
Posts: 2045
Good Answers: 36
#9
In reply to #8

Re: Software is Mostly Unnecessary

12/14/2008 2:40 AM

And to update your parameters you need to physically change each part for each parameter. Say you have 20 hardware pick and place machines with 1,000 dynamic parameters (low but easy number).

To change products 20,000 dynamic issues will have to be assessed and say 50% changed for argument sake. That means 10,000 controllers will need changed and tweaked to maximise performance. With a CPU this is all done by changing the inputs of the program and the program gives feedback to tolerance issues for real time adjustments or repair.

I understand your frustration with software but the problem lays with the programmers doing beta work and selling it as finished product. The software makes a very flexible system that can be remotely interfaced with changes never conceived by their creators. Dedicated hardware does not have as much flexibility.

Who knows you may be on to something but you will need to produce the better mouse trap and successfully market it. So far your arguments are against the current thoughts on the matter.

An idea to get you started is make discreet components that are hardware based and can be operated by software to interface in larger tools. As you build better more complex hardware make larger combined components to replace the software driven ones. If your product is better you can document the numbers and use that to market your work.

I'm fond of Analog computing but the current paradigm considers that a waste of time.

Brad

__________________
(Larrabee's Law) Half of everything you hear in a classroom is crap. Education is figuring out which half is which.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#12
In reply to #9

Re: Software is Mostly Unnecessary

12/14/2008 11:16 AM

Pick and place machines need no more than CNC, which has been around for awhile. Their supervision is another thing, which my envisioned systems would do better than any TM and software.

My particular frustration with software is in its inability to perform natively in a parallel-concurrent manner. If you were given a spec. for a parallel-concurrent machine, the only way to implement it with accepted technology would be by using many linear-sequential machines in parallel. Aside from the insurmountable difficulties in programming such a beast, the result wouldn't be inherently parallel-concurrent.

Hardware flexibility can be achieved more or less instantaneously in FPGAs.

Most giant-step advancements appear to fly in the face of conventional wisdom at first.

Your idea has merit and somewhat jibes with mine.

I have direct experience with analog computers in older flight trainers. Some of their characteristics are valuable. For the most part, digital technology will suffice for the new paradigm although one must keep digitization to a minimum. (Systems use much time and energy handling all those mostly-unnecessary numbers.)

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Hobbies - Model Rocketry - New Member

Join Date: Jun 2007
Location: East of Seattle, Washington state Republic of the 50 states of America
Posts: 2045
Good Answers: 36
#15
In reply to #12

Re: Software is Mostly Unnecessary

12/14/2008 11:37 AM

Morning CharlieM,

I'll bite, FPGAs?

Back to analog computers, the bus width is the limiting factor of digital. When your discreet states are only two characters your bus takes up major realestate that could have been used for processing.

When I get done with a few more projects I'm going to work on a analog processor I figured out years ago. Still need to configure stacks and math counters. Not this coming year hopefully next.

Brad

__________________
(Larrabee's Law) Half of everything you hear in a classroom is crap. Education is figuring out which half is which.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#17
In reply to #15

Re: Software is Mostly Unnecessary

12/14/2008 12:37 PM

Brad,

Sorry, FPGAs are field-programmable gate-arrays. These are hardware assemblies of gates that may be configured (they say "programmable") to be interconnected any which way you want. The major makers are Altera and Xilinx, but there are others.

Why process, it wastes so much time and energy. Processing, in CPUs, is conversion of one or two static frames to another static frame in machine-time. Processing in a dynamic process is in real time, as it happens.

There is a simple mechanical analog computer that integrates areas (incremental height times incremental area) called a planimeter. The ones I've used were made by K&E, the same company that made (makes?) slide rules. These devices weighed several pounds and were useful, for instance, to mechanically compute nuclear plant horsepower from charts showing volume of steam vs. time.

Why would you need stacks and counters (digital devices) for an "analog" processor? Sounds like you might be making a SAR (successive approximation register) for analog to digital conversion.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Hobbies - Model Rocketry - New Member

Join Date: Jun 2007
Location: East of Seattle, Washington state Republic of the 50 states of America
Posts: 2045
Good Answers: 36
#19
In reply to #17

Re: Software is Mostly Unnecessary

12/14/2008 1:37 PM

Close Charlie,

The base 80 step analog registers and memory are a bit tricky when you run 127 processors on one socket. Timing is then not so critical.

Thanks, FPGAs are interesting, the first one I checked out was by IBM and was touted as the wave of the future. It seems to me that they are better suited for design variation testing before making a mask or specialized computers for changeable specific tasks. But what do I know, it has been awhile since I was at Intel Oregon production and prototyping.

SARs could be used for I/O going to digital boards of other manufacture.

Brad

__________________
(Larrabee's Law) Half of everything you hear in a classroom is crap. Education is figuring out which half is which.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#21
In reply to #19

Re: Software is Mostly Unnecessary

12/14/2008 3:31 PM

Brad,

If one wants a control system in which the architecture is flexible hardware (vs. flexible software) FPGA methodology is a natural choice.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#24
In reply to #21

Re: Software is Mostly Unnecessary

12/15/2008 4:24 AM

How do you programme FGPA-s?

With a soft package

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#25
In reply to #24

Re: Software is Mostly Unnecessary

12/15/2008 10:45 AM

You can use a software package or a hardware selector that sets all the required switches in the FPGA.

One should use the technology that fits the problem the best way. Software and TMs are best for numerical problems and handling data. That wouldn't change.

The new technology I have in mind would be much better for time- and safety-critical and supervisory applications. Both new and old can work compatibly in the same system.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#31
In reply to #25

Re: Software is Mostly Unnecessary

12/16/2008 5:37 AM

Ok use a selector for very very simple and short tasks is feasible but what do you do with the control of a simple mechatronic positioning system with a requirement for adaptive changes of the parameters due to changes in basic loads and which has a nonlinear behaviour?

Do you stay connected to the system and interrupt it for changing every time a change occurs?

My comments are not in the direction to dis consider the advantages of FGPA I only want to stress that an absolute affirmation as you did is not valid.

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#36
In reply to #31

Re: Software is Mostly Unnecessary

12/16/2008 11:23 AM

Please see post #34 in this thread.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: Aug 2006
Posts: 4484
Good Answers: 246
#20
In reply to #17

Re: Software is Mostly Unnecessary

12/14/2008 2:45 PM

There is a simple mechanical analog computer that integrates areas (incremental height times incremental area) called a planimeter. The ones I've used were made by K&E, the same company that made (makes?) slide rules. These devices weighed several pounds and were useful, for instance, to mechanically compute nuclear plant horsepower from charts showing volume of steam vs. time.

Of course, there are many such computers in museums. I still have an E6B flight computer, with which I can estimate flight times, fuel used, wind correction angles, etc. However, a software-based microprocessor can do all this far faster, cheaper, and with greater accuracy: pilots with access to both an E6B and a modern flight computer use the modern flight computer.

Likewise for a planimeter. The basic function of a planimeter could be applied to calculating not just areas but volumes of odd shapes like a boat hull (by adding up "slices"). But imagine the size, complexity, and cost of building such a machine. My CAD system does such calculations in the blink of an eye.

Bad software is bad, but good software allows one piece of hardware to do many things. (And even crummy software, such as the stuff MS pedals, allows us to do many things, and allows my 6-year-old computer to to many things it could not do 6 years ago, without having to change the hardware.)

The trend, over the last several decades, has been to control more with software and less with hardware. I don't expect that trend to change very much. If we threw out PLCs and went back to relay logic, industry would slow to a crawl.

__________________
There is more to life than just eating mice.
Register to Reply
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#18
In reply to #7

Re: Software is Mostly Unnecessary

12/14/2008 1:29 PM

Thank you for the compliment assuming that I should have known about. I do in fact but I did not want to go as far as web machines working with perforated cards. Only a few know about, I concentrated more on today's technology.

In fact I am not surprised that such backwards looking comments do appear, in Lyon the new machines were destroyed by the people not understanding the positive side of development and in two centuries mankind did not change a lot (if ever).

Unfortunately all progress is done by human beings and is subject of errors but this is not a reason to go back.

I would have expected not a return to the past but a comment for the future as: " how can we develop a programme to test software and detect errors very fast in order to repair them before the first out of factory run?" this is the path to take not drive backwards.

You know that for very complex systems with a high degree of reliability required an also complex redundancy is used based on parallel work of computers with different hardwares and each one with a software developed by a different team with different macro languages. You see how far the concern for safety is going.

At least 3 systems are used with a majority vote to detect which system could be wrong. In several airborne applications the redundancy is pushed even further as well hard as soft up to 4 or even 5 parallel running systems.

Register to Reply
Power-User

Join Date: Jan 2007
Location: UK S.Northants
Posts: 485
Good Answers: 19
#47
In reply to #18

Re: Software is Mostly Unnecessary

12/18/2008 6:08 AM

I was quite interested to find that this is where we get the word saboteur from, with the workers throwing their clogs or sabots into the machines. If you know this, fine but if you don't know it's an interesting etymology.

Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#48
In reply to #18

Re: Software is Mostly Unnecessary

12/18/2008 9:13 AM

Billions of years of evolution...Darwinian software testing of the survival of the fittest. We are still imperfect. I'm pretty sure that what you are looking for is not going to be found in a terrestrial domain. The only thing that holds hope is quantum computing, which will use infinite probabilities to calculate the best configurations for reliability... if that is what you ask for.

Register to Reply
Guru

Join Date: Mar 2007
Location: City of Light
Posts: 3943
Good Answers: 183
#49
In reply to #48

Re: Software is Mostly Unnecessary

12/18/2008 12:23 PM

I am not sure we can formulate as you did. In fact due to different influences the "memory" was changed, the configuration of the DNA if we look from this side then we could say that the "FPGA" was modified in its programme and tested for survival.

The soft for me is only the non material arrangement, the changes did affect the support.

What I look for is a way to reduce the probability of failures. In complex systems the full test is almost impossible since thre are too many possible combinations of variables with moreor less probability of occuring. So that the tests are limited for highest probability which does not guarantee the relaibility in case of less probable combinations.

Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#10

Re: Software is Mostly Unnecessary

12/14/2008 3:51 AM

Good discussion.

You are spot on for a lot of stuff...(pencil me in for my usual anti Microsnot tirade)

However there are countless small control systems operating all around us which work faultlessly (Ok certainly not the wireless router sitting in front of me which I dissabled the 'wireless' section and hard wired instead).

Think of all those Mills and Machining centres and industrial robots.
I design chemical dosing control stuff (very small fry) We've just been taken over by an italian company ...
Stuff like that exists in huge quantities and generally the software is good.
I'm forever preaching simplicity to customers who think they want PC inerconnectivity and wireless operation ... which they shouldn't need if the bloody stuff worked in the first place..

I think the key my simply lie in the size.

The smaller the code the more likely it is to be solid and reliable which is what customers really want (If they only realised it)

Please someone tell Bill Gates

Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply
Guru
Hobbies - Model Rocketry - New Member

Join Date: Jun 2007
Location: East of Seattle, Washington state Republic of the 50 states of America
Posts: 2045
Good Answers: 36
#13
In reply to #10

Re: Software is Mostly Unnecessary

12/14/2008 11:20 AM

I con cur Del,

The KISS principle is ignored in software way to much, Micro slug included. I'm surprised some super geek has not made a simple machine language kernel that runs way better than all this overstuffed bloat ware. Rant rant rant rant ...

Brad

__________________
(Larrabee's Law) Half of everything you hear in a classroom is crap. Education is figuring out which half is which.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#16
In reply to #10

Re: Software is Mostly Unnecessary

12/14/2008 12:04 PM

Yes, there are as you say, "countless small control systems operating all around us which work faultlessly," but at what cost in design and fabrication resources and wasted human potential? These control systems, which employ 98% of all the billions of microprocessors (and derivatives) world-wide, could have been designed simpler and safer, with much less complexity.

The issues of safety and timeliness are not universally addressable in linear-sequential machines.

I certainly agree with your sentiments on smaller code. I'm working to reduce it to zero, but that will take awhile.

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Popular Science - Weaponology - New Member Netherlands - Member - New Member Fans of Old Computers - Commodore 64 - New Member

Join Date: Sep 2007
Location: Japan
Posts: 2703
Good Answers: 38
#22

Re: Software is Mostly Unnecessary

12/14/2008 9:00 PM

If Software was Hardware like the turing machines, real bugs would be a problem, and the maintenance is a bitc..Hassle.

if Bernhard Beckert thinks software is a hassle then delete all software and the let him make that statement again, sorry Bernhard Beckert that also means the software in your pacemaker.

and i agree everybody should program in assembly language.

__________________
From the Movie "The Big Lebowski" Don't pee on the carpet man!
Register to Reply
Power-User
Hobbies - Musician - guitar fan Greece - Member - Engineering Fields - Software Engineering -

Join Date: Jul 2007
Location: Athens, Greece
Posts: 256
Good Answers: 18
#23

Re: Software is Mostly Unnecessary

12/15/2008 4:04 AM

Surely hardware is important. After all there wouldn't be any mind (or soul?) had there not been any body. Nevertheless, in the bottom line, hardware and software are equivalent, in the sense that they eventually implement some functionality based on physical memory and logic operations.

A specific system can implement parts of its functionality in either hardware or software units (although a minimal hardware is always necessary of course.) Where you put the dividing line between hardware and software is application specific. Generally the rule of thumb is to built in hardware exactly this part that provides the most basic and most generic functionality, and allow room for diversity, improvisation, flexibility, and above all, complexity to software, which can be easily upgraded any time in the future.

The point I want to stress here, is that the argument posed in the original text (that HW is more testable while SW isn't) is lame, because as I just explained, the separating line between HW and SW is drawn such that HW is more robust about what it does, as there is less chance of redesigning it, should a problem turns up. There is nothing intrinsic in HW, as compared with SW, that makes it more testable or reliable. It's a matter of engineering decision. Imagine the extreme example of a PC which implements a spreadsheet by using HW only. Wouldn't it need years and years of debugging before it could ever become workable?

Such mails remind me of the "vendetta" between analog and digital electronics... Surely analog design is more difficult, but an engineer would take advantage of the ease of digital electronics to create more complex things (and maybe more error prone), than what he could do by using analog techniques. Something similar holds for HW and SW.

__________________
tkot
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#26
In reply to #23

Re: Software is Mostly Unnecessary

12/15/2008 10:57 AM

The relative testability of hardware over software is well known.

Google "software reliability," as I did and you will get the message.

__________________
A continuum is a given, not constructable.
Register to Reply
Power-User
Hobbies - Musician - guitar fan Greece - Member - Engineering Fields - Software Engineering -

Join Date: Jul 2007
Location: Athens, Greece
Posts: 256
Good Answers: 18
#32
In reply to #26

Re: Software is Mostly Unnecessary

12/16/2008 7:04 AM

We agree that SW is harder to test than HW, only that I repeat my claim that this is not because SW has something "mathematically" different than HW. Both may be represented on paper as State Machines, for example. It's just that we usually develop a system's HW up to the point we still have to deal mostly with component errors, crosstalk, non-linearities, etc. rather than having to meddle with more complex design errors. HW has to be robust and reliable, so it is kept as simple as possible to meet those requirements within a logical development time available. After that point, SW is supposed to take over and carries out the most complex part of the system. SW is thus more complex (in most of the cases), and it has to meet added requirements for scalability, upgradability, etc. But you need to understand that this is not SW's fault, it's an engineering decision about where you put the dividing line between HW and SW.

__________________
tkot
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#35
In reply to #32

Re: Software is Mostly Unnecessary

12/16/2008 11:19 AM

All process parameters, whether temporal or not, are typically fixed and translated into the space domain by sampling and storing. When signals corresponding to process events and conditions are so plucked out of their normal space-time reality, they become mere shadows, stripped of their natural context. They become individuated symbols—numbers or truth values—without any direct association to each other or to the process from which they came. They are just values in memory that can be identified primarily by their locations. There is no intrinsic meaning in those symbols. Any meaning intended must therefore be interpreted and assigned by the programmer, in the software or code. This method works well for static problems of symbol translation or transformation, as was theorized by Alan Turing. A physical process to be controlled that has a dynamic or evolving aspect to its progress, or that could suffer a random failure of component or signal, is quite another story altogether.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16512
Good Answers: 670
#27

Re: Software is Mostly Unnecessary

12/15/2008 11:53 AM

The big problem with software test is not only do you need to test that it does all the things it should, you need to test that it doesn't do anything it shouldn't ..which is an infinite set of tests...

Del

__________________
health warning: These posts may contain traces of nut.
Register to Reply Off Topic (Score 5)
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#28
In reply to #27

Re: Software is Mostly Unnecessary

12/15/2008 12:04 PM

Thanks for your input, Del.

Let's just say software testing is/can be open-ended.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply Off Topic (Score 5)
3
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#29

Re: Software is Mostly Unnecessary

12/15/2008 11:20 PM

When I took electronics, they taught us that anything you can do in software, you can do in hardware. I agree with that principle. All engineering uses technology to solve problems. The technology options are laid out before the engineer/designer.

Typically hardware is chosen as an option where reliability and speed are of extreme importance. In applications where flexibility, recursion, self correcting algorithms, and programmability are of greater importance, software typically is the choice made. (partly because of the proliferation, ease of use, extent of training, body of reusable code, etc)

They also taught us that anything you can do in digital, you can do in analog, theoretically. There is even less technology available to implement analog solutions than hardware. In the hardware vs software question, there is the fundamental question of memory. Is memory hardware, or software? If you are storing your memory in eeprom, it is hardware, but on a disk, it is software?

I think the best point you made is that there is more error correction put into hardware design, and more rigorous testing. but that is beside the point. The point is, options! Would you, as an engineer or designer prefer to have fewer options available to you, to solve your engineered problems.

As a customer, nobody wants to experience quality problems with products, but if reliability is so important, then you need to purchase a product where that level of reliability is selected, tested, and supported.

The fact that most engineers choose to implement solutions in software is simply a statistic that shows that software is the most suitable choice for their application.

One other point. Software is reuseable, transformable to similar applications. It can be posted on the net for sharing, and downloaded as a compiled product, and therefore supports a more profitable business model. I've designed and built circuit boards, soldered military multilayer circuits, and soldered surface mount components. I guarantee you that errors occur in hardware, and simply get thrown out instead of corrected, so your statistics are flawed, imho. I've seen entire batches of boards tossed, because they don't fit onto the intended mounting pins, or the circuits were wrong. I've built pin-test systems for testing boards.. they don't all pass. They either get components pulled, resoldered, or tossed out, depending on the non-conformance.

I also program software... its much easier to correct the software than to correct the circuit. With software, you correct one version, and then can multiply it infinitely. With hardware, every single board has to be tested, and is therefore limited in its breakeven point for profitability. That means that with one software product, the price can eventually drop to a very low point. much lower than hardware ever can.

Chris

Register to Reply Good Answer (Score 3)
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#33
In reply to #29

Re: Software is Mostly Unnecessary

12/16/2008 10:44 AM

Every controller specification could be graced with safety, reliability, and real-time operation. Clear specifications, easy design, and an architecture especially suited to the application would be nice, too. These attributes should come at nominal cost, as well.

As I mentioned in my first post in this thread, software can't do anything by itself. All memory, logic, and arithmetic are performed in hardware. ROMs, DRAMs, S/R F/Fs and rotating disks are all hardware. Hardware design is simpler and its failure modes are well-known.

Hardware design and infant mortality errors can be caught in test, while software errors can be hidden for years, only to surface when a new use of the system becomes popular.

Even the hardware has become more complex due to the Touring paradigm it supports, as it is burdened with ever-more complicated software.

The reason that software on hardware is the usual choice is because no one has provided a better alternative. That's what I intend to do.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#41
In reply to #33

Re: Software is Mostly Unnecessary

12/16/2008 2:51 PM

I'm just learning some SQL.. I was wondering how you implement a relational database in hardware?, and then query the database based on varying inputs? The company I work for has spent a million dollars on a MRP system..

maybe we could do one of those in hardware.. Quoting, Design Engineering, Documentaton Control, Inventory Management, Scheduling, Process Control, Quality Management, Technical Literature, Corporate Graphics, HR, Accounting (AR & AP & GL), and of course, company email / mailmerge... It should only take you a year to encode all that in hardware. oh, of course, there is no operating system, so you will have to cover all that too. I like my reports to be in a data reusable format, and I prefer web-enabled engineering collaboration, with the 3D solid modelling package and FEA module.. which you will also have to make...

Let me know when you are done. Then we can begin the 2 year process of data modelling to fit our corporate processes. After that, of course, we are involved in continuous improvement, so everything must be able to be modified and improved.

I'm not doubting at all that you can do this.. If you can, then we can all benefit from the high performance of hardware applications, and Microsoft can go suck itself dry. We'll have MicroHard instead. You will need an army of hardware designers.

Chris

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#43
In reply to #41

Re: Software is Mostly Unnecessary

12/16/2008 4:20 PM

Ho hum ...

I've already inferred the data-dominated portions of a system would be best handled by data-processing technology, while the safety- and time-critical elements can be more properly managed by sophisticated operations appropriate for the real-time domain.

Once again: the best physical process control-system design would incorporate both the new and the old technologies instead of exclusively depending upon the Touring paradigm (shared resources on fixed architecture timed by software).

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#44
In reply to #43

Re: Software is Mostly Unnecessary

12/16/2008 4:45 PM

Okay thanks,

I can't find your inference though..

I'm also pretty sure hardware designers and chip desginers use cad systems to design...everything.

Your title is "Software is mostly unnecessary" I would point out that a lot of process control is performed by PLC's using ladder logic. this is fast, reliable, and amalagamates the best of both approaches.

Process control is not a large portion of the world of computing, and therefore, i think you should have put further qualifications on your title. As it stands, you are already agreeing, it is not true.

If you said 'process control software' or 'realtime software', I would completely agree.. small subset of the world of computing.

chris

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#45
In reply to #44

Re: Software is Mostly Unnecessary

12/16/2008 6:26 PM

I'll help you:

I was explicit in post #25 about data-processing vs. controller managerial tasks (and other real-time requirements) and that one should use the appropriate technology for each.

The ladder logic controllers (before PLCs) had no software. I know because I was there.

Embedded process control is the main use of microprocessors, as I mentioned in post #16. More on that:

The cure for control software: if nothing is done, the created world of control-electronics and software will not end, but go along as it has. There is an opportunity, however, to correct, fix, and heal the software crisis in the realm of dynamic process control. An improved system for controlling physical processes would be desirable. Needed is a smarter, more sophisticated, dedicated, flexible, asynchronous parallel-concurrent system of hardware logic that can take the place of the shared-resource hardware-software combination used now in physical-process controllers. (The embedded controller market now encompasses 98% of the universe of microprocessors and derivatives.) The new system should have a method of creating or synthesizing functional dynamic logic designs from behavioral specifications in a natural language such as English.

In my post #1 on this thread, in the first sentence of the third paragraph, I identified my target as embedded control systems. This whole discussion has been about physical-process control-systems. I'm sorry you misunderstood, and I hope this post makes it all clear to you.

You and others may have the impression the whole world is all about software, but that isn't necessarily so. There are other alternatives. You just haven't been exposed to them yet. The success of the software industry, producing billion-dollar corporations and billionaires, is not an indication of its appropriateness—only that there hasn't been a viable alternative up to this point. I hope to change that.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#46
In reply to #45

Re: Software is Mostly Unnecessary

12/16/2008 7:53 PM

Okay.

understood and agreed.

best wishes.

Register to Reply
Guru

Join Date: Aug 2006
Posts: 4484
Good Answers: 246
#37
In reply to #29

Re: Software is Mostly Unnecessary

12/16/2008 1:01 PM

Good answer.

I have a book, from 1948: Computing Linkages and Mechanisms. As you say, as engineers we have the choice to use a mix of hardware and software, and software is becoming more pervasive as time goes on, for good reasons. Some of these old mechanical computers cost thousands of dollars, performed just one type of calculation, and required a good deal of skill and knowledge on the part of the operator. An engineer would be unlikely to specify such a device unless the application was really, really, extraordinary.

As you say, the fact that most engineers choose to implement solutions in software is simply a statistic that shows that software is the most suitable choice for their application.

A more realistic title for this thread might be: Software in increasingly essential.

For my vehicle, I'll use microprocessors for several functions. If I had to design custom hardware for each of these applications, it would drive my design cost up by a factor of 10 and might make the device cost as much as 50 times more, due to the low volume.

__________________
There is more to life than just eating mice.
Register to Reply
Active Contributor

Join Date: Dec 2008
Location: Minnesota. United States
Posts: 18
Good Answers: 1
#30

Re: Software is Mostly Unnecessary

12/16/2008 1:09 AM

Also, speaking about metrics. One can always take good metrics and perform better benchmark tests while using software than hardware. Also, it depends on the different fields of study too. For example, in the field of bioinformatics, biocomputations or genomics. Having software or the reproduceability of data is what helps those scientist test and confirm theories and results. If everyone only had DNA sequencers that used only hardwares. How can one, beyond doubt, believe they can replicate the same research, without any hicks or without using the same sequencer? If there was an error in the hardware of the original sequencer, another scientist may not know or find out. Having machines that have exactly the same hardware and the same software enhances reliability testing, support and universality. Thats probably one of the biggest points to be considered when trying to use hardware solely-You can vouch for universal reliabilty!

__________________
Rexy
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#34
In reply to #30

Re: Software is Mostly Unnecessary

12/16/2008 11:08 AM

I venture to say the troubles with software are in proportion to the quantity and variety of temporal issues it attempts to address. Since software is a technique organized in and for the space domain, it can address temporal issues only with difficulty.

Software algorithms managing simple operations running on shared-resource Touring machines (exclusively space-domain efforts) are best for data-dominated situations. Dynamic control systems having varying parameters are best managed by using a more sophisticated group of operators that function in the natural space and time-domains. The best solution for systems that control physical processes is to use both techniques, each where appropriate.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: May 2006
Location: Placerville, CA (38° 45N, 120° 47'W)
Posts: 6215
Good Answers: 248
#38

Re: Software is Mostly Unnecessary

12/16/2008 1:25 PM

The following is from National Instruments newsletter of today, regarding the testing of NASA's James Webb Telescope. (NI is, or at least started out as, a hardware company.)

"The LabVIEW FPGA Module and PXI-7813R saved hundreds of man-hours and thousands of dollars over custom chip development. In addition, we can inexpensively modify the control algorithm to improve testing, explore shutter issues, and further NASA MEMS microshutter array development."

__________________
Teaching is a great experience, but there is no better teacher than experience.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#39
In reply to #38

Re: Software is Mostly Unnecessary

12/16/2008 1:51 PM

Thanks, DK, for the info.

Using FPGAs instead of fixed TM-architecture hardware, makes the point for hardware flexibility: excellent during design, test, and modification, and good for future spec. changes and upgrades, as well.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru

Join Date: May 2006
Location: Placerville, CA (38° 45N, 120° 47'W)
Posts: 6215
Good Answers: 248
#40
In reply to #39

Re: Software is Mostly Unnecessary

12/16/2008 2:25 PM

No! You misread it. They are using LabView FPGA (software that emulates an FPGA), unless I'm badly mistaken.

__________________
Teaching is a great experience, but there is no better teacher than experience.
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#42
In reply to #40

Re: Software is Mostly Unnecessary

12/16/2008 4:06 PM

Thanks for the reminder, DK.

On the NI website, Labview FPGA is touted (broken up to emphasize the H/W aspect):

_________________________________________________________________

"The NI LabVIEW FPGA Module uses LabVIEW embedded technology to extend LabVIEW graphical development and

target field-programmable gate arrays (FPGAs) on NI reconfigurable I/O (RIO) hardware.

LabVIEW is distinctly suited for FPGA programming

because it clearly represents parallelism and data flow. With the LabVIEW FPGA Module,

you can create custom measurement and control hardware

without low-level hardware description languages or board-level design.

You can use this custom hardware for unique timing and triggering routines, ultrahigh-speed control, interfacing to digital protocols, digital signal processing (DSP), and many other applications requiring high-speed hardware reliability and tight determinism."

_______________________________________________________________________

Check it out for yourself.

In truth, FPGA "programming" really configures, or reconfigures the FPGA hardware by determining the interconnections (I/Os, crosspoints, and selected gates and higher-level hardware modules). All FPGA makers call it "programming" to take advantage of the known flexibility of software, but FPGAs are configurable hardware. As such they enjoy all the excellent aspects of hardware: parallelism, high-speed, hardware reliability, tight determinism, etc. which provides the foundation for my goals.

In summary, it is certainly possible to achieve the benefits I champion in "mostly hardware" process controllers. Notable others agree with me.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
2
Guru
Engineering Fields - Systems Engineering - New Member Popular Science - Weaponology - New Member

Join Date: Jun 2006
Location: Borrego Springs
Posts: 2636
Good Answers: 62
#50

Re: Software is Mostly Unnecessary

12/20/2008 8:25 PM

I think the key to this discussion may reside in relative complexity.

The key to the argument lies in apples and oranges. Lets start there.

Having done design, test and repair on both hardware and software; both can carry hidden, designed in faults. Both are subject to poor execution (read implementation, whether it be a coding error or a cold solder). Both errors can be very difficult to detect.

I started life working steam gauge aircraft. Fairly reliable. Not very capable. Now I work embedded software in digital aircraft. Less reliable? No, we still have hardware failures, actually far fewer. But what we do not have is software failures. We have software errors. The bits didn't move. Putting in another box will not cure the problem. Whatever erroneous behavior you discovered will be present in same versioned software. They don't wear out with cycles.

But what a different flight deck! The pilot downloads his flight plan as approved by ATC (Air Traffic Control) straight into the FMS (Flight Management System) where it is calculated in four dimensions and displayed factually as well as graphically. The fuel used is now accurate plus a safety margin, and only the needed load put on board.

The pilot knows far in excess of past years about the current, real-time health of his aircraft. He also knows thanks to downlink far more about weather enroute and the conditions upon arrival. His flight plan has been adjusted to account for winds aloft, as well as deviations in the jet stream to provide the greatest fuel efficiency as well as passenger comfort.

Even before takeoff, his TCAS (Traffic Collision Avoidance System) is monitoring air traffic he cannot physically see and displaying it in the cockpit with a resolution that allows the pilot to backstop ATC; providing an even higher level of safety.

The actual departure path of the aircraft is electronically part of the flight plan and displayed for situational awareness so the pilot can monitor the aircraft's conformance to plan. But also have the bandwidth to do several other tasks as well.

His weather is going to be constantly updated enroute. His fuel burn is constantly recalculated and compared with his flight plan, with planned discrepancies noted for his attention and action. His air traffic surrounding him is constantly monitored. Hell, thanks to GPS (Global Positioning System) links to his navigation computer, his position is actually accurately known for the first time in history. And automatically down linked to ATC to both follow his progress and plan traffic around him.

Enroute and especially on approach his TAWS (Terrain Awareness And Warning System) is not only providing constant monitoring of the terrain around the aircraft, it is projecting the flight path corrected by the control inputs to provide warnings as well as visual display of the electronic map it carries inside.

His approach is already carried as part of his flight plan, but can be switched with a button stoke to accommodate changing conditions and ATC needs. And it will be the correct one. And it will be displayed without the previous generation's scramble through the charts.

Could we have done all this in the analog days? Probably.

Would we have weight left to carry passengers? Not so much.

Could anyone have afforded it. No way.

As a simple example: The simple left, right, hold-altitude autopilot we built with synchros and servos weighed over 45 lbs. You carried one, if it broke you flew by hand. We replaced it with one that performs many more functions and had a factor of 20 better reliability and weighed 3.5 lbs. You put in two. If it failed, you switched. If necessary to safety, you put in three.

So apples and oranges. We are not making equitable comparisons.

After my finger cool off, I'd like to talk about the complexity issue.

__________________
"If you want to get somewhere else, you must run at least twice as fast as that!"
Register to Reply Good Answer (Score 2)
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#52
In reply to #50

Re: Software is Mostly Unnecessary

12/21/2008 4:17 PM

Given your careful enumeration of control systems and safety measures for aircraft, may we conclude that:

1. Every aircraft, from the largest to the smallest, is protected by similar systems.

2. The protective systems never fail or have any faults.

3. There are no longer any aircraft accidents that are not caused by intent (9-11), operator error, or outright airframe/craft component failure due to uncontrollable causes.

If we can't conclude the above three statements, why not?

Software and the hardware it runs on are only safe to the degree that nothing fails and the design was perfect. In this age of increasing complexity, how can we guarantee that nothing ever fails. We can't, which is why computers occasionally freeze (sometimes more often) and require a system reset. The programmers can't predict every future sequence of operations and uses to which a computer could respond, or every possible hardware failure.

A linear-sequential computer is instruction-dominated, so it can't look at itself as a whole and has very few means with which to perceive something is awry (if it is). It must rely upon the data in the instantaneous frame (or two) it is addressing, whether that data is right or wrong. This is the difficulty programmers and hardware and system designers face while following the Turing machine, shared-resource, and software paradigm. There should and must be a better way than that.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#56
In reply to #52

Re: Software is Mostly Unnecessary

12/31/2008 7:41 PM

Charlie,

I'm still intrigued by what you say, and I would enjoy understanding the Non-Turing equipment you are speaking of. I certainly don't have the hardware knowledge to comment on its feasibility, and will hold my tongue. Are you speaking of computing systems that are Not clock/frequency driven? If so, how do you iterate solutions to certain classes of computing that require interation to resolve?

Respectfully,

Chris

Register to Reply Score 1 for Good Answer
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#57
In reply to #56

Re: Software is Mostly Unnecessary

01/01/2009 11:56 AM

Chris,

Just as the space-time continuum contains any and all discrete things, my dynamic non-Turing system contains computing as a small set of static operations (Boolean and memory). I write of non-computational relationships and operations that are mostly not clock/frequency-driven. Evolutions that require iterations (algorithms) can be performed by computational procedures, just as they are now commonly performed. The trick is to *not* turn all physical process parameters into numbers (after which only computational methods will suffice). The trick is to act upon and react to the elemental physical process signals using a set of more sophisticated operators rather than resort to universal digitization and computation based upon combinations and sequences of AND, NOT, and STORE.

Computation is not the only means of reckoning (monitoring and controlling) physical processes.

Best regards,

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Electromechanical Engineering - Technical Services Manager Canada - Member - Army brat Popular Science - Cosmology - What is Time and what is Energy? Technical Fields - Architecture - Draftsperson Hobbies - RC Aircraft - New Member

Join Date: Sep 2006
Location: Clive, Alberta, Canada
Posts: 5916
Good Answers: 204
#58
In reply to #57

Re: Software is Mostly Unnecessary

01/01/2009 1:51 PM

Charlie,

I've installed and worked with lots of process control equipment in the HVAC industry. I've also worked with PLC equipment in hydraulic accumulators for the oil patch. I did get trained in boolean logic and analog circuits. and I've written tons of vb/vba software in an 'event driven' environment, so if the data aspects are excluded, then I can see that the basic event driven methodology can be applied to process control, and implement both boolean logic and direct analog feedback and control.

I think you could create modular circuits that pair feedback and control into a single hardware circuit. (eg a level sensor with built in valve control) Modularity of the components would make sales, implementation, and troubleshooting easier, than if you created complex 'motherboards' of hardware, but who knows what you have up your sleeve.

I worked for Johnson Controls, and I'm sure that they (and Honeywell and others) built lots of advanced pneumatic equipment that never used the turing model. (receiver- controllers, sensor-controllers, etc)

There was a phase of time when certain portions of the HVAC industry did use electric equipment (and still do) but when Direct Digital Controllers came around, that they were/ are based on the Turing model. Perhaps this is due to the absence of alternatives in other forms of electronic hardware controllers for process control. I think you can definitely find lots of applications for your ideas.

However, now that these process control industries are so familiar with Turing based programmable digital controllers, (esp. with touchscreen lcd monitors) you will have your work cut out for you being competetive with them.. You will have to do some serious large scale marketing to re-train 2 generations of technicians and engineers. I suggest that you start at the top, and establish your equipment with the toughest challenges available, (aerospace?) and then when you do go to market internationally, you will have something truly substantial to market with.

good work.

Chris

Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#59
In reply to #58

Re: Software is Mostly Unnecessary

01/01/2009 2:55 PM

Chris,

You wrote:

"I can see that the basic event driven methodology can be applied to process control, and implement both boolean logic and direct analog feedback and control."

That is right.

"who knows what you have up your sleeve"

FPGAs, the ultimate in configurable hardware.

"You will have to do some serious large scale marketing to re-train 2 generations of technicians and engineers. I suggest that you start at the top, and establish your equipment with the toughest challenges available, (aerospace?) and then when you do go to market internationally, you will have something truly substantial to market with."

Historically, the newest technologies progress from the least-important usage to the most-important, not the other way 'round. Military assimilation of technology typically follows in two decades. I suspect they are still using the '386 varieties of computers.

As far as retraining goes, the task is to train out the linear-sequential thought-process and train in the parallel-concurrent one (which is our native mode of operation, after all), so that should be easy.

Thanks for the thoughts,

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Systems Engineering - New Member Popular Science - Weaponology - New Member

Join Date: Jun 2006
Location: Borrego Springs
Posts: 2636
Good Answers: 62
#51

Re: Software is Mostly Unnecessary

12/20/2008 8:43 PM

I think the key to this discussion may reside in relative complexity.

Complexity is inversely proportional to determinism, probably exponentially.

When hardware and software approach similar levels of complexity, I suspect they become equally hard to fully examine.

Put another way:

I can test a given module in isolation with absolute certainty (generally). I can test a given circuit in isolation with absolute certainty (again generally); there are exceptions to both statements.

But as I combine them into larger and larger systems, I can only test what I think they should do, and what they should not do under limited sets of circumstances; as I suspect both hardware and software go asymptotic eventually. My ability to judge interactions and unexpected consequences go down with complexity as I am human.

All this said; I also recognize you are not a luddite arguing for the end of software, as many in this discussion seem to want to address.

You are proposing appropriate use of technologies; be they hardware or software.

Within that scope I totally agree with you, and most of the things that make us cram software into so many inappropriate uses are societal; not engineering.

We have lots of programmers. Programmers are (relatively) cheap. The hardware to host them is cheap. Marketing wants more features. Manufacturing wants more flexibility. We are all enamored with complexity and feature rich toys for their own sake.

I look forward to your further developments in this area.

__________________
"If you want to get somewhere else, you must run at least twice as fast as that!"
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#53
In reply to #51

Re: Software is Mostly Unnecessary

12/21/2008 4:23 PM

IMHO both hardware and software have become complex in proportion to the degree and variation of the time-like problems and questions a given system must answer or address.

Software tells the hardware when it is time to do each operation. If the hardware was more temporally aware, it wouldn't need so much software, because the hardware could then sense when it was time to do the various operations it should to do to achieve the given design purpose. If the hardware didn't have to listen as much to the software (clock), it could pay more attention to itself and its various functions. It could be more "self-aware" and help itself to stay out of trouble.

The hardware should test itself during normal operations, rather than have software or a human test it off-line or during suspension of normal operation.

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Guru
Engineering Fields - Systems Engineering - New Member Popular Science - Weaponology - New Member

Join Date: Jun 2006
Location: Borrego Springs
Posts: 2636
Good Answers: 62
#54

Re: Software is Mostly Unnecessary

12/31/2008 8:25 AM

Something I should have inserted way back when this was active:

Due to the difficulties you call out, software is extremely difficult to certify in the aviation community, whereas hardware is barely looked at anymore.

So the cost savings you could offer aviation would be staggering, offset of course by the sudden upsurge in demand for hardware guys.

Regards,

Emmett

__________________
"If you want to get somewhere else, you must run at least twice as fast as that!"
Register to Reply
Associate

Join Date: Dec 2008
Location: Northwestern USA
Posts: 31
#55
In reply to #54

Re: Software is Mostly Unnecessary

12/31/2008 4:56 PM

Emmett,

Thanks for your vote and commentary. Do you have any supporting documentation?

Any safety- or time-critical application needs this new technology.

Probably no increased demand for hardware guys because the ones already out there will be more than enough. Hardware requirements (speed, power, etc.) will be less stringent than is already available, due to its intrinsically parallel-concurrent mode of operation.

One would think there should be many interested in a non-Touring method as the limit of Moore's Law approaches, but that doesn't seem to be the case.

Best regards,

Charlie

__________________
A continuum is a given, not constructable.
Register to Reply
Register to Reply 59 comments

Good Answers:

These comments received enough positive votes to make them "good answers".

"Almost" Good Answers:

Check out these comments that don't yet have enough votes to be "official" good answers and, if you agree with them, vote them!
Copy to Clipboard

Users who posted comments:

Blink (2); CharlieM (25); chrisg288 (7); dkwarner (3); edignan (3); Epke (1); Hendrik (1); HUX (1); nick name (5); rexeken (2); tkot (2); TVP45 (1); U V (4); user-deleted-1105 (2)

Previous in Forum: Electrolysis Units   Next in Forum: Wanted: PIN Photodiode
You might be interested in: Reliability Software

Advertisement