from programs to systems – building a smarter world

65
From Programs to From Programs to Systems: Building a Systems: Building a Smarter World Smarter World Joseph Joseph Sifakis Sifakis VERIMAG VERIMAG Laboratory Laboratory and EPFL and EPFL Aristotle University of Thessaloniki Aristotle University of Thessaloniki - - Department of Informatics Department of Informatics Distinguished Lecturer Series Distinguished Lecturer Series Leon the Mathematician Leon the Mathematician May 4, 2012 May 4, 2012

Upload: distinguished-lecturer-series-leon-the-mathematician

Post on 05-Dec-2014

401 views

Category:

Technology


0 download

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

Page 1: From Programs to Systems – Building a Smarter World

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

Page 2: From Programs to Systems – Building a Smarter World

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

Page 3: From Programs to Systems – Building a Smarter World

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

Page 4: From Programs to Systems – Building a Smarter World

4

Systems EverywhereSystems EverywhereSystems integrating software and hardware

jointly and specifically designed to provide given functionalities, which are often critical.

Page 5: From Programs to Systems – Building a Smarter World

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,

Page 6: From Programs to Systems – Building a Smarter World

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

Page 7: From Programs to Systems – Building a Smarter World

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

Page 8: From Programs to Systems – Building a Smarter World

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

Page 9: From Programs to Systems – Building a Smarter World

From Programs to Systems

ResourcesResources HealthHealthBuildingsBuildings TransportTransport CommunicationsCommunications

SW+HWSW+HWRealReal--Time ControlTime Control

Page 10: From Programs to Systems – Building a Smarter World

From Programs to Systems

SoftwareSoftware

HW and Physical WorldHW and Physical World

Page 11: From Programs to Systems – Building a Smarter 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

Page 12: From Programs to Systems – Building a Smarter World

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!

Page 13: From Programs to Systems – Building a Smarter World

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

Page 14: From Programs to Systems – Building a Smarter World

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:

Page 15: From Programs to Systems – Building a Smarter World

Air Traffic Control – the Next GenerationIs it … attainable ?

15

Page 16: From Programs to Systems – Building a Smarter World

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

Page 17: From Programs to Systems – Building a Smarter World

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.

Page 18: From Programs to Systems – Building a Smarter World

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

Page 19: From Programs to Systems – Building a Smarter World

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

Page 20: From Programs to Systems – Building a Smarter World

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.

Page 21: From Programs to Systems – Building a Smarter World

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

Page 22: From Programs to Systems – Building a Smarter World

Basic technologies Basic technologies – Sensor Networks

Page 23: From Programs to Systems – Building a Smarter World

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

Page 24: From Programs to Systems – Building a Smarter World

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.

Page 25: From Programs to Systems – Building a Smarter World

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.

Page 26: From Programs to Systems – Building a Smarter World

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

Page 27: From Programs to Systems – Building a Smarter World

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.

Page 28: From Programs to Systems – Building a Smarter World

System Design – e-Health

28

ECGBlood

pressure meter

Thermometer

Brain monitoring

Remote Medical Assistant

Robot-assisted surgery

Page 29: From Programs to Systems – Building a Smarter World

Applications – Smart Grids

Page 30: From Programs to Systems – Building a Smarter World

Applications – Ambient Intelligence

Page 31: From Programs to Systems – Building a Smarter World

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

Page 32: From Programs to Systems – Building a Smarter World

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

Page 33: From Programs to Systems – Building a Smarter World

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

Page 34: From Programs to Systems – Building a Smarter World

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

Page 35: From Programs to Systems – Building a Smarter World

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

Page 36: From Programs to Systems – Building a Smarter World

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

Page 37: From Programs to Systems – Building a Smarter World

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

Page 38: From Programs to Systems – Building a Smarter World

Physicality and Computation – Example

38Matlab/Simulink

Page 39: From Programs to Systems – Building a Smarter World

Marry Physicality and Computation – Example

UML Model (Rational Rose)

Page 40: From Programs to Systems – Building a Smarter World

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

Page 41: From Programs to Systems – Building a Smarter World

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!

Page 42: From Programs to Systems – Building a Smarter World

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.

Page 43: From Programs to Systems – Building a Smarter World

Component-based Design – CompositionalityRules guaranteeing that composite components inherit good properties of constituent components

Page 44: From Programs to Systems – Building a Smarter World

Component-based Design – CompositionalityRules guaranteeing that composite components inherit good properties of constituent components

Page 45: From Programs to Systems – Building a Smarter World

Component-based Design – Composability

Rules guaranteeing that composition does not jeopardize good properties of constituent components

Page 46: From Programs to Systems – Building a Smarter World

Component-based Design – Composability

Rules guaranteeing that composition does not jeopardize good properties of constituent components

Page 47: From Programs to Systems – Building a Smarter World

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

Page 48: From Programs to Systems – Building a Smarter World

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)

Page 49: From Programs to Systems – Building a Smarter World

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

Page 50: From Programs to Systems – Building a Smarter World

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

Page 51: From Programs to Systems – Building a Smarter World

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

Page 52: From Programs to Systems – Building a Smarter World

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

Page 53: From Programs to Systems – Building a Smarter World

Adaptivity – Adaptive Control

53

Planning

Learning

Management of objectives

Movie would have been better …

Go to: 1) Stadium 2) Movie 3) Restaurant

Page 54: From Programs to Systems – Building a Smarter World

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

Page 55: From Programs to Systems – Building a Smarter World

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

Page 56: From Programs to Systems – Building a Smarter World

A Vision for Computer Science – The Frontiers of CS

LogicMathematics

BiologyPhysics Computer Science

Page 57: From Programs to Systems – Building a Smarter World

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

Page 58: From Programs to Systems – Building a Smarter World

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

Page 59: From Programs to Systems – Building a Smarter World

A Vision for Computer Science – The Frontiers of CS

MathematicsMathematics

SentienceSentience

LearningLearning

AbstractionAbstraction EmotionEmotion

Robust ComputationRobust Computation

Data RecognitionData Recognition Data SynthesisData Synthesis

Page 60: From Programs to Systems – Building a Smarter World

A Vision for Computer Science – Research in CS

Page 61: From Programs to Systems – Building a Smarter World

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

Page 62: From Programs to Systems – Building a Smarter World

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”

Page 63: From Programs to Systems – Building a Smarter World

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””

Page 64: From Programs to Systems – Building a Smarter World

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.

Page 65: From Programs to Systems – Building a Smarter World

The World without ICT

Thank YouThank You