23
Reactive Programming of Cellular Automata Fr´ ed´ eric Boussinot To cite this version: Fr´ ed´ eric Boussinot. Reactive Programming of Cellular Automata. RR-5183, INRIA. 2004. <inria-00071405> HAL Id: inria-00071405 https://hal.inria.fr/inria-00071405 Submitted on 23 May 2006 HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destin´ ee au d´ epˆ ot et ` a la diffusion de documents scientifiques de niveau recherche, publi´ es ou non, ´ emanant des ´ etablissements d’enseignement et de recherche fran¸cais ou ´ etrangers, des laboratoires publics ou priv´ es.

Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

Reactive Programming of Cellular Automata

Frederic Boussinot

To cite this version:

Frederic Boussinot. Reactive Programming of Cellular Automata. RR-5183, INRIA. 2004.<inria-00071405>

HAL Id: inria-00071405

https://hal.inria.fr/inria-00071405

Submitted on 23 May 2006

HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, estdestinee au depot et a la diffusion de documentsscientifiques de niveau recherche, publies ou non,emanant des etablissements d’enseignement et derecherche francais ou etrangers, des laboratoirespublics ou prives.

Page 2: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

ISS

N 0

249-

6399

ISR

N IN

RIA

/RR

--51

83--

FR

+E

NG

ap por t de r ech er ch e

Thème COM

INSTITUT NATIONAL DE RECHERCHE EN INFORMATIQUE ET EN AUTOMATIQUE

Reactive Programming of Cellular Automata

Frédéric Boussinot

N° 5183

Mai 2004

Page 3: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis
Page 4: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

Unité de recherche INRIA Sophia Antipolis2004, route des Lucioles, BP 93, 06902 Sophia Antipolis Cedex (France)

Téléphone : +33 4 92 38 77 77 — Télécopie : +33 4 92 38 77 65

����������� ������� ���������������� �����! � #"� �� �%$&"'����(�)���

*,+.-0/1-2+#3547698;:1<.<#35=18?>

@BADC#E9FHG�I)J&KMLONQPSRTC#E9F.P�U�V0E9EHWDXDYZU�[\X0R]P^,_`VbacF�R!JdYeEfV0P`[

