# Lecture 2: Systems Engineering

## Presentation on theme: "Lecture 2: Systems Engineering"— Presentation transcript:

Lecture 2: Systems Engineering
EEN 112: Introduction to Electrical and Computer Engineering Professor Eric Rozier, 1/23/2013

CROSSING THE RIVER…

Farmer, Wolf, Goat, Cabbage
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

Farmer, Wolf, Goat, Cabbage
As a group, formulate a solution to transport everything across the river, without anything being eaten. F G W C

What do we learn from this exercise?
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

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

Algorithms 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, Inputs, and Outputs
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 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.

Systems Engineering and Cyberphysical Systems
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.

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

Example System: 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

Example System: 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

Example System: 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

Example System: Thermostat
Signal: Heat Signal: Cool Heater Air Conditioner Sensor

Some important points…
Thermostat Signal: Heat Signal: Cool Heater Air Conditioner Sensor Some important points… Four systems here, each with their implementations… Need to communicate with each other…

Networking and Communication
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!

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

Networking and Communication
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.

Some simple things we can represent with 1’s and 0’s
True or false… 1 – true 0 – false We already were doing this with pure signals.

Some simple things we can represent with 1’s and 0’s
Integers Examples – – 10 – – 147 7 6 5 4 3 2 1 128 64 32 16 8

Negative numbers and real numbers are more complex…
We will cover those later…

Boolean Algebra 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”

Boolean Algebra 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

AND X AND Y X=0 X=1 Y=0 Y=1 1

OR X OR Y X=0 X=1 Y=0 1 Y=1

NOT NOT X X=0 X=1 1

Abbreviations ^ - And v – Or ! – Not !X ^ Y X=0 X=1 Y=0 Y=1 1

Commutative laws X ^ Y = Y ^ X X v Y = Y v X

Associative laws X ^ (Y ^ Z) = (X ^ Y) ^ Z X v (Y v Z) = (X v Y) v Z

Distributive laws X ^ (Y v Z) = (X ^ Y) v (X ^ Z)
X v (Y ^ Z) = (X v Y) ^ (X v Z)

Some exercises !x ^ !y !(x ^ y) !x ^ x (x v y) ^ !(x ^ y)

Realization as electronic components
AND OR NOT

Realization as electronic components
AND OR NOT

Derived operators X XOR Y X  Y X = Y (x v y) ^ !(x ^ y) Exclusive Or
Implication X = Y (!X XOR Y)

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

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