The Internet of Things and some introduction to the Technological Empowerment Institute
What do we need to
make the Internet of
Things really happen?
Opher Etzion
Head – Technological Empowerment
Institute (in establishment phases)
opher.etzion@gmail.com
OUTLINE
“Internet of Things” – what is it, what are the
difficulties in making it “Internet”?
What can be done about it? Introducing TEM
How does the “Technological Empowerment
Institute” get into the picture?
The Internet of everything for situation awareness
None of the
authorized drivers
location is near
the car’s location
theft is concluded
Whom to notify;
whether to
activate stopper
Use a built-in car
stopper to slow
the intruder and
dispatch the
security company
A person enters a car
and the car starts
moving;
the person does not
look like one of the
authorized drivers
Such applications
become possible
since everything is
connected
Anatomy of situation awareness system
Becoming aware of an event and then doing something about it.
Derive
Mechanisms
Single Event
Multiple
Events
Ancillary
Info
May need
multiple iterations
May require addition
reference / state
information
Something we
want to react
to
A Situation
Detect
Mechanism
Feedback
Events
Decide
Mechanism
Do
Mechanism
Event
of
Interest
Order
Should be
indicating
Entity State
Change
Should be
indicating
Decisions
Derived Event Trigger
sensors
Actuators
4
Does the “Internet of everything” really exhibit the benefits of the
Internet?
The success of the Internet is attributed to its relative
simplicity
to connect
to create content
to search
Imagine that any search in the
Internet would have been done
using SQL queries…
How pervasive do you think the
Internet would have been?
For situational awareness….
we are not even in the SQL era
Event
Patterns
Listing 1.1 Example of the MonitorScript event programming language from Apama
if isAuto then {
DeliveryBid db;
on DeliveryBid(store=dr.store):db within(ASSIGNMENT_TIME){ #1
assignmentTimer.quit();
route Assignment(dr.requestId, #2
dr.store,
db.driver,
dr.addresseeLocationPointX,
dr.addresseeLocationPointY,
db.committedPickUpTime,
dr.requiredDeliveryTime);
watchForPickUp(dr, db.driver, db.committedPickUpTime);
watchForDelivery(dr, db.driver);
}
}
Most of the event-based
programming today is still ad-
hoc and hand-coded;
existing languages are rather
low level
While people typically are event-driven we tend to
think about computerized systems in request
driven way
Searching the web, database queries, use
of web services, use of mobile
applications
Difficulties in the way that most people would
approach it The event-driven vs.
request-driven nature
Effectiveness and
Efficiency issues
The temporal
oriented behavior
The hidden state
handling
The vision for Internet of Things
Shift governance from the programmer to the knowledge worker or customer
Governance occurs
through development
and maintenance of
program code
Governance occurs
through development
and maintenance of
event models
TODAY TOMORROW
CODE LEVEL
The basic requirements of event modeling
4. Automatic
translation to
code in regular
or specific
engine
language
3. Free of
implementation
assumptions
1. Rigorous
verifiable
structure
2. Represented
as a collection of
tables
Eliminating noise from the model
Current models are close to the
implementation models – and from pure
logic view contain “noise”.
Bringing data from current state
Query Enrichment
Inclusion in
events
Examples:
Determine what food-type
the container carries
Fetch the temperature
regulations for a specific
food type
Other noise : workarounds
The Technological Empowerment Institute in a
nutshell
Empowerment of people:
empowerment of wellness and quality
of life of people within developing
areas, such as: elderly people.
Empowerment of business: typical for
developing areas such as agriculture,
food industry, and small
manufactures.
Empowerment of opportunities:
Empowerment of R&D and education
in developing areas by creating R&D
partnerships and enhance education
systems in various levels.
Smart sensor-based system for situation awareness is
the means to empower.
The means – three legs
The multi-disciplinary research leg:
world class excellence center around smart systems –
with researchers cover the technology aspect, the
human aspect, and the different domains aspect
The implementation leg:
Partnership between academic institutes that will carry
out students' projects, the high-tech industry that
will contribute platforms and products, domain
experts, and potential customers
The education leg:
employ dedicated curriculum of courses in the
undergraduate level, focused graduate program,
second chance education for degree holders, and
education for the community. It will aid to establish
similar programs in developing areas.
Example of some target applications
Assistance for elderly or disabled people in independent living by
situational awareness that may alert them (e.g. to take
medications), alert their families, or alert healthcare staff. A
family or caretaker will be able to personalize the alerts to an
individual patient.
Monitoring of vibrations, strokes, container openings or cold
chain maintenance to improve quality of deliveries over the
supply chain
Control of humidity and temperature levels in alfalfa, hay, straw,
etc. to prevent fungus and other microbial contaminants
Monitoring of water quality and leaks
OUR DRIVING FORCE IS TO
HELP
EVERYBODY REALIZE THE
POWER OF EVENTS TO
CREATE A BETTER WORLD
For more details:
opher.etzion@gmail.com
Editor's Notes
BVH: should the second example say “None of the authorized drivers for this car is in the car.” (Doesn’t all/not imply that some may be in it, but that this doesn’t count?)
BVH: pre-SQL was procedural, which included loops (e.g., Get Next within Parent until GE status code), Go To, structured programming to avoid Go Tos, difficult to understand, even more difficult to manage change over time
BVH: so our brains are smarter than our computer systems, imagine that!
BVH: I like the idea of “eliminating noise” Are all of these things noise: bring data, query, enrichment, inclusion in events, and other noise”What do we mean by “noise” – is it implementation details that are not necessary to consider when creating an implementation-independent representation?