g![bhih?V0_SR!jQFk_`F#U]ADF#_`U]AiF�X;l,mQn.o\pqKrJd[\Y�sbt0tbu KMsvufhi[\w\F#P

x�y�z#{�|v}D~\{\��� EfhD��F�EfF�X2R`[bRTY�V\XHVb�?U�F����eWD�Z[b_1[bWDRTV\E'[bR`[�WiPTY�XDw�_`F#[0U�R`Ye�0F�hD_`V\w\_][bEfEfY�XDw!w\Y��\F.P�[���[�N�RTVU�VQjQF�U�F����?�;F�Ai[��OY�V\_]P,Y�X�[bX�[\�iPSRT_][\U�R�[bXij'EfVQjQWD�Z[b_���[�N0�1JdWD��R`Yehi_TVQU�F.PTPTY�XDw�[b�ZPTV �?F.U�V0E9F.P�h;V0P`PSY��D��F\�@BAiF�hi[\h?F#_,jQF#P`U�_`Ye�;F#P�RTAiF�Y�EfhD��F�EfF�X2R`[bRTY�V\XHVb�?U�F����eWD�Z[b_1[bWDRTV\E'[bR`[!��YeRTAHRTAiF�_`F#[0U�RTY��\F�hD_`V\w\_][bEfEfY�XDw�Z[bXiw\Wi[\w\F��I��1@)�0[�R`AD_`F#[\jQ���i[0PSF.j9F��ORTF#XiPSY�V\XfV\��G��OLOF��e��_`F�hD��Y�U#[vR`YeXDwk��VOV\hiP�U�V\X?PSYZjQF�_`F#j9Y�X�[b_TRTYe�?U�YZ[b���Ye��F [b_`F�U�VOjDF#j�RTV'PTADVv��R`ADFkYeX2R`F�_`F#PSRBV\��R`ADFk[bhDhi_TV2[\U]A���d�2 ¢¡`£�¤ |v¥z\� g!F#[\U�RTY��\F)hD_`V\w0_`[\E9EfY�XDwi�O@BAD_`F#[0j¦�?G�F����eWi��[\_![bWQR`V\E'[vR][D�D§!_TRTYe�?U�Y�[\�¦�eYe��F

Page 5: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

���� � ��������)���H������� ����� ��� ���%��"'����(�)���������! � #"� ��������

��� z�� � � ��[ hD_`V\w0_`[\E9E'[bRTY�V\X _ �#[\U�RTY��\F�h?F#_TEfF�R�j�� Y�EfhD���#EfF�X2RTF#_'�eF.P9[\WQRTV0E'[vRTF.PfU�F�����WD��[\Ye_`F#PjDF E'[bXDY�C�_`F [b�iPSRT_][bYeRTFkF�R EfVQjQWD�Z[bY�_TF0���,����F�_`F�Xij [bW?PTPTY�h;V0P`PSY��D��F ��� WQR`Ye��Y�P`[vR`YeV0X jQF E'[\U]AiYeXDF.P�E�Wi��R`Y��hi_TVQU�F.PTPTF�Wi_`P#�H��F9h?[bhDY�F�_kj��.U�_`Y�Rk��� Y�EfhD���#EfF�X2R`[bRTY�V\X j�� [bWQR`V\E'[vR`F#P)U�F#�e��WD�Z[bY�_TF.P�� ��� [\Y�jDFfjDW �Z[bXiw0[bw0F�1I��1@��2WDY?F#PSR�WDXDF!F��2R`F�XiPTY�V\Xf_��.[\U�RTY��\F�jQF�G��\��V\Xij��#F!PSWi_���[)XiVbRTY�V\X�jDFBRTAD_`F#[0j¦����F#P�F��QF�EfhD��F#P�jQF#P�;V\W?U���F#P�[bWDRTVb� _ ��hD��Y��2Wi[\X2RTF\�QjD[\XiPB��F jQV\E'[bY�XDFkjQF)�Z[H�OY�F [b_TRTYe�?U�Y�F�����F\�DPTV\X2RBRT_][bYeR��#P�ji[bXiP�U�F)U#[\jQ_`F\���¤ {.z ¡ ~ � � z � ^,_`V\w0_`[\E9E'[bRTY�V\X�_ �#[0U�RTY��\F0�Q§!WQR`V\E'[vR`F U�F�����WD��[\Ye_`F\�D@BAi_TF.[\j¦��!�YeFk[b_TRTYe�?U�YeF#�e��F

Page 6: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� p

) * ������ � "������H�

G�F#�e��WD�Z[b_�[\WQRTV0Ef[bR`[�+ G�§�,,[\_TFBWiPTF#j9Y�X'��[\_TY�V\W?P,PSY�E�WD�Z[vR`YeV0X'U�V\X2R`F��OR`P#�v��V\_�F��D[bEfhD��F\�0hDAONOPTYZU�[b�DPTY�E�WQ��Z[vR`YeV0XiP#���i_TF�hD_`V\hi[\w0[bRTY�V\X���V\_,[\_SR`Y��?U�Y�[\�0��Ye��F\�1@BADF#PTF�PSY�E�WD�Z[vR`YeV0XiP��i[\PTY�U#[b���eN U�V\XiPTYZjQF�_��[\_Tw0F�XOWDEH�?F#_`PV\�!PSE'[b���e� PTY%-#F#jqY�jDF�X2RTYZU�[\��U�V0Efh?V0XDF�X2R`P#�1U�[b����F#j.���/!�!10��,��YeRTA ��VQU�[b��YeX2RTF#_`[0U�R`YeV0XiP [bX?j [ w\��V\�i[\��PSNOXQ�U]Ai_TV0XDY%-#F#j F#�\V0�eWQR`YeV0X�� G�V\XiU�F�hQR`Wi[b����N\��F#�\V\��WQR`YeV0X Vb� G�§ YZPfjQF#U�V\Efh?V2PSF.j Y�X2RTVqU�V\WDhi�eF.PHV\��PSRTF�h?P�2jDWD_TY�XDw9RTAiF��?_`PSR!PcR`F�h��iU�F�����PBw0F�RBRTAiF PcR][vRTF.PBVb��RTADF#Ye_�XDF#Yew0AO�?V0_`PB[bX?j�jQWi_TY�XDw9RTADF PTF#U�V\Xij�PcR`F�h RTAiF�NU]A?[bXDw0F�R`ADF�Y�_ Vv��XdPSR`[bRTF�[0U�U�V0_`jDYeXDw9R`V�YeXD��V\_`Ef[bRTY�V\X V\�DR`[bY�XDF.j ��_TV0E hD_`F��OY�V\WiP!PSRTF#h��43 PTWi[b����N\�¢G�§[\_TF9U�VQjQF.j7[\P�PTF �2WDF�X2R`Y�[\�hi_TV0w\_][bE'P��i[0PSYZU�[\�e��N Ef[0jQF9Vb��[ PSY�XDw0�eF9E'[bY�X7��V2V0h ��ADYZU]AqU�V\XiPTY�jDF�_]P�[\�e�U�F�����PBY�X RTWD_`X��

G�V0XiU�WD_`_`F�X2R�hD_`V\w\_][bEfEfY�XDw)Y�P,w0F�XDF#_`[\�e��NHU�V\XiPTYZjQF�_`F#jHRTV�YeXiU�_TF.[\PTFBE9VQjQWi��[\_TYeRcNH[0P�V\XiF!U�[bX'V\� RTF#XX?[vRTWi_`[\�e��N�jQF.U�V0E9h;V0PTF�[�U�V0EfhD�eF���[\hDhD��Y�U#[vRTY�V\X)Y�X PSF#�\F#_`[\�bU�VOV\h;F�_][vR`YeXDw�hi_TV0w\_][bE'P;��ADY�U]A U#[bX)�;F�_TWiXU�V\XiU�WD_`_TF#X0R`�eN0�d@BADF�_`F#[\U�RTY��\F'hD_`V\w0_`[\EfE9Y�XDw5+5g!^6,)R`F#U]ADXiY��2WDF87 g!^ 9��i[0PSYZU�[\�e��N U�V\X?PSYZjQF�_]P PTVb� Rc�B[b_`FPTNQPcR`F�E'P'E'[\jDFdVb�kU�V\X?U�WD_`_TF#X2R'U�V\Efh;V\XDF#X0R]P�PTAi[b_`YeXiwqR`ADF7P`[bEfFdw\��V\�?[b�:��;0<�=� �>�?0���§�U�RTWi[\�e��N\��[\�e�U�V\Efh;V\XDF#X0R]P'[b_`F _TWDXiXDYeXiw [bR'RTADF P`[bEfF hi[0U�Fd[\P9R`ADF�N XDF#U�F#P`PT[\_TY��eN PTNOXiU]AD_`V\XDY@-�F [vR'R`ADFdF�X?j V\�F.[\U]A Y�XiPSR`[\X0R.��@BADF9F��QYZPcR`F�XiU�FHV\��YeX?PcR][bX2R`P)[b����Vv�!P V0XDF�R`V jDF��iXDFA���B���C�0!��ADYZU]Aq[b_`F9�D_TV2[\jDU#[\PSR!RTV[\�e�BU�V0XiU�Wi_T_`F�X2R9U�V\Efh;V\XDF#X0R]Pf[bXij ��AiY�U]A U�[bX �?F WiPTF#j ��V\_'U�V0E9EHWDXDYZU�[bRTY�V\X V0_9PTNOXiU]AD_`V\XDY@-#[bRTY�V\XhiWD_Th;V0PTF#P#��§ED\F#N7U]Ai[\_`[0U�RTF#_TYZPSRTYZU�V\�Bg!^ YZP)RTA?[vR XDF#� U�V\XiU�WD_T_`F�X2R U�V0Efh?V0XDF�X2R`Pk[\Xij XDF�� F��0F�X2R`PU#[bX �?F�YeX2RT_`VQjQWiU�F#j jQNOXi[bEfYZU�[b����N�jQWD_`YeXiwfPTNQPcR`F�E�F��QF#U�WQRTY�V\X���g ^ Ai[\PB�;F�F#XdWiPSF.j���V0_ PTYeEHWD��[bRTY�V\XiPY�X hDAONQPSYZU�PF7 LD[bE�9��

@BADYZP�hi[bh;F�_BU�V0XiPTY�jQF#_`P�RTADF�WiPTF�V\��g!^ ��V0_�Y�EfhD�eF#EfF�X2RTY�XDw�G�§ �O@BADF ��V0�e��Vv��Y�XDw h;V\Y�X0R]P�[\_TF�EfV\_`Fh?[b_TRTYZU�WD�Z[b_`�eN�U�V\XiPTYZjQF�_`F#jG2

H J VQjQWD�Z[b_`Y�RcN Vb�khD_`V\w0_`[\E9EfY�XDwi��@BADF �;F�Ai[��OY�V\_]PfVb� U�F#�e�ZP'YZP�_][vRTAiF�_'V\h?[ �2WDFdY�X WiPSW?[b�)G�§YeEfhD��F�EfF#X0R][vR`YeV0XiP��k@BADYZP�Y�P�w\F#XDF�_][b����N�XDV\R ��F#��Rk[\P�[��DY�w Y�P`PSWiF��;F#U�[\WiPTFHU�F#�e�ZP��?F#Ai[��OYeV0_`P�[b_`FVb� R`F�Xd�\F#_TN�PSY�EfhD�eF0�JI Vv��F#�\F#_#�QY�XdPSV0E9F U�V\X2RTF��OR`P#�Q��V\_!F��D[bEfhD��F [b_TRTYe�?U�YZ[b����Ye��F\�iV0XDFkE'[�N�[0PKD��V\_�EfV\_`FkU�V0E9hi�eF���U�F#�e���;F�A?[��2Y�V\_]P#� � X RTAiF#PTF)U#[\PTF#P#�QEfVOjDWD��[\_TYeRcN�YZPB_TF�2WDYe_`F#j��

H J WD�eRTY�hD_`VOU�F#P`PSY�XDw?��LOF �2WDF#X2RTYZ[b�!hD_`V\w0_`[\EfE9Y�XDw Vb�HG�§ E'[�D0F#P�jQY%L�U�WD�eR�R`ADFdWiPTFdVb� PSF#�\F#_`[\�hD_`VOU�F#P`PSV0_`P1�;F#U#[bWiPTF U�F�����P�E�WiPSR��;F!hD_`VbR`F#U�R`F#j9��_`V\E�U�V0XiU�WD_`_`F�X2R�[\U#U�F#P`PTF#P,V\�;R`ADF�Y�_�XiF�Y�w\AO�?V0_`P[bXij �;F#U#[bWiPTF�RTADFkw0�eV0�i[b�¦PTN2X?U]AD_TV0XDY@-#[vR`YeV0X�V\�U�F#�e�ZP�Ai[0P�RTVf�;FkhD_TF.PSF#_T�0F#j¦�

@BADF�PcR`_TWiU�RTWD_`F�V\�2R`ADF�hi[\h?F#_�YZP¢RTAiF���V\����Vv��YeXDw>2;RTADF���[\XDw\Wi[\w\F,�I��1@)���?[\PTF#j)V\X g ^��#Y�P�jQF#P`U�_`Y��?F.jY�X PSF.U�R`YeV0X sD��G�§�YeEfhD��F�EfF�X2R][vRTY�V\X Y�X �1I��1@�YZPkU�V0XiPSYZjQF#_TF.j7Y�X PSF.U�RTY�V\X pD��G�V0XO��[�N � PNM)[\EfF9V\���Y���Fk[\Xij�PSR`[\XijD[b_]j�PTF��e� � _TF#hD�eYZU�[bRTY�XDw���VOV\hiP�V\���[\XDwbR`V\X [bXij LQ[�N0[\Ef[H[b_`F�U�V\XiPTYZjQF�_`F#j'Y�X PSF.U�RTY�V\X�ui�§ XiF���[\hDhD_`V0[0U]A�RTV'PTF��e� ��_`F�hi�eYZU�[bRTY�XDwf�eVOV\h?PBY�P��iX?[b���eN�hi_TV0h?V2PSF.j�Y�XdPSF.U�RTY�V\XdmQ�

O PRQTSVU

�1I��1@ YZP�[)XDF#� R`AD_`F#[\jQ���i[0PSF.jHU�V\XiU�WD_`_TF#X0R,�Z[bXDw0Wi[bw0F���V\_,_`F#[\U�RTY��\F�hD_`V\w0_`[\EfE9Y�XDw>7 g!^W9 � @BAiF�WDXijQF#_S���NOYeXiw9U�V\EfhDWQR`YeXDw9EfVQjQF��¦YZP��i_]PcR�jQF#P`U�_`Y��?F.j¦�ORTADF#X�R`ADFkPSNOX2R`[b��Vb���1I��1@ Y�PBVv�0F�_`�OYeF#��F.j¦��§�U�RTWi[\�e��N\�V0XD��N'RTADF U�V\XiPSRT_`WiU�R`P�RTA?[vR![b_`F)XDF�F.jQF#j���V\_BR`ADFkY�E9hi�eF#E9F#X2R`[vR`YeV0X�V\��G�§�[\_TF)U�V0XiPTY�jQF#_TF.j¦�

XWXZY [C\^]K_<`

Page 7: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

u ����� ��" 0 0<�� � �

���� ��� �����B[0PSYZU�[\�e��N\�¦�I��1@ U�V\XiPTYZjQF�_]P��/� ��(����������� 0]�60����$����"$!%����0]��[bXijV�/� ���C�0]�9�i[\Ye_�RTAi_TF.[\jDP(+�V\� RTF#X PTYeEfhD��NU#[b���eF.jfRTAi_TF.[\jDP�,�[\_TF RTADF)�i[0PSYZU!WiXDY�R]PBVb��U�V\XiU�WD_`_TF#XiU�N0��@BADF#N�[b_`F�U�_`F#[bRTF.j�[\P�Y�XiPcR][bXiU�F#P�Vb�J�(��� "$!%�/0[\Xij [b_`F)WDXijQF#_BRTADF�U�V\X2RT_`V\�¢V\��R`ADF�P`U]ADF#jQWi�eF#_BRTV'��ADYZU]A�R`ADF�N [b_`F)�eY�X;D0F#j¦��JdV\_`F�hi_TF.U�YZPSF#�eN0�D[b���¦RTADFR`AD_`F#[\jiPB�eY�X;D\F.j�RTV�['P`[bEfF PTU]AiF#jQWD��F�_�_`WDX Y�X U�VOV\h;F�_][vRTY�V\X [bX?j PTAi[\_TFk[f��V\w\YZU�[\��U���VQU�D���Y�R`Ad��ADYZU]AR`ADF�N U�NQU���YZU�[b����N�PSNOXiU]Ai_TV0XDY%-#F\��@BY�EfFkYeX2RTF#_T�v[\��P��;F�Rc��F�F#X Rc��V9RTYZU�DQP�Vb�RTAiFk�eV0w\YZU�[b��U��eVQU�D�[\_TFkU#[b���eF.j��C0<�'���C�0]�

��F#U#[bWiPTF R`ADF�N PTAi[\_TF Y�XiPSR`[\X0R]P��;R`AD_TF.[\jDP���YeX;D0F#j R`V�R`ADF9P`[bEfF9PTU]ADF.jQWD��F�_)U�[\X7PSNOXiU]Ai_TV0XDY%-#F�[bX?jU�V\EfE�WiXDY�U#[vR`F�WiPTYeXDw��<� �F�������B0<�����B���C�0�� ���\F�X2R]PH[\_TF jD[vR][ ��ADYZU]A [b_`F�F#Y�R`ADF�_9hD_`F#PTF�X2RHV0_9[\�iPSF#X2RjDWD_TY�XDwf[bX�YeXiPSR`[\X2R#� �,�0F�X2R`PB[b_`F�XDV\X�h?F#_`PTY�PSRTF#X2RF2RTADF#N�[b_`F)[bWQR`V\E'[vR`Y�U#[b���eNf_`F#PTF�R![vR�RTADF)�;F�w0YeXDXiYeXDwV\��F#[0U]A7Y�XiPSR`[bX2R.��@BADF(D\F#Ndh?V0YeX2R)Y�P�R`Ai[vR.��[vR)F#[0U]A7Y�XiPcR][bX2R#��[\�e�R`ADF9RTAD_`F#[0jDP��eY�X;D\F.jdR`V�R`ADF'PT[\EfFP`U]ADF.jQWD��F�_!PTF�F)F��0F�X2R`P�hi_TF.PSF#XiU�F)V\_![\�iPTF�XiU�F�F��D[\U�R`�eN�YeX R`ADF PT[\EfFk��[�N 21Y�R!YZP�XDV\R!h?V2PTPTY��D�eF)��V0_�V\XDFR`AD_`F#[\j�RTV'PTF�Fk[bX F#�\F�X2R![\PBhi_TF.PSF#X0R���ADY���F)[\XDVbR`ADF�_�V0XDFkPSF#F#PBYeR [b�iPTF�X2R!jQWD_`Y�XDw9RTADF P`[bEfF)YeX?PcR][bX2R#�

@BADF#_TF�[b_`F1Rc��V �i[\PTY�U�YeXiPSRT_`WiU�RTY�V\XiP�_TF#��[bRTF.j�RTV!F#�\F�X2R]P�2¦R`ADF�w0F�XDF#_`[bRTY�V\X)Vb�i[\XkF��0F�X2R#����ADYZU]A E'[�D0FYeR hD_`F#PTF�X2R���V0_�RTADFHU�WD_`_TF#X2R!YeXiPSR`[\X2R#�?[\Xij RTAiF ��[\Y�R`YeXiwf��V\_ [\X F#�\F#X0R���ADY�U]A �D��VQU�DQP�F��QF#U�WQRTY�V\XdV\�1[R`AD_`F#[\jfWiX0R`Ye�?RTAiF�F#�\F�X2R�YZP�w\F�XiF�_][vRTF.j¦� ��[bR`[ U#[bX��;F�[0PTPTVQU�YZ[vRTF.j9RTV F#�\F#X0R�w\F#XDF�_][vR`YeV0XiP��§ P�PSF#�\F#_`[\�w0F�XDF#_`[bRTY�V\XiP�V\��R`ADF PT[\EfFkF��\F#X2R�U#[bX VQU�U�WD_!jQWD_`YeXiwHR`ADF�P`[bEfF)YeX?PcR][bX2R#�QR`ADF�_`FkYZP![bX YeX?PcR`_TWiU�RTY�V\X RTVw0F�RBRTAiFk��[\_TY�V\W?P�ji[vR`[HR`Ai[vR [\_TF)w\F#XDF�_][vR`F#j¦�

LOV0EfFHR`AD_`F#[\jiPkU�[bX �;F�[bWQR`V\XDV0E9V0WiP)[bXijqXDV\R)��Y�X;D\F.j7R`Vd[bXON7P`U]ADF#jQWi�eF#_#� � X RTADYZPkU�[0PSF0�¦RTADF.PSFR`AD_`F#[\jiPk[b_`FHV0XD�eN7WDXijQF#_kRTADF�U�V\X2RT_`V\�1V\��R`ADF�I)L7[\Xij [b_`FH_`WDX Y�X [ hD_`F�F#EfhQRTY��\Ff�B[�N\��3!XD��Y�X;D\F.jR`AD_`F#[\jiP�jQV XDVbR PSAi[\_TF [bXON �eV0w\YZU�[b��U���VQU�D [\Xij¦� WiXD�eY@D\Fq�eY�X;D0F#j R`AD_TF.[\jDP#�![b_`F R`AOWiP�XiVbR [\�D��F RTVU�V\EfE�WiXDY�U#[vR`F�R`AD_`V\WDw0A��D_`V0[0jDU�[0PcRBF��0F�X2R`P#�

LOF#�\F#_`[\�OP`U]ADF.jQWD��F�_]PU#[bX9U�VOF��QYZPcR,Y�X�R`ADF�PT[\E9FB[bhihD�eYZU�[bRTY�V\XfjQF��?XDYeXiw)PTF��0F�_][b�>0�� � ���8�����C! ^�"� � � � � 0_`WDXDXiYeXDw9[vR�RTADF#Ye_�Vv��X'hi[\U�F\�,�I��1@ jQF��iXDF.P�hD_`Y�E9YeRTY��\F.P,��V0_�R`AD_TF.[\jDP�RTV9jQNOXi[bEfYZU�[b����N9WiXD�eY�X;D9��_`V\E[fP`U]ADF#jDWD�eF#_![bXij�RTVf��YeXCD�RTV�[\XDVbR`ADF�_BV0XDF\�

§�RBRTAiF�Y�EfhD��F�EfF�X2R`[bRTY�V\X �eF#�\F#�5�Q[b���¢RTAi_TF.[\jDPB[bX?j�P`U]ADF#jQWi�eF#_`P�_TWiXDXDY�XDwfYeX�RTADFkP`[bEfF)[bhDhD��YZU�[vR`YeV0X[\_TF�F��QF#U�WQRTF.jkYeX RTADFBPT[\EfF�hD_`VQU�F#P`P#��LQU]ADF.jQWD��F�_]P�[bX?j)RTAD_`F#[0jDP�RTAi[bR�Ai[��0F,RTADF�[b�DY���Y�RcN�RTV��?F�WDXD��Y�X;D\F.j[\_TF�E'[\hDh?F.jfRTV � � � �� � D0F�_`XDF��QR`AD_`F#[\jiP + [0U�RTW?[b���eNf^�I)L �$# ^1RTAD_`F#[0jDPF7 %&��'�(�)^9 ,��O��ADY���F�RTAD_`F#[0jDP,R`Ai[vR[\_TF�[b����[�NQP��eY�X;D0F#j9[b_`F�F��QF.U�WQR`F#jH�2N RTADF�D\F#_TXiF��0RTAD_`F#[0j�V\�DRTADF�P`U]ADF#jDWD�eF#_RTV)��ADYZU]A RTAiF�N�[\_TF��eY�X;D0F#j¦�

���*� +�,.-0/2143��¤ ¥� � � zf}65�¥�798�| � }D¥zJdVOjDWD�eF.P [b_`FfRTAiF��i[\PTYZUfWDXDYeR`P V\�BRTADF��Z[bXiw\Wi[\w\F\��@BADF�PTN2X2R][v�qYZP �?[\PTF#j V\X G [bXij EfVQjQWD��F#PH[b_`FjDF��iXDF.j�Y�X'�i��F#P�RTA?[vR�U�[bX�[b�ZPSV�U�V\X2R`[\YeX�PcR][bXijD[\_`j G U�VQjQF\�,�iV\_�F��D[bEfhD��F\�OADF#_TF�Y�P�RTADF)jQF��iXDYeRTY�V\X�V\�[9EfVQjQWD��FkXi[bEfF.j;:=<?>6@BA9��AiY�U]A [vR!F.[\U]A�Y�XiPSR`[\X0R!hi_TY�X2R`PBYeR`P�hi[\_`[\EfF�RTF#_DC 2

E=FHGHI�JHKMLONQPBRSKUTVR�W�P�NYXOZB[\�W^]�J�K_T�`�[aGBF

bBNB]�cBLOdeT"f�gBZ�h�c6f^i$JOFQRHPOJjTVZB[O[2kR�F�F�b�K�NQPHLQKlk

KScBG

mon X�mqp

Page 8: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� m

KScBG E=FSGHI�J�K^1[b_][bEfF�RTF�_]P'[b_`F [ PTh?F.U�YZ[b� U#[\PTF V\�k�eVQU�[\�!�v[b_`Y�[\�D��F#P#����ADYZU]A hD_`F#PTF�_`�\F RTADF#Ye_���[\�eWiF#P'�;F�Rc��F�F#X

Y�XiPSR`[\X0R]P�� � X �1I��1@)��F#�\F�_`N [\U#U�F#P`PkR`Vq[q�eVQU#[b���v[\_TYZ[b�D��F � Ai[0P R`ADF���V\_`E����6@�>���� � � %!V\RTF�RTADFPTNOX2R`[v� Vb�RTADF��� ����^Af��V2V0hdPSh;F#U�Y��?UkRTV��1I��@���ADYZU]A jQY��;F#_`PB��_`V\E�RTAiF V\XDFkV\�1RTADF��� ����^Af�eVOV0h V\�G��D@BAiF @������6A�<2>�:?A�YeXiPSRT_`WiU�RTY�V\X Y�P!U�V\XiPTYZjQF�_`F#j��?F#�e��Vv�k�

@BAD_`F#[0jDP,[b_`FBYeX?PcR][bXiU�F#P1Vb�;EfVOjDWD�eF.P�� � XiPSR`[\XiU�F.P1Vb�¦[�EfVQjQWD��F���[\_TFBU�_`F#[bRTF.j�WiPTY�XDw�RTADFB��WDX?U�RTY�V\X���?@Q<?A^>�:?A9��ADYZU]A _`F�RTWi_TXiP�[�XDF#� RTAD_`F#[0j _TWiXDXDY�XDw�R`ADFHU�VOjDF�Vb����� @BAi_TF.[\jDP�[b_`F Vb�,R`ADF + h?V0YeX2RTF#_�,RcNOh;F&:� 2<?A=>�����:¢��@BADF�F��QF#U�WQRTY�XDwHRTAD_`F#[0j�YZP�_TF�RTWD_`XDF#j��2NfR`ADF G ��WDXiU�RTY�V\X CBA����f[bXij�Y�R]P��eVQU�[\�;ji[vR`[�ON'R`ADF)��WDXiU�RTY�V\X����6@B>������2>�:?>?�

� 5�z#{�| �~b{! ¤ 5�z@BAiF��;VQjQN�Vb�[HEfVQjQWD��F�Y�PB�i[0PSYZU�[\�e��N'[HPTF �2WDF#XiU�F�Vb��YeXiPSRT_`WiU�RTY�V\XiP�F��QF.U�WQR`F#j��2NfR`AD_`F#[\jiP���AiY�U]A [b_`FU�_TF.[vR`F#jf[\P�YeXiPSR`[\XiU�F.P,Vb�¢R`ADF EfVQjQWD��F\�,@BADF#_TF![\_TFBRc��VkRcNOh?F.P�V\�¢Y�XiPSRT_`WiU�R`YeV0XiPF2����'����?�!YeXiPSRT_`WiU�RTY�V\XiP��AiY�U]A [b_`F�_`WDX Y�X V\XDF PSY�XDw0�eF PcR`F�h���[bXij � ���#"K� �=� ��?� V\XiF#P#�,RTADF F��OF.U�WQR`YeV0X V\� ��ADYZU]A U#[bX R][�D0FPTF��0F�_][b�¢Y�XiPcR][bX2R`P�R`V'U�V\EfhD��F�R`F\�

§�R`V\EfY�U YeX?PcR`_TWiU�RTY�V\XiP�[b_`F�G ��WiXiU�R`YeV0X�U�[\�e�ZP�+ �eY@D\F RTADF)U�[\�e�;Vb�¦R`ADF$�2<�&%2:�� ��WDXiU�RTY�V\X��QY�X'RTAiF�hD_`F���OY�V\WiP�EfVOjDWD�eFB,��2V\_�G �i�eVQU�DQP�V\�;R`ADF!��V0_TE('�)�)�)+*i��@BAiF-,?A�%?A�<?>�:?A G ��WiXiU�R`YeV0X�Y�P�WiPTF#j9R`V w\F#XDF�_][vR`F[\XdF��0F�X2R +���ADYZU]AdYZP!Vb�1RcNOh;F A � A�%2:#��:;,���@BAOWiP#�?U#[b����P�RTV.,?A�%6A�<?>�:?Af[b_`F [vR`V\EfY�U YeXiPSRT_`WiU�RTY�V\XiP#���DV\_�v[\�eWDF.j�w0F�XDF#_`[bRTY�V\XiP#�2RTADF�,?A�%6A�<2>�:?A�� � >���/6A�G ��WiXiU�R`YeV0X YZP�WiPTF#j�Y�XiPcR`F#[0j�V\��,?A�%6A�<?>�:?A?�

@BADF @������6A�<?>�:?A Y�XiPSRT_`WiU�R`YeV0X Y�PB�i[0PSYZU�[\�e��N�XDV0XQ� [vRTV0EfY�U�[\PBYeR�R`[�D\F#P�Rc��VfYeX?PcR][bX2R`P�R`V�U�V\EfhD��F�R`F�2R`ADF�F��QF#U�WQRTY�V\XHVb�DR`ADFBF��QF#U�WQRTY�XDw!R`AD_`F#[\j��D��VOU�DQP[vRRTADF��i_]PSR�Y�XiPcR][bX2R,[bXij RTADF�U�V0X2RT_`V\�\YZP_TF�RTWD_`XDF.jkRTVR`ADF!P`U]ADF#jQWi�eF#_!0\RTADF @������?A�<?>�:?A!Y�XiPSRT_`WiU�R`YeV0XHR`F�_`EfYeXi[bRTF.P�[vR1RTAiF!XDF��OR�Y�XiPSR`[bX2R.�\��ADF#XHR`ADF�F��QF.U�WQR`YeXDwR`AD_`F#[\j�_`F#U�F#Ye�0F#P�RTAiF U�V\X2R`_TV0�¢[\w0[\YeX���_TV0E RTAiF PTU]ADF.jQWD��F�_.�

@BADF�YeX?PcR`_TWiU�RTY�V\X >��6>1�O:7YZPH[7XDV\XQ� [vR`V\EfYZU'YeX?PcR`_TWiU�RTY�V\X ��AiY�U]A U�V\EfhD��F�R`F#P ��AiF�X R`ADF�[��B[bYeRTF.jF#�\F#X0RBYZPBw\F�XiF�_][vRTF.j�0QU�V0E9hi�eF�RTY�V\X U�[bX�VQU�U�Wi_�Y�XdPSF#�\F#_`[\�?Y�XiPSR`[bX2R]P�Y�X�RTADF)��WQR`WD_`F(+ V\_BE'[�N��;F�XiF��\F#_#�Y�X ��ADYZU]A U#[\PTF�R`ADF)RTAi_TF.[\j��D�eVQU�DQP���V\_`F��0F�_<,��

@BADF�YeX?PcR`_TWiU�RTY�V\X2,?A�:#� � >���/6A�YZP�RTADF'R`ADY�_`j XiV\XQ� [vR`V\EfY�UfY�XiPSRT_`WiU�R`YeV0X�� � RHYZPkR`ADF�EfF.[bX RTV7w\F�RR`ADF �v[b��WDF.P [\P`PTVOU�Y�[bRTF.j�R`V�[bX F#�\F�X2R �ON U�[\�e�ZP�Vb�3,?A�%6A�<?>�:?A�� � >���/6Ai�,@BADF���[\�eWiF#P [\_TFkY�XijQF��QF#jd[bX?j[0U�U�F#P`PSF.j V\XiF'�2NqV\XDF0��@BADF'Y�XiPcR`_TW?U�RTY�V\X4,?A�:#� � >���/6A5�"A367%86V< YZP [bX [vRTRTF#E9hDRkRTVdw\F�RkRTADF'�v[\�eWDFV\��Y�XijQF��9% w\F#XDF�_][vR`F#j7��V\_kR`ADF�F#�\F�X2R A7jQWD_`YeXiw RTADF�U�WD_`_TF#X0R Y�XiPSR`[\X0R.� � �![��v[bY��Z[b�D��F\��RTADF��v[\�eWDF�Y�P[0PTPTY�w\XDF.j R`V <HjQWi_TY�XDwkR`ADF U�Wi_T_`F�X2R,YeX?PcR][bX2R#�2VbR`ADF�_`��Y�PTF\��<H��Y��e�?�?F�PSF�R�RTV�:�;#<�< [vR�R`ADF!XDF��OR�YeX?PcR][bX2R#�� X�RTADF��i_]PcRBU�[\PTF\�0RTAiF ��WDX?U�RTY�V\X <?A�:�/2<�%1�2@����2A=� _`F�RTWi_TXiP�RTADF��v[b��WDF?>�@f��ADY��eFBA�:�A�C�DHY�P�_TF�RTWD_`XDF.j��AiF�X [7��[\�eWiF���[0P XDV\R9[��v[bY��Z[b�D��F\�7�iV\_9F��D[bEfhD��F\�R`ADF���V0�e��Vv��YeXiw EfVOjDWD�eF [���[\Y�R]P�[\X F��0F�X2RH[bX?jhi_TY�X2R`P�[b���¢RTAiF +�Y�X0R`F�w0F�_<,��v[\�eWDF.PBw\F#XDF�_][vR`F#j���Y�R`A YeRF2

E=FHGHI�JHK bBN�]�cQL�E�PQJOJ&E!FQPQJ�IBKBZeT K&FQKScBLGEHLYK&FOL^[JOFQRHPQJ ]�cBL ] i$]�cBL NQKQZ kPH\BPB]SL T$JOFQRHPOJjT K&FOL�[O[?kH JOFQRHPOJjTV]B[�I9JlkLK\�W^]�J�K_T�`�[aGBF

M KHL�E!FQPQJ�I�KeT$JOFQRHPOJjT K&FOL�[?i$JOFQRSPQJjTV]B[2iOTNFBFQ]�G�XOXB[POQJOFBRHPQJjT*NBKBZB[O[6k]Sd T NQK�LHIQNHc�EQR�FSGQKeT [QIRITSVU=[aLHWBKSc

XWXZY [C\^]K_<`

Page 9: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

) ����� ��" 0 0<�� � �

HbBN�]"cBLOdUT"f FQPQJ�I�K � g�G�� g�GQh�c6f=i JOFORHPQJjTV]Q[?i JOFQRHPOJjT NQKBZQ[O[?kJOFQRSPQJjTV]B[����lk

KKQJOZHK

NQK�LHIBNSc�kKScQG

KScBGKScBG E=FSGHI�J�K@BAiFHPTF#U�V0Xij ��YeXDF0�¦PcR][b_TRTY�XDw��ON�R`ADF.���6@�>���D\F#NO��V0_`j¦�;jQF#U���[\_TF.P�Rc��V���VOU#[b��YeX2RTF#w\F#_ �v[b_`Y�[\�D��F#P��f[bX?j<?A6CQ����ADV2PSFf�v[b��WDF#Pk[\_TFfhD_`F#PTF�_`�\F.j �;F�Rc��F�F#X Y�XiPSR`[\X0R]PV0 ��PSRTV0_TF.P�RTADF'Y�XijQF��qVb��RTAiF'XDF��OR �v[b��WDFfRTV_`F#[0j�[\Xij <2A6C�PSRTV0_TF.P�RTADFk�v[b��WDF)_`F#[\j��

��~Q8 � ¥ � � |vzLDU]ADF#jQWi�eF#_`PB[b_`F V\��RcNOh;F C=@R 6A���/1�^A�<#�B:H[bXij [b_`F�U�_TF.[vRTF.j��ON'R`ADF C^@R 6A���/#�^A�<#�?@O<?A=>�:=A G ��WDXiU�R`YeV0X��§ X7Y�EfhD�eYZU�YeRkPTU]ADF.jQWD��F�_�Y�P�[bWQR`V\E'[vR`Y�U#[b���eN jQF.U��Z[b_`F#j [\Xij PSR`[b_TRTF.jdY�X F��0F�_`N �1I��@ hi_TV0w\_][bE � � R)Y�PR`ADF!jQF�� [bWD�eR�P`U]ADF#jQWi�eF#_,��V\_�[\�e�iU�_TF.[vR`YeV0XiP1Vb�¢RTAi_TF.[\jDP,[\Xij9F��\F#X2R`P#�@�V U�_`F#[bRTF�[�RTAD_`F#[0j9YeXiPSR`[\XiU�F�V\�¢[EfVQjQWD��F ��Y�X�[9PTh?F.U�Ye�?U�P`U]ADF.jQWD��F�_&CO�2V\XiF�WiPTF#P�RTAiF ��WDX?U�RTY�V\X ���?@O<?A=>�:?A��#�&% Y�XiPcR`F#[0j'Vb� ���?@Q<?A^>�:?A?�@BAiF)U�WD_`_TF#X0R!P`U]ADF#jDWD�eF#_�Y�PB_`F�R`WD_`XDF#j��ON�RTAiF @R/2<=<?A�%2:#�?C=@& 6A���/1��A�<HG ��WDXiU�RTY�V\X��

���� +� ��� 1��2,@BAiF�E'[\YeXdU]Ai[\_`[0U�RTF#_TYZPSRTYZU�P�Vb�,�I��1@ [\_TF82

H � R!Y�P [9U�V\XiU�WD_`_TF#X0RB�Z[bXDw0Wi[bw0F\�O�i[\PTF#j�V\X G [bXij U�V0E9h?[vRTY��D��F)��Y�R`AdY�R.�

H ^,_`V\w\_][bE'PBU�[\X��;F�XiF��DR���_`V\E EHWD�eRTY�hD_TVQU�F#P`PSV0_�E'[\U]AiYeXDF.P�� � XijDF�F#j��iPTU]AiF#jQWD��F�_]PB[bXij�WDXD��Y�X;D\F.jRTAD_`F#[0jDP�U�[\X��;Fk_`WDX YeX _`F#[b�¢hi[\_`[\�e��F���YZPSE �QV\X jQYZPcR`YeX?U�R!hD_`VQU�F#P`PTV\_]P��

H @BADF�_`F�F��QY�PSR ��C0��=� �>�?0�PTAi[\_TF.j �2N [\�e��RTADF�RTAi_TF.[\jDP��eY�X;D\F.j RTV7RTADF P`[bEfF�P`U]ADF#jQWi�eF#_#� @BA2W?P��[b����RTAD_`F#[0jDP ��YeXCD\F#j RTV7RTADF PT[\EfF�P`U]ADF#jQWi�eF#_HF��OF.U�WQR`F�[bRHR`ADF P`[bEfF�hi[\U�F\��[bX?j RTADF#_TF YZPH[\X[bWQR`V\E'[vR`Y�U)PTNOXiU]AD_`V\XDY@-#[bRTY�V\X�[bRBRTADFkF#Xij Vb�1F#[\U]A�YeX?PcR][bX2R#�

H�� � �/�>�?0�U#[bX'�;F�jDF��iXDF.j'�ONHW?PSF#_`P#�@BAiF�N'[b_`F!Y�XiPcR][bX2R`[\XDF�V0WiPT�eNH�D_TV2[\jDU#[\PSR,RTV9[b���iR`ADF!R`AD_TF.[\jDP�eY�X;D0F#jqRTV7[ P`U]ADF#jDWD�eF#_!01F#�\F�X2R]Pk[b_`Ff[ EfVQjQWD�Z[b_H[bXij h;Vv��F#_S��WD�,EfF.[bXiP)��V0_kRTAi_TF.[\jDP�R`V7PSNOXQ�U]AD_`V\XDY@-�Fk[bX?j�U�V\EfE�WDXiY�U#[vRTF0�

�1I��@ YZP1PcR`_TV0XDw\��N��eY�X;D\F.j)RTV�[bX�§�^ � V\�DRTAD_`F#[0jDP�U#[b���eF.j �i[\Ye_]@BAD_`F#[0jDP�7 ��V\Witin 9 2�[0U�R`Wi[b���eN0�v�I��1@PSR`[\XijDP���V\_��W� � ��"C�F�8�����B��� �W� ������8� � ���B0���@BADYZP�§�^ � EfY��QF.P'RTAi_TF.[\jDP���Y�R`A RTADFq_TF.[\U�R`Ye�0F [bhQ�hi_TV2[\U]A��¦�ON7Y�X2RT_`VQjQWiU�Y�XDw Y�XiPcR][bX2R`P�[bXijq�D_`V0[\jiU�[\PSR)F��\F#X2R`P)Y�XqR`ADF�U�V\X2RTF��2RkV\��R`AD_TF.[\jDP#���I��1@�Y�PY�EfhD��F�EfF�X2RTF.j YeXd[9�\F#_TN�jQY�_`F#U�R!�B[�N'�ON�[HRT_][bXiPT�Z[vRTY�V\X Y�X0R`V'�i[bY�_]@BAD_TF.[\jDP#�

mon X�mqp

Page 10: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� �

� ��$ * ��� ��!�(�!�����k�����

I�XiF)U�V\XiPTYZjQF�_]P�[bX YeEfhD��F�EfF#X0R][vR`YeV0X V\��G�§ Y�X ��ADYZU]A U�F�����P�[\_TF�R`AD_TF.[\jDP#��G�F����ZP�[b_`F�XiVbR PTNOPSRTF#E'[vRS�YZU�[\�e��N U�_`F#[vR`F#j [vR)PSNQPSRTF#E�Y�XDYeRTYZ[b��Y%-.[vRTY�V\X��i�DWQR�V\XD��N ��ADF�X XiF�F#jDF#j¦� J V0_TF#Vv�\F#_#�OR`ADFHU�F����PThi[\U�F U�[\X�;FkjQY��2YZjQF.j�Y�X2RTV'PTF��\F#_`[\�¦[b_`F#[\P#�OU�V\_`_`F#PTh?V0XijQY�XDw R`V�jQY�PSRTY�XiU�R PTU]ADF.jQWD��F�_]P��2��V0_��?F#YeXDw'[\�D�eF�R`V9�;F�XiF��DR��_`V\E E�WD�eRTY�hD_`VOU�F#P`PSV0_�[\_`U]AiY�R`F#U�R`WD_`F#P#�1@BAiF#PTF)[\_TF.[\P�PSNOXiU]Ai_TV0XDY%-#F�[bR�F#[\U]A Y�XiPcR][bX2RBRTV'E'[bY�X2R`[\YeX�RTADFXiVbRTY�V\X Vb�,[9w\��V\�i[\�¢YeXiPSR`[\X2R#�

���� �M������@BAiF�Y�EfhD��F�EfF�X2R`[bRTY�V\X Vb�1U�F#�e�ZP�YZPB�i[\PTF#j�V\X RTAiF���V0�e��Vv��Y�XDwfh?V0YeX2R`PF2

H ��[\U]AdU�F����¦Y�P![H� [\Ye_BR`AD_TF.[\j¦�Q��YeRTAd[\X [0PTPTVQU�YZ[vRTF.j�[0U�R`Ye�v[vR`YeV0X�F#�\F#X0R.�

H @�V [\U�RTY��v[vRTFf[�XiF�Y�w\AO�?V0_#�¦[�U�F����1w\F#XDF�_][vR`F#P RTADFf[\U�RTY���[bRTY�V\X F#�\F#X0R)Vb��RTADF9XDF�Y�w\AO�;V\_���Y�R`Aq[\X[\P`PSVQU�Y�[bRTF#j�Y�XQ��V\_`E'[vRTY�V\X jQF#P`U�_`Y��DYeXiw9YeR`P!Vv��X PSR`[bRTF\�

H §�R�F#[0U]A'YeX?PcR][bX2R#�2[kU�F����?[0U�R`Ye�v[vR`F#P�Y�R]P�XDF#Yew0A2�;V\_]P#�vRTADF#X'Y�RBU�V0�e��F#U�R`P1R`ADF!Y�XQ��V\_`E'[vRTY�V\X9��_`V\E RTADFXDF�Y�w\AO�;V\_`ADVOVQj¦�D[bXij��iXi[\�e��N\�iY�R!WDh¢jD[bRTF#PBYeR`P PcR][vRTFk[0U�U�V0_`jDYeXDwHRTVfR`ADF)_TF.U�F#Ye�0F#j�YeXQ��V0_TE'[bRTY�V\X��

� XdE'[bXON G�§��DR`ADF�_`FkY�P�RTADF�jDY�PSRTY�XiU�R`YeV0X �?F�Rc��F#F�X ����� ��B� [bXij���"$?�<0����/�>��U�F#�e�ZP#��WDY�F#P`U�F#X0R!U�F�����P[0U�R`Wi[b���eN [b���B[�NOP _TF#Ef[\YeX �2WDY�F#P`U�F#X2R���ADY��eF�RTADF#Ye_HXDF�Y�w\AO�;V\_`ADVOVOj YZP V0XD��N U�V\Efh;V0PTF#j Vb� �2WDY�F#P`U�F#X0RU�F�����P +�F�EfhQRcN9XDF#Yew0A2�;V\_`ADVOVQjC,�� � EfhD��F�EfF�X2R`[bRTY�V\XiP�PSADV0WD�Zj'U�V\X?PSYZjQF�_�RTADYZP�[\Xijf[��\V\YZjf[bXON�hi_TVQU�F.PTPTY�XDwV\���2WDY�F#P`U�F#X0R!U�F�����P#��§�U�F#�e��U�NOU��eYZU�[\�e��N�h;F�_T��V\_`E'P�RTADF)��V0�e��Vv��YeXiw9PTF �2WDF#XiU�F)Vb�,[\U�RTY�V\XiPF2

n\�BY���RTADFdU�F�����YZP �2WDYeF.PTU�F�X2R#��[���[\Y�Rf[bX [0U�R`Ye�v[vR`YeV0X ��_`V\E�RTAiF XiF�Y�w\AO�?V0_TAiV2VQj R`ADF�X hD_`VQU�F�F.j RTV[\U�RTY�V\Xds�0

sQ��[\U�RTY���[bRTF [\�e�¢R`ADF U�F#�e�ZPBYeX R`ADFkXDF�Y�w\AO�;V\_`ADVOVQj�[bX?j U�V\EfE�WiXDY�U#[vR`F�R`ADF�E RTADF U�F�����PcR][vR`F�0pD��U�V0�e��F#U�R�RTADF PSR`[bRTF#PBV\�[\�e�¢R`ADF U�F#�e�ZP�Y�X�R`ADFkXDF�Y�w\AO�;V\_`ADVOVQj�0ui��U]Ai[bXiw\F�RTADF U�F�����PcR][vR`F [\U�U�V\_]jQY�XDw R`VfRTADFkY�XQ��V\_`E'[vR`YeV0X�hD_`F��OY�V\WiPT��N'w\VbR.�

I ��U�V\WD_]PSF0�b��V0_�[ �2WDY�F#P`U�F#X2R�U�F#�e�?RTAiF!�i_]PcRB[\U�RTY�V\X'E�W?PcRB[��\V\YZj��c�iWiPSN2� ��[\Y�R`YeXiw� ���ADYe��F!R`ADF�XDF�Y�w\AQ��;V\_`ADVOVQj9_TF#Ef[\YeX?P1F�EfhQRcN\� % VbRTFBR`Ai[vR�V\XD��NH[0U�RTY��\F!U�F�����P�[bXij'U�F�����P,�;F���V\Xiw\Y�XDw)RTV)R`ADF!XDF#Yew0A2�;V\_`ADVOVQjV\�[\X [0U�R`Ye�0F�U�F�����[b_`F�[0U�R`Ye�v[vR`F#j¦��@BAiF)��V\���eVv��Y�XDw9E9VQjQWi�eFkY�EfhD�eF#EfF�X2R`P!U�F�����PF2

E=FHGHI�JHKYRHKQJOJ TV]�cBL��liV]�cBL�� i K&FQKScBLGEHLYPBRSL�] FQP�L�]�F�c�iV]�cBL ZSLOP�LHI^Z i$]�cBL ZSLQP�LOK�[JOFQRHPQJac�KB] M W���FHNHW�F�FHG�EHL c�KB] M W���FHNSW�FOFHG i ]�cQdBFREHL ]�cQdBFjiV]�cQL R�F�IOcBLliV]�cBL E=FSNQKlk]�c^]SL�]SPQJQ]��QKREQRHKQJOJUTVZSKQJHdeT [O[2k\�W^]�J�K_T�`�[aGBF

]�dUT$JOFQRSPQJjTVZSLOP�LHI^ZB[9IRI����������� !��"�#�[ LSW�KScPH\BPB]�LeT$JOFQRHPOJjT PBRSLB]VFQP�L�]HF�c2[O[?k

KOJQZHKPBRSL�] FQP�LQKGE�c�KB] M W���FHNHW�F�FHG TVZSKQJHdUT [�[?k

XWXZY [C\^]K_<`

Page 11: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

o ����� ��" 0 0<�� � �

K�cBGHJOFQRSPQJjTqE=FSNQK�[�I `2kJOFQRSPQJjTVR�F�IOcBL^[9ITJjkR�J�K�P�N�E�c�KQ] M W���FSNHW�FOFHG T$JOFORHPQJjT�cBKB] M W���FHNHW�FOFSG^[O[?k

K\HW^]�J�K T JOFQRHPQJ TqE=FHNQK�[O[ GBF

M K�L�EVFQPQJ�I�KUT JOFQRHPQJ T PBRSL�] FQP�L�]�F�c2[?i$JOFORHPQJjTVRHF�IOcBL^[2iQTNFBFQ]HG�X�XB[PO�JOFQRSPBJjTV]�cBd�FB[O[?kH]�dUT NQK�LSIBNHc�EQRHFHGQKeT [ I&I2SVU=[ H

ZHK�L�E�c�KB] M W���FHN T$JOFQRSPQJjT�c�KQ] M W���FSNHW�FOFHG�[?i$JOFQRSPQJjTV]�cQdBF�[Q[?kJOFQRHPOJjTVR�F�I�cBL^[ ���jk

K KQJQZHK J�FQRHPQJjT E=FHNQK�[�ITJlkK

K�cBGRSKQJOJRE��BKSW�P&F�]HFHN TVZHKQJHd T [O[?k

KScBGKScBG E=FSGHI�J�K@BAiF'�eVQU�[\�,�v[b_`Y�[\�D�eF CQ:?>�:�/lC�jQF��iXDF#PkRTADF�U�F�����PcR][vR`WiP�+ �2WDY�F#P`U�F#X0R V0_kXDVbR<,)[bXijqR`ADF'�eVQU#[b�,�v[b_`Y�[\�D��FCQ:?>�:?A jQF��iXDF#P�RTADF U�F#�e�)PcR][vR`F\��@BADF7Rc��V RcN2h;F#P %6A1�&,� ��#��<� #�������B: [bX?j �!%�������: [b_`F [bWD�OY���Y�[\_TNRcNOh;F#P WiPSF.j RTV PcR`V\_`F�U�F#�e��YeXD��V\_`Ef[bRTY�V\X���@BADF ��WDX?U�RTY�V\XY@BA��������?A� 6> � �G��<fY�E9hi�eF#E9F#X2R`P RTADF9PSh;F#U�Y��?U�;F�A?[��2Y�V\_�Vb��R`ADFkU�F#�e���O��ADY�U]A jQF��?XDF#P�ADVv� R`ADFkPcR][vRTF)[bX?jfRTADFkPSR`[bRTWiP�Vb��RTADF)U�F#�e�¦U]Ai[\XDw\F�[\U�U�V\_]jQY�XDwR`V9RTADFkXDF#Yew0AO�?V0_`P#�

% VbRTF�RTA?[vRBXDV�F��Ohi�eYZU�YeRBU�VOV\h;F�_][vRTY�V\X +V@������6A�<?>�:?A)Y�XiPSRT_`WiU�R`YeV0X>,�Y�P�XDF�F.jQF#j��?F.U�[\WiPSF�[bX�Y�EfhD��Y�U�Y�RU�VOV\h;F�_][vRTY�V\X YZP![\U�RTWi[\�e��N�F#E��;F#jDjQF.j ��Y�R`A RTADF�,?A�:#� � >���/6AHYeXiPSRT_`WiU�RTY�V\X 2,R`ADFkY�X0R`F�_`Xi[b� �� ����^A9�eVOV0hYZPfF��QYeRTF.j V0XD�eN [vRfRTADF XDF��ORfY�XiPSR`[\X0R.��[0PHRTADFd��VOV\h �;VQjQN [\�e�B[�NQP��B[bYeR`PH��V0_�[qXiF�� Y�XQ��V0_TE'[vR`YeV0XjDWD_TY�XDw'R`ADF���AiV\��F�U�WD_`_`F�X2R Y�XiPcR][bX2R#��@BA2W?P��j<?A�:�/2<�%1�2@����2AH_TF�RTWD_`XiP�R`ADF��v[\�eWDF A�:�A�C�D�[bR RTAiF�XDF��2RY�XiPSR`[\X0R.�Q��ADYZU]A E'[�D\F#P�R`ADFk�eVOV0h�F��OYeR!V\Xi�eN�[bR�RTAi[bRBRTY�E9F0�

���*� � ������� � ���.���� @BAiF w0F�V0E9F�RT_`N Vb�)U�F#�e�ZP'U�[\X �v[b_`N Y�X G�§ ��§ X Y�Efh?V0_SR][bX2R�U��Z[\P`P�����ADYZU]A YZP9RTAiFdV\XDFdU�V0XiPTY�jQF#_TF.jAiF�_`F\�¢Y�P RTAiFHV0XDFHV\��s�� jQY�E9F#XiPTYeV0Xi[b��G�§���AiF�_`FHU�F#�e�ZP�[b_`FHPSRT_`WiU�R`WD_TF.j [\P�[b_`_][�NOP#� � X RTADYZP)U�V\X2R`F��OR#�:�A� ������1>G;����)jQF��iXiF#P�RTADF�XOWDE��;F�_BV\��XDF�Y�w\AO�;V\WD_]P���V0_�F.[\U]A�U�F����5�Q[\Xija@���%2:2A��=: YZP�RTADF�EfF#[bX�RTVHw\F�RR`ADF�U�F�����U�V2V0_`jDYeXi[bRTF.PkVb��XDF#Yew0A2�;V\_]P#� �iV\_HF��D[bEfhD��F\��RTADF�u F���F�EfF#X0R]P XDF#Yew0AO�?V0_TADVOVQj.+ U#[b���eF.j¦�RTADF� � �1"�� ��"$�(���C�dXDF#Yew0AO�?V0_TADVOVQjC,�Y�P jQF��iXiF#j �ON 2

� GQK�d�]"c�K�"�� ����� ��S���!��#"� GQK�d�]"c�K�#�S�$ J� GQK�d�]"c�K#! ������# `� GQK�d�]"c�K#��S!#�#GS�%'&� GQK�d�]"c�K#(���)�# *

]�cBL R�F�cBLQK��OL,+ "�� ����� ��S���!���-�+.&�- I HRH Jli0/Q` K i H `2i JRKji H Jli ` Kji H /O`2i JGKRK k

mon X�mqp

Page 12: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� (

�iV\_9Ef[\Xi[bw0YeXiwdXDF�Y�w\AO�;V\_`ADVOVOjiP��V\XDF jQF��?XDF#P;@�A������^>�<^<?>��d��ADYZU]A Y�P9[bX [b_`_`[�N0����YeRTA R`ADF�jDY��EfF#XiPSY�V\X?P�����C�C F�R�����C�� V\� RTADF �OY�PTWi[\�eYZPSY�XDw [bhDhD��F�R.� ��ADF#_TF [b���kU�F����ZP�[\_TFqhD��[0U�F.j¦� %!VbR`F7R`Ai[vRR`ADYZP YZP7[bX�[\_T_][�N�Vb�fh;V\Y�X0R`F�_]P���@BADF [\_T_][�N YZP Y�XDY�R`Y�[\�eY@-�F.j �ON�XOWD����h;V\Y�X2RTF�_]Pd�ON�R`ADF ��WDX?U�RTY�V\X@�A�����/#�^>�<#�^>�/2:��R�l>B:���%��#�!%��H:¢�

LHWBNQKOPHG�EHL RHKQJ�JRE�P�NONOP���+ %��� -�+ %���� �- kFBFQ]SG RSKQJOJ�I�JHP�N�E�PSIQLBF"E^P�LQF�c�EQ]�c�]SL T [H

]�cQL�� i � kdBFSNUT �2I9Jlk ��� %��� k � ����[

dBFHNUT �4ITJlk ��� %��� �k � ����[RHKQJOJ&E�P�NONQP!��+ � -�+ � - I "���( ( k

KG�F#�e�ZP![b_`FkU�_`F#[bRTF#j�Y�X�R`ADF U�Wi_T_`F�X2R!PTU]AiF#jQWD��F�_��ON'R`ADF�%6A��1�2@�A����)��WiXiU�R`YeV0X�� � R�R`[�D\F.P�[\PBhi[\_`[\EH�

F�RTF#_`PBR`ADF Y�XDYeRTYZ[b��PSR`[bRTWiP [bXij PSR`[vR`F Vb�RTAiF�U�_`F#[bRTF#j U�F����5�B@BADF [\U�RTY��v[vRTY�V\X F#�\F�X2R!YZP [\��PTV'U�_`F#[vR`F#j [vRR`Ai[vR�R`YeEfFkY�X RTADFkU�Wi_T_`F�X2R!PTU]AiF#jQWD��F�_.�

LHWBNQKOPHG�EHLMc�KH\�EQRHKQJOJ T$]�cBL�� i$]�cBL�� i$]�cBL ZSLOP�LHI^Z i$]�cBL ZSLQP�LOK�[HZOR"W�K�GHI�JHK�N�EHL ZOR�WBK�G2IYR�IQNONQKScBLGEQZOR�W�KHGHI�J�K�N T [?kNQKHLHIBNHc RHKOJOJREQRSNOKOP�LQKGEO]�c TVZOR�W�KHG i � i �li K&FQKScQL�EQRSNQK�P�LQKGEQ]"c TVZOR�WBK�G^[?iVZ�LQP�LHI^Z6iVZSLQP�LOK�[?k

K% F�Y�w\AO�?V0_`P�[\_TF)[\U#U�F.PTPTF#j¦�D[\Xij U�_`F#[vR`F#j���ADF�X XDF#F#jQF.j¦�D�ON'RTAiF�,2A�:#�?@�A���� ��WDXiU�RTY�V\X 2

LHWBNQKOPHG�EHL M K�LGEQRHKQJOJ T$]�cBL�� i$]�cBL�� i$]�cBL R�WBPSc M K,+ &�-^[H]�cQL c�KH\��4I�� �BR�WBPSc M K,+ J - k]�cQL c�KH\��4I�� �BR�WBPSc M K,+V` - k]Sd T�$]�c^Z�]SGQKGE�P�bOb�J�K�L T�c�KS\�� i�c�KS\��^[O[ NQKHLHIBNHc "�� ( (�k]Sd TVRHKQJOJ&E�P�NONQP!��+qc�KH\�� -�+qc�KS\�� -�� I "���( (^[aNQK�LHIQNHc RHKQJOJ&E�P�NONQP!��+qc�KH\�� -�+qc�KS\�� - kRHKOJOJRE�P�N�NQP���+qcBKH\�� -�+ c�KH\�� - I c�KH\�EQRHKQJOJ Toc�KH\�� ioc�KH\�� iNJli J�[?kNQKHLHIBNHc RHKOJOJRE�P�N�NQP���+qcBKH\�� -�+ c�KH\�� -lk

K% VbR`FBRTAi[bR�[kU�F#�e�?Y�P,XiVbR�U�_`F#[bRTF.jHYe�¦Y�R�Y�P,XiVbR�Y�XiPTY�jQFBR`ADF [\hDhD��F�R�+���WDXiU�R`YeV0X �&%jC��G�2A���>����1�^A�:;,���I R`ADF�_U]AiV\YZU�F#PBU�V\WD�Zj Ai[��\F��?F#F�X E'[\jQFk[0PB��F#�e� +5['U�NO�eY�XijQF#_!PSh?[\U�F0�O��V\_�F��Q[\EfhD�eFB,��

@BADF)��WiXiU�R`YeV0X�R`Ai[vR [0U�R`Ye�v[vR`F#P�R`ADFkXDF�Y�w\AO�;V\_`ADVOVQj�Vb�,[fU�F#�e��U#[bX XDVv���;F jQF��?XDF#j �ON 2

FBFQ]SG PQRSL�]VFQPHLQKGE�c�KQ] M W���FSNHW�FOFHG T LHWBNOKOP�G�EHL E�K�[H]�cQL G�]SN kRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT E^K�[?kdBFSNUT G�]SN4I4Jlk GB]SN�� "�� ����� ��S ! �jk G�]SN�����[ H

XWXZY [C\^]K_<`

Page 13: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

n.t ����� ��" 0 0<�� � �

LHWBNQKOPHG�EHL RHKQJ�JTI M K�LGEQRHKQJOJ T*G�/��!� i*G�/��!� i$R�F�cBLQK!�OL�+�G�]�N -^[?k]SdUTVRHKOJOJTIRI "!��( (=[ RHF�cBL�]�c�I�Klk]�cBdBFRESL ]�cBdBFTI E^P���KREQ]�cBdBF T S�$ $�S�����#���T GB]SN^[?i G�/��QZSLQPHLHI^Z i G�/��QZHLQP�LOK^[?kM KSc�K�NOP�LQKGE!FOPQJ�I�KeT G�/���PBRSL�] FQP�L�]�F�c�iV]�cBdQF�[

KK

@BADF jDYe_`F#U�RTY�V\X���_TV0E ��ADYZU]A [0U�R`Ye�v[vR`YeV0X U�V\EfF#PBYZP�U�VQjQF.j YeX RTAiF)RT_][bXiPTEfY�RTRTF#j�Y�XQ��V\_`E'[vRTY�V\X +�W?Pc�Y�XDw RTAiF9E'[0U�_`V >����#>�� RD�A���AiY�U]A w\Y��\F.P R`ADF'V\hih?V2PSYeRTFfjQY�_TF.U�RTY�V\X Vb��Y�R]Pkhi[\_`[\E9F�RTF#_!0¦��V0_)F��D[bEfhD��F\�>����#>��� RD�A �0� �����D Y�P$<�A���D;,��

���� � � ���- � ���l������� XfPTV\EfF�PTYeRTWi[bRTY�V\XiP�+�Y�X'PSF.U�R`YeV0X9mQ�b��V\_1F��D[bEfhD��F^,�R`ADF�_`F�YZPRTAiF�XiF�F#j�RTV� 6����[�U�F����DjQWD_`Y�XDw�F��QF#U�WDRTY�V\X��R`Ai[vRkYZP)RTV R`_`[\XiPSEfYeRkY�R�[\XqV0_`jQF#_�RTVdU]Ai[bXiw\F9Y�R]P PcR][vR`Ff[\Xij PcR][vRTW?P��'@BADF�[0U�RTW?[b��U]Ai[\XDw\F9Vb�BPcR][vRTF[\Xij'V\��PcR][vR`WiP�Y�P�ADVv��F��\F#_�V0XD�eN'V\�¦RTADF)_`F#PTh?V0XiPTYe�DY���Y�RcN9Vb��R`ADF��i_TF.j�U�F����5�2RTVf[��\V0Y�jfXiV\XijQF�RTF#_TEfY�XDY�PTE[\Xij�_`[0U�FkU�V0XijQYeRTY�V\XiP#�,��Y�_`YeXDw'[fU�F#�e��Y�P�jQV0XDF)�ON�RTAiF)��V\���eVv��Y�XDwH��WDXiU�R`YeV0X �1�O<?A>2

]�cBL d�]�NQK T LHWQNQKOP�G�ESL Z�F�IBN�RSKliV]�cBL LOP�N M K�LGEHG�]SN i$]�cBL c�KH\�EQZ�LQP�LHI^Z6iV]�cBL c�KH\�EQZSLQP�LOK�[H]�cQdBFREHL ]�cQdBFjkRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$Z�F�IBN�RSK�[?kLHWQNQKOP�G�ESL LQP�N M KHL I M K�LGEQRHKQJOJ T*G�/��!� i*G�/��!� i$R�F�cBLQK!�OL�+�LQPHN M K�L�ESG�]SN�-^[?k]Sd T LQP�N M K�L IRI "!��( (=[ NQKHLHIBNHc�k]�cQdBF4I E^P���KGEQ]�cQdBF TLS�$ $�S�����#�� T LQP�N M K�L�EHG�]�N^[?i G�/��QZSLQP�LSI=Z i G�/��QZ�LQP�LBK�[?k]�cQdBF /��HdB]SNQK�G I `=k]�cQdBF /���cBKH\�EQZSLOP�LHI^Z2I c�KH\�EQZSLQP�LSI^Z k]�cQdBF /��QZ�LQP�LQK I cBKH\�EQZSLOP�LQKlkM K�c�K�NQP�LOKGE!FQPQJ�I�K T*G�/���PBR�L�]VFQP�LB]�F�c�iV]"cBdBF�[

K

����� +�,.-���� �?�0- ��� �� 1��?��1 �G�§ [b_`F �i[0PSYZU�[\�e��N�jQF�RTF#_TEfY�XDY�PSRTYZU�[\Xij U�F�����P�[b_`F�PSA?[b_`YeXDw'w0�eV0�i[b��YeX?PcR][bX2R`P#� � X V0_`jQF#_!R`V�WiPTF�E�Wi��R`Y��hi_TVQU�F.PTPTY�XDwi�?V\XDFkR`AOWiP XiF�F#jiP!R`V�PTN2X?U]AD_TV0XDY@-�FkhD_`VQU�F#P`PTV\_]P�YeX7V\_]jQF�_�R`V�hD_`F#PTF�_`�\F jDF�RTF#_TEfY�XDYZPSE&[bX?jR`V7jQF��iXDF�U�V\EfEfV\X YeX?PcR][bX2R`P#�d§ PSV0�eWDRTY�V\X YZPkRTVqjQF��iXiF�PSF#�\F#_`[\��0"� � ������� �>! ^��� �������B0��,U�V\X2R][bY�XDYeXiwR`AD_`F#[\jiP���YeXCD\F#j RTV�RTADF�P`[bEfF�P`U]ADF.jQWD��F�_.�b[bXij RTV)PSNOXiU]AD_`V\XiY%-#F�PTU]AiF#jQWD��F�_]P#��@BADYZP1U�[bXH�?FBjQV0XDF�_][vR`ADF�_F.[\PTYe��N�Y�Xd�I��1@)�i@BADF [0jQ�v[bX2R`[\w\F�Y�PBR`Ai[vR�R`_TWiFkhi[b_][b���eF#�eYZPTE �?F.U�V0E9F.P�h;V0P`PSY��D��F���V0_ P`U]ADF#jQWi�eF#_`P�F��O�F.U�WQR`YeV0X��

LQU]AiF#jQWD��F�_]P�[b_`F�hD��[0U�F.j�Y�Xd[bX [b_`_`[�N >�<?A^>��^>�<=<2>��HVb�PTY@-�F ����A��#��:�; �¢�O§ jQ_`[�� F��\F#X2RBYZP�[\P`PTVOU�Y��[bRTF.jdRTV F#[0U]AqP`U]ADF#jDWD�eF#_#�¢��ADYZU]A7YZP)w\F#XDF�_][vR`F#jd��VQU�[\�e��N ��ADF�X U�F#�e�ZP�XDF�F.jdRTV �;F9jD_`[���X��H§ PTh?F.U�YZ[b�EfVQjQWD��F9:=<?>�%lCG�2A�<'YZP U�_`F#[bRTF.j YeX F.[\U]A P`U]ADF#jDWD�eF#_!��V0_!RT_][bX?Pc��F#_T_`YeXiwfRTADFH�eVQU�[\��jQ_][�� V\_]jQF�_]PBRTV�RTADFw0_`[\hDADYZU�P E9VQjQWi�eF9��ADYZU]A Y�P�_`WDX7�ONd[�jQF.jQYZU�[vR`F#jqPTU]ADF.jQWD��F�_.��@BAiF RT_][bX?Pc��F#_�V\��jQ_`[���Y�XDw�V0_`jDF�_]P�RTVR`ADFkw\_][bhiADY�U#[b�¦P`U]ADF#jQWi�eF#_�YZP!U�V\X2RT_`V\���eF.j��ON�F#�\F�X2R]PBVb�RTADF [\_T_][�N :^<?>�%lC��=A�<#�^>�<^<?>��¢�

mon X�mqp

Page 14: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� n0n

ZOR�W�K�GSI�J�K�N�ESLYP�NQKOPGEHP�NONQP�� + � !�����E�"���% - kK&FQKScBLGEHL GONQPH\�EHP�NONQP�� + � !�����E�"���% - kK&FQKScBLGEHL LONQPSc^Z�dQK�N�E�PHNONQP�� + � !�����E�"���% - k

@BADFkY�XDYeRTYZ[b��Y%-.[vR`YeV0X�V\��R`ADF#PTFk[b_`_`[�NQP�Y�P�E'[0jQF)�2N�RTADF)��WDX?U�RTY�V\X 2

FBFQ]SG RHF�cBLONBF�JOJ�K�N�EO]�c^]SL T [H]�cBLY] kdBFHN TV]9ITJjk ] � ��!����E�"!��%�k;] ����[ H

PHNQKOPGE�PHNONQP���+ ]�- I ZOR�WBK�GHI�J�KHN�EQRSNQK�P�LQK T [?kG�NQPH\�E�PHNONQP���+ ]�- IMK&FQK�cBL�EQRSNOKOP�LQKGEO]�c T P�NQKOPGEHP�NONQP��,+ ]�-^[?kL�NQPSc^ZSdOK�N�E�P�N�NQP���+ ] - I K&FQKScBLGEQRSNQKOPHLQKGEQ]�c T P�NOKOPGE�P�N�NQP���+ ] -^[?kL�NQPSc^ZSdOK�N�EQRSNOKOP�LQKGEO]�c T P�NQKOPGEHP�NONQP��,+ ]�- i M FRE�P�NONOP���+ ]�-li GONQP�\�EHP�NONBP���+ ]�- i GONQP�\^[?k

KK

@BADF U�V0X2RT_`V\���eF#_ F��QF#U�WQRTF.P�� � � 0/�/0djQWD_`YeXDwq��ADYZU]A Y�Rfw\Y��\F.PkR`ADF U�V\X2RT_`V\��YeX hi[b_][b���eF#��R`V [\�e��RTADFP`U]ADF.jQWD��F�_]P�Y�X >�<?A=>��^>�<=<?> �¢�b[\Xij'R`ADF�X���[\Y�R]P���V0_�R`ADF�Y�_BU�V\EfhD��F�R`YeV0X���� ADF�X [b���;Ai[��\F�_TF�RTWD_`XDF#j�RTADFU�V\X2RT_`V\���vR`ADF�X�[)XDF#� hiAi[\PTF�Y�P�Y�P`PTWDF#j9Ye�¢XiF�� [\U�RTY���[bRTY�V\XfF��0F�X2R`P1A?[��\F��;F�F�X'w0F�XDF#_`[bRTF.j¦�1I R`ADF�_`��Y�PTF\�R`ADF�P`U]ADF.jQWD��F�_]P [b_`F�[\P�D\F.j YeX R`WD_`X RTV R`_`[\XiPS��F�_kR`ADF�Y�_9jD_`[�� V\_]jQF�_]P)R`VdRTADF�w\_][bhDAiY�U#[b��P`U]ADF#jDWD�eF#_#�� AiF�X7[\�e�w\_][bhDAiY�U#[b��V0_`jQF#_`P!Ai[��\F �;F�F#XdRT_][bX?Pc��F#_TF.j¦�iR`ADFHU�WD_`_TF#X0R�YeXiPSR`[\X2R�YZP�U��eV2PSF.j ��V\_�[\�e�1P`U]ADF#jO�Wi�eF#_`P#�D[bXij�RTAiFkXDF��OR!Y�XiPcR][bX2R!U�[\X�R][�D0F�hD�Z[\U�F\�

�iV\_ P`[�D\FfV\��PTYeEfhD��Y�U�Y�RcN0��R`ADF�jQF��iXDYeRTY�V\X Vb��RTADF'EfVQjQWD��F @���%2:=<������^A�< Y�P)XDV\R w\Y��\F#XqADF#_TF0��[bX?jV0XD��NdRTADF'EfVQjQWD��F C��%j@R 2<�����AiY�U]A YZP)�i[\PTY�U9WDXiY�Rk��V0_ U�V\X2R`_TV0�e��YeXiw�R`ADF'_TF.[\U�RTY�V\X7V\��V0XDF'PTU]AiF#jQWD��F�_YZP�U�V\XiPTYZjQF�_`F#j¦� J VQjQWi�eF C���%l@R 2<�� W?PSF.P'RTAiFqPTh?F.U�YZ[b� C=@R 6A���/1�^A�<#�B<?A=>6@Q: ��WDXiU�RTY�V\X�hi_TVv�OYZjQF#j RTVU�V\X2RT_`V\�;PTU]AiF#jQWD��F�_]P�F��QF#U�WDRTY�V\X�� � RBY�P�[ Xi[bRTY��\F�E9VQjQWi�eF��?F.U�[\WiPSF0�2jDWD_TY�XDwH_TF.[\U�R`YeV0XiP#�bRTAiF�U�V\X2RT_`V\���eF.jP`U]ADF.jQWD��F�_ PTADV\Wi��j �;F�WDXi�eY�X;D\F.j YeXdV0_`jDF�_�R`V��?FHF��QF#U�WQRTF.j �ON [�D0F�_`XDF���RTAD_`F#[0j¦��@BADF�EfVQjQWD��Fk�i_]PcR�B[bYeR`P���V\_�R`ADFkRT_`Y�w\w\F#_TY�XDwfF��0F�X2R$,��10DRTAiF�X YeR WDXD��Y�X;DQP [bX?j [�_TF.[\U�R`YeV0X�V\�1RTADF�U�V\X2RT_`V\����F#j PTU]AiF#jQWD��F�_YZPBh;F�_T��V\_`E9F.j�0Q��ADF#X�R`ADFk_TF.[\U�RTY�V\X�YZP��iXDYZPTADF#j¦�DRTADFkEfVQjQWD��F)_TF�����YeXCDOP�[\Xij�w\F�XiF�_][vRTF.P�RTADFkPTYew0Xi[b��YeXiwF#�\F#X0R$����%6Ai�1@BADF U�VOjDF�YZP�RTAiF)��V\���eVv��Y�XDwC2

E=FHGHI�JHK c�P�L�] FQK Z��Hc^R"WBNBF TVZOR"W�K�GHI�JHK�N�EHL R�F�cBLONBFOJ�J�K�G i K&FQK�cBL�EHL M F i K&FQKScQL�EHL GBF�c�K�[JOFQRHPQJ ZOR�W�K�GSI�J�K�N�ESL Z�R�W�K�G i$]�cBL �^]�cQG kH JOFQRHPOJjTVZOR�WBK�G^[9I R�IQNONQKScBLGEQZOR�W�KHGHI�J�K�N T [?k K\�W^]�J�K_T�`�[aGBF

PH\QPB]SLUT$J�FQRHPQJjT M F�[O[?kM KHL�E!FQPQJ�I�KUT$JOFQRSPQJjT M FB[?i JliOT FBFQ]SG�X�XB[POBJOFORHPQJjT ��]�c�G^[O[?kIOc�JQ]�c ��kZOR"W�K�GHI�JHK�N�EHNQK�PBRSL T$JOFQRSPQJjTVR�F�cBLONBFOJ�J�K�G^[?i JOFQRHPQJ T �^]�cBG�[Q[?kJQ]"c � T$JOFORHPQJjTVZ�R�W�K�G^[�[?kM K�c�K�NQP�LOKGE!FQPQJ�I�KeT$JOFQRHPOJjT GBF�cBK�[?i "�� ( (=[?k

KScBGKScBG E=FSGHI�J�K

XWXZY [C\^]K_<`

Page 15: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

n�s ����� ��" 0 0<�� � �

% VbRTF!RTAi[bR�RTADF ��[\�eWiF [\P`PSVQU�Y�[bRTF#j�RTV ,�� Y�P�RT_][bXiPTEfY�RTRTF.j'[\P�[)hi[\_`[\EfF�RTF#_1RTV C=@R 6A���/1�^A�<#�B<?A=>6@Q:;�% VbR`F�[\��PTV R`Ai[vR�[��v[\�eWDF(+ [0U�R`Wi[b���eN :�;#<�<$,1Y�PB[0PTPTVQU�YZ[vRTF.jfRTV ����%?A�R`VH�;F�[\�D��F R`V9U�V\WDX2R�RTADF�XOWDE��;F�_V\��w0F�XDF#_`[bRTY�V\X�V\�YeR#�D��V\_!PTN2X?U]AD_TV0XDY@-�Y�XDw�R`ADFk�v[b_`YeV0WiPBPTU]AiF#jQWD��F�_]P#�

§ X'YeEfh;V\_TR`[bX2R�h;V\Y�X2R�Y�P1R`Ai[vR�XDV)F��QhD��Y�U�Y�R���VQU�D YZP�XDF#F#jQF.j���V0_,hD_`VbRTF.U�R`YeXDw ji[vR`[���_`V\E U�V\X?U�WD_`_TF#X2R[0U�U�F#P`PSF.P'��_`V\E�jQYZPcR`YeX?U�RdPTU]ADF.jQWD��F�_]P + Vb�HU�V\WD_]PTF\�!��VQU�DOP [b_`F7hi_TF.PSF#X0R Y�X�RTAiFqY�EfhD�eF#EfF�X2R`[bRTY�V\X V\��1I��1@ ,��

� ��� ����� ����

I�XiF�XDVv��U�V\XiPTYZjQF�_]P!R`ADF9��F#�e�e� DOXDVv��X M)[bEfFHV\����Ye��F9Vb�BG�V0X2�B[�N [bXijqPSF#��� � _TF#hD��Y�U#[vRTY�XDw PcR`_TWiU�RTWD_`F#PU�V\XiPTYZjQF�_`F#j�YeXd[b_TRTYe�?U�Y�[\�¦�eYe��F\�

���� �����

@BAiF� � ���A��� � �/� + M I��W,�Vb��G�V\XO�B[�N 7 M)[\_ �bt/9BWiPTF#P9[7odF#�eF#E9F#X2R`PHXDF�Y�w\AO�;V\_`ADVOVOj.+�RTADF� �F�����XiF�Y�w\AO�?V0_TAiV2VQjC,���@BADF ��Ye�OY�XDw�[bX?j RTADF�jDF#[vR`AdVb��['U�F����jQF#h?F#XijDP V\X RTAiF�XOWDE��;F�_D%�Vb�,��Ye�OY�XDw�U�F�����Phi_TF.PSF#X0R!Y�XdYeR`P�XDF#Yew0AO�?V0_TADVOVQj¦�BJ V\_`FkhD_`F#U�YZPTF���N\�i['jQF.[\jdU�F����¦RTWD_`XiP!RTV�[f��Ye�OY�XDw�U�F#�e��Y�� %�F�0W?[b�ZP!pD�[\Xijf[k��Ye�OY�XDw U�F#�e�;jQYeF.P�Ye��%�YZP�jQY��;F#_TF#X0R���_TV0E�s�V0_�pD�1§�U�R`Wi[b���eN0�\R`ADF!��Ye�OY�XDw�U�F�����P�[\_TF1acW?PcR�RTADF [0U�R`Ye�0FV0XDF#P#�,@BADFk�;F�Ai[��OY�V\_BVb� M I�� U�F�����P!Y�P�jQF��iXDF.j��ON'R`ADF)��V\����Vv��YeXDw9��WDX?U�RTY�V\X 2

FBFQ]SG RSKQJOJRE��BKSW�P&F�]HFHN T LHWBNQK�P�G�EHL RHKOJOJ�[HRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$RHKQJOJ�[2k]�cQL ] i9c�KQ] M W���F�IBN�ZTI4JlkdBFSNUTV]9I9J k ] � "�� ����� ��S�! � k ] ����[]�dUT G�/���c�KB] M W���FHNHW�F�FHG�+ ]�- ORO G�/���c�KB] M W���FHNSW�FOFHG�+ ]�-�/��QZ�LQP�LHI^Z �NI���� ��� �� !��"�#^[

