5. Design and Development Flashcards

1
Q

What are some benefits of distributed systems over embedded systems?

A
  1. Resource sharing.
  2. Openness.
  3. Concurrency.
  4. Scalability.
  5. Fault tolerance.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the typical components of an embedded system?

A
  1. Processor.
  2. Analog input/output.
  3. Sensors and actuators.
  4. User interfaces.
  5. Application-specific gates.
  6. Software.
  7. Memory.
  8. Emulation and diagnostics.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What are the three well-known models used to develop embedded systems? Explain each.

A

Waterfall: Sequential method where each project phase depends on the deliverables of the previous phase.
Spiral: In the spiral model, the software development phases are represented by loops of a spiral where the radius of the spiral shows at any point the cost of the project so far, and the angular dimension illustrates the project’s progress.
Agile: Based on iterative development where tasks are broken into smaller iterations.

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

What does MOM stand for?

A

Message-Oriented Middleware

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

What are the challenges and risks of distributed systems?

A

Security, network failure, synchronization, and network architecture.

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

Name and explain the most important architectural patterns.

A

Layers pattern: Services of each layer can be used by multiple higher layers. Easier to develop standardized tasks and interfaces. Each layer can be developed and tested independently of other layers.
Client-server pattern: Multiple clients request and receive services from server components that are constantly active and listening.
Master slave pattern: Based on the divide-and-conquer principle, the master component splits the work and distributes the computational tasks among identical slave machines.
Pipe-filter pattern: Used to provide a structure for systems producing a stream of data.
Broker pattern: The communication between different components of the distributed system is coordinated and performed by a broker.
Peer-to-peer pattern: Can be considered a symmetric client-server pattern, each peer can act as a client, a server, or both at any time.
Event-bus pattern: A source publishes its data to a specific channel on an event bus.
Model-view-controller pattern: Typically used in multiple graphical user interfaces. The model contains the data and core functionality. The view displays the data to the user. The controller handles input from the user.
Interpreter pattern: Software developers use the interpreter pattern to design a component that is supposed to interpret programs written in a particular language.
Blackboard pattern: Used to solve problems that have no deterministic solution strategy, such as submarine detection and speech recognition.

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

What does OSI stand for?

A

Open Systems Interconnection

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

What does CORBA stand for?

A

Common Object Request Broker Architecture

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

Name a few architectural styles.

A

Data flow style, interacting processes style, Data-centered style, Hierarchical style, and call and return style.

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

What are the three commonly-used embedded platforms for software development?

A

Microcontrollers, mono-board computers, and one-chip systems

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

What are microcontrollers and what is their basic structure?

A

Microcontrollers are small self-contained, low-cost computers embedded in a single integrated circuit (IC) chip.
CPU, memory, input/output (I/O), and peripheral controller chips.

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

What are mono-board controllers?

A

All devices of an entire embedded computing system, including the microprocessors(s), input/output peripherals, and memory elements are integrated and built on a single printed circuit board (PCB).

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

What are some advantages of using Arduino computers?

A

Relatively inexpensive, has a cross-platform integrated development environment (IDE), a simple and flexible programming environment, has open source software and the schematic diagrams and technical documents of the Arduino boards are published and shared under a Creative Commons (CC) license.

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

What are On-chip systems?

A

An entire computer is integrated into a single chip.

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

What does PLL stand for?

A

Phase lock loop

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