Hardware Development

From EUDP
Revision as of 12:22, 26 August 2009 by Ellyk (Talk)

Jump to: navigation, search

What

Hardware Development using Software Methodology

How

The dish

Develop Hardware using Software Methodology

Ingredients

Process

The Rich Picture and the System Definition must be agreed upon between the customer and the developer.

From the Rich Picture it is possible to develop block diagrams.

Each block has a unique name.

The unique name must clearly define what the function of the block is.

The blocks should be easily selected from the drawing.

Naturally, each block has some inputs and some outputs which can be translated to variables (x) and functions (f(x)). The functions and variables must be named in accordance with the drawing.

Each block in the block diagram can be made like the one below. Especially software developers like this form which looks like Class Diagrams.

For each class or block it is possible to make a State Machine Diagram. The states and actions are still derived from the drawing, considering each function. Have a look at some examples concerning hardware.

Why

A common goal of the EUDP-project is to find a method that defines the various processes in a project.

The following aspects are important:

  • The early processes within the method must be understandable for both the costumer and the developer.
  • The method should enable both hardware and software developers to use the same tools during the analysis of the system-to-be.

Generally, the best method from a hardware developer's point of view is to draw a block diagram, because he often uses older constructions from which he develops new parts � re-use!

Software developers use the UML notation. This generally means that the best method is to draw Class Diagrams, Use Cases, State Machine Diagrams etc.

Block Diagrams and Class Diagrams are very similar. In hardware development a State Machine Diagram will enhance the understanding of the class or block diagram, because the dynamics of the block will be included. Therefore, we encourage to use these parts of the analysis even while analysing hardware.

Normally, the costumer cannot understand or read block diagrams, whereas he often will be able to understand a drawing. It further enhances his understanding if the drawing is made interactively with the developer. Consequently, the first objective is to make a drawing which includes all aspects of the project (a so-called Rich Picture). At this stage the drawing is important because the customer and the developer can exchange views and discuss things in detail. Additionally, explanations of parts of the drawing may be given when necessary. This ensures a mutual understanding.

Once the Rich Picture is made, it is important that it is accompanied by a project description as well as a System Definition. Conclusion

When hardware and software developers use the same methodology it is much easier to decide which blocks to implement in software and which in hardware. And as shown above it is possible to use the object-oriented method in hardware development.

Consequently, usage of the same method for both software and hardware analysis ensures that the customer has a chance to understand the results during the process - at least in the early parts of the process.

Example

Example. 1, A power supply.

Block (Class) diagram and state machine diagram for the power supply.

Tx oodocs d03f422a89.jpg

The power supply has an input and an output. The output depends on the chosen mode. The choices are made by the user and the power supply gets the information via a microprocessor. The possibilities are the pin on/off high or low and/or the sound only pin high/low. The power supply only works when the mains plug are in. When put in the first time the power supply must start up in standby mode. The mains plug can be removed at any time. Notice that it is not possible to go from the one mode to reduced mode unless the power supply is turned off first.

Example 2, an electrical engine.

Block (Class) diagram and state machine diagram for an electrical engine.

Tx oodocs 29a2bd6096.jpg

The engine only works when the mains plug are in. When power is plugged the engine must start up in standby mode. The mains plug can be removed at any time. In standby mode the engine is not running. The engine can be turned on or off using the on/off pin. The speed of the engine can be increased or decreased by using the increase/decrease pin. The speed will be read out.