Embedded Systems Essay

 

CAN Bus - a network of components - electronic shifting in bikes

Read the following article, TheBugsintheMachine, and answer these questions.

  1. According to this article why should we be concerned about "embedded systems"?
    1. We should be concerned because they allow software to fully control computers and objects such as airplanes. Errors in these embedded systems can cause the them to malfunction, which can be especially dangerous for a plane midflight.
  2. I just bought a new software application, how many errors can I expect in every 1000 lines of code?
    1. You can expect 5 to 15 errors in every 1000 lines of code.
  3. What are some of the trends in the software world that contribute to this high number of flaws?
    1. This high number of flaws is in part caused by the culture of the software world; due to cost-benefit ratios, programmers have little incentive to ensure code is flawless as it is much easier to code post-release patches. Also, many programmers lack the skill to increase reliability due to the use of high-level programming languages that simplify the coding process. Also, many programmers use over-the-shelf software as a basis instead of building their code from scratch, which can produce errors.
  4. What is the writer's prediction about the future of embedded systems?
    1. The writer predicts that if the US removes programmers legal protections than shoddy software could produce many lawsuits, motivating programmers to create better software.

Refer to the definition of an "embeddedsystem" to answer these questions.

  1. How is an embedded system different from a PC?
    1. An embedded system is different from a PC as it is single purpose while PC’s are general-purpose. Often an embedded system is integrated into hardware and mechanical parts to create a complete device with the embedded system controlling the device. This is much different from a PC which can run different programs, control various devices, etc.
  2. What are some of the advantages of an embedded system being dedicated to a specific task?
    1. The advantages for single-purpose embedded systems include low power consumption, small size, rugged operating ranges, and low per-unit cost. Additionally, design engineers can optimize embedded systems to reduce their size and cost as well as increase the reliability and performance of those products. Also, some embedded systems are mass-produced, allowing each individual device to be cheaper.
  3. Move to the "Variety of embedded systems" and give two examples of embedded systems in each of the following areas: Consumer Electronics, Transportation and Medicine.
    1. Consumer electronics include mp3 players and digital cameras. Examples of embedded systems involved with transportation are the inertial guiding systems of planes and electric motors such as DC motors. In medicine, embedded systems are used in electronic stethoscopes and medical imaging such as MRI.

A network in your car? Read the following article, Motoringwithmicroprocessors, and answer these questions.

  1. What are some of the advantages of having a network inside your car?
    1. Interprocessor car networks can help cut down the overly long, complicated, and expensive wiring that exist in today’s cars. Additionally, car manufacturers design car networks to allow cars to be smarter, safer, and lighter with simpler and more reliable wiring.
  2. What was the problem with networked mirrors that shifted down and in when you put the car in reverse
    1. In these cars, mirrors used the car’s control network to communicate with the transmission, the car part that told the mirrors when to shift down. However, criminals discovered that if they removed the mirrors they could gain access to that control network. This would allow them to control any aspect of the car that involved computer processors, including the commands to unlock the car.

10. Evaluate the use of embedded systems in such critical systems as plane navigation systems. This is an evaluate question. You need to come to "make an appraisal by weighing up the strengths and limitations of different evidence and arguments". Make a conclusion and support your answer but also include limitations. 5 points
            Embedded systems have become integrated into many different appliances, objects, and vehicles, including our airplanes. All computers have glitches and bugs, but this can become very dangerous in systems such as planes when, at cruising altitude, the navigation systems start malfunctioning. This is not the only scenario in which a computer malfunction in an embedded system could prove disastrous, a glitch during both a military combat and when dialing a 911 call could seriously danger someone. For these reasons, some argue that the best option is for software programmers to be more thorough when coding and to decrease reliance on “off-the-shelf” programs such as Windows 2000 that are incredibly flawed. Unfortunately, this idea is much easier and simpler in theory than in practice. It is all but assured that tech companies would resist such a raising of the bottom line, arguing that software is incredibly complex and thus bugs in that software are unavoidable. Additionally, software developers do not have a financial incentive to triple-check code (it is much cheaper to write post release patches) and ensure a higher quality.
Though these limitations are valid and should be considered, forcing software vendors to be more careful still has the most potential for eradicating most of these problems while ensuring we can still have the benefits of integrating embedded systems. For example, ending many of the strong legal protections of software developers, especially shrink-wrap licenses and click through agreements, would open up these vendors to damage claims (people could sue them). This would produce the financial incentive to create higher quality products, causing developers to consider paying the cost of currently existing methods that can find these bugs, such as mutation testing, to avoid these lawsuits. We currently have the means to ensure higher quality code that contains less bugs, and though integrating them in the programming process will not be an easy task, it is our best option to prevent dangerous malfunctions in critical systems.

10. Evaluate the use of embedded systems in such critical systems as plane navigation systems. This is an evaluate question. You need to come to "make an appraisal by weighing up the strengths and limitations of different evidence and arguments". Make a conclusion and support your answer but also include limitations. 5 points.

Brainstorm what the characteristics are of embedded systems
                Specialized, narrow range of tasks, fast, precise, cheaper because smaller, not a whole system, may have bugs

Because of their task specific design embedded systems such as the navigation system in an airplane are able to work quickly and precisely providing greater safety for the passengers and increased profit for the airlines. Navigation systems can determine a planes precise location, speed, direction and altitude using GPS information. Such a system could warn a pilot if the plane is off course, at the wrong altitude or moving too close to the ground. The system can also reduce costs to the airlines by providing more direct paths to the destination thus reducing flight time and fuel costs. At the same time because a navigation system is so critical to the safety of the passengers the costs would be much higher because of the added costs of developing an extremely reliable system. Also if pilots become dependent and overly confident of such systems this could result is tragic losses if there is an error in the system. If a pilot is only relying on the navigation system and not paying attention to what the plane is doing and the system’s calculated altitude is not correct the plane could be in danger of crashing. Thus such embedded systems are very beneficial but must also be used wisely and intelligently and always with an understanding of the limitations of such systems.