4 ms·
This question should include a time frame. (just like when someone desires a "real time system", the deadline is key to answering the question "is it real time
by andyidsinga 11y ago
This question should include a time frame. (just like when someone desires a "real time system", the deadline is key to answering the question "is it real time or not"
One way to set this time frame could be "life of the system" -- which might be say 2 years, or 5 years, or 50 years.
The more constrained your requirements and design are in terms of inputs and outputs and error states, the more you can validate and get closer to maintenance free (finite state machines are a nice pattern for this).
Many embedded systems (appliances, space program gear) achieve this, but I've noticed that as those are built more and more with off the shelf general purpose hardware and software they become more error prone and require maintenance (due to competition and time to market tradeoffs?)
edit: one final thing re error states : watchdog timers. These can be tremendously useful in reducing maintenance, and keeping functionality alive. When certain error states are entered, the watchdog timer triggers and the system can restart to a known good state and, hopefully, restore its core functionality until that particular error state is entered again.
- _pdp_ 11y agoThanks for the comment. You are right. I did not think of all the space exploration equipment that is up there. But maybe there are doing upgrades as well? I don't know. Also I like what you said about timeframe. Why software doesn't have a warranty period after which the software is absolute?
- andyidsinga 11y agocertainly they are doing upgrades and maintenance. They have probably set time frame requirements for these too, for instance, "device must be able to function with current sw for N hours/days/months while out of radio contact" Your question was a great one though -- and worthy of pursuit as a sw engineering goal in general!
- deleted 11y ago[deleted]
- pjc50 11y agoGenerally the space stuff avoids updates because it's risky, but also because it's oneshot: you can't go back and have another pass at Pluto with the updated software. You have to get it right first time. But there definitely have been updates to the Mars rovers, due to the continuing nature of their missions and to adapt to hardware damage (such as Curiosity now driving in reverse). Insistence on warranties would up the cost of software exponentially. Did you mean "obsolete" for absolute, or absolute meaning "fixed and immutable"?