Lecture 8: Design and Specification Flashcards

1
Q

What is functional specification?

A

It is used to describe the relationship between the inputs and outputs of a system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is top down design?

A

We start with a very abstract design of the system and identify the major components. It is stepwise refinement with an iterative process for decomposition as it will refine the system into smaller more manageable components

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is bottom up design?

A

Start with the small basic level components. Use these smaller components to build up to more complex functionality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Why would we want to use Top Down design?

A

It helps us to clarify the problem and gain a system level perspective of the design. We can easily distribute module implementation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is bad about Top Down design

A

It can be hard to test early on because we may not have created some of the required components yet. Get around this by creating stub models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is good about Bottom Up design?

A

It is fast to implement and allows for early testing. We can build and test the critical modules first.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is bad about Bottom Up design?

A

It is hard to gauge an overall idea of system functionality, as we need all modules to observe this. We may get into the project and then find out that redesign is needed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is a system context diagram?

A

It is a diagram that shows the boundary between a system and its environment. It will detail all external entities that may interact with the system. It is the top most level of design.
Represent the system in a circle and all other peripherals in rectangles.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What can we do to refine a system context diagram?

A

Use a Dataflow diagram.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is a data flow diagram?

A

It is a diagram that can show either physical or logical data flow. It is hierarchal meaning that it can show different levels of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is a Finite State Machine?

A

We use it to model and control sequencing in a system. it is a visual representation that can be useful when implementing real time systems. The outputs of the system not only depend on the input to the system but also the previous state of the system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is a Mealy State Machine?

A

It is a model where the output depends on the input and the current state. It will have less states compared to the Moore Machine. It will respond faster, with the output reacting to a change without delay.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What can happen to a Mealy State machine if we aren’t careful when connecting two state machines?

A

Can cause asynchronous feedback.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a Moore State Machine?

A

The output only depends on the current state of the machine.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Why is a Moore machine safer?

A

There is a delay on its outputs. The outputs can only change once the state is reached.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

By default, do Finite state Machines support value only events?

A

NO. We can extend FSM’s to be able to deal with these.

17
Q

How can we create a FSM in C?

A

By using a switch case statement. The state is the current case. Transitions are the assignment to state variable. Events and conditions are if else statements. Actions are assign statements.

18
Q

What is hierarchal FSM?

A

These allows states to encompass other states and can allow for a more compact representation in some cases.

19
Q

How does Hierarchal FSM allow for a more compact representation?

A

Because FSM needs to be overly specific, it reduces the need for duplicate states

20
Q

How can we create a Hierarchal FSM in C?

A

By using nested switch case statements.