c�KB] M W���F�IBNBZ ���lk]Sd T G�/��QZ�LQP�LHI^ZTI&I����������� !��"�#2O&O c�KB] M W���F�IBNBZTIRI *�[ H

G�/��QZSLOP�LHI^ZTI � ������� �! !��"�# k ��� �^]SNOLSWGONQPH\�EORHKQJOJ TVRSKQJOJji�� � ��#��=[2k

KMKOJQZHKY]Sd T G�/��QZ�LQP�LHI^Z � I����������� !��"�#2O&O c�KB] M W���F�IBNBZ �NI &�O&O c�KB] M W���F�IBNBZ �NI *�[ HG�/��QZSLOP�LHI^ZTI�� ����� �� ���"�# k ��� GQKOP�LHWGONQPH\�EORHKQJOJ TVRSKQJOJji � (�� !U=[2k

KK

§���F����e� DOXDVv��XdPTAi[bh;FkY�P!RTADF�_S� h?F#X2RTV\EfY�XDV�jQF.PTU�_TY��?F.j V\X �iw\Wi_TF'n0� � R YZP!E'[0jQFkVb��mfU�F#�e�ZP#�?[bX?jYZPBhD�Z[\U�F#j�YeX RTAiFkE9YZjDjQ��Fkh;V0PTY�R`YeV0X V\�[�M I�� G�§ U�V0E9h;V0PTF#j�Vb��sbt0tv�¦n#t0t U�F#�e�ZP#�

§!� RTF�_ n\n#t\u�Y�XiPSR`[\X0R]P��Ombpin#o U�F�����P�Ai[��\F��?F#F�X'U�_`F#[bRTF.jH[\XijHRTADF�G�§ �;F#U�V\EfF#P,[0P,PSADVv��X9V\X9�iw0WD_`FsD�

���*� +������� ���&��� �l14/ � - ���9����� �G�§�[\_TF�WiPTF#j Y�X PTF��0F�_][b�;��V0_�DQP�V\X [b_TRTYe�?U�Y�[\�¦�eYe��F)��V\_!PSRTWijDN2Y�XDw 0���! � "=��� �>!#?��� � ���� !%�^� �>0 +5LQg�����VOV\hiP�,��

mon X�mqp

Page 16: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� n.p

�Y�w\WD_`Ffn�2,@BADFk_T��h;F�X2R`V\EfYeXiV

�Y�w\WD_`F s$2,@BADF M I�� G�§ V\�DR`[bY�XDF.j���_`V\E RTADFk_T��h;F�X2R`V\EfYeXiV

� }65��i{ ¤ 5 ��¤�¤��I�XiF9V\��R`ADFf�i_]PcRHLDgB����VOV\h Ai[\P �?F#F�X hD_`V\h;V0PTF#jq�2N ��[\XDwbR`V\X 7 ��[\Xiobu^9 � � R Ai[\P�[ PSR`[bRTF'E'[\jDF9V\�BojDY �¢F�_`F�X2R��v[b��WDF#P![\Xij�Y�P�PTADVv��X V\X��iw\WD_`FkpD�

�Yew0WD_TFkpC2,LDgB����VOV\h

@BADF��\V\X % F�WDE'[\XDXdXDF�Y�w\AO�;V\_`ADVOVQj�YZP!WiPTF#j��B@BAiF�PcR][vR`F#P �9[\Xij u�[\_TFkY�X2RTF�_`hD_`F�R`F#j [\P �Sw\F#XDF#P R`Ai[vR�E'[�D0F#P�RTAiFk�eVOV\h�w\_`Vv��[bXij�RTWi_TX ��ADF#X�_`F#[0U]ADYeXiw RTAiFkF�Xij�Vb��RTADF)��V2V0h���@BADFkU�F#�e�ZPB��YeRTA PcR][vRTF

XWXZY [C\^]K_<`

Page 17: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

n#u ����� ��" 0 0<�� � �

s jQF��iXiF�[ PTADF.[vRTA�PSAi[\h?F0�,@BADF w0F�XDF.P,RT_][��\F#�?[\�eV0XDwkRTAiF ��V2V0h�U�V0WDX2RTF#_`U��eVQU�DO��Y�PTF�[bXij�[b_`F U�V0hDYeF.j�[vRR`ADF)@ hi[b_TR�V\�¦RTADF���V2V0h��,§�� R`F�_�p _`VbR][vRTY�V\X?P��2��ADF�X�RTADF�F�Xij�Vb��R`ADF��eVOV\h�U�V\����Y�jQF.P���YeRTA�RTADF)PTADF#[bRTA��R`ADF�F#Xij�[\Xij�RTAiF�PTADF#[bRTA �;V\X?j)RTV0w\F�R`ADF�_�RTV ��V\_`E�Rc��V!YZjQF�X2R`Y�U#[b�2�eVOV\h?P��1LOF��0F�_][b��'0[��v[v� �i[\PTF#j)[bhihD�eF�R`PF��QY�PSR�V\X�RTADF � F�� RTA?[vR PTADVv��R`ADFk�eVOV0h��;F�Ai[��OY�V\_��.�

@BADF��?F#Ai[��OYeV0_kVb��U�F����ZPkY�PHjQF��?XDF#j �ON [dPTF�R V\��_`WD��F#P PSRTV0_TF.j YeX [ ��V2V8D2��WDh R][b�D��F\� �,X2RT_`YeF.P Y�XR`ADF�R`[b�i�eF�[b_`F Vb��RTADF���V\_`E G�@�g.�B��%���ADF�_`F)G YZP�RTADF)U�WD_`_`F�X2R�PSR`[bRTF V\��RTAiF�U�F����5�Q@)� gk� ��� �q[\_TF RTADFPSR`[bRTF.P�Vb�1RTAiFkRTV0h��?_`Y�w\A2R#�D�;VbRTRTV0E �¢[bX?j �eF�� R XDF�Y�w\AO�;V\_]P��?[bXija%�YZP�R`ADF�XiF���PcR][vR`FkVb�1RTADF9U�F#�e�����DV\_F��D[bEfhD��F\�¢RTAiF'_TWD��F n.s\s0s � �fU�VQjQF.P���V\_�RTADFfhD_`V\w0_TF.PTPTY�V\XdVb�B[ w\_`Vv��w\F�XiF9[bR�R`ADFfF�XijqVb��RTADFf��VOV\h��@BAiF U�F������;F�Ai[��OY�V\_�PTYeEfhD��N�U�V\XiPTY�PSR`P!YeXdU]Ai[\XDw\Y�XDwHRTADF�PSR`[bRTF [\Xij�R`ADF�PSR`[bRTWiPBV\��R`ADF�U�F#�e��[\U�U�V\_]jQY�XDwR`V9RTADFk��VOV�D2��Wih�R][b�D��F\�

��}   } � } ��¤�¤�� zLD[�N0[bE'[C7 LQ[�N2(0o\[b��LQ[�N2(0ob��9,Ai[\P�jQF��?XDF#jq[��v[b_`Y�[\X2R�Vb��RTADF'LQgB� �eVOV0h��¦U�[b����F#j7L��)LQgB� ��V2V0h��¢YeXq��ADYZU]A[ ��VOV\h jQF#PSRT_`VvNQPfY�R]PSF#���)��ADF#X U�V\���eYZjQY�XDw ��YeRTA�[bX VbR`ADF�_��eVOV\h�� �Yew0WD_TF u YZP'V\�DR`[bY�XDF.j ��_`V\E RTADFL ��LQg�����VOV\h��

�Yew0WD_TF�uC2�LD[�N0[bE'[ � PBL��)LQgB� ��VOV\h

@BADF��,�\V\����VOV\h9��_`V\E LD[�N0[bE'[C7 LQ[�N2(�(�9;Y�P�[k�v[b_`Y�[\X2R�Vb�¢RTADF)L��)LQgB� �eVOV\h'��AiY�U]A'Y�X�PTV\EfF U�V0�e��YZjQYeXiwPTYeRTWi[bRTY�V\XiPHU�[bX U]Ai[bXDw0F�YeR`P��cw0F�XDV\RcNOh?F� '[\Xij hD_`VQjQWiU�F PSE'[\�e��F�_H�eVOV\h?P�� @BADF#PTF�PTE'[b���eF#_���V2V0hiP9[b_`F�SEfV\_`F'[\U�R`Ye�0F 9[\Xij PSV0EfF�D2Y�Xij Vb�BF��0V\��WQRTY�V\X?[b_`NdhD_TVQU�F#P`P�F#EfF�_`w\F#P���_`V\E RTADF�PTNQPcR`F�E ��@BADF ���\Vb���VOV\h�Y�P�jQF��iXDF.j��ON�[9PTh?F.U�Ye�?U)�eVOV8D0� WDh�R`[b�i�eF)��YeRTA

95F���F�EfF#X0R]P�� � X 7 LD[�N=(0o\[^9 �iLQ[�N0[\E'[H[0jQ�\VQU�[bRTF.P

��������� ������������������� ����� � ��!#"�$ $�% &#'��)(+*,!�(.-/� $�0.1 2�3 �5476�8�9:6;��8�<>=><�9��?����@��A���B��@�=: �C�#=:�D�>���A�#=>��EF�>��<> @��>9���<�G

mon X�mqp

Page 18: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� n�m

��V0_�[���[�N�RTV F��QhD_`F#P`P U�F����1�?F#Ai[��OYeV0_`P YeX [�ADY�w\ADF#_S� ��F��\F#���B[�N�R`Ai[bXq��Y�R`A7��VOV�D2��WihdR`[\�D�eF.P��)@BADYZP�Y�P��A?[vR�Y�P!hD_TV0h?V2PSF.j�Y�X RTADFkXDF��OR PSF.U�RTY�V\X��

� ������� ���H���(�����f� P �'� ���

I�XiF U�V0XiPSYZjQF#_`P�PTF��e� � _TF#hD�eYZU�[bRTY�XDwk��V2V0hiP,Y�X���ADYZU]A'�?F#Ai[��OYeV0_`P�[b_`F�XDVbRBjQF#P`U�_`Ye�;F#jf�ONf[)�eVOV8D0� WDhfR][b�D��F\��iWQR�[b_`F hD_TV0w\_][bE'P#� §�U�RTWi[\�e��N\��V\XiF U�V\XiPTYZjQF�_]P'[ �\F�_`N PTYeEfhD��Fd��V2V0h PTADVv��X V\X �iw0WD_TF mD��U#[b���eF.j^�LQgB� �eVOV\h + ^�_TV0w\_][bEfEfF#j LQgB� ��VOV\h>,��

�Y�w\WD_`F m$2�^�LQg�� ��V2V0h

@BADF�^�LQgB� �eVOV\h jQVOF.PkXDVbR A?[��\F'[bXON7PTADF#[bRTA�� � R�Y�P Ef[0jQFfVb�BV\XDF'WiXDY��2WDF�PTF �2WDF#XiU�F'V\��w0F�XDF.P��PSR`[\_SR`YeXiw'��Y�R`A [ +�_`F#jC,BRTWD_`XQ� w\F�XiF)��V\���eVv��F#j �ON�Rc��V +�w0_TF#F�X>,�w0_TVv�B� w\F#XDF#P#��§�R RTADF F#Xij Vb�1R`ADFH[\_TEYZP�[ +��D��WDFB,�U�_`F#[bRTV\_.�2��V\_!U�_TF.[vRTY�XDw9XDF�� U�F#�e�ZP#�

@BADF(0<�=� � " 0�V\�1[fU�F#�e�¦YZP�F��2R`F�XijDF#j�RTV�U�VQjQF0�Q��ADF�X R`ADF U�F#�e�¦YZP�XDV\R��2WDY�F#P`U�F#X2R#�D[fjQY�_TF.U�RTY�V\X���_`V\E��AiY�U]Adw0F�XDF.P PTADV\WD�Zj hD_`V\hi[\w0[bRTF + @ I�^�¢g � MNI @)�l�!I�@�@ I)J �iV0_ � ���@ ,��¦@BADF�0<�'���'�HV\�,[�U�F#�e��Y�PV0XDF)Vb��RTADF)��V0�e��Vv��YeXiwC2

H �B§�L � G�2iPSR`[\XijD[\_`j PcR][vR`F

H G�I���� � � �42?[b_`E U�V0�e��Y�jDF#P

H �B§ g!g � ��g:2i�i[\_T_`Y�F�_B_`[\Y�PTF#j��O[b� RTF#_!U�V\����Y�PTYeV0X

H M)g!I ��� M � % �42Dw0F�XDF)��V0_�w\_`Vv��YeXDw�RTADF [\_TEH @43 g.%�� M � % � 2?w0F�XDF���V\_BR`WD_`XDYeXiwH G�g ��§,@ I�g:2;U�_`F#[bRTV\_�Vb�RTAiF [b_`E

H LQ^�g!I�3 @N2iw\F�XiF�R`V�U�_`F#[bRTF)[HXiF�� [b_`E

H �7§ � @���g:2i�B[bYeRB��V\_![fPShi_TV0WQR�w\F�XiF\�ORTV�PSR`[\_SR![\_TE U�_TF.[vR`YeV0X

H LQ@ I�^42QR`V�jQF#PSRT_`VvNfRTAiF [b_`E �D[b� RTF#_��i[b_`_TY�F�_BYZPBF�XiU�V\WDX2R`F�_`F#j

H %�ID% �42?PSR`[bRTF)Vb� �0WiYeF.PTU�F�X2R U�F#�e�ZP

@BADF.@BA��������?A� 6> � �G��<���WDXiU�R`YeV0XkY�P�jQF��iXiF#j¦����YeRTA)RTAiF�ADF���hkVb�2RTAi_TF#F�[bWQ�QY��eYZ[b_`N���WDX?U�RTY�V\X?P�6>#�O:?A�<¢�@Q<?A=>�:���<f[bXij CQ:?A���jQF��iXiF#j �?F#�eVv�k�Q�ON 2

XWXZY [C\^]K_<`

Page 19: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

n�) ����� ��" 0 0<�� � �

FBFQ]SG RSKQJOJRE��BKSW�P&F�]HFHN T LHWBNQK�P�G�EHL RHKOJOJ�[HRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$RHKQJOJ�[2k]Sd T G�/��QZ�LQP�LHI^ZTI&I����������� !��"�#�[ NOK�LHIBNHc�k]Sd T G�/��QZ�LQP�LQK2IRI �� ��#�� !=[a\BPB]SLOK�NUTVRHKOJOJ�[?kKQJOZHK ]Sd T*G�/��QZSLOP�LQK2IRI� �!����#�S !=[MRSNQKOPHLBFHNeTVRHKOJOJ�[?kKQJOZHK ZSLQKSbeTVRHKQJOJB[?kG�/��Q]�E^P M K�/��QR�F�JOFHN I R�FOJ�FHN�EOFHdeT*G�/��QZSLOP�LQK�[?kGONOPH\�EQ]�E�P M KeT G�/��O]�E^P M K�[?k

K

���� +�/2� � ��-��j/���0-@BAiF���WiXiU�R`YeV0X CQ:?A���jQF��?XDF#PBR`ADFk�;F�Ai[��OY�V\_BVb�,PcR][bXiji[b_]j�U�F#�e�ZPF2

H � ��R`ADF U�F#�e��PcR][vRTF)YZP ��D#> �¢�2RTAiF�X RTADF U�F����¦_TF�RTWD_`XiP��2WDY�F#P`U�F#X0R.�

H @BADF ��D#> ��PSR`[bRTF)hD_`V\hi[\w0[bRTF#P��i[0U�D�[b��V\XDw9R`ADF [b_`E%WDX2RTY��¦RTAiFk�eVOV\h �;VOjDN�YZP�_TF.[\U]ADF.j¦�

H @BADF U�F#�e��U]Ai[bXDw0F#P�YeR`P�PSR`[vR`F)RTV ��D#> �'��AiF�Xd[9�i[b_`_TY�F�_BYZPBF�XiU�V\WDX2R`F�_`F#j¦�

H § hD_`F�� ��[\Y�R`F�_BY�P��?_TF.j���AiF�X ['PShD_`V\WDRB_`F#[0U]ADF#P�['U�V0_TXiF�_BVb��RTADFk��VOV\h��

H @BADF U�F#�e��PcR][vRTFkU]Ai[\XDw\F.P�RTV � ���#>G;�D'YeX���_`V\X2R�Vb�,[H�?[b_`_TY�F�_.�

H @BADF U�F#�e��PcR][vRTF)�;F#U�V\EfF#P�[9�i[\_T_`YeF#_B��ADF�Xd[fU�V0�e��Y�PTY�V\X�YZP!jQF�RTF.U�RTF.j¦�

H @BADF)U�F����¢PcR][vRTF��;F#U�V0EfF�[�PThD_`V\WQR���ADF�X�RTADF�_`F��\F#_`PTF�hD_`V\hi[\w0[bRTY�V\XfVb� ��D#>��H_`F#[0U]ADF#P�RTADF��eVOV0h�?VQjQN0�

� ��XDV\XDF9Vb��RTADF.PSFf[\U�RTY�V\XiP�Y�P)[\hDhD��Y�U#[b�D��F\�¢R`ADF�XqRTADFfPSR`[vR`FHV\��RTAiF9hi_TF#�2Y�V\W?P�U�F����YZP�RT_][bXiPTEfY�RTRTF.jR`V9RTADF U�WD_T_`F�X2R!U�F#�e���

@BADF)��WiXiU�R`YeV0X CQ:?A���Y�P�R`ADF)��V\����Vv��YeXDw>2

ZSLQP�L�]�R�FBFQ]SGYZSLQKSb T*LHWBNQKOPHG�EHL RHKQJOJB[HRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$RHKQJOJ�[2k]�cQL dONBF"E I#) !�S�% T G�/��QZ�LQP�LHI^ZQ[?k]�cQL LBFTI #�SjT G�/��QZSLQP�LSI^ZB[?k]�cQL LHIBNHc I�#!��!�" T dONBF"E?[?k]�cQL ]�c�FOLSIBNHc I�� "���#!��!�"�T dONBF�E6[?k��� ZSLBF�b RSKQJOJ G�]�ZHPSbOb�K�P�N�Z]Sd T G�/��QZ�LQP�LQK2IRI��!#�S�$=[ H

G�/��QZSLOP�LHI^ZTI�� ����� �� ���"�# kG�/��QZSLOP�LQK2I "�S�"���kNQK�LHIBNSc�k

K

mon X�mqp

Page 20: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� n��

��� NQK&FQK�NBZHK bBNBF M NQKBZOZO]HF�c FHd ZSLQF�b PQJOF�c M LHW�K P�N�E]Sd T #�� �!#GE��!#���#!� T*LBFji �!#GS�$=[QORO�������eT LSIBNHc2[O[ H

G�/��QZSLOP�LQK2I���#�S�$�kNQK�LHIBNSc�k

K��� ZSLBF�b ]�d ��P�NONB]HK�N dBFHNH\BP�NOG]Sd T #�� �!#GE��!#���#!� T*LBFji ���! ! ��� !^[9O&OMG�/���c�KB] M W���FHNHW�F�FHG�+�LBF�-�/��QZSLOP�LHI^Z � IMG�/��QZ�LQP�LHI^ZQ[ H

G�/��QZSLOP�LQK2I���#�S�$�kNQK�LHIBNSc�k

K���ac�KH\ \BPQ]SLQK�N R�NQKOP�LQKHG \�W�KSc Z"bBNBF�IBL NOKOPBR�W�KQZMP R�FHNSc�K�N]Sd T #�� �!#GE��!#���#!� T*dONBF"E4i ��$ !�S���#^[�ORO�������� T LBF�[�[ H

d�]SNQK T$RHKQJOJji*LBFji dONQF"E4i $ !���E �� ��#�� !=[?kNQK�LHIBNSc�k

K��� ��P�NON�]SK�NMbBNBFHGSI^RHKBZ Z�bQNBF�IBL]Sd T #�� �!#GE��!#���#!� T*dONBF"E4i��� ! ! � � !=[O[ H

G�/��QZSLOP�LQK2I�� $ !�S���#lkNQK�LHIBNSc�k

K��� R�W�PSc M K LBF ��PHNON�]HK�N Z�LQP�LQK P�cBG LHIBNSc]Sd T #�� �!#GE��!#���#!� T*LHIBNHc�i GS�( ( �����=[O[ H

G�/��QZSLOP�LHI^ZTIMLSIBNHc�kG�/��QZSLOP�LQK2I ��� ! ! ��� !�kNQK�LHIBNSc�k

K��� Z�bBNBF�IQLMbBNBFHGHI�RHK�G \�W�K�cYNQK&FQKHN�ZHK bBNQF M NQKBZ�ZO]�F�c KScBGBZ]Sd T #�� �!#GE��!#���#!� T*LBFji �!#GS�$=[QORO ��������eT*LHIBNHc2[�[ H

G�/��QZSLOP�LQK2I�� $ !�S���#lkNQK�LHIBNSc�k

K��� ZSLQPScBGOP�NOG ZSLQPHLQK � LONQP�c^Z�E2]SL]Sd T G�/���cBKB] M W���FHNHW�FOFSG�+�dONBF�E�-^[ G�/��QZSLQPHLQK2IMG�/���c�KB] M W���FHNHW�F�FHG�+�dONQF"E�-�/��OZSLQP�LQKjk

