Professor Professor Joseph Sifakis gave a lecture on From Programs to Systems – Building a Smarter World in the Distinguished Lecturer Series - Leon The Mathematician.
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
From Programs to Systems – Building a Smarter World
1. From Programs to
Systems: Building a
Smarter World
Aristotle University of Thessaloniki - Department of Informatics
Distinguished Lecturer Series – Leon the Mathematician
May 4, 2012
Joseph Sifakis
VERIMAG Laboratory and EPFL
2. The Evolution of IST
Convergence between Computing Cloud
and Telecommunications Computing
Graphic Interfaces, Mouse
Scientific Computing Multi-core
– Defence Applications Systems
WEB –
Information Society
1945 1980 1990 2010
1936 1970 2000 2015
Embedded Systems:
Foundations - Computing + Physicality
Alan Turing,
Seamless revolution
Kurt Gödel
95% of chips are
embedded
Information Systems: The Internet of Things:
Commercial Applications Convergence between
Integrated circuits Embedded Systems and
the Internet
Evolution driven by exponential progress in technology and explosion of applications
3. Systems Everywhere – Moore’s Law
Price of 1 MB of memory
76 000 €
6 000 €
450 €
1973
1977 120 €
30 €
1981
4.5 €
1984
0.46 €
1987 0.06 €
1990
Moore’s Law: the number of 1995 0.004 €
transistors that can be placed
inexpensively on an integrated 2000
circuit doubles approximately 2005
every two years
4. Systems Everywhere
Systems integrating software and hardware
jointly and specifically designed to provide given functionalities, which are often critical.
4
5. Systems Everywhere
40 chips
elsewhere
80 chips
ATM, cell phone, PDA,
in home appliances
TV, DVD player, phone, games,
washer, dryer, dishwasher, etc.
40 chips Each person
at work uses about
printers, scanners, PC, 250 chips
phone systems, etc. each day
70 chips
1 billion transistors in the car
used per person
door opener, ABS, airbag, GPS,
each day (2008)
radio, engine control, etc.
6. Systems Everywhere – Impact
System technologies
have a tremendous economic and societal impact
they allow addressing global challenges for growth, health, services
and innovation
IBM’s view for a Smarter Planet
Systems are
Instrumented
The state of almost everything can be measured, sensed and monitored
Interconnected
People and objects can communicate and interact with each other in
entirely new ways
Intelligent
Enhanced predictability of events and optimal use of resources
6
7. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
7
8. From Programs to Systems
Program System
fi(ii) = oi
on …… o2,o1
in …… i,2,i1
i o
f(i) = o
Physical
Environment
I/O values I/O streams of values
Terminating Non-terminating
Deterministic Non-deterministic
Platform-independent Platform-dependent
behavior behavior
Theory of computation No unified theoretical
framework
9. From Programs to Systems
SW+HW
Real-Time Control
Resources Buildings Transport Communications Health
11. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V
Adaptivity
I
E A Vision for CS
W
11
12. System Design – Simplified View
System design is the process leading to a mixed software-hardware system
meeting given requirements
The expected behavior of the
Requirements system to be designed with
Different respect to its potential users
from and its environment
pure SW
or pure HW
design! Executable platform-
Program independent model meeting
the requirements
SW System composed of HW
HW and SW – the HW platform
may be given
13. System Design – New Trends
New trends break with traditional Computing Systems Engineering.
It is hard to jointly meet technical requirements such as:
Reactivity: responding within known and guaranteed delay
Ex : flight controller
Autonomy: provide continuous service without human intervention
Ex : no manual start, optimal power management
Dependability: guaranteed minimal service in any case
Ex : attacks, hardware failures, software execution errors
Scalability: at runtime or evolutionary growth (linear performance
increase with resources)
Ex : reconfiguration, scalable services
...and also take into account economic requirements for optimal cost/quality
Technological challenge :
Capacity to build systems of guaranteed functionality and quality,
at an acceptable cost. 13
14. System Design – State of the Art
We master – at a high cost – two types of systems which are
TODAY difficult to integrate:
Safety and/or security critical systems of low complexity
Flight controller, smart card
Complex « best effort » systems
Telecommunication systems, web-based applications
We need:
Affordable critical systems
TOMORROW
Ex : transport, health, energy management
Successful integration of heterogeneous systems of systems
Internet of Things
Intelligent Transport Systems
Smart Grids
« Ambient Intelligence»
16. System Design – Still a long way to go
Computing systems
engineering lacks similar
constructivity results
Traditional systems
engineering disciplines are only partial answers to particular
based on solid theory for design problems
building artefacts with predictability is hard to guarantee
predictable behaviour over at design time
their life-time. a posteriori validation remains
essential for ensuring correctness
17. System Design – Still a long way to go
Design of large IT systems is a risky undertaking, mobilizing hundreds of engineers
over several years.
Difficulties
Complexity – mainly for building systems by reusing existing
components
Requirements are often incomplete, and ambiguous
(specified in natural language)
Design approaches are empirical and based
on the expertise and experience of teams
Consequences
Large IT projects are often over budget,
over time, and deliver poor quality.
Of these, 40% fail, 30% partially succeed, 30% succeed.
19. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
19
20. Basic technologies – multicore systems
A multicore system integrates many cores
(processors) on a chip
The switch to multicore systems
is not at all the consequence of a scientific breakthrough,
is primarily due to technology walls that prevent from pushing forward
the efficient implementation of traditional uniprocessor designs in silicon
Increasing application's efficiency, simply by upgrading the hardware
without significantly changing the software, is not anymore possible for
multicore systems.
The promise of parallel machines delivering almost unlimited computing
power is not new. For decades there have been numerous industrial
attempts in this direction, but almost all failed.
21. Basic technologies – multicore systems
“Software is struggling to keep pace with the fast growth of multicore
processors”
“Running advanced multicore machines with today's software is like "putting
a Ferrari engine in a go-cart,“
"Many of the software configurations in use today will be challenged to
support the hardware configurations possible, and those will be accelerating
in the future."
Gartner, Research Note, January 2009
21
23. Basic Technologies – Internet and the WEB
THE WEB
Streaming Collaborative work Social Networks
Browser Search Engine
User ISP Internet Backbone
NAP
INTERNET
LAN
DSL,
Wireless User WEB server
Satellite Services Peering platform
24. Internet-based Systems – Security
Security: protection of information from unauthorized access, use, disclosure,
disruption, modification or destruction.
Key requirements:
Confidentiality is the property of preventing disclosure of information to
unauthorized individuals or systems
e.g. for credit card transactions
Integrity means that data cannot be modified without authorization
e.g. resistance to viruses
Availability, that is information must be available when it is needed
e.g. preventing denial-of-service attacks.
Authenticity, that is ensuring that the transactions, communications and data
are genuine.
Non-repudiation that is ensuring that a party in a dispute cannot repudiate, or
refute the validity of a statement or contract
e.g. electronic check or contract.
25. Internet-based Systems – The Internet of Things
The “Internet of Things” will be the result of the convergence between
Embedded Systems and the Internet.
Basic idea: Use the Internet Protocol Suite for Human/ES or ES/ES interaction
This is not as easy as it seems.
Some major breakthroughs needed:
Wireless sensor networks and RFID technologies.
Advances in miniaturization and nanotechnology mean that smaller and
smaller things will have the ability to interact and connect.
Getting IP down to small devices and implementing features for QoS
control and responsiveness.
Standards e.g. for naming objects, tools and platforms.
Improving overall security, and reliability of the internet.
Evolution towards specific “critical” internets ?
26. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
26
27. Applications – Smart Transportation Systems
Make transportation safer, more efficient, less polluting
Active safety:
assist/protect the driver
by using drive-by-wire
and brake-by-wire
technology
Automated Highways:
intelligent transportation
system technology
designed to provide for
driverless cars on specific
rights-of-way.
27
28. System Design – e-Health
Brain monitoring Robot-assisted surgery
Blood
pressure meter ECG
Thermometer
Remote Medical Assistant 28
31. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
31
32. Three Grand Challenges
Systems are
Instrumented : we need models encompassing continuous and discrete
dynamics to predict the global behavior of a system
Marry Physicality and Computation
Interconnected: we need theory, models and tools for building complex
systems by assembling components
Component-based Design
Intelligent: we need systems which adapt their behavior to changing
environment
Adaptivity
33. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
33
34. Marry Physicality and Computation
HW Platform:
CPU speed
memory
power
failure rates
temperature
Software:
SYSTEM application SW
middleware
OS
Environment:
deadlines
jitter
throughput
34
35. Marry Physicality and Computation
HW Platform:
SW Design
CPU speed cannot ignore HW design
memory
power
failure rates
temperature
Software:
SYSTEM application SW
middleware
OS
Environment:
deadlines
jitter
throughput
35
36. Marry Physicality and Computation
HW Platform:
CPU speed
memory
power
failure rates
temperature
Software:
SYSTEM application SW
middleware
OS
Environment:
deadlines
jitter SW Design
throughput cannot ignore control design
36
37. Marry Physicality and Computation
System Design coherently
HW Platform: integrates all these
CPU speed
memory
power
failure rates
temperature
Software:
SYSTEM application SW
middleware
OS
Environment:
deadlines
jitter
throughput
We need to revisit and revise computing to integrate methods
from EE and Control 37
40. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
40
41. Component-based Design
Building complex systems by composing components (simpler
systems). Is essential for any engineering discipline.
This confers numerous advantages such as mastering complexity,
productivity and correctness through reuse
Component composition orchestrates interactions between components.
It lies at the heart of the parallel computing challenge.
No Common Component Model for Systems Engineering!
42. Component-based Design – The Babel of Languages
System designers deal with a large variety of components, with different
characteristics, from a large variety of viewpoints, each highlighting
different dimensions of a system
TSpaces Concurrent Fortran Java C
Softbench NesC
SWbus BPEL,
Corba SES/Workbench
MPI SysML
Javabeans AADL
.NET Statecharts
Fractal Matlab/Simulink,
Verilog
VHDL SystemC TLM
Consequences:
Using semantically unrelated formalisms e.g. for programming, HW
description and simulation, breaks continuity of the design flow and
jeopardizes its coherency
System development is decoupled from validation and evaluation.
43. Component-based Design – Compositionality
Rules guaranteeing that composite components inherit good properties of
constituent components
44. Component-based Design – Compositionality
Rules guaranteeing that composite components inherit good properties of
constituent components
45. Component-based Design – Composability
Rules guaranteeing that
composition does not
jeopardize good properties
of constituent components
46. Component-based Design – Composability
Rules guaranteeing that
composition does not
jeopardize good properties
of constituent components
47. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
47
48. Strong AI Vision – Matching Human Intelligence
Considers that human intelligence can be so precisely described that it
can be matched by a machine
Supercomputers are used to accomplish specific problem solving or
reasoning tasks
IBM “WATSON” (2011)
The Jeopardy!-playing
IBM Deep Blue (1997)
question answering system
49. Adaptivity – Coping with Uncertainty
Learning
CONTROLLER
Objective Management
Planning
Parameter System state
steering
Mitigation
HW failures
SYSTEM
Security Threats
Desi
Varying ET gn
Error Varying Load
s
50. Adaptivity – Coping with Uncertainty
Systems must provide services meeting given requirements in interaction
with uncertain and non predictable environments:
External environment
non deterministic behavior e.g. varying throughput, attacks
Hardware platforms
Variability due to manufacturing errors or aging
Varying execution times due to layering, caches, speculative execution
Lower BCET WCET Upper
Bound Bound
Execution Times
Possible ET
Estimated ET
51. Adaptivity – Critical vs. Best Effort Engineering
Two diverging design paradigms
BAD STATES ERROR STATES
Critical systems engineering based Best effort engineering
on worst-case analysis and static based on average case analysis
resource reservation e.g. hard real- and dynamic resource
time approaches, massive management e.g. Quality of
redundancy. Service for optimizing speed,
memory, bandwidth, power.
Leads to over-dimensioned systems No guaranteed availability
52. Adaptivity – Enhancing Predictability
Separation between critical and best-effort designs is not anymore
affordable. In a car
more than 50 ECU’s each designed separately
federated architectures by using networks
poor global reliability and high development costs
1. Predictability through determinism - reduce intrinsic and estimated
uncertainty
Simplify HW architectures e.g. no caches, no out-of-order execution
Time-deterministic observable behavior e.g. time triggered systems
2. Adaptive architectures integrating both critical and best-effort services
sharing an amount of global resources used
first and foremost for ensuring critical services
secondarily, for meeting quality of service requirements for non
critical services
53. Adaptivity – Adaptive Control
Learning
Movie would have been better …
Management of objectives
Go to: 1) Stadium 2) Movie 3) Restaurant
Planning
53
54. From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
O Marry Physicality and Computation
V
E Component-based Design
R
V Adaptivity
I
E A Vision for CS
W
54
55. A Vision for Computer Science
Computer Science
Is a young and rapidly evolving discipline due to exponential
progress of technology and applications
Focuses on building systems and thus system design is central to the
discipline
Existing models of computation should be extended to encompass
physicality – physical resources e.g. memory, time, energy should
become first class concepts
Complements and enriches our knowledge with theory and models
that allow a deeper understanding of discrete dynamic systems
Proposes a constructive and operational view of the world which
complements the classic declarative approach adopted by Physics
56. A Vision for Computer Science – The Frontiers of CS
Mathematics
Logic
Physics Computer Biology
Science
57. A Vision for Computer Science – The Frontiers of CS
Physics Computer Sc.
• Deals with phenomena of the • Deals with the representation,
« real » physical world transformation and
(transformations of matter and transmission of information
energy)
• Focuses mainly on the
• Focuses mainly on the construction of systems
discovery of physical laws.
• Computing systems –
• Physical systems – Analytic Machines
models
• Discrete mathematics – Logic
• Continuous mathematics
• Differential equations - • Automata, Algorithms,
robustness Complexity Theory
• Predictability for classical • Verification, Testing,
Physics • Young fast evolving discipline
• Mature discipline
57
58. A Vision for Computer Science – The Frontiers of CS
Artificial vs. Natural Intelligence
Living organisms intimately combine interacting physical and computational
phenomena that have a deep impact on their development and evolution
Shared characteristics with computing systems
use of memory
distinction between hardware and software
use of languages
Remarkable differences :
robustness of computation
built-in mechanisms for adaptivity
emergence of abstractions – concepts
Interactions and cross-fertilization
Non von Neumann computing Neuromorphic and Cognitive Computing
CAD methods&tools Synthetic Biology
59. A Vision for Computer Science – The Frontiers of CS
Sentience
Abstraction Emotion
Robust Computation
Learning
Data Recognition Data Synthesis
Mathematics
61. A Vision for Computer Science – Research in CS
The Business as Usual Syndrome
Following beaten tracks rather taking the risk of exploring
new ideas
The Hype Syndrome
All of the following were once hyped as main
breakthroughs in CS:
Artificial Intelligence, Fifth Generation Computers,
Program Synthesis, True Concurrency, Program proofs
The Nice Theory Syndrome
The proper goal of theory in any field is to make
models that accurately describe real systems. These
models should help system builders do their jobs
better.
Unfortunately, the current scope and focus of research
in CS fail to address basic problems raised by system
design and engineering
62. A Vision for Computer Science – Research in CS
Nice theory is not always practically relevant
“Make everything as simple as possible, but not simpler”
“….. in the academic world the theories that are more likely to
attract a devoted following are those that best allow a clever but
not very original young man to demonstrate his cleverness.”
…..but we need nice theory for solving practically relevant
problems
“Perfection is reached not when there is no longer anything to
add, but when there is no longer anything to take away”
63. A Vision for Computer Science – Research in CS
Is it possible to find a mathematically elegant and still practicable
theoretical framework for CS?
Physics and Biology study a given “reality”
The key issue is discovering
laws governing phenomena
"The most incomprehensible thing
about the world is that it is at all
comprehensible."
Computer Science deals with building artifacts
The key issue is Constructivity
that is the capability to build
cost-effectively correct systems
64. A Vision for Computer Science – Teaching CS
Prepare students to deal with constant change induced by
technology and applications
Learn principles rather than facts (foundations, architectures,
protocols, compilers, simulation …)
Think in terms of systems (design process, tools, interaction with
users and physical environment)
Keep aware of limitations of existing theory of computing
Introduce principles, paradigms, techniques from Control Theory
and Electrical Engineering
Put emphasis on information and computation as universal
concepts applicable not only to computers
Provide the background for triggering critical thinking,
understanding and mastering the digital world.