+ All Categories
Home > Documents > 1 / 44 There’s Plenty of Room for Unconventional Programming Languages or Declarative Simulations...

1 / 44 There’s Plenty of Room for Unconventional Programming Languages or Declarative Simulations...

Date post: 02-Jan-2016
Category:
Upload: naomi-rodgers
View: 215 times
Download: 1 times
Share this document with a friend
43
1 / 44 There’s Plenty of Room for Unconventional Programming Languages or Declarative Simulations of Dynamical Systems (with a Dynamical Structure) Olivier Michel IBISC, CNRS & Université d’Evry LIS team, MGS project http://mgs.ibisc.fr
Transcript

1 / 44

There’s Plenty of Room forUnconventional Programming

Languagesor

Declarative Simulations of Dynamical Systems

(with a Dynamical Structure)

Olivier Michel

IBISC, CNRS & Université d’EvryLIS team, MGS project

http://mgs.ibisc.fr

2 / 44

Compiler/Tools/Interpreter

MGS

Patch editor, Imoview,GBview

Mercure

Formalization

Topological collections

Transformations

Amalgams

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

Unconventional Programming Languages

3 / 44

Outline of the Presentation

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

4 / 44

Space and Fields Representation

My goal: Enhancing programming languages

with spatial relationships Making space explicit in the definition Having explicit spatial operators

gbf torus = < a, b; 180 a = 0, 60 b = 0 >

x => NeighborsFold(f, e, x)

Spatial Computing

Data-structure = Field on Topological SpaceComputation = Movement in this Space

5 / 44

Spatial Computing

Importance of spatial relationships… [Dagstuhl’06]:

At the hardware level FPGAs, programmable matter, distributed robotics , amorphous

computers, bio-synthetic organisms

At the programming language level Access to information has a price Neighborhood relationships define the data-structure

At the application level represent space: construction of shapes, morphogenesis… embedded in space: ambient, p2p… computationally intense: scientific computing, data-parallelism…

6 / 44

Modeling and simulation of Dynamical Systems

x

Dynamical system

observation

time

variable x

Specifying a Dynamical System = specifying moves in the state space

trajectory

7 / 44

…with a Dynamical Structure

ttt sss

s