K@BAiF�E'[0U�_`V0P D�A ��D#����D ��D�Af[bXij���A ����[\_TFkjQF��iXDF#j �ON 2� GQK�d�]"c�K�#�� �!#GE��!#���#!��T G�]SNliNF^[ T G�/���c�KB] M W���FHNHW�F�FHG�+�G�]�N - OROMG�/���c�KQ] M W���FSNHW�FOFHG,+�G�]SN -�/��QZSLQPHLQK IRITF�[� GQK�d�]"c�K������� T G�]SN^[ T��*G�/���cBKB] M W���FHNHW�FOFSG�+�G�]SN -�DG�/���c�KQ] M W���FSNHW�FOFHG,+�G�]SN -�/��QZSLQPHLHI^Z IRI�������� �! !��"�#^[

���*� � 1 �$/2��� �&-��j/��V�0-§ ��[\Y�R`F�_!YZP![�U�F�������ADYZU]Ad��[\Y�R]PB��V\_ ['RTWD_`XQ� w\F�XiF)RTV'�;F#U�V0EfF�['U�_`F#[bRTV\_.��§ hD_TF����B[bYeRTF#_!U�F#�e��w\_`Vv�!PV0XDFdPcR`F�h [bX?j R`ADF�X �;F#U�V\EfF#P'[ �B[bYeRTF#_#��§�U�RTWi[\�e��N\�B[ hD_`F�� ��[\Y�R`F�_'YZPfhD_TVQjQW?U�F#j ��ADF#X [ PShD_`V\WDR_`F#[0U]ADF#P)[dU�V\_`XDF�_.� � X RTADYZP U#[\PTF\��[ XiF���[b_`E ��Y��e���;F�PSR`[\_SR`F#jq��ADF�X [ XDF#� R`WD_`XQ��w0F�XDF'[\hDh?F.[b_]P��@BAiF���WiXiU�R`YeV0X �6>1�O:?A�<'YZP�jQF��iXDF#j �ON 2

