Further Reading

Koopman [Koo10] describes in detail the phases of embedded computing system development. Spasov [Spa99] describes how 68HC11 microcontrollers are used in Canon EOS cameras. Douglass [Dou98] gives a good introduction to UML for embedded systems. Other foundational books on object-oriented design include Rumbaugh et al. [Rum91], Booch [Boo91], Shlaer and Mellor [Shl92], and Selic et al. [Sel94].

Questions

Q1-1 Briefly describe the distinction between requirements and specification.

Q1-2 Give an example of a requirement on a computer printer.

Q1-3 Give an example of a requirement on a digital still camera.

Q1-4 Given an example of a specification on a computer printer, giving both type of specification and any required values. Take your example from an existing product and identify that product.

Q1-5 Given an example of a specification on a digital still camera, giving both type of specification and any required values. Take your example from an existing product and identify that product.

Q1-6 Briefly describe the distinction between specification and architecture.

Q1-7 At what stage of the design methodology would we determine what type of CPU to use (8-bit vs. 16-bit vs. 32-bit, which model of a particular type of CPU, etc.)?

Q1-8 At what stage of the design methodology would we choose a programming language?

Q1-9 Should an embedded computing system include software designed in more than one programming language? Justify your answer.

Q1-10 At what stage of the design methodology would we test our design for functional correctness?

Q1-11 Compare and contrast top-down and bottom-up design.

Q1-12 Give an example of a design problem that is best solved using top-down techniques.

Q1-13 Give an example of a design problem that is best solved using bottom-up techniques.

Q1-14 Provide a concrete example of how bottom-up information from the software programming phase of design may be useful in refining the architectural design.

Q1-15 Give a concrete example of how bottom-up information from I/O device hardware design may be useful in refining the architectural design.

Q1-16 Create a UML state diagram for the issue-command() behavior of the Controller class of Figure 1.27.

Q1-17 Show how a Set-speed command flows through the refined class structure described in Figure 1.18, moving from a change on the front panel to the required changes on the train:

a. Show it in the form of a collaboration diagram.

b. Show it in the form of a sequence diagram.

Q1-18 Show how a Set-inertia command flows through the refined class structure described in Figure 1.18, moving from a change on the front panel to the required changes on the train:

a. Show it in the form of a collaboration diagram.

b. Show it in the form of a sequence diagram.

Q1-19 Show how an Estop command flows through the refined class structure described in Figure 1.18, moving from a change on the front panel to the required changes on the train:

a. Show it in the form of a collaboration diagram.

b. Show it in the form of a sequence diagram.

Q1-20 Draw a state diagram for a behavior that sends the command bits on the track. The machine should generate the address, generate the correct message type, include the parameters, and generate the ECC.

Q1-21 Draw a state diagram for a behavior that parses the received bits. The machine should check the address, determine the message type, read the parameters, and check the ECC.

Q1-22 Draw a class diagram for the classes required in a basic microwave oven. The system should be able to set the microwave power level between 1 and 9 and time a cooking run up to 59 minutes and 59 seconds in one-second increments. Include * classes for the physical interfaces to the telephone line, microphone, speaker, and buttons.

Q1-23 Draw a collaboration diagram for the microwave oven of Q1-22. The diagram should show the flow of messages when the user first sets the power level to 7, then sets the timer to 2:30, and then runs the oven.

Lab exercises

L1-1 How would you measure the execution speed of a program running on a microprocessor? You may not always have a system clock available to measure time. To experiment, write a piece of code that performs some function that takes a small but measurable amount of time, such as a matrix algebra function. Compile and load the code onto a microprocessor, and then try to observe the behavior of the code on the microprocessor’s pins.

L1-2 Complete the detailed specification of the train controller that was started in Section 1.4. Show all the required classes. Specify the behaviors for those classes. Use object diagrams to show the instantiated objects in the complete system. Develop at least one sequence diagram to show system operation.

L1-3 Develop a requirements description for an interesting device. The device may be a household appliance, a computer peripheral, or whatever you wish.

L1-4 Write a specification for an interesting device in UML. Try to use a variety of UML diagrams, including class diagrams, object diagrams, sequence diagrams, and so on.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.149.254.110