::)1(

]1[

1

0

One can predict the structure : tt RSTATE

,)( , 10 RSTATESTATESTATERSTATE ttt

obvious because does not rely on st

1

4

2

84R

1

2

4

3R

8 / 44

Complex Dynamical Structure

Growing plant constraining its own growth space

The early development of the zebrafish

The state space cannot be specified a priori and/orThe evolution function cannot be specified globally.

How can we specify such systems?

Concurent local interactions of elements of the system

9 / 44

Examples of (DS)2

Biology

Molecular biology (regulatory, metabolic, signalization networks…)

Developmental biology(plant, embryo,…)

Physics

Soft mechanical systems, coupled multi-scale systems,…

General relativity

Urbanism

City growth, road traffic control,…

Computer Science

Internet, sensor networks,modular robots,knowledge networks,…

© David S. Goodsell 1999

© Tecplot

© L. Sanders - EUROSIM

© C. Harrison - Clusterball project

10 / 44

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

Outline of the Presentation

11 / 44

Data-Fields

Array(total function)

Data-field(partial function)

GBF

Topological Collections

[0, d1] × … × [0, dn] Value

Zn Value

Group Value

Abstract Space Value

expressiveness

12 / 44

0-cell 1-cell 3-cell2-cell

Representation of space and structure Structure:

Collection of topological cells

Data Structure:Topological Collections

13 / 44

Data Structure:Topological Collections

Representation of space and structure Structure:

Collection of topological cells Incidence relationship

14 / 44

Representation of space and structure Structure:

Collection of topological cells Incidence relationship

Data : associating values with topological cell

“escherichia” 0.123

`cell

λx.(x x)‘a’

2

5

4

λx.fold(…x…)

Data Structure:Topological Collections

15 / 44

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

Outline of the Presentation

16 / 44

Control Structures forthe Modeling and Simulation of

(DS)2

Specifying the evolution function: local evolution rules

L.h.s. of a rule specifies a set of elements in interaction, R.h.s. the result of the interaction

x, y / x > y y, x

Various kind of time evolution, for the same set of rules

Demonstration by induction, on the rules or on the derivations

2 3 6 73 2 7 61 4 5 8 1 4 5 8

17 / 44

Local Interactions of Entities

Decompose a system into sub-systems following the elements in interaction

a system in some state

part of the system that evolves

Can be identified by comparison with the previous global state

18 / 44

Local Interactions of Entities

Decompose a system into sub-systems following the elements in interaction

t = 1t = 2t = 3

19 / 44

Local Interactions of Entities

Decompose a system into sub-systems following the elements in interaction

Summarized

elementary parts of the system

each elementary part has its own local state

20 / 44

Control Structure: Transformation

patch

path

Pattern matching: specifying a sub-collection of elements Path transformation (path = sequence of neighbor elements)

Concise but limited expressiveness Patch transformation (arbitrary shape)

More verbose but higher expressiveness

Patt

ern

matc

hin

gS

ub

stitutio

n, su

rgery

21 / 44

Transformation: Rewriting Strategies

Multiple rewriting strategies Asynchronous with(out) priority Synchronous with(out) priority Stochastic (choice of the rule) Discrete-event oriented stochastic (choice of the

instance)

In MGS: `default = maximum parallel = sync. with priority on the order of rule def. `asynchronous = async. with priority on the order of rule def. `singleStochastic = sync. max. par. with random priority `multiStochastic = sync. max. par. without priority `stochastic = async. with implicit/explicit prob. on each rule `gillespie = async. following D.T. Gillespie’s [Gil77] discrete event algorithm

22 / 44

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

Outline of the Presentation

23 / 44

Implementation

Interpreters Amalgams: 10k lines of ML/C, client/server 81/2: 36k lines of ML/C, data-// virtual machine MGS: 50k lines of ML/C/libraries, 3rd version

Companion softwares Imoview, PatchGen, GBview…

Examples and applications

24 / 44

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

Outline of the Presentation

25 / 44

Rewriting and SimulationComplex systems Rewriting techniques

Modeling SpecificationState (space) Data structure

hierarchical organizations

arbitrary complex organizations

formal trees (or terms)

topological collection

Evolution function Set of rules

interaction evolution

local evolution laws

α β, α: pattern, β:expression

rewriting rules, transformations

Simulation ApplicationTrajectories

Time management

Derivations

Rule application strategy

discrete, event-based synchronous vs.

asynchronous

maximal parallel, sequential, deterministic, stochastic

26 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF

(following [Arulanandham et al. 2002])

27 / 44

Examples of MGS Programs

Parallel maximalrule application strategy

Stochasticrule application strategy

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth)

(inspired by [Rothemund 2004] DNA self assembly)

28 / 44

Examples of MGS Programs

4 steps of the Sierpinsky sponge

2 steps of the Menger sponge

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving)

29 / 44

Examples of MGS Programs

Butterfly

Kobbelt

Doo-Sabin(bevelled edges)

Loop

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

30 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph

(following Reynold’s steering boids)

31 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph Neurulation process on an

abstract chain(following [Odell et al. 1981] and [Nagpal 2001])

32 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph Neurulation process on an

abstract chain Diffusion-limited aggregation

33 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph Neurulation process on an

abstract chain Diffusion-limited aggregation Cell mobility on a Delaunay graph

(following [Bottino et al. 2002])

34 / 44

Examples of MGS Programs

David Bikard, Thomas Landrain, David Puyraimond, Eimad Shotar, Gilles Vieira,

Aurélien Rizk, David Guegan, Nicolas Chiaruttini, Thomas Clozel, Thomas

Landrain, Antoine Spicher

First price in the “fundamental research” category

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph Neurulation process on an

abstract chain Diffusion-limited aggregation Cell mobility on a Delaunay graph Synthetic biology: iGEM’07 Paris

35 / 44

Examples of MGS Programs

Algorithmics Bead Sorting on a GBF Self assembly (accretive growth) Self disassembly (carving) Surface subdivision

Modeling/Simulation Boids on a Delaunay Graph Neurulation process on an

abstract chain Diffusion-limited aggregation Cell mobility on a Delaunay graph Synthetic biology: iGEM’07 Paris Growth of the shoot apical

meristem

Image sequence showing cell division patterns via membrane-bound PIN1, in Shoot Apical Meristem (SAM), nearby floral meristems, and the boundaries between them. http://computableplant.ics.uci.edu/

Central zone

Primordia

MGS SimulationPierre Barbier de Reuille

36 / 44

Compiler/Tools/Interpreter

MGS

Formalization

Topological collections

Transformations

Form

aliz

atio

n

Implem

entation

Applications

Motivations: unconventional language

Space and fields representation

Modeling and simulation of (DS)²

Examples and use

Morphogenesis

Topological modifications

Self-assembly, SyntheticBiology

Programminglanguage

The Next Round

37 / 44

Perspectives Programming the small

Synthetic biology

Programming the large Autonomic computing

Common concerns: taking space into acount (localization) no global control (locality) unbounded and dynamic resources eternal systems articulation of local and global levels

Specify globallyCompute locally

38 / 44

Articulation of Local Global Levels

organization

time

L1L2L3

t+1 t+2t

global

local

population

individual

global

local

population

individual

L1

L2

Top-down, bottom-up or middle-out approach?

39 / 44

Autonomic Computing: Systemic Software Engineering

Software system = Dynamical system

Nominal behaviour = Steady-state

Self-* = Steady-state recovery after perturbation

nominal behaviorperturbation

viability domain

resilience(self-* properties)

faulty behaviorstructual change

40 / 44

Long-term Goal: Synthetic Biology

Programming biological processes

When biology meets engineering principles…

standardization (definition of functions, standards, libraries, …)

abstraction (organization of functions by levels)

decoupling (conception/realization)

…for the design of new biological functions by easy and standard composition of building-blocks

41 / 44

The MIT Hierarchy

DNA

Parts

Devices

Systems

abst

ract

ion

Nucleotides sequences

Promoters, operators, coding regions, …

Assemby of partsperforming a function

(inverters, oscillators, switch, …)

Long-term applications

42 / 44

Specify Globally, Compute Locally

Spatial computing: computing with fields,wave, gradients, etc.

Amorphous computing: programming with asynchronous, unreliable agent

Synthetic biology:cell and cell population

Global

“Bio-Brick”

Algebra of local operators

Abstract amorphous

medium

E. coli

Amorphous discretization

Compilation

Regulatory networksOptimization,

parameter identification

),(2 trDt

43 / 44

Summary

• Jean-Louis Giavitto• Students J. Cohen (Assistant Prof. Univ. Nantes) A. Spicher (Post-doc. LORIA) P. Barbier de Reuille, E. Delsinne, V. Larue, C. Boin, F. Letierce, B. Calvez, F. Thonerieux, D. Boussié, C. Kaleta, S. Outerbah and the others...

Acknowledgements

• Supervision of 2 Ph.D. students, 14 Masters students• Publication of 13 journal papers, 4 book chapters, 22 conference papers• Edition of 3 conference proceedings• Co-organization of the Unconventional Programming Paradigm conference (UPP’04)• Organization of JFLA’05• Grant ACI “NANOPROG”• Part of grant ACI “AUTOCHEM”


Recommended