XWXZY [C\^]K_<`

Page 21: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

n.o ����� ��" 0 0<�� � �

ZSLQP�L�]�R�FBFQ]SG \BPB]SLQKHNeT LHWBNQK�P�G�EHL RHKOJOJ�[HRHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$RHKQJOJ�[2k]�cQL dONBF"E I#) !�S�% T G�/��HL��Hb�K�[?k]�cQL LBFTI #�SjT G�/��HL��Hb�K�[?k��� M NBFS\ F�c�KYZSLQK�b�i PScBGMLHW�KSc \QPB]SL dBFSN PMLHIBNSc M KSc�K LBF ��KBRHF"E^K PYR�NQKOP�LBFSN]Sd T G�/��QZ�LQP�LQK2IRI $ !���E ��� ��#�� !^[ H

G�/��QZSLOP�LQK2I �������! lkd�]SNQK T$RHKQJOJji*LBFji dONQF"E4i������#�� !=[2kNQK�LHIBNSc�k

K]Sd T G�/��QZ�LQP�LQK2IRI �� ��#�� !2ORO�#����!#�E��!#���#�� T dONBF�E4i #!��!�"�E �!��"��=[O[ H

G�/��QZSLOP�LQK2I �������! lkd�]SNQK T$RHKQJOJji*LBFji dONQF"E4i �!����#�S�!^[?k

KK

���� � �?��14/2� � �&-��j/��V�0-§ U�_`F#[bRTV0_ YZP�[ U�F#�e�1��ADYZU]A7F��ORTF�X?jDP�RTADF'[b_`E Vb��[���V2V0h7��ADF#X7_`F#[0U]ADF#jd�ONd[�w\F�XiF\� � X R`ADYZPkU�[\PTF\�R`ADF)U�_`F#[vR`V\_�U]Ai[bXDw0F#P�YeX2R`VH[H�i[\PTY�U�U�F#�e�¦[bX?j'�i_`F#P�[�XiF�� U�_TF.[vRTV0_�Y�X�R`ADF�jDYe_`F#U�RTY�V\X�PTh;F#U�Ye�iF.j��ONfRTADFw0F�XDF0�)JdV\_`F�Vv�\F#_#�;[�U�_TF.[vRTV0_�jQF�RTF.U�R`P)[�U�V\����Y�PTYeV0X ��ADF#X Y�R]P�F�XiU�V\WDX2RTF#_`P�[�U�F����1��ADY�U]A7Y�P�XDV\R�jQF.[\j�0Y�X RTADYZP�U�[0PSF�R`ADF U�_`F#[bRTV\_�U]Ai[\XDw\F�YeR`P!PSR`[bRTF�RTV���>�<�< ���A¢�2@BAiF���WiXiU�R`YeV0X @Q<?A=>�:���<fYZP�2ZSLQP�L�]�R�FBFQ]SGYRSNQKOP�LQFHNeT LHWBNOKOP�G�EHL RSKQJOJ�[H

