effective metaphor La raction chimique: une mtaphore oprante - - PowerPoint PPT Presentation

effective metaphor la r action chimique une
SMART_READER_LITE
LIVE PREVIEW

effective metaphor La raction chimique: une mtaphore oprante - - PowerPoint PPT Presentation

The chemical reaction: an effective metaphor La raction chimique: une mtaphore oprante Daniel Le Mtayer 9 November 2012 PLAN 1. Early days: Gamma 2. Exploring the metaphor in various directions 3. The value of metaphors Daniel Le


slide-1
SLIDE 1

The chemical reaction: an effective metaphor La réaction chimique: une métaphore opérante

Daniel Le Métayer 9 November 2012

slide-2
SLIDE 2

Daniel Le Métayer 2

PLAN

  • 1. Early days: Gamma
  • 2. Exploring the metaphor in various directions
  • 3. The value of metaphors
slide-3
SLIDE 3

Daniel Le Métayer 3

Gamma in a nutshell

Basic ingredients:

  • A solution containing atomic values
  • Conditional reaction rules:

replace a1,…, an by b1,…, bm if C(a1,…, an)

  • Purely local computation steps
  • Result: inert solution
slide-4
SLIDE 4

Daniel Le Métayer 4

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

4 4 7 8 8 9 5

slide-5
SLIDE 5

Daniel Le Métayer 5

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

4 4 7 8 8 9 5

slide-6
SLIDE 6

Daniel Le Métayer 6

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

7 8 8 9

slide-7
SLIDE 7

Daniel Le Métayer 7

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

7 8 8 9

slide-8
SLIDE 8

Daniel Le Métayer 8

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

8 9

slide-9
SLIDE 9

Daniel Le Métayer 9

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

8 9

slide-10
SLIDE 10

Daniel Le Métayer 10

Basic example

Maximum: replace a1,a2 by a1 if a1 ≥ a2

9

slide-11
SLIDE 11

Daniel Le Métayer 11

Other basic examples

  • Sorting:

replace (i1,a1), (i2,a2) by (i1,a2), (i2,a1) if i1 ≥ i2  a1< a2

  • Eratosthenes’ sieve:

replace (a,b) by (a, a+b/2), (a+1+b/2,b) if b > a+1 replace (a,b) by a if a = b replace a, b by a if div(a,b)

slide-12
SLIDE 12

Daniel Le Métayer 12

Motivation

Observation: existing programming models lead to overspecify execution control Detrimental with respect to

  • Program verification: need to cope with unrelevant details
  • Exploitation of the features of parallel architectures : need to

uncover parallelism from a sequential program Objective: get rid of unnecessary sequentiality

slide-13
SLIDE 13

Daniel Le Métayer

  • 13

Illustration

Sorting: replace (i1,a1), (i2,a2) by (i1,a2), (i2,a1) if i1 ≥ i2  a1< a2 Correctness proof for free:

  • Inert solution  elements are well sorted
  • Local invariant  the result is a permutation of the initial

sequence

slide-14
SLIDE 14

Daniel Le Métayer

  • 14

Illustration

Sorting: replace (i1,a1), (i2,a2) by (i1,a2), (i2,a1) if i1 ≥ i2  a1< a2 Correctness proof for free:

  • Inert solution  elements are well sorted
  • Local invariant  the result is a permutation of the initial

sequence

slide-15
SLIDE 15

Daniel Le Métayer

  • 15

Illustration

Sorting: replace (i1,a1), (i2,a2) by (i1,a2), (i2,a1) if i1 ≥ i2  a1< a2 Correctness proof for free:

  • Inert solution  elements are well sorted
  • Local invariant  the result is a permutation of the initial

sequence

slide-16
SLIDE 16

Daniel Le Métayer 16

PLAN

  • 1. Early days: Gamma
  • 2. Exploring the metaphor in various directions
  • 3. The value of metaphors
slide-17
SLIDE 17

Daniel Le Métayer

  • 17

Exploring the metaphor (1/2)

  • Applications (image processing, graph processing, OS kernel, self-
  • rganizing systems, service orchestration, etc.)
  • Expressing various computation models and languages (Petri nets,

Kahn process networks, Linda, etc.)

  • Implementations (Maspar, Intel iPSC2, Connexion Machine, PRL-DEC

Perle 1, etc.)

  • Program derivation and verification (security protocols, shared virtual

memory coherence protocols, etc.)

