from programs to systems – building a smarter world
DESCRIPTION
Professor Professor Joseph Sifakis gave a lecture on From Programs to Systems – Building a Smarter World in the Distinguished Lecturer Series - Leon The Mathematician.TRANSCRIPT
From Programs to From Programs to Systems: Building a Systems: Building a Smarter WorldSmarter World
Joseph Joseph SifakisSifakisVERIMAG VERIMAG LaboratoryLaboratory and EPFLand EPFL
Aristotle University of Thessaloniki Aristotle University of Thessaloniki -- Department of InformaticsDepartment of InformaticsDistinguished Lecturer Series Distinguished Lecturer Series –– Leon the MathematicianLeon the Mathematician
May 4, 2012May 4, 2012
The Evolution of IST
Foundations -Alan Turing, Kurt Gödel
Scientific Computing– Defence Applications WEB –
Information Society
Embedded Systems:Computing + Physicality Seamless revolution
95% of chips are embedded
Convergence between Computing and Telecommunications
Graphic Interfaces, Mouse
Information Systems: Commercial Applications Integrated circuits
Evolution driven by exponential progress in technology and explosion of applications
The Internet of Things:Convergence between
Embedded Systems and the Internet
Multi-core Systems
1936
1945
1970
1980 1990
2000 2015
2010
Cloud Computing
Systems Everywhere – Moore’s Law
Moore’s Law: the number of transistors that can be placed inexpensively on an integrated circuit doubles approximately every two years
76 000 €
1973
6 000 €
1977
450 €
1981
120 €
1984
30 €
1987
4.5 €
1990
0.46 €
1995
0.06 €
2000
0.004 €
2005
Price of 1 MB of memory
4
Systems EverywhereSystems EverywhereSystems integrating software and hardware
jointly and specifically designed to provide given functionalities, which are often critical.
Systems Everywhere
1 billion transistors used per person each day (2008)
Each personuses about 250 chips each day
80 chipsin home appliances
TV, DVD player, phone, games, washer, dryer, dishwasher, etc.
70 chipsin the car
door opener, ABS, airbag, GPS, radio, engine control, etc.
40 chipsat work
printers, scanners, PC, phone systems, etc.
40 chipselsewhere
ATM, cell phone, PDA,
66
Systems Everywhere Systems Everywhere – Impact
Systems areSystems are InstrumentedInstrumented
InterconnectedInterconnected
IntelligentIntelligent
The state of almost everything can be measured, sensed and monitored
People and objects can communicate and interact with each other in entirely new ways
Enhanced predictability of events and optimal use of resources
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
OVERVIEW
7
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
From Programs to Systems
Program
i o
Systemfi(ii) = oi
i n…
…i ,2
,i 1
PhysicalEnvironment
on …
…o
2 ,o1
f(i) = o
I/O values Terminating Deterministic Platform-independent
behavior Theory of computation
I/O streams of values Non-terminating Non-deterministic Platform-dependent
behavior No unified theoretical
framework
From Programs to Systems
ResourcesResources HealthHealthBuildingsBuildings TransportTransport CommunicationsCommunications
SW+HWSW+HWRealReal--Time ControlTime Control
From Programs to Systems
SoftwareSoftware
HW and Physical WorldHW and Physical World
OVERVIEW
11
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
System Design – Simplified ViewSystem design is the process leading to a mixed software-hardware system meeting given requirements
RequirementsThe expected behavior of the system to be designed with respect to its potential users and its environment
ProgramExecutable platform-independent model meeting the requirements
System composed of HW and SW – the HW platform may be given
SWHW
Different from pure SWor pure HW design!
System Design – New Trends
13
New trends break with traditional Computing Systems Engineering.It is hard to jointly meet technical requirements such as:
Reactivity: responding within known and guaranteed delayEx : 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
Technological challenge : Capacity to build systems of guaranteed functionality and quality, at an acceptable cost.
...and also take into account economic requirements for optimal cost/quality
System Design – State of the Art
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 Ex : transport, health, energy management
Successful integration of heterogeneous systems of systems Internet of Things
Intelligent Transport Systems
Smart Grids
« Ambient Intelligence»
TOM
OR
RO
WTO
DA
YWe master – at a high cost – two types of systems which are difficult to integrate:
Air Traffic Control – the Next GenerationIs it … attainable ?
15
System Design – Still a long way to go
Traditional systems engineering disciplines are based on solid theory for building artefacts with predictable behaviour over their life-time.
Computing systems engineering lacks similar constructivity results only partial answers to particular design problems
predictability is hard to guarantee at design time
a posteriori validation remains essential for ensuring correctness
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.
System Design – An Increasing Gap
Tech
nolo
gica
l Te
chno
logi
cal
Cap
abilit
ies
Cap
abilit
ies
Com
putin
g S
yste
ms
Com
putin
g S
yste
ms
Des
ign
Des
ign
OVERVIEW
19
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
Basic technologies Basic technologies – multicoremulticore systemssystems
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.
Basic technologies Basic technologies – multicoremulticore systemssystems
21
“Software is struggling to keep pace with the fast growth of multicoreprocessors”
“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
Basic technologies Basic technologies – Sensor Networks
Basic Technologies – Internet and the WEB
Browser Search Engine
THE
WE
B
User
LAN
ISP
UserServices
DSL,WirelessSatellite
Internet Backbone
WEB serverplatform
NAP
Peering
INTE
RN
ET
Collaborative work Social NetworksStreaming
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, orrefute the validity of a statement or contract e.g. electronic check or contract.
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
Evolution towards specific “critical” internets ?
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.
OVERVIEW
26
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
Applications – Smart Transportation Systems
27
Make transportation safer, more efficient, less polluting
Active safety: assist/protect the driverby using drive-by-wire and brake-by-wiretechnology
Automated Highways: intelligent transportation system technology designed to provide for driverless cars on specific rights-of-way.
System Design – e-Health
28
ECGBlood
pressure meter
Thermometer
Brain monitoring
Remote Medical Assistant
Robot-assisted surgery
Applications – Smart Grids
Applications – Ambient Intelligence
OVERVIEW
31
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
Three Grand Challenges
Systems are
Instrumented : we need models encompassing continuous and discrete dynamics to predict the global behavior of a system
Interconnected: we need theory, models and tools for building complex systems by assembling components
Intelligent: we need systems which adapt their behavior to changing environment
Marry Physicality and ComputationMarry Physicality and Computation
ComponentComponent--based Designbased Design
AdaptivityAdaptivity
OVERVIEW
33
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
34
Marry Physicality and Computation
SYSTEMSoftware: application SW middleware OS
Environment: deadlines jitter throughput
HW Platform:HW Platform: CPU speedCPU speed memory memory power power failure ratesfailure rates temperaturetemperature
35
Marry Physicality and Computation
Software: application SW middleware OS
SYSTEM
Environment: deadlines jitter throughput
HW Platform:HW Platform: CPU speedCPU speed memory memory power power failure ratesfailure rates temperaturetemperature
SW Design SW Design cannot ignore HW designcannot ignore HW design
36
Marry Physicality and Computation
SYSTEMSoftware: application SW middleware OS
Environment: deadlines jitter throughput
HW Platform:HW Platform: CPU speedCPU speed memory memory power power failure ratesfailure rates temperaturetemperature
SW Design SW Design cannot ignore control designcannot ignore control design
37
Marry Physicality and Computation
SYSTEMSoftware: application SW middleware OS
Environment: deadlines jitter throughput
HW Platform:HW Platform: CPU speedCPU speed memory memory power power failure ratesfailure rates temperaturetemperature
System Design coherently integrates all these
We need to revisit and revise computing to integrate methods from EE and Control
Physicality and Computation – Example
38Matlab/Simulink
Marry Physicality and Computation – Example
UML Model (Rational Rose)
OVERVIEW
40
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
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!
Component-based Design – The Babel of LanguagesSystem designers deal with a large variety of components, with different characteristics, from a large variety of viewpoints, each highlighting different dimensions of a system
Verilog
VHDL SystemC
Statecharts
SysML
Matlab/Simulink,
AADL
BPEL,
JavaTSpaces Concurrent FortranNesC
CorbaMPI
Javabeans.NET
SWbusSoftbench
TLM
C
SES/Workbench
Fractal
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.
Component-based Design – CompositionalityRules guaranteeing that composite components inherit good properties of constituent components
Component-based Design – CompositionalityRules guaranteeing that composite components inherit good properties of constituent components
Component-based Design – Composability
Rules guaranteeing that composition does not jeopardize good properties of constituent components
Component-based Design – Composability
Rules guaranteeing that composition does not jeopardize good properties of constituent components
OVERVIEW
47
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
Strong AI Vision – Matching Human Intelligence Considers that human intelligence can be so precisely described that it
can be matched by a machine
IBM IBM ““WATSONWATSON”” (2011)(2011)The Jeopardy!The Jeopardy!--playing playing
question answering systemquestion answering system
Supercomputers are used to accomplish specific problem solving or reasoning tasks
IBM Deep Blue (1997)IBM Deep Blue (1997)
Adaptivity – Coping with Uncertainty
Design Errors
Security ThreatsHW failures
Varying ETVarying Load
Mitigation
SY
STE
MC
ON
TRO
LLE
R Learning
Objective Management
Planning
System stateSystem stateParameterParametersteeringsteering
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
BCET BCET WCET WCET
Possible ETPossible ET
Upper Upper Bound Bound
Lower Lower Bound Bound
Estimated ETEstimated ET
Execution TimesExecution Times
Adaptivity – Critical vs. Best Effort Engineering
BAD STATES
Critical systems engineering based on worst-case analysis and static resource reservation e.g. hard real-time approaches, massive redundancy.
Leads to over-dimensioned systems
Two diverging design paradigms
ERROR STATES
Best effort engineeringbased on average case analysis and dynamic resource management e.g. Quality of Service for optimizing speed, memory, bandwidth, power.No guaranteed availability
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
Adaptivity – Adaptive Control
53
Planning
Learning
Management of objectives
Movie would have been better …
Go to: 1) Stadium 2) Movie 3) Restaurant
OVERVIEW
54
From Programs to Systems
System Design
Basic Technologies
Applications
Three Grand Challenges
Marry Physicality and Computation
Component-based Design
Adaptivity
A Vision for CS
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
A Vision for Computer Science – The Frontiers of CS
LogicMathematics
BiologyPhysics Computer Science
A Vision for Computer Science – The Frontiers of CS
57
•• Deals with phenomena of the Deals with phenomena of the «« realreal »» physical world physical world (transformations of (transformations of mattermatter and and energy)energy)
•• Focuses mainly on the Focuses mainly on the discovery of physical laws.discovery of physical laws.
•• Physical systemsPhysical systems –– Analytic Analytic modelsmodels
•• Continuous mathematicsContinuous mathematics
•• Differential equations Differential equations --robustnessrobustness
•• Predictability for classical Predictability for classical PhysicsPhysics
•• Mature disciplineMature discipline
Physics Computer Sc.
•• Deals with the representation, Deals with the representation, transformation and transformation and transmission of informationtransmission of information
•• Focuses mainly on the Focuses mainly on the construction of systems construction of systems
•• Computing systemsComputing systems ––MachinesMachines
•• Discrete mathematicsDiscrete mathematics –– LogicLogic
•• AutomataAutomata, , Algorithms,Algorithms,ComplexityComplexity TheoryTheory
•• VerificationVerification, , Testing, Testing,
•• Young fast evolving disciplineYoung fast evolving discipline
A Vision for Computer Science – The Frontiers of CS
Artificial vs. Natural IntelligenceLiving 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 computationbuilt-in mechanisms for adaptivityemergence of abstractions – concepts
Interactions and cross-fertilization
Non von Neumann computing Neuromorphic and Cognitive Computing
CAD methods&tools Synthetic Biology
A Vision for Computer Science – The Frontiers of CS
MathematicsMathematics
SentienceSentience
LearningLearning
AbstractionAbstraction EmotionEmotion
Robust ComputationRobust Computation
Data RecognitionData Recognition Data SynthesisData Synthesis
A Vision for Computer Science – Research in CS
The Business as Usual SyndromeFollowing beaten tracks rather taking the risk of exploring new ideas
A Vision for Computer Science – Research in CS
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
The Hype SyndromeAll of the following were once hyped as main breakthroughs in CS: Artificial Intelligence, Fifth Generation Computers,
Program Synthesis, True Concurrency, Program proofs
A Vision for Computer Science – Research in CS
Nice theory is not always practically relevantNice theory is not always practically relevant
……..but we need nice theory for solving practically relevant ..but we need nice theory for solving practically relevant problemsproblems
“….. 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.”
“Perfection is reached not when there is no longer anything to add, but when there is no longer anything to take away”
“Make everything as simple as possible, but not simpler”
A Vision for Computer Science – Research in CS
Is it possible to find a mathematically elegant and still practicable theoretical framework for CS?
Computer Science deals with building artifacts Computer Science deals with building artifacts
The key issue is Constructivitythat is the capability to build cost-effectively correct systems
"The most incomprehensible thing about the world is that it is at all comprehensible."
The key issue is discovering laws governing phenomena
Physics and Biology study a given Physics and Biology study a given ““realityreality””
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.
The World without ICT
Thank YouThank You