RHKOJOJREHGQPHLQPGEHLYG4I JOFQRHPQJ&EHGQP�LQPUT$RHKQJOJ�[2k]�cQL dONBF"E I#) !�S�% T G�/��HL��Hb�K�[?k]�cQL LBFTI #�SjT G�/��HL��Hb�K�[?k]�cQL LHIBNHc I�#!��!�" T dONBF"E?[?k]�cQL ]�c�FOLSIBNHc I�� "���#!��!�"�T dONBF�E6[?k��� R�FOJOJQ]�ZO]�F�c GQKHLQKBRSLQKHG���� P R�NQKOP�LBFSN]Sd T� ���� � T LBF�[O[ H

G�/��QZSLOP�LQK2I� RS�( ( � ����kNQK�LHIBNSc�k

K��� M KSc�KBZ]Sd T #�� �!#GE��!#���#!� T*dONBF"E4i.��!�S ��E��!��"��=[�[ H

G�/��QZSLOP�LQK2I �������! lkd�]SNQK T$RHKQJOJji*LBFji dONQF"E4i �!����#�S�!^[?k

KMKOJQZHKY]Sd T #�� �!#GE��!#���#!� T dONBF"E i #!��!�"�E �!��"��^[O[ HG�/��QZSLOP�LQK2I �������! lkd�]SNQK T$RHKQJOJji*LHIBNHc�i$]�c�FOLHIQNHc�i �!����#�S�!^[?k

