ECEN 5053-002
Developing the Industrial Internet of Things
Week 1
Expectations and Course Overview
Dave Sluiter - Spring 2018
Expectations and Course Overview
Footnote/Reference 2
Who Am I?
• 30+ year chip design engineer
• Unisys (Sperry Univac) - Mainframe floating point unit
• Artist Graphics - 3D graphics chips
• LSI Logic -
• North American Field Coreware Manager - MIPS CPUs,
CoreWare Methodology
• Lead hardware architect for satellite set-top box decoder
chips
• Seagate/Micron - Hardware architect for enterprise solid state
drives
Footnote/Reference 3
Logistics
• Communication:
• D2L
• Email
Footnote/Reference 4
Expectations
• You are Graduate students!
• Attendance/Participation is important
• Honor Code Violations:
• Do not represent someone else’s work as your own
• I do want collaboration and exchange of ideas
• I do not want copying - Do your own work!
• As graduate students, you will not be given a 2nd
chance
Footnote/Reference 5
Where does this course fit?
ECEN 5053-002
Developing the Industrial Internet of Things
ESE Core and Many new topic areas
Elective Courses
Footnote/Reference 6
Course Overview
• Format
• Traditional lecture
• Survey Course
• Intention is to introduce you to a wide set of subject matter
• Broaden your scope/viewpoint/vocabulary
• Assessments
• Attendance/Participation
• Small number of projects - easy, provides hands-on experience
• Midterm exam
• Final exam
• No homework
Footnote/Reference 7
Course Overview (con’t)
• Primary focus
• Emerging trends: Market and Technical
• Key business concepts for engineers
• Key skills to develop
• Understanding the “big picture”, how these systems
are built and the value propositions they offer
• Your role in DIIoT - Show you how your ESE core and
elective courses intersect with IIoT
Footnote/Reference 8
Course Overview (con’t)
• What is Industrial IoT?
IoT Market Spectrum
Partial
Not Industrial Industrial
Industrial
Consumer Retail Building Agriculture Automotive & Manufacturing
Electronics Automation Transportation
Healthcare Oil & Gas Utilities
Course
Footnote/Reference 9
Topic Areas
Width
Debugging
OS’s Wireless
File Big Deeply
Platforms and Networks Comm Sensors
Systems Data Embedded
RTOS’s Protocols Machine
Analytics Systems
Learning
Security
Depth
Markets
What will be covered
• An inside look at markets; size and $ estimates
• Platforms, IBM Bluemix + Watson
• Networks, NFV and SDN
• Security
• Project planning, staffing and execution
• Sensors, file systems
• Machine learning
• Big data analytics
• SystemC
• Debugging deeply embedded systems
• Guest speakers
11
Security
12
What does it mean to be secure?
Bob Insecure channel
Alice
“Hi Bob, Hi Alice”
Eve
Footnote/Reference 13
What does it mean to be secure?
Bob Insecure channel
Alice
“Nxz Yk1 a6qb 7”
Eve
Footnote/Reference 14
Encryption Techniques
• Caesar Cipher, named after Julius Caesar
• Substitution cipher, based on a shift
Footnote/Reference 15
Encryption Techniques A=0, B=1, C=2, … Z=25
Plain text M E E T T O N I G H T
• One time pad (OTP)
12 4 4 19 19 14 13 8 6 7 19
Key D Z H S U I M W E K C
• So-called “perfect” encryption 3 25 7 18 20 8 12 22 4 10 2
• Impractical for real-world Sum
Sum mod 26
15
15
29
3
11
11
37
11
39
13
22
22
25
25
30
4
10
10
17
17
21
21
Cipher Text P D L L N W Z E K R V
Cipher text P D L L N W Z C K R V
15 3 11 11 13 22 25 4 10 17 21
Key D Z H S U I M W E K C
3 25 7 18 20 8 12 22 4 10 2
Diff 12 -22 4 -7 -7 14 13 -18 6 7 19
Sum mod 26 12 4 4 19 19 14 13 8 6 7 19
Plain text M E E T T O N I G H T
Footnote/Reference 16
AES (Advanced Encryption Standard)
• Established by US NIST (National Institute of Standards)
• Block cipher: 16-bytes in, 16-byte out
• 3 key lengths: 128-, 192-, 256-bits
• High-level description
• 1) With N=number of rounds, round keys are extracted from the
cipher key (where N = 10, 12, 14, for 128-, 192- or 256-bits)
• 2) Round 0
• 3) Rounds 1 to N-2
• 4) Final round N-1
• Believed to be secure, but we don’t how to prove it.
Footnote/Reference 17
Asymmetric Encryption
Computationally Public
Easy
Large
Key Computationally
random
Generation Hard / Impractical
number
Private
Footnote/Reference 18
Diffie-Hellman
A method to securely establish a
known secret (a “key”) between
2 parties over an insecure channel.
Source: https://en.wikipedia.org/wiki/Diffie–Hellman_key_exchange
Footnote/Reference 19
Uses for Hash Functions
Password Table
• Saving passwords
• Login: UserName 0xF1324578
• Password: Xh8_i27vZ
Hash () Same?
• See also the SHA-2 family of
hash functions as per FIPS 180-4 • Are there weaknesses?
• Well studied, haven’t spotted a • What about dictionary
Yes / No
problem yet attacks?
Footnote/Reference 20
Take Aways
• Security Mind-set
• Data Integrity
• Authentication
• Encryption
• Will look at few “security blunders”
21
Machine Learning
22
Example of supervised learning:
Linear Regression train_data = np.array(
[
# sqft, #bedrooms, price
[1500, 2, 60000],
[1800, 2, 70000],
• We have some example data [1900, 2, 80000],
• Training data [2000, 3, 90000],
[2200, 3, 95000],
• Each row is an example from real sales data [2300, 2, 100000],
[2350, 3, 110000],
• Contains a number of features, xn [2500, 3, 112000],
[2800, 4, 120000],
• x1 is square footage [2900, 3, 135000],
[3000, 4, 140000],
• x2 is number of bedrooms [3100, 4, 145000],
[3300, 5, 162000],
• And output y, the price [3400, 4, 157000],
[3600, 5, 167000],
• Is what we are trying to predict, also [3900, 5, 178000]
known as the target value ]
) # end training data
Footnote/Reference 23
Training Data
# of bedrooms is not plotted
Footnote/Reference 24
We can manually draw a best-fit curve
Footnote/Reference 25
Linear Regression
• We want to create a hypothesis function h() that will make
predictions
• To perform supervised learning, we have to decide how we will
represent the hypothesis function h()
• As an initial choice, let’s say we decide to approximate h() as a
linear combination of features x and weights θ, so we have:
• hθ(x) = θ0x0 + θ1x1 + θ2x2
• where we set x0 = 1, and θ0 becomes the intercept term
• like in the equation for a line y = ax + b, b is the intercept term
Footnote/Reference 26
Linear Regression
θ = [θ0 x = [x0
• m = number of training examples, 16 θ1 x1
θ2 x2
• n = number of features, 2
… …
• We can rewrite
n
h θ(x) as : θn] xn]
• hθ (x ) = ∑ θ i xi = θ T x
i=0 θTx = [θ0, θ1, θ2 .. θn][x0
a real number
x1
x2 = ! = hθ(x)
…
xn]
Footnote/Reference 27
Linear Regression
• How do we pick/calculate/learn the values for the θi’s?
• As a starting point, we can make h() ~= y
• We can define m
a cost function:
1
• J(θ ) = ∑ (hθ (x (i ) ) − y(i ) )2
2 i=1
• The superscript i’s refer to training examples, not raise to
a power!
• We want to choose θ to minimize J(θ)
• To do so, let’s use a search algorithm that starts with some
initial guess for θ, and repeatedly changes θ to make J(θ)
smaller, until we converge at a minimum J(θ) value.
Footnote/Reference 28
Linear Regression
• Search algorithm = Gradient Descent
• Start with some initial guess at θ
• and then repeatedly perform the update:
∂
• j j ∂θ J(θ ), j = 0...n
θ = θ − α
j
• this rule is called the LMS update rule (least mean
squares rule)
• α (alpha) is the learning rate
• Great care needs to be taken choosing alpha
Footnote/Reference 29
Linear Regression
• Gradient Descent
∂
• Calculating the derivative, J(θ ) and for all n, we get:
∂θ j
• repeat until convergence {
m
θ j = θ j + α ∑ (y(i ) − hθ (x (i ) ))x ij , j = 0...n
•} i=1
• for each θj cycle through all m training examples
• This method is called batch gradient descent
• This J(θ) equation is a convex quadratic function, and has only a
global minimum. Beware of functions that may have local minima,
because gradient descent could get “stuck” in a local minima.
Footnote/Reference 30
Linear Regression
• Gradient Descent
• Test for convergence is a user defined function
• Downside to batch gradient descent is that every θ
update needs to run through all m training samples
• Computationally expensive for large training sets
Footnote/Reference 31
IIoT Intro
Source: World Economic Forum: https://www.youtube.com/watch?v=8NGzrtK7eV0
Footnote/Reference 32
End
Footnote/Reference 33