Definitions Flashcards

1
Q

Real-time system

A
  • Must meet a timing deadline

- Must be able to validate that their timing is corrrect

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

When is a system safety critical

A

If a failure can cause loss of goods, money or life

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

Give 2 benefits of smaller sampling period

A
  • Better approximation of analogue signal

- Reduces oscillation

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

Disadvantage of smaller sampling period

A

Demanding of processor time

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

Multi-rate control systems

A

Have aspects (sensors, actuators etc.) that depend on different timing rates

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

Give 3 difficulties associated with RT systems

A
  • Requires concurrent control of separate system components
  • Reactive behaviour is unpredictable
  • If the system guarantees a certain response time, the worst case response times must be predicted
  • Haha here’s a 4th fuck you James
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Fast RT system

A

System must act in a short amount of time in response to an input

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

Slow RT system

A

The system doesn’t need to act quickly in response to an input

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

Hard RT system

A

Must meet a hard deadline

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

Soft RT system

A

The moment in time that an action must occur isn’t that important

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

Embedded system

A

Performs one type of job

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

What converts assembly to machine code

A

Assembler

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

Give 4 benefits of C over assembly language

A
  • Easier and quicker
  • Easier to modify and update
  • Can use function libraries
  • Code is portable
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Register

A

Storage location that can read/write to ALL bits at the same time

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

Which is quicker, a register or RAM?

A

Register

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

Do values from RAM go straight into processing?

A

No, they are stored in a register first

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

Accumulator

A

Accumulates the RESULT of arithmetic. Is the most versatile

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

R Registers

A

General purpose

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

B Registers

A

Like an accumulator but only for * and /

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

Data pointer

A

Points to data

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

Program Counter (PC)

A

Points to next instruction in memory

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

Stack pointer

A

Points to the next value to be removed from the stack

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

Signed integer data type

A

16 bit signed integer

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

Bit data type

A

1 bit, used for RAM

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

S bit data type

A

1 Bit, used for SFRs

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

Special Function Registers

A

Registers that deal with things such as I/O, power management. Can be bit or byte addressable

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

Sfr data type

A

8 bit, for byte-addressable SFRs

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

Give 2 benefits of software delays

A
  • Don’t require hardware timers

- Work (imprecisely) on any micro-processor

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

Give 2 drawbacks of software delays

A
  • It is difficult to make them accurate (use oscilloscope)

- Must be readjusted to use on different micro-processor, clock frequency or even compiler

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

What is the Machine Cycle?

A

Fetch, Decode, Execute, Store

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

What determines the clock period?

A

Crystal frequency

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

Give each stage of the Waterfall model for system development

A
  • Requirements analysis and specification
  • High level design
  • Detailed design
  • Coding
  • Unit testing
  • Integration testing
  • System and acceptance testing
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
33
Q

Interrupt

A

Signal sent to the CPU that pauses the current program execution to instead execute some code associated with the event

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

External interrupts

A

Interrupts that come from outside the chip, via interrupt pins

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

Unit testing

A

Test individual components for functionality. Should be able to write the tests before the code

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

Test driven development (TDD)

A

Write the tests first, implement the code, test code and adjust until it passes the tests. Then repeat for the next part of the program

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

Give 4 benefits of running unit tests

A
  • Reduces number of bugs when integrating
  • Bugs are found earlier
  • Helps with documentation
  • Encourages good design (you have testability in mind when writing the code)
38
Q

Splint

A

Tool that checks C code for errors and vunerabilities

39
Q

Coverage checking

A

Making sure there are no missing test cases - was each line of code run?

40
Q

Give 4 benefits of test-driven development (TDD)

A
  • There is a focus on the function of the code before implementation
  • Encourages best practices
  • Improved code coverage
  • Feedback to programmer is fast
41
Q

“Big-bang” (integration testing strategy)

A

Integrate all components at once

42
Q

Give 1 benefit and 2 drawbacks of big-bang testing

A

If it works, then time is saved. But if it doesn’t then it is difficult to find the bugs, and coverage is difficult to achieve

43
Q

“Bottom up” (integration testing strategy)

A

Integrate low level functions first, work upwards

44
Q

Give 1 drawback and 1 benefit of bottom up testing

A

You have to write test code for each integration, but you can use drivers from unit testing to help

45
Q

“Top-down” (integration testing strategy)

A

Integrate from the top, using ‘stubs’ to simulate code from lower down levels

46
Q

Give 1 benefit and 1 drawback of top down testing

A

You can easily link test cases to the design criteria as you are working with the top levels, but you have to take the time to write stubs

47
Q

“Sandwich” (integration testing strategy)

A

Combination of bottom up and top down. Test from the top down using stubs, test the middle levels with stubs and drivers, and the bottom with just drivers (all at the same time). You can then retest with actual system parts instead of stubs and drivers

48
Q

Give 1 benefit and 1 drawback of sandwich testing

A

Code can be tested as you add components, but it’s bare effort to write all the stubs and drivers

49
Q

System testing

A

Overall testing of system to make sure the specification is met, under normal and abnormal usage.

50
Q

Alpha testing

A

The customer is given a limited functionality prototype of the system, and uses it under supervision of the development team

51
Q

Beta testing

A

The customer is given a prototype that is very close to the finished product, and gives feedback over time

