390 likes | 558 Views
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
E N D
Lecture 2: Systems Engineering EEN 112: Introduction to Electrical and Computer Engineering Professor Eric Rozier, 1/23/2013
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 • al-Khwarizmi • Persian mathematician, astronomer, and geographer born780 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 • 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 • 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 • 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 • 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 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
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 • 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…
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
OR • X OR Y
NOT • NOT X
Abbreviations • ^ - And • v – Or • ! – Not • !X ^ Y
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 v y) ^ !(x ^ y) • Exclusive Or • X Y • (!X v Y) • 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!)