slide-18
SLIDE 18

Daniel Le Métayer

  • 18

Exploring the metaphor (2/2)

  • Richer language (types, combinators, etc.)
  • Higher-order versions : chemical abstract machine, higher-order

Gamma, the -Calculus, HOCL, etc.

  • Hybridization with other models and metaphors (Gammalög, LO,

MGS)

  • Unexpected directions (software architectures, shape types)
slide-19
SLIDE 19

Daniel Le Métayer 19

The -calculus

M = x   x.M  M1, M2  M ( x.M), N  M [N/x] if inert(N) M1, M2  M2, M1

(M1, M2), M3  M1 ,(M2, M3)

slide-20
SLIDE 20

Daniel Le Métayer 20

The -calculus

( x.  y.x) , A, B  ( x.  y.x) , B, A   ( y. A), B ( y. B), A   A B

slide-21
SLIDE 21

Daniel Le Métayer 21

PLAN

  • 1. Early days: Gamma
  • 2. Evolutions, extensions and varied applications
  • 3. The value of metaphors
slide-22
SLIDE 22

Daniel Le Métayer

  • 22

Some lessons

  • The choice of a metaphor can have a dramatic impact on a

computational model (reasoning, design, implementation,...)

  • Language design: Keep it simple ! (KISS principle, Occam’s razor)
  • Inherently distributed computational models are still topical (cloud

computing, service oriented architectures, multicore architectures, etc.)

slide-23
SLIDE 23

Daniel Le Métayer

  • 23

Metaphors in computer science

  • Countless examples of metaphorical terms: stack, object, package,

instruction, pipe, queue, jump, flow, call, message, thread, exception, throw/catch, menu, recycling bin, …

  • Criticisms from computer scientists:

“By means of metaphors and analogies, we try to link the new to the

  • ld, the novel to the familiar. Under sufficiently slow and gradual

change, it works reasonably well; in the case of a sharp discontinuity, however, the method breaks down.... “

  • E. Dijkstra
slide-24
SLIDE 24

Daniel Le Métayer

  • 24

Metaphors in philosophy of science

Two extreme positions: Max Black:

  • Scientific explanations should rely only on laws, deductive relations,

logical generalizations, ...

  • Theories should avoid the vagueness and ambiguities of ordinary

language, metaphors can hide the truth

  • “Thou shalt not commit metaphor!”

Douglas Berggren:

  • “Any scientific explanation, though ostensively a logical deduction, can

nonetheless rely on a metaphor.”

  • Theories need concepts from ordinary language.
slide-25
SLIDE 25

Daniel Le Métayer

  • 25

Metaphors in computer science

Very different types of use and impact:

  • Human Computer Interfaces: desktop, menu, button, recycling bin,…
  • Design metaphors: procedure, folder, package, …
  • Paradigm shifts: object-oriented computing, data flow languages,

chemical reaction, DNA computing, quantum computing, PPSN … "Because computer science is a science that creates its own subject matter, successful metaphors are used , not to describe the way things are, but the way things should be." (T.R. Colburn, G.M. Shute)

slide-26
SLIDE 26

Daniel Le Métayer

  • 26

Further metaphors

  • A lot of interest in different types of metaphors: chemistry, DNA

computing, quantum computing, PPSN …

  • Beyond metaphors in « hard sciences » inspiration can also be taken

from social sciences

  • Specially useful when many new applications are « user-centric » and

have a significant social or legal dimension

  • Two examples:
  • Control (over data, computation,…): key issue in privacy, for

business models

  • Logical causality: key issue for liability, dependable computing
slide-27
SLIDE 27

Daniel Le Métayer

  • 27

Acknowledgements

Some actors of this story: Jean-Pierre Banâtre, Gerard Berry, Dominique Bolignano, Gerard Boudol, Paolo Ciancarini, Anne Coutant, Christian Creveuil, Pascal Fradet, Mauro Gaspari, Jean-Louis Giavitto, Chris Hankin, Pieter Hartel, Linpeng Huang, Paola Inverardi, Herbert Kuchen, Huang Linpeng, David Mentré, Hugh McEvoy, Olivier Michel, Gersan Moguérou, Christine Morin, Thierry Priol, Yann Radenac, David Sands, Yongqiang Sun, Marc Vieillot