KK

�Y�w\WD_`F )HYZP�V0�QR`[\YeXDF.j���YeRTAd^�LDgB����VOV\h + PThi[0U�FkPSY@-�F s\t\tv�is\t\tD�;n#t0t\t�YeXiPSR`[\X2R`P�,��

mon X�mqp

Page 22: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

����������� ���������������������������� ��!�!#"$!%����&�"$�'���(���'� n�(

�Y�w\WD_`F );2�G�§ ��_`V\E%R`ADF ^�LQgB� ��VOV0h

����� +��������� ��/ � ��j/��V� -I�XiF Y�X0R`_TVQjQW?U�F#P�RTADF�h;V0P`PSY��DY��eYeRcN9��V\_�[��eVOV0h'RTV9PSF#��� � jQF#PSRT_`VvN9��ADF�X'R`ADF�XDF�F.jf��V\_B[ XDF#��U�F#�e�¢U�[\XDXDVbR�;F P`[vRTYZPS�iF#j��?F.U�[\WiPSF�R`ADF U�F#�e��[\�e_`F#[0jQN'F��QYZPcR]P���§ XDF#��PSR`[bRTF�A���� ��AfYZP!jQF��?XDF#jG2�[fU�F�����U]Ai[bXiw\F#P�YeR`PPSR`[bRTF�RTV A�������A9��AiF�X Y�R U#[bXDXiVbR![bhDhi�eN�[H�i_`Y�XDwfV\_]jQF�_.�

@BADF)��WiXiU�R`YeV0X @�A��������6A� 6> � ����< YZP�F��OR`F�XijQF.j�R`V�jQF#[\�¦��Y�R`A RTADF ��g §�L�� PSR`[bRTF�2

FBFQ]SG RSKQJOJRE��BKSW�P&F�]HFHN T LHWBNQK�P�G�EHL RHKOJOJ�[H�������� d�]SN�]�c M FHd PScYPBRSL�]VFOKYRHKQJOJ � GQKBZSLONSI^RSL�]�F�c FHd LHW�K RHKQJOJ]Sd T G�/��HdB]SNQK�G2OROMG�/��HL��Sb�K �NI�� ����� �� ���"�#^[ H

G�/��QZSLOP�LQK2I � !������kGONQPH\�EORHKQJOJ TVRSKQJOJjiVRHFOJOFHN�E�FHd T � !�����^[O[?kNQK�LHIBNSc�k

K]Sd T�*G�/��Sd�]SNQK�G2O&OUT #�� ��#�E��!#���#�� T LBFji � !�����=[ ��#�� �!#GE��!#���#!� T dONBF"E i � !�����=[ �

#�� �!#GE��!#���#!� T*LHIBNHc�i � !�����^[ � #�� ��#�E��!#���#�� TV]�c�FOLSIBNHc�i � !�����=[�[O[ H���MK�NQPQZHK bBNBF�b�P M P�LOKBZMK&FQK�N���\�W�K�NOK

XWXZY [C\^]K_<`

Page 23: Reactive Programming of Cellular Automata · 2017. 1. 28. · Reactive Programming of Cellular Automata Frédéric Boussinot N° 5183 Mai 2004. Unité de recherche INRIA Sophia Antipolis

s\t ����� ��" 0 0<�� � �

G�/��QZSLOP�LQK2I � !������kGONQPH\�EORHKQJOJ TVRSKQJOJjiVRHFOJOFHN�E�FHd T � !�����^[O[?kNQK�LHIBNSc�k

K]Sd T G�/��QZ�LQP�LQK2IRI � !�����^[ H

G�/��HL��Sb�K2I���� ��� �� !��"�# kG�/��QZSLOP�LQK2I "�S�"���kGONQPH\�EORHKQJOJ TVRSKQJOJjiVRHFOJOFHN�E�FHd T "�S�"��=[�[?kNQK�LHIBNSc�k

K�����[email protected]`_TWiU�RTY�V\XHVb�i��VOV\hiP�YeX9U�[0PSF�Vb�?U�V\���eYZPSY�V\X�Y�P1PTADVv��X V\X��iw\Wi_TF � +�RTADF!G�§ Y�PU�[\�e��F#jH^�L��)LQgB�

��VOV\h 0DPThi[\U�FkPSY@-�F)YZP!sbt\tb�isbt\t#0?n.t\t0t�Y�XiPSR`[bX2R]P�[b_`F�U�V\XiPTY�jDF�_`F#jC,��

�Y�w\WD_`F � 2�^�L��)LQgB� ��VOV0h

mon X�mqp