- 98 Views
- Uploaded on
- Presentation posted in: General

Lecture 2: Systems Engineering

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Lecture 2: Systems Engineering

EEN 112: Introduction to Electrical and Computer Engineering

Professor Eric Rozier, 1/23/2013

CROSSING THE RIVER…

A farmer needs to transport a wolf, a goat, and a cabbage across the river.

F

G

- Boat has two seats
- Farmer must drive…

- If left alone…
- The wolf will eat the goat.
- The goat will eat the cabbage.

W

C

As a group, formulate a solution to transport everything across the river, without anything being eaten.

F

G

W

C

- Sometimes we have to move backwards to move forwards.
- Even simple systems need thought to formulate a plan for accomplishing their goals.
We call this plan, an algorithm.

ALGORITHMS

- al-Khwarizmi
- Persian mathematician, astronomer, and geographer born780 A.D.
- Invented a few things…
- Decimal system
- Algebra
- Trigonometry

- al-Khwarizmi also introduced the idea of solving problems using step-by-step procedures for calculations.
- Algorithms – A method of solving a problem or accomplishing a task expressed as a finite list of well defined instructions.
- Starting from an initial state and an initial input, the instructions describe a computation that, when executed will proceed through a finite number of well defined successive states, eventually producing output, and terminating at a final ending state.

- States are a way of measuring the condition of a system, and it’s environment.
- Inputs are a way of getting information to a system.
- Outputs are a way of getting information from a system.

- Algorithms let us define, formally, what we want machines and automated systems to do.
- Algorithms are written to have precise meanings, and to be generally applicable.

- We build systems to do jobs, solve problems, and accomplish tasks.
- Often these systems are cyberphysical systems, i.e. they combine computational components with the real world.
- An algorithm is a way of telling the components how to do their job, and how to work together.

- Thermostat
- What is the goal?
- What problem does it solve?
- How would we characterize the state?
- What would the inputs and outputs be?

- Thermostat
- What is the goal?
- What problem does it solve?
- How would we characterize the state?
- What would the inputs and outputs be?
- Break into groups
- Define the problem
- Define what the thermostat needs to do

- Thermostat
- Regulate temperature
- Specification
- Must be able to sense temperature
- Based on the temperature must be able to signal cooling or warming the room, or to do nothing.
- State: temperature, heating state, cooling state

- Thermostat
- Pseudocode algorithm
- tempLow = L
- tempHigh = H
- loop()
- Test temperature, store the value in T
- If (T < L) send a heating signal
- If (T > H) send a cooling signal

- Pseudocode algorithm

Thermostat

Signal: Heat

Signal: Cool

Heater

Air Conditioner

Sensor

Thermostat

- Some important points…
- Four systems here, each with their implementations…
- Need to communicate with each other…

Signal: Heat

Signal: Cool

Heater

Air Conditioner

Sensor

- Systems communicate via signals, over wires, or wirelessly via electromagnetic radiation.
- In our thermostat system, the heater and cooler can be switched on or off by a pure signal on the wire. I.e., if electrons are flowing, turn on, if not, turn off!

- But how do we get information from the sensor?
- It needs to send a number… how do we do that?

- What if we encode the signal into pulses?
- Detect if the value is above or below some threshold, and decide it represents a 1, or a 0.
- Strings of 1’s and 0’s can be interpreted as a number.

- True or false…
- 1 – true
- 0 – false
- We already were doing this with pure signals.

- Integers
- Examples
- 00000000 – 0- 00000010 - 2
- 00000001 – 1- 00001010 – 10
- 00000011 – 3- 10010011 – 147

Negative numbers and real numbers are more complex…

We will cover those later…

- Using true/false values in complicated ways
- Thermostat system
- Let’s make a change to the basic system
- Add a switch with values “Heat” and “Cool”
- Cool the room if T > H and Switch is set to “Heat”
- Heat the room if T < L and Switch is set to “Cool”

- Gets back to gators and grades…
- Represent truth as 1, and false as 0
- We can operate on values using the following basic operators:
- AND
- OR
- NOT

- We can operate on values using the following basic operators:

- X AND Y

- X OR Y

- NOT X

- ^ - And
- v – Or
- ! – Not
- !X ^ Y

- X ^ Y = Y ^ X
- X v Y = Y v X

- X ^ (Y ^ Z) = (X ^ Y) ^ Z
- X v (Y v Z) = (X v Y) v Z

- X ^ (Y v Z) = (X ^ Y) v (X ^ Z)
- X v (Y ^ Z) = (X v Y) ^ (X v Z)

- !x ^ !y
- !(x ^ y)
- !x ^ x
- (x v y) ^ !(x ^ y)

AND

OR

NOT

AND

OR

NOT

- X XOR Y
- (x v y) ^ !(x ^ y)
- Exclusive Or

- X Y
- (!X v Y)
- Implication

- X = Y
- (!X XOR Y)

- The negation of a conjunction, is the disjunction of the negations
- !(X ^ Y) <-> (!X) v (!Y)
- !(X v Y) <-> (!X) ^ (!Y)

- Prove the equivalence of the expressions in De Morgan’s Laws with truth tables (show they are the same!)