52
Q

Regression testing

A

After fixing a bug, test other parts of the system to make sure that the fix did not break anything else

53
Q

Give 3 benefits of the waterfall model

A
  • The outputs of each phase can be used to measure progress
  • Uses a top-down structure
  • Allows for intuitive implementation
54
Q

Give 2 drawbacks of the waterfall model

A
  • The specification is set early on, and the model doesn’t leave much room for changes in the spec
  • Testing isn’t done until after implementation
55
Q

Describe the evolutionary model

A

Uses exploratory development. From the initial requirements, a prototype is built. This is tested and evaluated. Another iteration is done and the process repeats

56
Q

Give 3 benefits of the evolutionary model

A
  • Heavy customer involvement, therefore requirements are likely to be satisfied
  • Early and regular testing limits chance of failure
  • Works well for smaller projects
57
Q

Give 4 drawbacks of the evolutionary model

A
  • Difficult to manage
  • Deliverables are not well defined
  • Continued changes may lead to a bad program structure
  • The number of iterations must be limited due to time and cost
58
Q

Incremental model

A

Like waterfall, but the design stage is split into increments

59
Q

Give 5 benefits of the incremental model

A
  • The requirements can be prioritised
  • Prototypes meet the basic requirements early on
  • Prototypes provide a testing platform
  • Requirements can evolve
  • Increments are planned, which allows for risk management
60
Q

Give the 4 stages of the spiral model

A
  • Determine objectives
  • Identify and solve risks
  • Develop and test
  • Plan next iteration
61
Q

Describe Scrum methodology

A

A ‘product backlog’ is made, which is a wishlist from all of the stakeholders. This is cut down to produce the release backlog, and tasks on it are grouped into ‘sprints’. Timings to complete each sprint are estimated, and as the project goes on a ‘burndown chart’ shows the estimated completion date of each sprint etc.

62
Q

Give 2 benefits of Scrum

A
  • The burndown charts make it clear whether or not the project is running according to schedule, and where exactly it is behind
  • It is always clear who should be doing what
63
Q

Give 3 drawbacks of scrum

A
  • Integration is done after increments are built
  • Assumes communication is always good enough
  • Informal
64
Q

Describe extreme programming (XP)

A

The customer is in the room as development happens. Pair programming, TDD and creative ownership are used. A whole version of the system is built every day

65
Q

Pair programming

A

2 people per workstation. The pairs and tasks they work on switch periodically. There is no impact on efficiency but the error rate goes down

66
Q

Creative ownership

A

Nobody is responsible for any certain bits of code, anyone can edit anything. The first people to finish their bit win - the others have to make sure their code works with it

67
Q

Give 3 drawbacks of XP

A
  • Coordination is difficult
  • Sometimes the process can go on far too long
  • Documentation is often neglected
68
Q

What kind of projects is ‘heavyweight’ better suited to?

A

Projects where requirements can be well predicted. This allows a detailed plan to be made early on

69
Q

When is ‘agile’ development used?

A

For projects that must react to rapid changes. For high priority projects that must produce results quickly

70
Q

What is the key difference between object oriented programming (OOP) and procedure oriented programming (POP)?

A

With POP the program is split into processes, and with OOP it is split into objects

71
Q

Properties (of a class)

A

A collection of attributes

72
Q

Class

A

Object construct, made up of properties

73
Q

Instantation

A

Method of using a class

74
Q

Base class

A

The highest level of a set of classes

75
Q

Member function

A

Function inside a class

76
Q

Encapsulation

A

How class properties can be inaccessible from the rest of the program

77
Q

Public (properties of a class)

A

Visible to all

78
Q

Protected (properties of a class)

A

Visible to a class and its subclasses

79
Q

Private (properties of a class)

A

Only visible to their own class

80
Q

Constructor

A

Public method with the same name as its class

81
Q

Destructor

A

Method called when an object is deleted

82
Q

Polymorphism

A

How functions can behave differently in different contexts (like inside or outside of a class)

83
Q

Describe exploratory development

A
  • starting point established from requirements
  • first generation system created
  • version evaluated and second generation produced
  • system repeats until all specs met
  • customer provides feedback
84
Q

Give 3 agile methodolgies

A
  • scrum
  • extreme programming
  • crystal
  • Feature-driven development
  • lean development
  • Adaptive software development
85
Q

heavyweight methodologies

A
  • Predictive approach
  • Comprehensive documentation
  • Process oriented
  • Tools oriented
86
Q

Give 3 principles of agile development

A
  • Deliver Early and Often to Satisfy Customer
  • Welcome Changing Requirements
  • Simplicity is Essential
  • Face to Face Communication is Best
87
Q

Give 3 factors for determining methodology

A
  • Size of Team
  • Requirement Changes Over Time
  • Is a Comprehensive Communication Plan Required
  • Is Contract Integral to Defining Relation with Customer
88
Q

List the Scrum development framework

A
  • Scrum Roles
  • Product Backlog
  • Sprint Planning
  • Sprints
  • Daily Scrum
  • End of Sprints
  • Repeat
89
Q

Function Overloading

A

program defines two or more functions with the same name and in the same scope. Each function has a unique signature.

90
Q

Agile methodologies

A
  • Individuals and interactions
  • working software
  • Customer collaboration
  • Responding to change