system presentation – functional reactive robotics: an ... · system presentation – functional...

12
System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages Izzet Pembeci Johns Hopkins University Baltimore, MD [email protected] Henrik Nilsson Yale University New Haven, CT [email protected] Gregory Hager Johns Hopkins University Baltimore, MD [email protected] ABSTRACT Categories and Subject Descriptors General Terms Keywords Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. PPDP’02, October 6-8, 2002, Pittsburgh, Pennsylvania, USA. Copyright 2002 ACM 1-58113-528-9/02/0010 ... 5.00. 1. INTRODUCTION

Upload: others

Post on 24-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

System Presentation – Functional Reactive Robotics: AnExercise in Principled Integration of Domain-Specific

Langua ges

Izzet PembeciJohns Hopkins University

Baltimore, MD

[email protected]

Henrik NilssonYale UniversityNew Haven, CT

[email protected]

Gregory HagerJohns Hopkins University

Baltimore, MD

[email protected]

ABSTRACT������������ ����������� ���������������� !�"�������#���"$%�������� � �&!������$% '#(��"���)�* �+,(��"�-$��� .������" /�"��(���� ) �" ! � 0���'�����"�1�2� 03,&!��4% ��� 5 6�7 ) �)�* �8(9������� :&!�"�2��� !�#���!(�;<��#(��� 0����� * ��;! ��"��36=6>0�������� .=?� !&@�������A!�(5�� * �8 0�� *�* ��B� � �(� 0C0D?��� ) �� ! 5 6���E��� F�"���� � G&! 5>H * � ) �&������8 �B#��;� �������E I&!�"�2��� ��J� ) 5(���A!(����9� * ��� !&2�$!�����K�(5���8�" !�KC%��36���� 5�L�� 0�� �B"�K�������" :(9� 2��;0�!�M$% N����B� !��A�(0� 0�M(�;. *�* 5 !B� 9=!�8 ) �������(�� * ��O�E;! � ��;� � )!)�* ��(0������� '(0 *�* �E���"�E&!30 .�����(0=P�&Q ) �K�$ * R��30���� ��S��������(�������� -�� 2�E;!��(�;2���8B"��&7$%�"�! !&Q����� ��#$% ����T � � 2��;! ����!$���30���� ����U��� ) ����������2� !(� 7��� ) �&!���� 5 6�KCWVX :$% * �8 5>H 7��;Q��K=T$03@��&! � 0������30��� �B7�����8�K�$ * 3Y�$!�����K�(5�� !�"���8�" !��(5�������" <���7��;� N&��84% 5�� � 0�-&�����Z��� !��� 2[0�! ��������� Q=!���M��� ) ��������$ * -���N(��� 9��� Z$!���P�&� ��O���K��� ���T����\������T�������]���� M�� 0�� �B��K����8�" 7� !&U����� 5(0����T �+0�8������ �BG&����2��� !�� ) 5(���A!(M���K��� 5�F����\0�^�� I��;! 5�� #�� ������KC�_E;!���� )�) ���P�(�;'����� )�* �8A� ���� 0�� �B"�K������� ,� �& * 9�&!�#���U��� ) ����>H �&Z�� * �]�$!� * �8�]36C�`� Z��;���� ) ) ��K=�T O��;!���Y;!���baP�� !(������" . *Wc 0�(�����>H Id%����B��K������� !BZ��a c dW�?(0� �� 5��>H ���^���!(�;7��� !����30�� !B����K��� ��T����\U����� ) ����B��K������� !B->0�8�����" !�B"�!��&! 5&.=!�� �������������� ������"�!�O���"$%�����U� !&2� *�* �������K��� ���;� �$% � ! �A������;����O )!) ���P�(�;I � 0�K�� * �KC"_E;! �\H �3e�$������K�(������" !�^�� Ua c df=g�� 0�(�����>H (5��� ) �" ! � 0���R&! ���(�����$��8 �BU(��� 0���� 0�!�"�!������&!����(��� 5�� G$% 5;.h>0�8�"���8 i&� �( * ��K�����>H �����3 * 0=j��� A!������( * ����R � 0�������� ��K=? *8* ���E�� !BU��;� �� ���� * ����� �BO��30���� ����.���M 5+6;���$!���RW&�36 Q�����(0=0�&. ) �K�$ * E��������(����!�� F�E;!��(�;�T E�� �B%���&:��k �� ) �(5�� *�* 3-��� ) �����K� 6�k�� ���;� ���� 0F�"�k������� ������"�!����"$%�����KC

Categoriesand SubjectDescriptorsl C8m"C�mRn op�qPrPp�s�tutuvxwQrUyEz0{K|QwQvx}f~Qz0������� )�)!* ��(0�����>H #��aP�� !(������" . * �d%����B"�K������8 �B

GeneralTerms� � �B��.�B� ��K= l �����B�

Keywordsa!�! !(5���8�" . * d����"B��K������� !BP= c �"$%������(��K=��#�8�����" .= l �"�2��� ��5� ) �(���A!(� � �B��.�B� ��

Permissionto make digital or hardcopiesof all or part of this work forpersonalor classroomuseis grantedwithout fee provided that copiesarenot madeor distributedfor profit or commercialadvantageandthatcopiesbearthis noticeandthefull citationon thefirst page.To copy otherwise,torepublish,to postonserversor to redistributeto lists,requiresprior specificpermissionand/ora fee.PPDP’02, October6-8,2002,Pittsburgh,Pennsylvania,USA.Copyright 2002ACM 1-58113-528-9/02/0010...� 5.00.

1. INTRODUCTIONl �>� * � ) �� �B ) �K�(�����(0 * ���������O��� <���"�,��!���" !�������!�2�"�Z�� ������������� ������"�!�Q���"$%�����Q����Q(��"� )!* �+�K���\?C5`]�j�� 0>H� * >� ��?��;� T�� 0�� �B��K�������� ����6(��" !(� ) ���Q� ) � ! ��8 �B��-� * ��� )�* W&!����(�� )�* �� � ��K=��8 �( * �!&��8 �B�(��� ������� * ��;� �����36=�;030$!����&���30���� ����K=5>0�������� .=0������8A�(��] * �� 0�� *�* ��B" � !(� 9=�� !&;0�!�2� !��(��"� ) ���� ��N�� 0�� ��K�(������� .C^V�����;��8 Y 0�(�;/���G��;! 5�� b��� 9��K=* � �B��.�B� ��M���M��� )!) �"��� * ��$!�K����8 5�O��;.��#(0 ) ������ G&����2��� !��� ) �(���A!(���� !(������" . * ����36=6&! �����B� ) ����� ��� ��K=Q� �&,�$!�����K�(������� !�U��� G�!�� �&Z����������!(5���!�� U��;! ���� * �!������ /� !&Y���&u�� u��;! U�� ����� U���G�(����. * (��9&� 0CaP�"�# �+j�� )!* 0=0��;! * � !B"�.�B� e�K���-� * �8 �\N���R>H ���3 ) � ) � * �������" !B(��" 6����� * 5 !B��� � � ����K=K�� ) ����.���� !(5 E�8�# *8* ���E�W�F����\0�� !B(5�� 0����� * ��30����� ���(5�9&! ����$% M&! �����>H �&'���"�� ��� * ����-��������2����8(9 *�* 3e�����"����;! (��" 6����� * 5[6�Q������� ��&! ���(5���8$��� !B���;� �(��" 6����� *�* 5�KCf�M �����;� ��O �+j����)!* E���W�M�M�������� Q�n���=!m"���]=PT��� ) ;��8������(0��� �&:DE�� * �8$��K���3-(��� 0�K��� ���� !B�(��"� ) �� � � 0���T�����^$��!� * &!�� !B'�&!>!� !(5 �&U>0�8�����" : * B��"���8��;����K=H���"� �+j�� )!* I�����G��&! � 0����A!(9������� /� !&u���K�(�\0�� !B��"����$f�� �(����G�� i>0�8&� �������� 0����KC�M�^� e )�)!* ��(0������� -���Q&! �>� * � ) �&Q=���;! ��� T������������ ^(��"� ) �� � � 0����G�!���R$% -�� 0�� �B��K��� �&2�� 6���7O�� 0�� * �����E;!� * 9C.�F�8>� � Z��;! �&!��>H 5���������3<���M��;! �&����2��8 ��K=k��;����'��� * ����'��;.� ������K��8B";0���������O���&Q�T��;! �� )�* �K3� �&U&!�"�2��� !��� ) �(5�8A�(���� )!) �"���k���9� * �^������ � :��� �&2���B"�.�$ * 3����B�;0����� *�* 3i���P� ) �3 * �8��� * u����� � 0������ <���2(��� �(� ��� ��� !�"�������� �&������� * 3b�� * 5>P� 6�N������;� 7&����2��� ��� /[6�� ��������� QCF��(5�������" ��� ��

�� �B"�K������� ) ��K�&!��B������I���X���� 0��' 9�(�;,���!$���30���� �����7N$ * �(�\$%��+i��;.��U�� * 3i(��"���G�! !��(0��� ��U��;!���"�!B";�'����� )�* ) ���9(� 5&!�!�K *�� 0�� ������(� 0C._E;! e��>H 5�K *�* ��36���� 5�����U��;! � <(��"� ) ���� 5&,�����"�����!(�;$ * �(�\G$%��+6 5�T��;������!B";����!���K�$ * ��xB * �� R(5�9&! ��P=K �+ ) �� 5���� �&U�� ������� � * 0�������(��������� @&! � ������� .�������� * � �B��.�B� * �8\� uDE=j�"�����(���� ) ����� !B * � !B"�.�B� * ��\H ud! �� * ���2d%30��;!�" .Cj_E;� ) ����$ * ������E����;@��;���� )�) ���P�(�;���� ����T����� * &.CPa.�������K=P(���� ) �"�������8�" b��O���!(�;� * �����$�������K�(5���8�" * �>� * B� 5 ! ��K *8* 3i(0� ! ������K�\H X�&!>!� 0�K�B� '���R��;! I�� * ������>H * 37;!��B�; * 5>H * �"�-�$!�����K�(������� /h>!�� * �$ * X�k�¡ x¢H�¡£X��;� '$ * �(�\$%��+0 ��KC6_E;0�!�K=9���"�#(5��� ) �"���8�����" . *?) �!� ) �"�� ��K=6��;� >P * �! O�"�.��;!���� �$������K�(������" !����� * �"���KCT�� �(��" !&.=P��;� ��� ���� * ���� �Be��30���� ��¤��������(����!�� �� � �&!�F���G$% M���9�G����B���&.�H��;� ��� M���^�" * 3U���-�G�!(�;I�� � M(0� N&��G�E����;$ * �(�\'$%��+6 5�E(������G�! ���(0����� !BU>0�] * ���E� * 5>H * �8 0�� ����h�(� 5�KC¥F�!�� )�) ���%�(�;<�������:�� !���� 0�& * �9��\i�����U(��"�����" � ��������� �������$������K�(������" b�(5����������;! -�8 0>H� * >H �&:&!���Z��� !�KCk¦j3Z �+ ) �� ������� !Be�� ���� ����h�(� ���� :��;! ��� G;!��B";! ���� * �>H * �� 5�����K=!��30���� ��§�� 0�� �B��K������� :(0� $% IB��� 0�� * 3X����� )!* ��A! 5&.Cj_E;��8�G���� �� ) 5(��] *�* 3u�����! U������;! U ��������� ����� G&! 5( * ��K�����>H 9=!���8 �(� G��;.��RB� 5 ! ��K *8* 3 ) �������"�� ��M(5��� ) �"���8�����" !� * ����36CgaP������;! ������"�� 0=g$63 ) ���K>0��&!�� �BUT�� 0�� * ���� * �� !\�$% ��]�F � 5 ���;! $ * �(�\I$%��+0 ���� �&e��;� M������ ��E�F�"� * &.=H�F (0� N�"���� � N �+ ) ���� O�G�!(�;���"�� ����T��;! ����O�� � ! ��O���! �(������� . * �8�]36C!`� 2 �4% �(5�K=!��;! �$ * �(�\Z$%�K+0 ����� -�� )!* �(� �&X$03< x¨g¨�©Wª�¨H«g¬g­��;.�� ) ����>0��&! G���"�'����"�� �®� �+0�8$ * 0=&!30 Q�����(0=f� �&i�&Q ) �K�$ * ��30���� �����������(����!�� 0C

Page 2: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

`] ,��;� <��� 0'�������$%�"����(��K=W�� 0�(�����>0�8�]36=Q(��� 0���� 0�!�����U$% �;.h>0�����K=&�����(��� ��� E$% �;Q�>0�����K=6� �&����E����(�;��� !BI����� �BO$% �;.h>0�������#��� E 5+?����)�* ��.����&! �( * ��K�����>H ^ ��������� ��.�E;!��(�;- �����;! ��E��� ^(��"�����" ����R�2� 03�"����;� k�8 0>H� * >H �&&!�"�2��� ��K=5���?�� �� ������?���6�E;!��(�;&!�"�2��� !��� ) �(5�8A�((5�� !��������(���� .����!�K *8* 32(0� X$% � 5+ ) �� ����� �&QCW¯!°6£�±g x�¡¨H£�²H©T³W¬�²H±g x�¡´g¬µW¶ ¨g· ¶ ²H¸�¸-�¡£!·:��a c dT�On��"m��W�8�UG���K��� ��T����\2���"� �+ ) �� ������� !BN�� ���(�����>H R��36���� 5���F�E;��8(�;I(0 ) ���!�� ��T �+j�(�� * 3-��;! ��� R !�"���8�" !�KC"¹M�� * �� ���T����\7;.�����;��K�E i;����La c d@(9� i$% � � �A!(��] *8* 3:$% U�� !���K� 0���]��� 5&���,�&�&!�� ����������� ��"�#��;� e\H 53Y��� 0����� � 0������ � �&º�$%��>H e�� <�������* ����8�" .=�����(�;i��R����$%������(�� ) ���"B��K������� !B7�����;! (5�� 0����� * ����30���� ��� !&��K���\ * 5>H * ��n�m"»�=?m"¼��F� �&�>0�8�����" <n�m�½��]C`] 7��;���� ) ) ��K=P�F ���;��K��;�������;! ��� ���&� 0��(0� X$% -��(0 * �&u���(5�� 0��� MQ��� *�* 3M���! �(������� . * =5>6�������� ���B��!��&� �& .h>0��B%������" G��30���� ��Y� ) � 5�K����� !BI�� �O�� 0 * ����$�� * G����$%�"�M �[0��� )�) �&��E����;2���� ��� ��I>0�����8�" .C¥F � ) �K�(5���8(9 *M* �>� * =W�F 2( * ��8�¾��;.��Ia c dY(0� b�� !(5��� ) ���K��� * ���B� i������� 0�������� �+0�� ��� Q * ���! �(������� . * �8�]36=F� !&<(����G$!�� � '���-�8 � 7 5¿�(��� � 0�U� !&2�� * �]�$ * ��Z� ! � ��KC.¥F �O(��� �(� ) ���Q *.* �>H * =!�T ����§���'&! ����" !�����K��� ���;! G 0��� ����W��30���� ��§�� 0�� �B��K������� ,� !&2��;� ®� �+0��$!� * �8�]3<���M��;� ��� ���� * ���� �Bu��30���� ��2CQ_E;! * ����� ��U�� ���� * ���I�����"���;� #�h�(��T��;.��F��;! ��� 0�(�����>H R(���� ) �" ! � 0���T&! ���(�����$��8 �B���;! R��36���� 5�$% 5;.h>0�8�"�N��� UÀ ¶ ­� M±g©Á²H­�­-¬g£! x�¡ x�¡¬g­��� u��;! �a c di���K��� ��F�"��\?=T * �* ���E�� !B:���"�2�>H ���3:®! �+0��$ * X� !&/�&. ) �K�$ * N��30���� ����������!(������� 0Ca c d:�����!���Q *�* 3N��� )�* ��� � 0�� �&<��-� � ��G$% �&�&!�� !B-�8 �����&! N#;!�"���* � !B��Q�B" 0C!`� ���;���� ) ) ��R��;! ;������ * � !B"�.�B" ����RÂU���\� *�* =6�E;!��(�;���R��;! O��������(��������� �(�;!�"��(� ����&.��� 0CV7 N����$!���K� 6���]��� e��;! 5�� N( * ��8���U$637&! ���(5���8$��� !B,¯ ¶ ¨HªX��aP�! �(�������" . *Wc ��$%�"����(��K��=P� U�� ����K� 0���]������� I������;� Ra c dN���K��� ��T����\U��������"$%��� ) ����B"�K������� �B%=0� �&G$03O&� ���(�����$!�� �B�Q���K�(�\0�� !B���$Q��� �&G .h>0���BP������� @��30���� ��Ã�E���8���� 5 @�� iaP���"$i�!���� !BZ��;� I�M�M�������� Q� * ��$��K���3n��"=Fm����]C�aP���"$u� *�* �������K��� ���;��K�Ä���"�� : )�)!* ��(0������� i&����2��� !��(0� $% �;.� �& * �&:�E����;!�� X��;� �a c du���K��� ��T����\:$03@�&!&��� !Be&����2��� !�� ) 5(���A!(�$!�����K�(������� !�KC5V7 T��;����X��;.��?aP���"$��8�j®! �+0��$ * W � !�"�!B";G�������$!������ �T 0�!�G$% ��Q�"�P �+0�K� 0�Q���"$%��� ) ���"B��K������� !B ) ��K�&!��B����K= *�* ���E�� !B/��;! ) ����B"�K����� 5�X��� ) �8(�\/��;! <����B�;0�� )!) ���%�(�;��������;� ��K���\/��U;.� !&.=�� !&@ �>H � @���X����+�� �&��Z���(�; ) ��K�&��8B"�����;Q� �\6�2���b��;� i(��������� ��! �&! �� * 30�� !B�a c dL���K��� 5�F����\jCM_E;� ���K�(�\0�� !BX �+j�� )�* Z� *�* �!�����K��� ��N�G� * ������&!�"�2��� ,��30���� ��Å�� 0�� �B"�K��

�����" e�� N��;� #(5�� 0�� �+0�^���j�F�"��\6�� �B�(��9&� M���"�E�����^>0�8�����" !�� �[0�!� )!) 5&.=����$!� * I����$%�"�KCj_E;! U�#�M�������� .� * ��$!�K���3X���G�8� ) ������ �&Y� !& * ������ 5&���2��;� Na c d * �>H * =j�� ���� * ���8 �B7�� �¯RÆ.�¡­��¡¨H£!=FU®� �+0��$ * N���K�(�\0�� !B���9� * $%�K+jC!`] ,�&!&��8�����" .=!�F -��;!���Ç;��K�������&!���� � 0�K���3e;6���2� ��(5��� ) �!�� ��'�� 6�� 5�����(5 :(9� b$% Z�� 0�� �B��K��� �&b�� 6���X��;! Z�K��� 7�� 0�(������>H F���K��� ��F�"��\?=���;0�!� ) ����>0��&!�� !B#���"�W�� 5�����5��!���" !�������!�K=�>0�8�����" !�B"�!��&! 5&.=9;6���2� ����8 �����;! �� * �9� ) � ) ��K������� .C_E;� I�� ����-�"�E��;!��� ) ) 5�G���G����BP� !��È� 5&º��-��� *�* ���E�KCR�� �(������� b�B"��>H ��Z� i��>H ���>0�� ��É�"�R�"�!�G;.���&!���� N�� 5��� ) � �&i��;! I���������O��� ���(�;����� �(����!�� 9CE�K �(������" Ç��B���>H 5�2� @�� 6�����9&��!(������" @����Ê ¶�¶ ¨H�k�¡Ë�¬�̯.³ µ ���#a c dW��=P��;! ) �������(�� * ��G>� ��������� u�"�^a c di�F :��� ��!���� �B�� '��;!��� ) ) ��K=�� �&IaP����$QC%�K �(������" NÍ-��;! � I��;!���E�E;��K�,aP����$'(0� $% -�!�� �&2�����O>!����������O����3 * ��O�"�T���"$%��� ) ����B"�K������� �B%Ck�K �(5���8�" �Î&� ���(�����$% ��-��;! I���K�(�\0�8 �B���$.��� �&< .h>0��B%������" @��30���� ��ZC^�K �(5���8�" /��=A� . *8* 36=9���!����� ) � �&eB"�8>� ���(��� �( * �!������ ��KC

2. SYSTEM OVERVIEW_E;����U�� �(������� �B"��>H ��:'$����� ��M��>H ���>0�� ����"�M�����U����$%�"�U��36���� 5�� !&2�����O���������O��� Z���(�;����� �(����!�� 9C!a.�8B"�!�� �m��;����E�O��;! G;.���&!���� �"��B%� !��È0������" .C�_E;� I�(����Q * ����$%���E��30���� ���(5�� !�������������?��;! O���"$%��������� * �h=!� ��M(�����>jÏ� �&!�] c ��$%�"����(��#d����� � � ��#��Ðg��;! F�� !��$%�P���&�(��"���) �!�� ��K=f� N+j»�� * ) ��� ) ���� ! ��8 �B � �8 0��+?Ð�� !&iR���� ��� ��U(0��� ��K�C_E;� �d%���� � � ��G�^����^���F�"���E;! � * �&X��&!��4% ��� 5 6���] * ��&����8>� 0�f���"$!� * ���"$%���KC9`��E;Q��G� e�� !��$%�P���&e���8(5���9(��� 0����� *�* ��R���! � !�� !B� ) ��� ) ����� 5�K���3�� ) ��K����� !B'��30���� �����;.��#���M�� �� ) �" !����$ * ������O��;� * ���E� * �>H *� ) ��K������" X���T��;! -����$%���KCPV�;�� * -��;! -����(����9(��� 0����� *8* ���(��"� * &:$%

On-boardcomputer

Stereocamera

Pioneer

Wireless LANConsole

Ñ vxrP~?pKzZÒ!Ó^ÔIÕ%z6p�Õfvxz0Ö×qPØRÙ�|QzZ|?s!p�ÚQÖGs!p�z2�gz6Ù5~QÛQÜ

Application

Frob FVision

AFRP

XVision2Pioneerdrivers

Ñ vxrP~Qp�zZÝPÓ^ÞQq!Ø]Ù�Ö-s�p�zZs!p�{"|?vxÙ�z0{HÙ�~Qp�z0Ü

) ���"B��K����� �&:��� ) ������"���§������ ��� ����M���9�'(��"� )!* �+j�W;���B�;!� * �>H *�K���\0�K=5�T T�" * 3O�!�� W���?�� '.(������Z� !&���&!����>H � ���9&� 0C�`] ��;!���?(0��� 0=��;! R����(����9(��" 0����� *�* ��E(0������� ��E�"�!�T���8� )!* M����>H 5�� � 0�T(5�����2� !&���� � 0�O���N�8�M�������§��;! ��" !��$%�%���& * ) ��� ) (���� ) �!�� 5�O��>H ��I��� ����] ** �� !\jC.�K�K����!�M�� ��������Z������� ,� �& ) �"�������8�" X�� !�������2������� :��$!�K��� ! �&��;!���"�!B";�&! 0�&!���� �(�\H�� ��� !BI��� R�� 5 6�k�� U��;! E�"��;! ��k&��8�� 5(������� .=K���������;! M����(����9(��� 0����� *8* ��#������;! M(���� ) �!�� ��KC_E;! -�� ��J$%�P���&7(���� ) �!�� ��M�8���;0���M�� �� ) �" !����$ * U���"���;! -;!��B�;��* �>H * � ) ��K������" -�"����;� W���"$%���K=9 * �" !BR�E����;->0�������� ) ���9(� 5�����8 �BU� !&(��"���-�� !��(0����8�" u�E����;u��;! ����!������&� ��F�"� * &QCf_E;� ����� ��� ��Z(0��� ��K����(��" ! ! 5(��� �&@���:��;� N(5��� ) �!�� ���>0�]:U�h����UA��� ��E���� e�� 0�� ������(� 0C�K�� 5�� ��N>0�������� : � .�$ * ��O���O���I�� �(���>H ��M&! ) ��;:�� ��������Z������� 7���������;! �>0��&! ��I������ 0��§�E;��8(�;2�� Z���!�� @ *�* ���E���;! �>0�����8�" 7��30���� ��ß���&! 5�� �(�����$f�� �(5���#��;������!B";���;! 5�8�-���J&����� � !�����" . * ��;. ) '��#�T *�* �� )�) 0��K� !(� 9=6 0C B%C ) �� �������K� !B" �&e(5� * ���R(��! 5�KCD?�����-�� !��(0������" @�E����;<��;! U�"�!������&! '�F�"� * &@�K�\H �� )!* �(5 N��>H ���E�8�� * 5��� � �Mà�= ) ������������� !B'��;! G����$%�"����'���K>� Z�$%�"�!�O�E����;�������N� 03�����K�(�;! 5&X(0�$ * ��KCf_E;� U����$%�"�-�����. *�* 32� ) ��K��� ��G�� ������������� ������"�!� * 3��! !&� ��Q��;� F��� ) 5��>6�������� -���Q� �� ) ��K����"�R��Rk(��� ����� * 0C0_E;! O�" !��$%�%���&e(��"� ) ���� ��E�� 5 �&!� * ��>H >0�8&� ������-��;! O(5�� !��� * �E;! 5�� G��;� � ) ��K������#(0� ��� ��������!(��R��;! ���"$%���R���U(0�����3'�����#(� 5����K��� :�K���\0�O����(�;2���K�(�\0�� !BX� 2��$f�� �(5��E;!� * Zh>H����&��8 �BN�"$!���K�( * �����#����>0�8 �BI���'���"�� ) �������(�� * �� * �9(0����8�" .CP`��k � �(� ����K���3Z��;! �� ) � ��K������R(0� N�K�\H &��8�� 5(���(��� 0����� * � �&e�� * ���� ) ��K��� ���;! M����$%���KCa.��B����� ��M��;��K�E�#��;! ����������O��� Z���(�;����� �(����!�� ��"�W��;� ��� !��$%�P���&��30���� ��2C!���R��;! * ���T ���� * �>H * =!��;� ��� ���� -�]�F�'���!$���36���� 5���KC�_E;! d%�8�" ! � 5�F&!����>H 5���M��� �F�� 5�T�"�%�����!���� � ��T�����T(������G�! ���(0����� !B�E����;��;! -����(����9(��" 6����� *�* 5�KC��#�M�������� .��;.� !& * ��M��;! G(0��� 5�KG�� 0�� ������(���� !BÇ� !&É *�* (��"� ) ���K������� Q *�* 3/&� ��2� !&!�� �B�>0�������� ) ���9(� ������� !B� �&Y�2� Q�B� 5����;! :��30���� ��1(5�� !��� * 0C^`� 0�� ������(� ������<��;� ��� 7�]�F����!$���30���� �������� * ������ �&N�8 0���G��;! R�� 0�(5���8>� O�Ma c d * �>H * =�� �&'�]�F�&!�"�2��� ��J� ) 5(���A!(0= * � �B��Q�B� 5�2��� N��;! � i$��!� * �-�" @��� ) �ja!����$<���"�����$%�"� ) ����B"�K������� �B@� !&7a.�M�������� i�����G&! ���(�����$��8 �B�>0�����8�" ) ���"�(� ������� �B, * B���������;����KCE�K�� !(5 U��;! ��� I���T� * � !B"�.�B� ��2��� I$!�!� * �G�� (��������� 2���K��� ��F�"��\2�8�#��� ) ��������$ * ����I(��� 9��� ZO>H 5��3�����B�;0� * 3(��"� )!* �&Z�� 0�� ����h�(� G$% ����T � � ���;� �>6�������� @� !&����"$%���#(��� 0����� * ��30����� ����KC

Page 3: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

3. THE SOFTWARE FRAMEW ORK¯!°6£�±g x�¡¨H£�²H©Q³W¬�²�±g x�¡´g¬ µT¶ ¨g· ¶ ²H¸-¸��¡£�·���a c dT�Q����M&� �( * ��K�����>H ���K��� 5�F����\i�����-&! ���(�����$��8 �B2;630$����8&b��(��� 0���� 0�!������� !&i&��8��(5�� ��� 0���30���� ����KC"`� U��;��8� ) ) ��W�F R�!�� ���;! * ��� ����T��� *8* ����(0 * #��� )!* ��� 5 !��K������� :���Fa c dX���(0 *�* �&,Ê ¶�¶ ¨H�k�¡Ë�¬�Ì:¯.³ µ ���Ma c dT��C�_E;������ �(�������" 'B"��>H ��^��;������W�8 0�����9&��!(������� I�����Ma c dWÐK�� � �n�m�Î��%�����OE��� *�* ���(�(��"�! 0�KC?��� ) �� ��� � 0�K=j��;! I�" * 3u��� )!* ��� � 0�K������� <���R�Ma c d���� 5�-$% �&�&! �&2�� :��;! �Â����\H *8*.) ����B"�K������� �B * � !B"�.�B� 0ÐP �+j�� )!* ���� ���;!��� ) ) 5�E��� W�E�������� � G�8 NQ���9&��8A� �&�ÂU���\H *�* ��30 0�K�+jC��#a c d�� �( * �!&! 5���� ) 5(��] * ��30 6�K�+�(0 *8* �&u² ¶�¶ ¨H�@£!¨H x²� x�¡¨H£G��;Q��^���^ ����O���K� !&Q���& ) �������FÂU���\� *�* C%_E;!���� !�"�K������� X�2�\H 5��Ma c d ) �����B"�K����G�G�!(�;X 0����8 5������(��"� ) �� 5;! � �&b� �&u����&! ���(�����$% �&X$% * �K�GCV7 �;.h>H ������� �&Z !�"�#���:������!�� G&! ��K�� * 5&:\0 ��K� * �&�B� ����kÂ����\H *�*�� G�����. �+j�� )�* 5�KCgà# �>H �����;� * ����K=5������ ^������ * �]����8�]3-�E����;-���9&! ��� ���! �(������� . *?) ����B��K������� !BU ����K����8�" �����B�;0��$% ;! *8) ��� * C9a.�� . *8* 36=��;����F�� �(������" U&! ���(�����$% ��T��;! �$.�����(��F�"�fa!����$:���� 9����!�� 5�F����a.�#�8�����" ��� ��8 0�����9&��!(� �&u��� ! 5 �&! �&N�� ��� �(������� iÎ���C

3.1 AFRP_E�T�<\H �3<(��� �(� ) ���N�� ba c dÉ��� �­��¡·g£�²H©Á­u� �&L­��¡·g£!²H©.á�°0£!±gâ x��¨H£!­�CP���8B" . * ���� !(������" !�K="�E;��8(�;2��� RÀ ¶ ­� k±g©Á²H­�­E¬g£! x�� x�¡¬g­�="� ) ��K��� �" I�� ! R���T������ R�� ) �!�W���8B" . * �K= ) ���9&!�!(5�8 �B��� ! ��"�F���"�� M����� ) �������B" . * �KCQ�M Xa c d���30���� ���(��" !�����������"��� 0�!�G$% ��������� 0�� ���(��" !� � �(��� �&X���8B" . * ���� !(������� ��K=j� ) 5�K����� !BZ�" i��;! U��30���� ��ã�� ) �!�K=%����������G� * �]=j� !& ) ���9&��!(��� �B���;! #��30���� ��É�"�!� ) ���K=����^�� 5� ) �� !�� 9C0_E;� ����B" . * ���! !(5���8�" !�#� ) ��K��� ��� ) ��K *�* * =P�� � ����� !BX(5�������" ¶ ²H x¬�"�E������ I®!���GCf_E;� '��������(����!�� U�"�G� ua c d@��30���� ��Ã�2h3: �>H� * >� ��>H 5�M������ 0C�a!���M 5+?�� )!* 0=6 ! ������8B" . * ���! �(������� !�#(0� 2$% N�&�&! �&�"�M� * &Z�" ! ��R&! * 5�� �&.C�_E;� ��� ��������!(������K * (�;.� !B" ������ -\0 ��K�E i��¸-¨gÌH¬e­��k�¡ x±g¢H¬g­�Cj_E;� IA!������( * ����G���K������-�"�E���8B" . * ���� !(������" !�G�8 (5���G$!�� .����8�" Z�E����; ) ���F ������ * ���E����(�;!�� !BU(5�� !��������(������2�\� a c d�� 0�!���. *�* 37®! �+0��$ * X��� * � !B��Q�B" N������&� ���(�����$!�� !B2;030$!����&u��30����� 5���KC�¤­��¡·g£!²H©W�8�K=�(��� �(� ) ���. *�* 36=W-���� !(������� X���E������ 0=%���K=� �[0�!��>P��

* � 0� * 36=kG������ ���>!���30�� !B'>P * �! Z�����"�� ������� ���(0 *�* 5&uäW°0¬g£! ���C�_E;� &����2��� X���O�����B" . * (0� 7 �����;� ��O$% �(5�� 0���� 6�������O���O&�����(��� ��� 0CP`� ��;� M�������� ��E(9��� 0=H��;! #����B� . * �8�F&! �A� ! �&7��F �>H ���3 ) �"�8 0�T�8 '������ 0C`] 7��;� * ����� 5�O(0��� 9=���;� �����B� Q * ���' ) ������] * ���� !(������� Q=!�� * 3Z&� ��A� ! �&7��E&!����(��� ��� ) ���� 0���^�� N������ 0C����!(�;X ) ���� 0�^�"�?&! 5A! !�������� I���(9 *�* �&@� <¬g´g¬g£� xC�# �+0 �(����K�$ * Wa c d���� )�* ��� � 0�K������" -(0� ��� * 3I )!) ���K+0���2��� ��;�����(��" !(� ) ���. * ����B� . * ���9&! * ���8 �(� '(��� 0���� 0�!�����������8�� '����B" . * � � �(� ����K���� * 3���� N �>! * �Q��� �&<���"���� * 3YI&�����(��� ��� e�� 5�����R�K�� )!* ) �"�� 6���i����;! ) ���� 0���� ! � 5&/ ����N$% 7 �[0���8&������K� 0�K=F$!���N����������;� ­�²H¸-¬O�� ��E���"�� *�* (5�� 0���� 6���������J������ M���8B" . * ���� i���30���� ��2��CH_E;0�!�K=�" !(� -��;! G�K�� )�* ) ���� 0���M;Qh>H -$% 5 � ) ��(�\� �&.=���;� -������ ->! * �� -�"�(5�� 0���� 6�������W����B" . * �W$% ����T � � ���;� ��� ) ���� 0���R��� �� ) ��K������� Q *�* 3�������� * 5>P� 6�K�H��;� M�K�� )!* �&e����B" . * ��� ) 5�K������� Q *�* 3N$% �(5���� O��;� M������ ����B" . * �KC"V7 ^(��"� * &������ *�* (5�� !����&� ��k�K�� )�* 5&�(��� 0���� 0�!�"�!���������� ^����B�� Q * �M���U;Qh>H N­�¨�¸�¬G>! * �� G$% 5���F 5 � Z�K�� )�* �8 �B ) ���� 0���#���k�F * �8\� �������G �+j�� )�* 0=f��;� �>P * �! :�����;� U( * ���� ���� ) �� �(5 � �&!�� �BZ�K�� )�* �� �B) �"�� 6�K=9���R������ �8 0�� �� ) � * ��� �&Z>! * �! 9��=0$��!�E(������� � 0�Ea c d2�8� )!* ���� � 0�K������� ��O��� R&� �A! � �&��� U����(�;2W�h3���;Q��k��;!���W(��� ����8&� ��K������" ���R������ * �>P� 0�KC¦f37�K�� )!* �� !BZ����¿�(��� � 0� * 37&� � !�� * 36=P���G$03 ) ��(�\0�� !Be�K�� )�* �� �B) �"�� 6���W( * �>H 5� * 36=g�� � E(0� �;!� ) E���M��$!�K��� :I�xB"�9�9&!�N )�) ����+0�8�Z�������" .C�`� �&! � 5&.=K$03-�8� ) ������ !BG(� ����K��8 * �������K������� ��E�� I��;! ���30���� ��2=���Q��� ) �"�����8$ * ^���#B"�.��K� 0�� � F(5�� 0>H ���B" � !(� T�� ���� * ���Q�� G��;! * �8���8�R����* 0����#�� !&� ��E��;! I������!� ) ������ ��"�. �+j�(��-�������;��� �����(0��n���m��]C0V�;!� * �� 0�� ��� ������� �B%=���;! ��� M�� ) 5(�������� T���������8&� F��;� T��(�� ) F�"����;� ) �� ��� � 0�) ) ��KC!V7 -�E� *�* ��������� ���;Q��U��30���� ����8�M �+0 �(��!�� 5&,��U;!��B�; 5 !����B�;��K��� ���� � ����!�� ' )!) ��� ) ���]��� �� 5� ) �� !�� 5�K=?�� * �� �B2�����;� �� ) �!�E����B" . * ����� * �������� �&����2#����¿�(��� � 0�E$.� !&��E�8&���;.C

�M�F������;! #��� )!* ��� 5 6�K������� e�"�Q&!����(��� 5�� ������8�� O����B� . * �K=0 0�(�;N���&! 5A! ! 5&:�" �N­�°0ªg­�¬g ��"�F��;! G�K�� )!* �� !B ) ���� 0���I�� !�"�M ! 5(� ����K���� * 3 ) ��� ) ������!$!�� 5�K=.$��!�-�8 �B� � � ��K * 7ÌH�¡­� x�¡£!±g ���!$��� ��������U 0�(�;&!����(��� 5�� ������8�� N����B� Q * ��CQ�Ma c d�(0 ) ���!�� 5����;! I ��������� <���� ) �������] * ���! !(5���8�" I$63 * �8������ !BG��;! ��K� �B� M������ !BN� I� ) ������ I��3 ) �(0 *�* �&åHæ6ç�è0é C�_E;��8�#��3 ) ;.��#�]�F�U(��" !��������(��������K�jê0ë åHæ6çgè9é =!�� ) �� 5�� � 0����� !B2��;! X�$��� � !(5 N�"���>! * �! 0ÐF� !&/�� * ���%� åHæ0çgè0é =?�� ) �� ��� � 0���� !B��;! ) �� ��� � �(� ���RR>P * �� 0CH`� NÂU���\� *�* !�"�K������� Q�ì0íKé6í@å�æ6çgè0é/í@î ê6ë å�æ6çgè0éãï�å�æ6çgè0é/í

VX i(9� ��� 0���!������>H * 3���;��� !\Y���U(��" 0���8 0�����!���������� <����B� Q * �b������ !(������" !�����.�]3 ) ð�ñ5òPçuóõô

���"�I������ ��������K�$ * ��� ) �� ��� � 0�K����8�" ,�]3 ) ð�ñ5òPç �����I(��" 0���8 0�����!������� 0=j� !&Z���"�� �>P * �! ���3 ) ô =6�E;! 5�� 0��#&!����(��� ��� ��������� �����B� Q * �(0� �$% O�! �&! ��������9�9&i������� !(������� ������.��3 ) ð�ñ5òPçuóöåHæ0çgè0éQô

ÂM���T �>H ��K=����8B" . * �O��� -£!¨� ?A!�����k( * ����T � 0���8���� ��W�� U�Ma c dTÐg�� ) ��������(�� * ��K=6����B� Q * �#&��� !�"� ) ������ �����#�]3 ) 9C�Ä­��¡·g£�²H©"á�°0£!±g x��¨H£��8�MF÷�° ¶ ¬����� !(������� ���;.��W�2 ) �MT�������-� * ������ !BN���8B" . * �" 0���u��� �� ) �� �&!�� !B'����B� . * �E;!� * ��K���������30�� !Be(� ����K��� (0��!�K * ����3N(��� ������K��� 0���������"�!B"; * 36=0��;� ����� ) �!�E�G�!���� ����R&! ) � �&�� ��������!�� ��� ) �!�K��C?ø# * ��\H �����B� Q * �K=W����B� Q * ���� !(������� ��:² ¶ ¬ZA!�����( * ����I � 0�������� ��U�� ,�#a c d�C?_E;!���I�� 0� !�U��;Q�����;� �3/��� ����� 9��� �&������� * ��\H X�"��;! ��N>P * �! ��N�8 Y��;� * � �B��Q�B� 9�E��;� �3,;Qh>H ���]3 ) 9=��;! 53e(0� :$% G$%���� !&Z���I>!����]�$ * 5�K=!��;! �3N(0� 2$% ) ����� 5&:���7� !&�� ������� ! �&2�����"�§���! !(5���8�" !�K=P ���(0C!_E;� -�]3 ) -�"����8B" . * ���! �(������� �2 )!) �� �BUT����B� Q * ���P�]3 ) ô �" 0���UT����B� Q * ���P�]3 ) Eù/���.�E�������� � ú"û ô ùeCH`� 0�����8����>H * 36=H�T ;.h>H ú"û ô ù�üY� ð�ñ5ò!çuóõô � ó � ð�ñ5ò!çuó ùe�

`��!������ ���;.� ��� � E�� ) ���k���k����� ) �!�k����B� Q * �8�W ! 5 �&! �&Q=���� )!* ��#��� �!�� 5&:����� ô � !&2ù����� !(5 �����B� . * ���k��� )�* ��M���O����������� ) ;���(!ý^���#��� )!* O���.����B" . * �KC_E;! F�������8(5�W&��������8 �(������� -$% ����T � � �����B" . * �M� �&�����B� Q * ���! �(������� �����:I&� �A! ��� !B2�� 0����!�� ��"�#�#a c d�Cj`] ����"�� e 9�� * �� ��U>H ��������� ��U���a c df=P����B� Q * ��(5��� * &Ä�x�2���[6�� ��K�&� ��@�������B� Q * ���! �(������� ��K=���;0�!� �4% �(5���8>� * 3�B���>0�� !B����B� Q * �^A������T( * ����F���K������KC"_E;! �� ) ��;!�"�k������;! &!�������� !(5���8�" N���^��;Q��T��;! M>! * �� #�"�^E����B� . * (0� '�� * 3�$% ��(�(� ����� �&) ���� 0���E���� ��� 2�Ma c dW�!�8�M�8�M !��� ) ��������$ * ����'�� ��� ��O���'��;! � 5 6������ ����B� Q * ��^�" !(� 9C%¥F�!�F 5+ ) 5���8 5 !(� #��;6���F�h��^����B�B� 5�����E��;.��T�Ma c d��� * ����E���!��(� ) ����$ * O���G� ) �(� I� �&N������ * 0�\0�E���"�! �&N�� ) �� �>0�����!�a c d7��� )!* ��� 5 6�K������� !�KC!_E;����K=��� Z���!�� .=0;.��#$% � 5 @\� �3N�h�(����"��� ������G�$�� * ����3'������(0 * Ga c d:���-�� 0 * )�)!* ��(0������� ��KC�M�������E��È� �&Ya c d����i� /�� ����K� !(5 7�"�G��;� ���������§���K��� ��T����\) ��� ) ���� �&N$03�ÂM��B�;! 5��n�»��]C0�/��3 ) #(��� ��������!(����"�^�����������3U���T�����"�B� 5��;! ��R�E����;���;!�� � �� ) ��K������� ��K= íKþHþ =QÿHÿHÿ"=?� �&�� ñ�þ���é =���������� �������� ) ���K>0��&! 5&Z(� ����K��� , * B� 5$!�K���( * h�E�O;!� * &.C.¥F��&!�� Q���3����! !(5������� ���������;� '(9� !�" !��(0 * �+j�� )�* N�"��� /��������GC?`� X�Ma c df=���;! ��3 ) �(5�� !��������(������ ú"û ���N� b��������S�� ����K� !(5 0C�_E;� U��;!�� � Z��������� ) 5�K������� ��#;Q�>� O��;! O��� *�* ���E�8 �BN�]3 ) M����B� Q����!�� 5�#����� ú"û �

íKþHþ ������í� ÿ� � � ÿ ú"û í � ÿHÿHÿ�� ��� ú"û í � ÿ ú"û �� � ÿ ú"û í �� ñ�þ���é���� ú"û í � ÿ ú"û ��í�� ��� � � ���

_E;! '(��"�-$��8 Q����"� íKþHþ ©Á� á� x­Z� @�"��&!�� .���3u���� !(������" @���������B� Q *���� !(������" /$03º )�)!* 30�8 �Bi��;! 2���� !(������" ) �"�� 6�]�E���� 7���i��;� :�� ) �!�ý Ï��9&�� * �i �+0���K'$%�"�������Å * ��� � 0���U&!�! e���u��;! N !�� ����������8(5�'�� 5��2� 6����(����"�.ÂU���\� *�* C

Page 4: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

����B" . * C�_E;� ��� ���� * �������­� x²H x¬g©Á¬g­�­O����B� Q * ���! �(������� Z���� !(� ��;� �� !����K� 0�K� ! 5���!�R>! * �! �"�.��;! ����� ) ���E���8B" . * ���� 03 ) ���� 0���� ������� �" * 3I&! ) 5 !&!�F�8 '��;! #�� !���K� 0�K� ! ��"�!�E�� ) �!�^>! * �! ���E��;Q��^�K��� ������ 9C^ÿHÿHÿ-���e-�� ����] * (���� ) ������������ i� ) 5�K������K=�������� * ��������"��&!��� Q���3����! �(������� I(���� ) ������������ .C�� ñ�þ���é �8�e� )!* �!�G$!�� �B���(����G$!�� Q�����"�K=��Z�\0�� !BO��� ) ��������$ * ����O���"�!�� ^����B" . * �W�� ZT � ����T����\����P����B" . *���! �(������� !�KC¥F��;� ��M���������(��"�-$��8 Q����"���^(0� I$% R&! �A� ! �&��8 I�� ������F���f��;! 5��

) �����������8>� ��KC6��(��������� * 3'�!�� �&N&! �����>H 5&e(��"�-$��8 Q����"�#���������0�� ������� ��� úKû í � ÿ ú"û í � � ÿ úKû í�� � ���

_E;�����(��"�-$��8 Q����"�-(��"� ) ���� 5�����T�Z����B� . * ���� !(������" !���� ) ��K *8* *��� ) ����] *�* 3j��=Q�� � �&��� !B2��;! '�K��� N�� ) ���-����B" . * ���2 0�(�;<���R��;! 5�� !& ) ������� !B���;� O���T���� ���� * ���� �BU���!� ) �!�^����B" . * �KC�# !�"��;! ��E��� ) �"���K� 0��(����G$!�� .������������HëHë�����HëHë�� ��� ú"û ��í�� ��� � � ��� � ÿ ú"û í

_E;� ���ëHë��Z(5���G$!�� .��������������� �&<���"���� �(��������8>� N&� �A! ��8�����" !�K�j��;� ��� ) ����'���G��;! 2����� ) ���'���N�� �&b$Q�(�\,���<��;! 2�� ) �!�KCWà#���� 2��;.����ëHë��:(0� ! !�"��$% e&� �A! � �&<�� ,�� ����������M��;� e��;��� � �$.�����(<��������(5���G$!�� .��������KCH_E;! #�8 �( * �!������ '�����HëHë��O�� 0� ��^��;.��^�Ma c de����� �� ����K� !(5 ���.��;! M( * ����R����� * �9� ) �$ * ��7��������E�KC� * ��;!����B�;G����B� . * �M��� ^ !�"�QA!�����?( * ����k>P * �! ��.�� G�Ma c df=9d.��� �������" � �k��30 6�K�(�����(^���!BP��k���"�#��������E�On�m"���6 �4% �(�����>H * 3N *�* ���E�T����B" . * �����$% W .��� �&.C�_E;!���? * ������ .��� ���Q���!$����K� 0���] * ������� 0�?��� )�* ���-$���� �B%=��� ���� * ���8 �BU�� ��-��(�;e������ * �B���$ * G(��9&� 0C6`] ���;!���R��36 0�K�+?=f� 5+ ) �� ��������� �&� � !�"���� !B2#����B" . * ���� !(������� e;.�����;� O���"���2�

� þ ë��M÷6²�  � ÿ ì ë�n þ6ç �#�÷6²H  ý"! � ­¡á�¬g«�÷ ý � ! ¬g«�÷ ý÷6²H $# ! � ­¡á�¬g«�÷%# � ! ¬g«�÷%#C�C5C÷6²H '& ! � ­¡á�¬g«�÷ & � ! ¬g«�÷ &þ6ç�é)(0þ"è�*+� ! ¬g«�÷

_E;� �\H 536�T����&,� þ ë-����I� . * �"B��!�"�!�O���'��;! +.U�8 /."�� �+ ) �� 5�����8�" !�K=÷6²� X� �&º÷6²H '0'��� u��(0 * �� ) ����� 5�� !��$��8 �&!�� !B�����B� . * >!����]�$ * ��) �"�� 6�]�E���� '$032�2���(�;��8 �B��� X�8 ����K� 0�K� � ������-����B" . * >P * �! ��K=W¬g«�÷� !&Y¬g«�÷ 0 ��� I��(0 * ��� 5+ ) �� ��������� ��-&� �A! ��8 �B��� !���K� 6�K� ! ��"�!������B�� Q * >! * �� ��K=Q� �&<­¡á�¬g«�÷ 0 ��� G 5+ ) �� ��������� ��M&! 5 !������ �B'����B" . * ���! �(�������" !�KC._E;! ���&! 9N���U��;.��U��;� e����B� Q * $% ��� !BX&� �A! � �& ) ���� 0���E���� $03u 9�(�;º¬g«�÷ 0 �8���� �&@�� 6���2��;� N(��"���� �� ) �� �&!�� !B:����B� Q * ���� !(������� ­¡á�¬g«�÷ 0 =��E;����� M�"�!� ) �!�W�8�T$%���� !& ) ���� 0���E���� M�� I÷6²H  0 C�_E;! R��>H ��K *�*�� ) �!�T������;� #����B� Q * ���� !(������� '&! 5 !���� 5&'$03���;� 1� þ ë-���� �+ ) �� ��������" ����$%�"�! �&b$63�÷6²H 5=� !&b�������"�!� ) ���N����B" . * ����&� �A! � �&b$03,��;� 5+ ) �� ��������� �¬g«�÷WC!_E;! �����B� Q * >P����]�$ * ��$%�"�! �&7�� :��;! ) ����� ��� ���Z�37�9(�(����-�� i��;! U��(9 * ��� 5+ ) �� ��������� ��K=j$!���e£�¨H #�� i��;! U����B" . *���! �(������� , 5+ ) �� ��������� ��:��­xá�¬g«�÷ 0 ��C.`]�#��;� e� ) ������ Q * \H �30�F�"��& þ0ç ����R�!�� �&Q=0��;� � e����B" . * >P����]�$ * ��R�2h3'�9(�(��!���� � �+ ) �� ��������� !�R��;.���� 5+6���Q *�* 3 ) �� �(� �&� ��W��;! E&! 5A! !�������� U�"�%��;! E>!����]�$ * 0=! *8* ���E�� !BG�� ��(5�!������>H �&� �A! ��8�����" !�'���� 5 �&!$Q�(�\ * �9� ) �K��Cf_E;� ���30 0�K�(�����(�����B%��������� )�* ��� � 0�� �&Z$03i ) �� ) ���9(5 ��������O�E;���(�;Z �+ ) � !&��#�"�!�R��;! �&! 5����� ��8�����" !�I�!���� !B7�� * 3i��;� e$Q�����(@��������ß(����G$!�� Q�������� í�þHþ =#ÿHÿHÿ�=� ñ�þ���é =j� �&.=9�8� þ0ç �#�8������ �&.=2�HëHë���Ca!���-#(��" !(��� ��� 5+?�� )!* 0=9(��" !����&! �����;� ��� *�* ���E�� !B%�

� � î � þ ë-� ��í�� � � ÿ ì ë��3 ! �/� ��3 � ! í��4 ! �/� ��4 � ! � ! �/� �-5 � ! � ��3 � �)4��ì ! �/� ��6 � ! þ6çKé)(0þKè�*7� ! �hì8� ���

Â# ��� ^�T ^;.h>H T$%���! �&���;! ^�� ���� * ���8 �BM����B� Q * ���� !(������� G���M��;� F>!�������$ * � �9=j *�* ���E�8 �BU���R����$% �� ��� ����� 5&�$03U .��� 0C6à#���� O��;� O�!�� �"�

��;! U��� )!* ) ����� ��� u������� )!* �������� !B � �-� �G�� ) ����� 6���e���F�/�x .��� �&����B� Q * ���%= í � !&9�C0� * ���� !�"�� ��;! O���� ���Q��� )!* O �+ ) �� 5�����8�" !�R���"�) ������8 �B����B� . * �K=������T �+j�� )�* E�����T�� � 5&!�� !B��;� ) ����W��������B� Q * �1��3� �&���4#������;! ����B� Q * ���! �(������� � �-5HC�Ma c d ) ����>0�8&� ��#T����(�;��� ��k���P���! !(5���8�" !�W���"�W� ) ��K����� �B ) ���� 0����E���� Z�� @ �>H � 0���KC?`] ��h�(��K=.��;! N��3 ) å�æ6çgè0é ���:�$������K�(��U�� @��;! (������� � 0�^�Ma c d2��� )�* ��� � 0�K������" .=9���� �>H � 0���^(9� ! ����E$% O�Z� !� ) �� * ��� �&U �+0(� ) �W��;�������B�;���;� ��� �� ) ��K����8�" !�KC�_E;� R��� *�* ���E�8 �B-�� * 5(�������� ��"�Q �>H 5 6�E� ) ��K������" !�R�8������ �&��� e��;��8� ) ) ��K�

é6í;: ���Uå�æ6çgè0é�í<� ÿ� � ÿ åHæ6çgè9é �>= çKþ�:0ç ���Uå�æ6çgè0é�í<� ÿ åHæ6ç�è0é/í� ÿ åHæ6çgè9é�íþ = çKþ�:0ç ���Uå�æ6çgè0é�í<� ÿ åHæ6ç�è0é/í� ÿ åHæ6çgè9é�í� ñ � é6ç�þHå?���@��í� ÿ�A6ë�ë���� � ÿ åHæ6çgè0éYí� ÿ å�æ6çgè0é�í

_E;! ���! �(������� é6í>: �K�B��-� � �>H � 0�^�E����;<R ! ��Y>! * �! 0=9�� )�* �(��� !B��;! U� * &i�� ! 9CB�>= çKþ�:6ç � �& þ = çKþ�:6ç *�* �K�S���T�Z&!����(��� ��� I����B� Q * ����Z$% I�� ���B" �& ) ���� 0���E���� 0Cj`] u(0��� N�"�R�����G� * �K� � ������- 5>H � 0���9(��(������� � !(� 5�K=C�>= çKþ�:6ç �hh>H�������e��;! * ����N �>� � 0�u��A������X���B����� � 0�K��=�E;! 5�� 0�� þ = çKþ�:0ç �h�>����!���R��;! �����B�;0�R �>H � 0�G���� �(5�� !&@���B����� � 0�K��C� ñ � é6çKþHå =!A� . *8* 36=9��� )�) �� ����� ��R �>H 5 6�����E;��8(�;Z&!�U ������K���������3���;! $%�9� * � ) �� �&!��(0��� ��� )�)!* �� �&i��R��;� A!�����G���B��!�� � 0�KC

3.2 FrobaP���"$ ) ���"B��K����7��� �����B� Q * ���� !(������� ��I� ) ��K����8 �Bu�� �����$%�"���� ) �(���A�(:�� ) �!�:� !&��"�!� ) �!�I��3 ) ��KC._E;! ��� 2�]3 ) 5�'(9 ) ������ Z��;! �� * �>!� 0�M�� ) �(����W���Th>!�� * �$ * R�� � !���"���� !&2�(����.��������KC�aP���"$�;.���� �(�;.� !�������I���"�7�$!�����K�(����� !Bu��>H 5�'( * ����� ��'���Ih>!�� * �$ * Z���! !(5������� Q * ����36=M *�* ���E�� !B<B" � ! �����(2(��9&� :��;Q��I���N ����I���� �&����Ye� ) 5�(���A!(G;.���&!�O��� )�* ������"���§���I$% G�E���8���� 5 .C�Â#�K�T �>H ��K=6�8 2��;��8� ) ��) ��K=%�F I�E� *�* �K���B" ��������ed%���� � � �� )!* ����������à �+ )!* ��(���� * 37����\� � )��;!�� �B��O����� )�* 9C�_E;� ��� ) �!�U� !&:����� ) �!�#��3 ) ��O�������;� Zd%�8�" ! � 5���� CD ñ ë è!çHç�þ�E�è � (9é � �&+D ñ ë è!çHçKþ�F�(0é � (9é C%D?�� ��� �[0�! � 0� * 36=0T��� ) �* �>H * ���8B" . * ���! �(������� I���"�F(��" 0����� *�* �8 �B-��;� -d����� � � ��T;.��T��;! ���3 )

ú"û D ñ ë è!çHçKþ�E5è � (0é D ñ ë è!çHçKþ�F�(0é � (0é_E;! k���! !(5���8�" þ6çHí � é6ñ5òPíKé6ç D ñ ë è!ç�çKþ ��� ) ���K>0��&! 5&���E(��� � ! �(��f���!(�;#����B� Q * ���! �(������� �������;! O�� � ���������� �&i�(5���.����"���#�"�Q��;! M����$%���K�

þ6çHí � é6ñ5òPíKé6ç D ñ ë è!ç�çKþG���ú"û D ñ ë è�çHçKþ�E�è � (0é D ñ ë è�çHçKþ�F�(9é � (0é� ÿ E�F�� �

`������������-��;! U�� ) �!������B� . *^) ���� 0���E���� I$037�� 9�&!�� �BZ��;! U>!������������ � ��������K=0 )�)!* �� ��?��;� T����B� Q * ���! !(5���8�" ����#��;� W(5�!���� � 0�?�� ) �!�f>! * �! ���OB" ��T��;� ^(������� � 0�W�"�!� ) �!�K=0� �&���;! � -�!�� ��W��;.��.����� ) �!�k���O�� 5 !&��;! U )!) ��� ) ������� �(������Z� !&���������;! I�(����.��������KC_E;! HD ñ ë è�çHçKþ�E�è � (0é � �&ID ñ ë è!çHç�þ�F�(0é � (0é ��3 ) ��2��� e ����� � �����] *�* 3��� 5(�����&��]3 ) 5�Z�E�8��;º�� ! XA! * &Ç�����2 0�(�;ßh>!�� * �$ * <�� � ��������� �&@�(����Q����"�KC�aP���� �+j�� )!* 0=JD ñ ë è!çHç�þ�E�è � (9é ;.��#A� * &!�R���"��9&!�"�� �����36=T��;� 2�8�Z�B� 5�������"� ��;! 2���� ��� 5��(0��� ��K"=� !&b�� ) �!������"�Ã��;! �(��" !��� * I����(�;Y����������� ) �"�������8�" Y� �&u\H �30$%�P���&X�� ��) ���KC;D ñ ë è!çHçKþ�F�(0é � (9é ;.��jA� * &!�f�����j(��� 0����� *8* �� !BR��;! k� ) � 5&���0��;! ����$%�"�-� !&e��������>H �� * h30�� !B�B"�K ) ;���(��#�" e��;� * �8>� >6��&� ��������� 0��2C�Ma c d ) ���K>0��&! 5�IO���K��� ��F�"��\:�����O(5�� !��������(����� !BI�� �(��"��&!�O�� ��(��� ��� � 0�K *�* 3,$03<�� ���B��� �Bi�� ����N�"�A! * &��K=M��'� )�) ���� �&,���i(��� ���������!(5���8 �B:#�� �(��"��&Z$03 ) ����>6��&��8 �B�>! * �! ��R���"�� *�* A! * &��-��R�� !(5 0C_E;!���-�8&� 0U�8�-(0 ) ���!�� �&i$037��;! I��3 ) I( * ����+= çKþ�:6çHí K� ç>L�ç ��ë þ9ì C�M 03-�� �(�����&I�]3 ) R��;.��F��� )!) �������T��;!���F�������S���f�� �(�����&'(��" !�������!(5������� Q=k����(�;Ç��MD ñ ë è!ç�çKþ�F�(0é � (0é =T���'�2�&� <� ,�8 ����K� �(� Z���O��;����( * ����KCkaP�! �(������� ��U�����'(��" !�������!(5���8 �BX�� !&���>6��&��. * A! * &��:��� @ * ���) ����>0��&! �&QC0_E;� ��� �(0� Z��;� � �$% �� 5��B� �&Z�� 0���U�� ����R���.A! * &��K=?� !& �>H 5 6���Q *�* 3IA! . * �8È5 �&��� 0���2#�� �(��"��&.�

Page 5: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

ò6þ = çKþ�:6çN��� = çKþ�:6ç�í K� ç>L6ç ��ë þ9ì�í�î ÿ= L�í/� ÿ@= L�í<� ÿ@= LYí

ò6þ û ñ�è!í � ñ>O0ç���� = L/í/� ÿ í������ Z�"�O��;! e���! �(������� ��Xh>!�� * �$ * 2�����I(��� 0����� *8* �� !Bi&���4% ��� � 0��� ) �(����#���k��;! Nd%�8�" ! � 5� )!* �������������� * �8���� 5&Z$% * �K�GC!à#���� ���;.�� 9�(�;��� ����!�� ��G�¸�¬ ¶ ·g¬�²Hªg©Á¬PD ñ ë è!çHçKþ�F�(0é � (9é �� �(��"��&.�ìHì A þ6í>Q�çN��� = L D ñ ë è!çHçKþ�F�(0é � (9éìHì)R6ç �>S ñ ��� ���TR�ç ��ë-� ñ�é�U7� ÿ R�ç �Hë�� ñ�é�U

� ÿ@= L D ñ ë è!çHçKþ�F�(0é � (0éìHì)R6ç � ð�LV���WR�ç �Hë-� ñ�é�U7� ÿ L ë é�R�ç �

� ÿ�= L D ñ ë è!ç�çKþ�F�(0é � (0é� æ�: ë FKæ6çKþ � í;U ú�X ��� ú ñ5ò �K� ç X þ6í ��Y ñ �

� ÿ@= L D ñ ë è!ç�çKþ�F�(0é � (0é_E;� ) �� �A!+ ìHì ���K� !&��F������Z#� [^¬ ¶ ¬g£! x�¡²�©\Z ¶ �¡´g¬g=%� �&9� æ�: ëE���K� !&�������7¯RÆ.�¡­��¡¨H£^]`_ aMbT°0  ÷�°0 xC ì�ì A þ6í>Q6ç $!�K�\� ��U��;! N���F�7�E;! � * �KCì�ì)R�ç �>S ñ ���T�� 5���?��;! k&� ������� �& ) ���� ) ;� ��K * �E;� � * >� * �9(�����3U���� �9c��K������E��;� * ������ �&'����B";6�T�E;! � * =H�E;� ��� 0�� ìHì)R�ç � ð�L �� ����^��;� #�E;� � *>� * �9(������8 5�U�8 <�� ����������R��;! '��>H ��K *8* &� ������� �&<���K� �� * ������� . * � !&���"�K������� Q * >H * �9(����]3����W��;! G����$%�"�KC.¥F * 3��� � -���9&! ��"�T(5�� 0����� * �* �� !BX��;! e�E;� � * >H * �9(������� ��I(0� �$% ��!�� 5&���:� 03i�� ! ) ���� 0�U�8 ������ 9C!`��k���T�'�"�O���"�� ���� ��!�� 5&.=��" ! G�E� *�* ��>H �������&� -��;� -�"��;! ����KC� æ�: ë FKæ0çKþ � í;U ú�X =TA� . *�* 36=?���U�!�� �&����7��>H 5� * h3<����� )!* �B"�K ) ;!��(��� * �� ! 5�K=9(5�8��( * 5�K=9�� 5+6�K=%C5C�C��j�" '��;� * ��>H M>0��&! 5�G������ 9����� � 0�T���-��;� (5�� !��� * 0C.Ï� ���B��� �B'�"�.�-� * ��� )�* d� æ�: ë FKæ0çKþ � í;U ú�X ���R$63'��� ) 5� ) ������������� QC6_E;� �� ��2� 0����(��R���Q�� ���B��� !BU������;0�!�EA� * &!��&! ) 5 !&! 5 6�KC_E;� #��� *�* ���E�8 �B�����^����� )!* Ma!����$ ) ���"B��K��S��;.��F�� !��������(����F��;� ���"$%���#���'���K>� G�������O���&,��UO(��" !���K� 6�#� ) � �&Q=��E;!� * -��� ) ��������) �"���� !B:#(�����( * ���>H ��E��;� * �8>� >6��&� ��%�

�)e ì S ç�ò ë ��� ú"û D ñ ë è!çHçKþ�E�è � (0é D ñ ë è!çHçKþ�F�(0é � (9é�)e ì S ç�ò ë î � þ ë-� ñ�è � � ÿ ì ë

�gfh�iU � ! �uò ë (K��ç D6ë �� ! ñ�è �þ6çKé)(0þKè�*7� ! ò6þ û ñ�è!í � ñ;O0çkjìHì;R�ç � ð�L7l m 4�n lo ò0þ = çKþ�:0ç o � æ�: ë FKæ6çKþ � í;U ú�X � ú�X å ��� ñ � ��ç

�if�� 3 l8�pU�� 3 l ��if-q 3 l8�pU-q 3 l �ð�þ)(!çL6ç"ì �

òPí9ñ5è/î,þ6çHí � é�ñ5òPí�é6ç D ñ ë è!çHçKþ �)e ì S ç�ò ëò ë (���ç D0ë � �+0���K�(����T��;� E�������� ) ������������ I�����"�L��;� E�� ) ���k���8B" . * C_E;� Z(�����( * 2�8�I(� 5 6�� 5�� �&���'��;� ��� Z(��"�J�"��&!�� .��� ��K=.(0������8 �Bi���'������K�(�\'��;! M�������� ����>H ��� � 0���KC

3.3 Tasksà# 0�� * 3: *8* ����$%�"� ) ���"B��K������� !B * � �B��Q�B� 5�R;Qh>H �� !�"���8�" e�"� x²�­'r��j�(������� ��E����$% M(9������� �&'���!�F$63���;! M���"$%���E���e�(�(5��� )�* ����;u� ) 5(���A!(OB"�% * C0_����\0�E��;0�!�^�� 0>H� * >� M�� � O���E������ O(��" 0���8 0�����!�G�(������>0������ ��K=H���!(�;:��^&����8>0�� !BP=%� �&'���"�� M�Oh3����f&! ��� 5������ !�� !BG�E;! � ��;� U�K���\2;.���$% � � X(5��� )�* 5�� �&.C%_E;! ��� :��� 7 * �����h30�����E(��"���$��� !�� !B��K���\0�R�� 0�������"�� (���� )!* �+'�K���\0�KCÂ��B" ��Z� !&�d! ��� ������" @&� �A! � �&/��K���\7 !�������" @�����2� i 0�� * �� ��>� ��������� e�"�?aP���"$un�Î���C9_E;! 53U&! �A� ! �&XR�K���\:��GR(5���G$!�� .����8�" e�"�(��" 6���� 0�!�"�!�#$% �;.h>0�����U� !&�O�� ������� .����� !B' �>H � 0�KC?���!(�;Z�K���\0��������¾-���� .�&.=k *�* ���E�� !B2ÂU���\H *�* � �����" .�&!��(U(��� ��������!(��������(�;�� ì ë# !���K������� �����$% M�!�� �&��������K���\0��$.��� �& ) ����B��K������� !BPC�#a c d ) ���K>0��&! 5�'G������� * ��� !�"���8�" X�"�^�K���\j=P�E;! ��� ZG�K���\2����� 5 � i���R����B� Q * ���� !(������" N� ) ��K����� !B-�� XR(��" 0���8 0�����!���������� R�� !�) �!�k����B� Q * � !& ) ���9&��!(��� �BI ) ����W���WF(��" 0���8 0�����!���������� ������ ) �������B" . * � !&:� � �>H 5 6�k����B� Q * �����W�� !&!��(0����� !B�� ������� Q������� QC"aP���M�

�� ) �!������B� . * ���E�]3 ) ô =F� u����� ) ���G����B" . * ���E��3 ) IùN=F� !&Y�� ������� Q����� !BZ �>� � 0�������3 ) MsO=���;! U��3 ) ��"�G��K���\:���-�E�������� � ð6í-��Q.ô ùIsO=f� !&N�F �� 0���!������>H * 3I;.h>H ð0í-��Q?ô ùks/ü ú"û ô^� ù �JåHæ6çgè0é st�

_E�F�N�K���\0�U��� ��� �[0�� � !(� 5&:$03N���E�8��(�;!�� �Be�����"�§��;� -A������M����B� Q *���� !(������" ,���u��;� ��� �(��" !&,�" ,��;� �A!�����U �>� � 0���� ���;! �A������U���8B"� . * ���� !(������� 8� �O �>H � 0�#���!� ) �!�KC�_E;0���M���E����(�;��� !Be���O�E;Q��O(9��!�� 5��� ������� Q������� Q�?#����B� Q * ���! �(������� <������!(�;e ! 5>H ��E�� ������� Q��� ��KCð6í-��Q ���2� @�� !���K� !(� '���+=6ë è!í"ì =E� !&<ÂU���\H *�* � � ì ë��� !�"�K������� ���"�#���� .�&!��(0� e��;0�!�E$% ���� �&e���� 5+ ) �� ������� �[0�! � �(��� !BP�

é6í-��Q 3 î�ì ë x²H­urg¬g«�÷ ý x²H­urg¬g«�÷B#

é6í-��Q 4 î�ì ëf ! �  x²H­urg¬g«�÷wv x²H­urg¬g«�÷hx

_E;! T�K���\ é6í���Q 3?���.��;! T�� �[0�! � 0���] * (5��� ) �"���8�����" �������;! T�K���\0�Q&! 5� !�"�� �&X$03Z��;� � �+ ) �� 5�����8�" !�N x²H­urg¬g«�÷ ý � �&� x²H­urg¬g«�÷B#�Ck�K�E����(�;!�� !B�����"�  x²H­urg¬g«�÷ ý ���Y x²�­'rg¬g«�÷B#��9(�(������N�E;� � ���;� ����"���� ��e�� 5������� .��� ��K=^� !&i��;! I(��"� ) �������� N�K���\ é0í-��Q 3G�� ������� .��� ����E;� � i��;! * ����� ��M&!�9 ��KC!_E;� -�K���\ é6í-��Q 4���O������� * ��K=P$!�!�R��;! G>! * �! G���W��;! �� ������� Q����� !B� 5>H � 0�^���?��;! M�K���\I&! � ����� �&N$63: x²�­'rg¬g«�÷JyO���E$%���� !&���u��;� �>P����]�$ * f � !&,(9� ,��;0���U$% ��!�� �&,�8 ���;! � 5+ ) �� ���������  x²H­urg¬g«�÷ xK=0�E;���(�;�&� � !�"�� ��E��;! �� 5(��� �&��K���\jC_E;! ���� *�* �K�E�� �Bu��� G���"�� ����.��;� �K���\0���� * ��� �&Z���! !(5���8�" !� ) ���"�>0��&! �&N$63I�#a c dW�ò�Q9ð6í-��Q ��� ú"û íz� �NåHæ6ç�è0é ��� � ÿ ð6í-��Q/í {�þ)(Hè0ð6í���Q ���Uð6í-��Q�í {� � ÿ ú"û í^��å�ñ�é Y çKþ ����þ)(Hè0ð6í���Q�| ���Uð6í-��Q�í {� � ÿ ú"û í ��ë è���é�ð ��� � ÿ ð0í-��Q�í 7���è!í � ð ���Uð6í-��Q�í íé�ñ5òPç�F�(0é ���Uð6í-��Q�í {� � ÿ ð�ñ5òPç

� ÿ ð6í-��Q�í � = í;U ç ���í !ë þHé)} Y çgè~���Uð6í-��Q�í {� � ÿ ú"û í^��åHæ6çgè9éYì �

� ÿ ð6í-��Q�í �]å�ñ�é Y ç�þ � ì �ò�Q9ð0í-��Q (��� 0��� ��u'�K���\@������� N����B" . * ���� !(������� ,�����;! e���8B";0����"���2C þ)(Hè0ð6í���Q ���!�� ���R�K���\U$.�(�\U�� 0���ZR����B" . * ���! !(5���8�" .CH_E;! ����� ) ���M��3 ) G��� å�ñ�é Y ç�þ {�"=.� !&:��;! G���!� ) �!�#>P * �� ����W� ç � é8��E;!� * ���;! O�� !&� �� * 36�� �B��K���\'�������! ! ��� !B%=f� �&e$% �(5���� �����;� (��� �����K� 0�->P * �� L!ñ>: Y é�� =j�E;! ��� � ������;� I>P * �� N�"����;! '�� ������� .������ !BI �>H 5 6�K=0�� �(� -��;� ��K���\�;Q��M�� 5������ .��� 5&.C þ)(�è0ð6í-��Q ���UO>H 5��������� :��� þ;(Hè0ð6í-��Q �E;! ��� -��;! G����� ) �!�R$% �(��"�� ���� !&! 5A! ! 5&@����� 5��� ������� Q������� QC�`]�O�����3 ) ��(0 *8* 32�!�� 5&7����� !�" !���� ������� Q����� !BN�K���\0�KC��ë èK��éHð (��� 9��� ��'��K���\Z�E����;�(��" !���K� 0�O�"�!� ) �!�M>! * �� 0C ��è!í � ð�����K���\7��;Q��G�� ������� .��� ��������� 5&!�]��� * 36C�_E;! I>P * �! I���E��;� '�� 5������� .����� !B� �>� � 0��8�N-�� Q ) ��;!�����"�^��;! ��� ) �!�'�����;.�� ) �"�� 6���� ������ 0C é�ñ5ò!ç�F�(0é �&!&!�R������ M(5�� !�����K��� 6�E���e� N �+0�������8 �B-�K���\I$63���"��(���$ * 3��� ������� .����� !BU����� ��k��;� TB"�8>� � ������� T�8 0�� ���>! * C�`� G��;! T(0��� ���T^������ R���!�K=���;! �>! * �! �������;� R�� 5������ .����� �BG 5>H � 0�T���#ê6ë é Y ñ5è�: =����;� ����E���� O���^���t� (��gé�� =��E;� ��� � ���E��;! R>! * �! R���f��;! R �>H � 0�T��;.���� ������� Q��� �&7��;! ��� !&! 5� * 30�� !B'�K���\jCk�K����� * �� * 36= í !ë þ�é�} Y çgè �&!&!�� i 5+6���K��� ������8 Q������� <(������� ������" @������K���\?Cf_E;! '>P * �� I������;! �� ������� Q����� !B� 5>H � 0�E���Q��;� O�� ���� * ���� �B��K���\'���1� ç � éJ� ���.�� ������� .�������� I���F&��! ������� ������� .����8�" I������;! ��! �&! �� * 30�� !B�K���\?=K��� L�ñ>: Y é�������� ������� .����8�" I�8�T&!�� R�����;� � ! ��@(������� ������� Q=��E;! ��� � � �& � ��� ��;! M>P * �� ������.��;� O�� ������� .����� !B� �>� � 0�E�8 N[0�! ��������� QC

Page 6: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

4. FROB AND ROBOT PROGRAMMINGc ��$%�"� ) ���"B��K������� !B * � !B��Q�B" ��� � !(��"� ) ����� ��-�$����%�&.=H&!�����) ��K��� N(�� *�* 5(������� <���E�T����\jCj������ ! I � �&u���E��;� I� ) �(������!�¾��� * � !B��Q�B" ��N� ) 5(���A!(0 *8* 3@&! �����B" ! �&������I������ 0��� * �>� * ���:DE����� 5����� ���������� Q=% 9C BPC c DED � n�¼��W�"�I�! ) ;��8�KIn�m����]C����R��;! G����;! 5�O � !&2�"���;� Z� ) �(������������ * � �B��Q�B� 5�e��;.��U;.h>H �$% 5 � ,���"����>P��� �&�$03��;� M � � �&!�T���j�M` )!* � � !�� !B��"�K=9������ MB" � ! 5�K *�* 36=f¢��¡·g¢HâJ©Á¬g´g¬g©�B"�% * �$Q��� �&<� ) �(5�8A�(0������" @�"��$% �;.h>0�����K=j 0C BPC c d � n�m�Í"�E���Zd c �un�m'�%=½��]C��M �����;! 5�R�� 5�#�"� * � !B��Q�B" ��I��� ���;� G���U(9 *�* �&��¡£! x¬ ¶ ¸�¬�ÌH�¡²� x¬gâ©Á¬g´g¬g© * � �B��Q�B� 5�Z�E;!��(�;/ ��� 5��B� �&/�� /�� 5(� � 0�e3H 9����K=F 0C B%C^_ lT�n��u���]=.D?� * $% �����n8m"m���� !&<D?;Q����" ,n�m���C6_E;! ��� * � !B"�.�B� �������� �� ) ������������8\� IR(��"� ) ���"������ 0=6�"4% ����� !B-��;! I�$!� * �8�]3I��� ) ���"B��K�� * ���E�* �>� * $% �;Qh>6���"�G�� i���"�� I&! ��K�� * =��E;!� * X��-��;� U�K��� I������ ) �����>0��&!�� �B * � �B��.�B� :�$!�����K�(5���8�" !����;.��O���(�� * �8�K��� I��;! �&� ���(���� ) �����" �"�.;!��B�;� ���� * �>H * ��30���� ���$% �;Q�>0�����KCÏZ� 03i���� !&� � �&� � 0�� * 3X *�* �W���.��;� ��� * � !B"�.�B� ��O;Qh>H !� ) �� ��(5�8�� @���"���2 * � ) �(���A!(0������� .=-� �&���;6���Z(0� ��" * 3/$% /� . * 36�� 5&� ! �(5&!���K *�* 36CfÂM���F �>� ��K=j���-��� ) ��������$ * '���Z�8&� � 0������3b��� ��É(��"������� u��;� ��� ��K=P���!(�;b������9(����G�" X�� 0�(�����>0�8�]3������8B";0�(���� )!* �� !B��"�) 5��(� ) �����" ����2�(5���8�" .��� �&����E����(�;��� !B�$% ��]�F � 5 �>P��������!�����9&� ���"�.� ) ��K������� 2�� ��� �� ) �� ��� �����&!����(��� ��� � �>� � 0���KC0`] !&! 5 �&.=9������ ��"���;� ��� ���� ����B"�.�$ * 3-(��" !(� ) ���.�� 0�����8 �����(^���M��;� F����$%�"����(��k&!���Z��� .C_E;� �3i��� � * ���N(� 5 6���K * !�"������ !�#�� Za c d�=6 5�-$%�9&��8 5&:�� Z\H 53u�$!������K�(������� ������!(�;Y��-����B� Q * ���! �(������� !�K=����E����(�;��8 �BZ(����G$!�� Q��������K=� !&� �>H � 0���KCQ_E;!���I�2�\� ��Ia c dL'�����8�K�$ * Z$.������N�����7'���"$%���) ����B"�K������� �B * � �B��.�B� 0=E� !&<$03b�&!&!�� �B, * h3H ����"�#&����2��� !�� ) 5(���A!(G&! �A� !�������� !�#���Ia c d7�T ��������>H ���MaP���"$.=��"�!� * � !B"�.�B� �����R����$%�"� ) ����B"�K������� �B%C`] O(��" !(� ) ������ .=�aP����$���"���?( * �"�� * 3O�� ��� ��G$ * ��^� �� 0�� ����� �&������ ��* �>� * ����$%�"� ) ����B"�K������� �B * � !B��Q�B" 0C?ÂM���F 5>H ��K=f���� �(� Na!����$u���(5�� !��������(��� �&:��OT&� �A! ������8�" . * �+0�� � ����8�" 2����"�! �&U(����� �(��" !(� ) ���(5�������" Ç����:�E�8&� i� ) �(��������õ�������"$%��� ) ����B��K������� !B * � !�B"�.�B� ��K=k� �&2���8 �(� G�8�#�!�� ��U��� *�* ��®! �&�B� �&2���� !(������" . *.) ����B"�K�������8 �B * � !B"�.�B� N�����;! X�¡�� ��K * � �B��Q�B� 5�%=��������R 9���3e���� �+0�� � !&a!����$���������;! ��Q�� ���;! W&!���� �(5���8�" -�"�Q * ��������� 03O&! ������� �&����"$%��� ) �����B"�K������8 �B * � !B"�.�B" I��� ) ��K�&!��B��ZCf_E;0�!���F U(9� i�� 0�� �B��K��� : 0���-$% ��E�"�Q����$%�"� ) ���"B��K������� !B ) ��K�&��8B"���-�&�&!�� ������� !B�&!��4% ���� 5 6�F(��� �(� ��� !�F�E�8��;��� uE���� !B * #���K��� ��F�"��\?C9VX R�� �BP���&'��;!������\� �32�&�>P� 0�K�B� #��>H ��^���"���E(��!���� 5 6�K= * 5���E �+0�� � !����$ * 0=H���"$%��� ) �����B"�K������8 �B * � �B��.�B� ��KC.aP������;! ������"�� 0=?��;!���2 * ���u&! ����� !�����K��� ����;Q�����;! ��;� ������#�"�.��;!���-�������( * ����#�"�.>P * �� !�"�R�" * 3X�(����"���� ) �)�* �8(9������� Z&����2��8 ��K=6$��!�� * ���I�E����;!�� N&!���Z��� !�KC_E;����U�� �(������� @� *8* �������K��� ��I��;!��� ) �"�� 6��$63X��;!���E�� !BX;�����aP����$(9� I$% � �+0�� � !&� �&�����(���>H ��W������ R(��"������ I���"$%��� ) ����B"�K������� �B) ��K�&!��B����KC�¥F Zk������ EB" � ! ��K * ����� 0=����# * ���O��;!���E�k��;! F(� � 0���K *a c d��$!�����K�(5���8�" !�#�8 e�!�� 0=j� !&Z;�����;��8B";! ���� * �>H * �$������K�(������" !���� I&! �����>H �&7�� u�� ����������E��;� ��� 0=%��;0�!� ) h>0�� !B���;� ��h3:���"�-��;� � �+0�E�� �(������� Z�E;� ��� �F * �9�"\u��R�G� * ������&!�"�2��� ��� 0�� �B��K������� .C

4.1 Finite StateAutomata� � �B��.�B� �� * ��\H -D?� * $% ����Mn8m"m��Q� !&ZD?;.����" :n�m��! 5� )!* ��3-;030$!����&��30���� ����M��.��;! ����.$Q�����(^ �+0 �(��������� ����9&! * Cg��;030$!����&G��36���� 5�Ç(0� $% N��;!�"�!B�;0�-������2U(�� *�* �(������" ,���#(��� 0���� 0�!�"�!��(5�� 0����� * ���9&� ��� !&:F���E����(�;!�� !B * ��B"�8(R��;.��TB"��>H ��� !�W���K� ��������8�" !�T$% ����T � � U��;! 5�� ���9&! ��KC9_E;0�!�K=%¯.�¡£��¡ x¬t�� x²H x¬�ÊE°0 x¨H¸-²H x²2��aR�K���F��� M>H ���3U(��" 6>� �� ��� � 0�^���"�E&! ���(�����$��8 �B���;� M�� �[0�! 5 !(� ��F���?$% 5;.h>0�8�"���E�E;!��(�;e&! 5A! ! E(��"� )!* �+U�K���\������(�(��"� )!* ����;i^;!��B";!� * �>H * B"�% * n���=%m"m��]CH`� 7� aR���ß&! ���(���� ) ���8�" .=? 0�(�;< ��9&! '�� ) �� ��� 5 6����I(5�� 0���� 6�������-���9&� �"�?� ) ��K������� Q=�� !&XE���K� !���������� N&! � ����� ���&��8��(5�� ��� O���E����(�;'���e � ��Y(��� 0���� 0�!�"�!��$% �;.h>0�������KÐ9�� 5 GA�B����� I��C�# Za c du�K���\�(0� 2$% G�� � � ,��IO����� )�* - �+j�� )�* ����M� 2� ) � 5�K����� !B����9&! I������9(��]��� �&Z�E����;iR���K� !���������� QCj���� !(� Oa c d��K���\0�������� #���" .�&.=9ÂU���\� *�* � � ì ë��� !�"�K������� e(0� �$% ���� �&����� 5 !(��9&�

� -aR�K�@(��� 0>H 5 !�� � 0� * 36=9�� * 0����#�� * �" !BI��.��;! TaR�K�,��������(����!�� T��� !�"�#���9�I(��"� )!* ��(0��� �&���������� * 3��� �[0�� � !(��� �B%��C6a!���R �+j�� )�* 9=���;! aR�K�S�� ua.��B��!�� 7�"����E(0� u$% U(5�9&! �&Y��-��� *�* ���E���� uaP���"$.Cfà#���� ��;.�� é 4:� !& é 5�(0� @B" ��i�x�����!(�\0�%=^�(��" !&��8�����" i�E;!��(�;<�T X�������!�� ����O�� !&��8(9��� �&2$03���;! G�� ������� :>! * �� 0C!`��#�K���\ZB� 5���O�����!(�\j=��;! :�(�����>H I$% �;.h>0�����G���E����(�;� ��-���Z��;� U !�9&� é 6'���Z;Q� �& * U��;! �������.����8�" .=.� !&2��;! � é n��E;��8(�;2&! �(5�8&� ��M�E;� ���;! 5�M���I�� ����K����M$63(0 *8* �� !B��T�� �(��!������>H * 36=H�"�R�� 5������ .��� ��;� ��>H ��K *�* �K���\jC

é�î�ì ëé 3þ6ç�� ! �<é 4� í���ç@þ6ç-� ë)�

ê6ë é ú é)( � Q�� ÿ ì ëþ0ç-� ! �ié 5� í-��ç@þ6ç�� ë)�

ê6ë é ú é)( � Q�� ÿ é��ú é)( � Q � ÿ�Y ígè0ì � ç ú é;( � Q

ú é)( � Q7� ÿ�Y í�è6ì � ç ú é)( � Qe�Y çKþ6ç

Y í�è6ì � ç ú é)( � Q�î,ì ëé 6f ! �<é nñ � f,é Y çgèYébç � ��ç�é-�

� * ��;����!B";-���.���k !�"�.(��������� ��� -���K� !&Q���&-aR�K�,�������G� * ������" !�K=���Q���.;!��B�; * 3�!�� ���� * ���U *�* ���/� 63>! * �� ������9(5����� �&��E����;ek���K� !����������� G����$% T���� �&������¡£�­� x²H£! x�¡²� x¬F��;! W ! �+0�?���9&! 0Ð5�� � Ta.��B��!�� O����$Q��C_E;!���k���.���P(5���!���� E>� ���3 0���3������(�;!�� �>H ^�� -���!�.���� .�&!��(E�� ������� !BP=���� !(� #��;! ����K� ��������8�" N>! * �� R���^���!���T��;! ��� ����!�� I>! * �! ��"�j��;� #�K���\���" .�&Q�

ì ë�gfh�pU � ! � � ñ�è6ì�F �� ç � é: ë é ë �gfh�iU �

`� �&! � 5&.=j���� !(5 e�K���\0�2� !&<����B� Q * ���� !(������� ��2��� NA!�����-( * ����U � ���������� ��K=W �����;!�� �Bu����� ) �'���U�����"� ¶ ¬g x° ¶ £��¡£!·�'�K���\@���7N����B� Q *���� !(������" Z��������M�K���\N&!���� �(�� * 36=f� �&Z��;! � ����E����(�;Z�� 6���U��;����#&�36� .�����(0 *�* 3e�� ����K� 0���]��� �&� 5 6�����]3 * ��� ��KC0a!���� �+j�� )�* 0�ì ëè!ç e ð6í-��Q ! �uò�Q9ð6í���QVm�mè!ç e ð6í-��Q

VX Z�E� *�* �� � 2��;��8�'�!�� 5&����iB��9�9&S�&�>P� 0�K�B� Z�� b�� �(5���8�" LÎe���"�(��� 0������� i� !&I�!�� #���f>0�8���Q * ���K�(�\H ����KC%¦f�!�F�"�?(��"�!���� 0=H��;��8�F�K�\H ���!���"�!�E���.��;� O�� 0 * ���"�.À.£��¡ x¬����K��� '��������2��K�Ca.��B����� �����(0�6� *�* �!�����K��� ��k��;.��Q��;!���R )�) ���P�(�;-���RaR�K�@ � !(5�9&!�� !B .����!�K *8* 3N *�* ���E�T�����k;!�� ��K���(�;���(0 * ��!���"�2��KW���8 �(� ^(��"� ) ������������ ���R�K���\0�G30�8 * &��� � ��É�K���\6�KCf`� ) �������(�� * ��K= é ���Z��K���\X�E;!���� �� ������� Q����� !BG �>H � 0�W���FB���>H 5 '$03-��;! ����!$��K���\ é�� C�_E;6��� é (0� I$% �!�� 5&Y��N- ��9&! U�� Y-;��8B";! ���� * �>H * aR���UC%àM���� U��;Q����;� U�8 � ! ���������!(5���!�� ���.(5��� ) �"�� �&��K���\0�R���R �����>0�����8$ * G����������;� ���!������&� 0CaP�"�^ �+j�� )�* 0=H�8�j ! ��,�� ������� .����8�" e(������� ����]"=0����(�;X��GE������ ������K=�F 5�� ����I$% N�&!&� �&2���7(5��� ) �"���8�� - !�9&� 0=Q *�* ����$!�K���\0�R�E� *8* $% �� ������� Q��� �&<������9�� @�����;� O�� ������� .������� �(������� ����]U��� G��� * A *�* �&QCVX F(0� � * ���O&! 5A! ! � �aR���Ç�$!�����K�(������� ��E;��8(�;�(0 ) ������ ��.��;! B��K ) ;:�� ) �� 5�� � 0�K������� 7���� 7aR���S������ �( * �"�� * 36CPVX ��E� *�* �K�\H ��;! k ��9&! ��f����$% M£�¨H£!âJ x¬ ¶ ¸��¡£�²H x�¡£!·F�K���\0�?���0�]3 ) L ë�!ë éHð0í-��Q�� ���é�U � ç@L ë�!ë éHð0í-��Qºç�î@ð6í-��Q D ñ ë è!çHç�þ�E�è � (9é

� = L D ñ ë è!çHçKþ�F�(0é � (0é � ç_Q�K� !���������� !�:��� ��� !�����]��� �&@$03u�� !&� ) � !&� � 0�K=j �>H 5 6����B" � ! ��K����� !B����B� Q * ���! �(������� ��U$% ��� !BX���� <�8 ) ��K *�* * �E����;���;! e ��9&! N�K���\jC

Page 7: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

t3

t6

t1

t2

timeout

t4

t5

stuck

stuck

y=True

y=False

(a) (c)(b)

t4

t5

stuck

stuck

y=True

y=False

t3

t6

t1

t2 FindObject

(x,y)

Goto(x,y)

Ñ vxr!~Qp�z��PÓ��"�fÛQp�z0�g�gvxwQr Ñ Þ8�P�x��vxw Ñ p�q��

à#�9&! ������ ���&! � 0����A! 5&�$03N�������� !B * �$% * �K=.� !&� 9�(�;Z���K� !���������� 2���������9(��]��� �&i�E����;:���!(�;� * �$% * &! � ������� !B'��;! -&! ������� Q������� QC�_E;� ) �"�� 6�U;� ��� e���U���7� *�* �!�����K��� Z;!���ÃI ! ���&����2��8 ���� ) �(���A!( * � !�B"�.�B� E(0� �$% F�� 0�����9&!��(� �&G$03 * 5>H ��K�B"�� !BO��;� F �+0�������� !BM(5�� !(5 ) ���KCV7 ��;0�!�E&! * ��$% ��K��� * 3e\H 5 ) ��;! M ! ��É�$������K�(������� @������8� )!* N��) �"������$ * I�8 7����&� ������ !�"���$���(��!�� ���;���� ) ���� 0�K=��E;�� * :�(�\0 !��� * � 5&!B��� �B���;.��E�� ! �� ) �K�(5���8(5 ����B�;0�E�� 6�-� i�$������K�(������" Z�E�8��;������ �B� � � ��K * )�)!* ��(0�$�� * ���]36CV7 N�� 0�����9&!��(� ð6í-��Q ê çKé �����;! '��3 ) N�"�#aR���ß&! ���(���� ) ���8�" !�KC¹ * ��� � 0�����"����;!���e�]3 ) ���� 7���!��� * �������e�E����;Y�� � 7 * 5�� � 0�e����� 9�(�;X !�9&� ��� :��;! �aR���ÄB���>0�8 �Be����� * �$% * =P��;! �������9(��]��� �&u�K���\j=� !&@ * �����M�"� ) ��������$ * G���K� !���������� ��KC!�Ç���K� ��������8�" 2�8�R�������� ) �����"�T� U �>H 5 6����B" � ! ��K����� !BO����B� Q * ���! !(5���8�" :� �&�&! ������� Q������� * �$% * C

é�U � ç@ð6í-��Q ê çKéYî� � � í ç � ��iL ë�!ë éHð6í���Q�� � � � ðHþ6ígè���ñ�é�ñ ë è�� ��� �

é�U � ç@ðHþ6ígèK�Hñ�é�ñ ë èÇî� ú"û D ñ ë è!çHçKþ�E�è � (0é���å�æ6çgè0é�� ��� � � í ç ���

é�U � ç � í ç � î ú éHþ6ñ�è�:_E;� -��� *�* ���E�8 �Be�� �(5�!������>H G���! �(������� Z��� )�* 5�� � 0���UO����� )!* G�� !��� 5� ) �� ��� ��T���"�E�K���\� � ����KCP�F��>H � 7 * �$% * ��&! � 0������30�� !BG��;! �(������� � 0����K��� <� �&ÇU�K���\i � ��K=?��� * �9��\0�U� ) ��;� e�K���\i�����U��;� N(������� � 0����K��� - * �� �BG�E����;U�����M������9(��]��� 5&'���K� !���������� ��KC"_E;!���W�K���\��E� *�* &� ��(5�8&� #��;� #��>H 5�K *�* $% �;.h>0�������T�� 6��� * �" ! R���f��;! ����K� ��������8�" !�^�9(5(��!�K=����B" . *�* �&<$03�� u �>� � 0�(0�����30�� !B< * �$% * ��&! 5 6������36�� �B���;! U � �+0����K��� 0CH_E;! O � ������K��� O���^�!�� �&'���G�8 0>H�"\H M��;� #�� 0�� �� ) �� ��� ��^�� �(5�!�������>H * 36C!� * �$% * ��;.��#&!�9 ��# !�"�O �+0�����M�� ���K���\� ! ��#���O�K�\H 5 :�����&� � 0���8��37#A! Q * ���K��� '� !&e(9��!�� 5�R��;� O�� 0�� �� ) �� ��� 5�E���� �+0�����E�8��;��;Q�� * �$% * ��R��;! MA! . * �� 5��� * �KCþ)(Hè9ð6í-��Q ê çKéV��� � í ç � � ÿ ð6í-��Q ê çKé

� ÿ L ë�!ë é�ð6í-��Q � í ç �þ)(Hè9ð6í-��Q ê çKé � é"è/î

� í-��ç ��ëHë Q�( �{� é"è ë)�ê6ë é Y ñ�è�: � ÿ þ6çKé)(9þ"è �� (K��é���éh�'éHþ�� � � ÿ ì ë

þ � ! �ié o í �ë þHé�} Y çgè o � �9ë ñ�è0ðHþ6í�è���éHþ�� �� í-��ç<þ ��ë)�

� ç � éI|�� ÿ çKþ�þ ë þ���ð6í���QYì6ñ�çKìw���L�ñ>: Y é � � ÿ þ)(�è0ð6í-��Q ê çKé � é"è

àM�"�� Z��;.��N��;� Z�K>� ��K *�* �� 5��� * �N�"�' )�)!* 30�8 �B þ)(Hè0ð0í-��Q ê ç�é �����K���\7 ! ��G������K���\?C�_E;0�!�K=f��;����-�O�37����&! 5��(�����$!�� !B@� iaR�K��� 0�� �B��K��� ��� * �BP� 0� * 3X�E����;<����;� ��-�K���\0�J$Q��� �&XaR�K�� � �(��9&!�� �B��KC_E;!���-����B�;0�-�� 5 ��õ�������>0�] *^) �"�� 6�K=f$!�!����;� X�$!� * ����3X���2 �+0�� � �&��;! R&!�"�2��� '>H�9(0�$!� * ���3�$03�(0 ) ���!���� !B�&� �����B� ) ����� 5�� !�F�� I ! 5��$������K�(������" !�W�8�#k$!��B ) �K�(�����(0 * �&�>P� 0�K�B� E��>H 5� * � !B"�.�B" ��W��;.���� * 3N�"4% ��-#A!+0 �&'�� ������R�$!�����K�(5���8�" !�KC_E;! ������ * ����3e���! �(������� ��9ë ñ�è0ðHþ6í�è�� ���!�� ��- * �����M�"�k���K� !���������� ���� 0���2#���� !B * � �>� � 0���JB" � ! 5�K����� !B-���8B" . * �����! !(5���8�" .�

�9ë ñ�è0ð�þ6ígè������ � ðHþ6ígèK�Hñ�é�ñ ë è��� ÿ ú"û D ñ ë è!ç�çKþ�E�è � (0é���åHæ6çgè9é � í ç ���

�9ë ñ�è0ð�þ6ígè�� � �,î<è!çKæ0çKþ�9ë ñ�è0ð�þ6ígè�������ç�� ��� �xþ6ç-��é � î

� ç�é/ç 3 îbç o é6í>: ú"û o �ç 4 î �9ë ñ�è0ð�þ6ígè��@þ6ç���é

ñ�è���ç 3,����� ç 4��<ÿHÿHÿ ��í�þHþ��p(Hè � (0þHþ�U ��= çKþ�:6ç ���_E;! ' �+j�� )!* I$% * �K�É��;!���E��;!���L��;! '�K���\7 ! ����$!�����K�(������� (0� :$% G�!�� 5&.C�`] Z��;! ��� ���� * ���� !B'�K���\j=���;� ��!�� ��#(0� 2(�;.� �B� G��;! ����$%�"�;� �U$% �;.h>0������$03u�����8 �B7��;� e���"�!�� N$!�!�����" !�KC?� * �����( * ��(�\�E� *�* (�;.� !B� #��;! R��3 ) M�"�j��;� M���K�(�\H 5�^$% ��� !BG�!�� �&Q=��E;!� * IE���8B";0�( * ��(�\,�E� *�* ���"B�B * 7��;! 2��$����K�( * ,�>�����&.� !(� :$% �;.h>0�����N$% ����T � � &!��� ) �������3O$Q��� �&��"$!���K�( * �>�����&.� !(� M� �&G�� 5 !�����?$.��� 5&G�"$!���K�( * h>H����&Q� !(5 0C

è!çKé 3 î� �>� ú l\�K����è�( ��� ð � � � ���� åh��� ú 3 � � ���]þ �� åh��� ú 5 � � � �-� ��>� ú 3 �K���]é6í-��Q 3 � � � ���� åh��� ú 4 � � ���]þ �� åh��� ú 5 � � � �-� ��>� ú 4 �K���]é6í-��Q 4 � � � ���� åh��� ú 3 � � ���]þ �� åh��� ú 6 � � � �-� ��>� ú 5 �K���]é6í-��Q 5 � � � ���� åh��� ú 6 � � ���]þ �� åh��� ú 3 � � � �-� ��>� ú 6 �K���]é6í-��Q 6 � � � ���� åh��� ú 5 � � ���]þ �� åh��� ú 4 � � � �-�

�e�Y ç�þ6çé6í���Q 3 î �"ë��Hë þHð�þ6í � Q!ñ5è�: o e ñ�é Y F;* o ì6ñ�� � íKþ�ñ�é�U�F;*é6í���Q 4 îI���Kì�ðHþ6í � Q!ñ�è�: o e ñ�é Y F;* o ì6ñ�� � íKþ�ñ�é�U�F;*é6í���Q 5 î �"ë��Hë þHð�þ6í � Q!ñ5è�: o e ñ�é Y F;* o ��çgèK� ë þ�F;*é6í���Q 6 îI���Kì�ðHþ6í � Q!ñ�è�: o e ñ�é Y F;* o ��çgèK� ë þ�F;*

Page 8: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

4.2 SubsumptionAr chitecture_E;� O���!$����!� ) ������ X���(�;!���� �(������� O��� ) 5��;. ) �^�� � O���?��;! M��������E��&� * 3:(5�8�� 5&X��&! 0�����"� ) ����B"�K������� �Be�� 0�(�����>H �����$%�"���30���� ����n��"=fÍ��]Cj�S���!$����!� ) ���8�" S� ) ����B"�K����2���N��� ������E$ * �9(�\0��������B� Q *���! �(������� !�K�G(��� � ! �(��� 5&�$03��¡�E���� ����Ä * �" !B,�E;���(�;Y�� !�������2����8�" ®����E�KCRd%����B"�K����7��� e&! 5���8B" ! �&��� * h3H ����K=Q�K� !B��� �BX�����"���������)�* * ���E� * �>H * $% 5;.h>0�8�"���T���;���B�;!� * �>H * (��"� )!* �+-$% �;.h>0�������KC"_E;� (5�9����&!�� Q������� ) ���9(� 5���e���"��&! 5A! !�� �Bi(���� )�* �+,$% �;Qh>6���"���e�����"������ )�* ��^�� � ��F�" * 3�&� ) � !&��T�" I���F�G$.�����(#�� 5(�;Q� !�������K���� �;!��$!��������" 2� �&���� )�) �� ��������" .Cg`� !;���$!�������� G�� 0� ��#T����B� . * ��� ) ���";!��$!���� �&�� 9�(�;!�� !B'��;! e�(����Q����"���I� �&:��� )!) �� ��������� 2�� 0� !�O��;� -����B� Q * ����� )!* �(� 5&��E����;<� �����;! 5�R��� )!) �� ������� !B��� 5���K�B� 9CV7 #(9� '�8� )!* ��� � 0�T������ ���;��� !BG���8��� * ��E�8 IaP���"$N$03�������9(��]������ �B ) ���8�"�������8 5�O�E����;:����B" . * �KCPVX G�� 0�����9&!�!(5 -��;� -�]3 ) ���30 !�" 036�ú é�ñ5ò-( � (�� ���"��e� ) �����"���8����È� 5&!������B" . * �K�� )!* 0=% * �" !BG�E����;N���"�� (5�� 0>H � ��8 5 6�G�$!$��� �>0��������� !�K�

é�U � ç D þ�ñ ë þ�ñ�é�U î S�ë ( �� çé�U � ç ú é�ñ5ò�( � (���í�î���í�� D þ�ñ ë þ�ñgé�U �é�U � ç A ç Y í�æ�ñ ë þ�í�î ú"û D ñ ë è!çHçKþ�E�è � (0éºíé�U � ç@L�� ë è9éHþ ë�� î = L D ñ ë è!çHçKþ�F�(0é � (9é

� ) ���8�"�������8È5 �&7$% 5;.h>0�8�"�O(0� : 9���� * 3Z$% �&! 5���8>� �&Z�����"��� 2�! ��) ��������������È� �&Z$% �;Q�>0�����-� !&i ) ������������30��&! 5�� ������� !�� !B-$% �;.h>0�����K�

e ñ�é Y�D þ�ñ ë þ�ñ�é�UV���A ç Y íKæ6ñ ë þ�í� ÿ�A ç Y í�æ�ñ ë þ D þ6ñ ë þ�ñ�é�U� ÿ�A ç Y íKæ�ñ ë þN� ú é�ñ5ò-( � (���í �

e ñ�é Y�D þ�ñ ë þ�ñ�é�U � î ������<����!$����!� ) ���8�" �$% ����T � � ) ��������������È� �&-$% �;.h>0�������.���.(0 ) ���!�� �&G$03��;� O��� *�* ���E�� !BI&� �A! ��8�����" .CH`��E���-R����� )�* ) �"�� 6�]�E���� �� * �(������� Z�"���;� �������-� * �����E�8��;N��;! ;��8B";! ���� ) ���8�"������3j�

��( ��(�òPç-�����A ç Y íKæ6ñ ë þN� ú é6ñ5ò-( � (K��í �� ÿ�A ç Y íKæ�ñ ë þN� ú é�ñ5ò-( � (���í �� ÿ�A ç Y íKæ�ñ ë þN� ú é�ñ5ò-( � (���í �

��( ��(�òPç-� 3MK4 î�� 23,�����<K4��@ÿ�ÿHÿ ��íKþ�þ �K�e�Y çKþ6ç

� ����í 3 � �23�� ����í 4 � �K4���� îñ ���23gÿ��K4 é Y çgè���í 3 � �23�� ç � ��ç���í 4 � �K4��

� ��k�!�k����� * �8 � G� � 5+?�� )!* E��;��K�E�� �B;!���<��;! ��� E(0� �$% E�!�� 5&.CV7 #�O� 0�F���G&! 5A! ! -E����$%�"�^�K���\��E;� ��� R��;! R����$%���F�E� *�* �� !&� ���K� !&���� * 3X�E;�� * Xh>H����&��8 �BZ��$����K�( * ��K= ) ��(�\7� )u) �� ���&! �����B� Q��� �&�"$j�� �(����N��;!��� * &���;! �3<;Q )!) 5 ����u$% Z( * ���� 9=O� �&,���Kh>H * ;!���� �" !(� ' *�*?) �� 5�J&� �����B� Q��� �&��"$j�� �(�����;.h>H $% 5 � ) �8(�\H �&N� ) C_E;� �;!�"���� !B�$% 5;.h>0�8�"���� ) ��K��� ��� ������ �&X�� b�$%�9� * 0� u$% ��;Qh>6���"�-�� !&���(0����� !BZ���E�������-������ U������ 5���!�� u;����� 0C�`��^ ����K=%��;! � ��;� Z;!�"���� !B ) �����"���8�]3,�����/���]C 9CT��;! Z$% �;Qh>6���"�'���' !�"�X�(�����>H 0��=�"��;! ����E���� ���;! ) ������������3I���-��C

Y!ë òPñ�è�:?��� A ç Y íKæ6ñ ë þ A6ëHë��� ÿ�A ç Y íKæ�ñ ë þN� ú é�ñ5ò-( � (��@L�� ë è0éHþ ë����

Y!ë òPñ�è�:�í ����S�ë è!ç,î��éHþ6íKæ0ç � ð ë@Y!ë òPç �o e ñ�é Y-D þ�ñ ë þ6ñ�é�U o ��í ���>S�ë è!ç ÿ�ÿHÿ íKþHþ �K�e�Y çKþ6ç ��� î/ñ �@� é Y çgè 4 ç � ��çl

éHþ6í�æ6ç � ð ë ��� D6ë ñ�è9éI� ÿ�A ç Y íKæ�ñ ë þL�� ë è0é�þ ë��éHþ6í�æ6ç � ð ë@� îNm�m�m

d%��(�\0� ) ���M�� !�����] * ��� �&2�E����;�M�� ��#�"� ) ���� 0���#�� ) �� ��� � 0���� !BU��;� ) �"�������8�" !�k���!��;! ) �� ���&! �����B" .��� 5&���$f�� 5(����k��� ) ��(�\� ) C5`����.����� ) ������R ) ��������������� �&-(��� 0����� * ����B� Q *0) ����� �&��E����;Z.$%�9� * 0� �����B� Q * �� !�&���(0����� !B#�E;! ���;� ��� *8*9) �� ���&! �����B" .��� 5&-�"$j�� �(����.;.h>H W$% � � ) ��(�\H �&

� ) CH_E;! ) �8(�\0� ) $% �;Q�>0�����;� � ) �����"���8�]3I�8���-�! 0��� * ��;! MA������E��$f�� �(5����O( * ���� 9C!_E;! � 2���M�K��8�� 5�O���7�����¿�(��� � 0� * 3e;!��B"; ) ������������36=��Kh3<Î"=�! 0��� * ��;! ��$f�� 5(��#;Q��R$% � � ) ��(�\H 5&�� ) =j��R�E;���(�; ) �"�8 0����;! $% 5�;.h>0�����E�E� *�* �� 0>H�"\H M������ * �Q�� �(5�!������>H * 3I�� N��;! O�� ����E�"�?��;� O��$f�� �(5�) ������������ * �����KC

� ñ � Q�( � ��� � D0ë ñ�è0é-�� ÿ@A ç Y íKæ6ñ ë þN� ú é6ñ5ò-( � (K�@L�� ë è0é�þ ë�� � A0ëHë����

� ñ � Q�( � � ��î���ñKì � ç o e ñ�é Y�D þ�ñ ë þ�ñgé�U o ��ë è��gé6ígè0éIl ������ � ��ë è���é6ígè9ébðHþ)(!ç �

� ñ � Q�( � � � � � � � î�m�m�m_E;! #�� !&! 5���8 �B-$% 5;.h>0�8�"�^;.���E(��� ����K� 0� ) �����"���8�]3U���^m�C�_E;!

) �����"���8�]3i���R��;! u�>�����&.� !(� N$% �;.h>0����������&� ��� ������� ! 5&@$03u���" .���� 0�&!�� !B"�KC?`��G� <�"$!���K�( * '��������¿�(��� � 0� * 3u( * ���� 0=?��;� ) ������������37����K����� �&�������;.��^h>H�"��&.� �(� k��� )�) �� ����� ��^ *�* �"��;! ��f .h>0��B%������" G�K���\0�KC¥F !(5 �� '�"$!���K�( * O;.��F$% � � I����(�(� �������� *�* 3:�>�����&! �&Q=���;! ) �����������]3����h>H����&Q� !(5 N�E� *�* &!��� ) � !&i��;! '����;� ����K���\0���� �B%��� �(��" 0����� * C_E;! &� ��K�� * ����� �����8���� 5&.Ce ígè6ì0ç�þ�ñ�è�:?��� A ç Y íKæ6ñ ë þN� ú é6ñ5ò-( � (K�@L�� ë è0é�þ ë����e ígè6ì0ç�þ�ñ�è�:Yî,þ0ígè6ì ë ò-}�í � Q o e ñ�é Y�D þ6ñ ë þ�ñ�é�U o � ��ë è���é0ígè0é 3��

íKæ ë ñKì0ñ�è�:?��� A ç Y íKæ�ñ ë þN� ú é�ñ�ò-( � (��@L-� ë è0éHþ ë����íKæ ë ñKì0ñ�è�:YîNm�m�m

a.�� . *8* 3��T -(9� 2(����G$!�� � -��;� ��� ) ��������������È� �&2$% �;.h>0�������#�!���� !B��;! M���!$!����� ) �����" e� ) 5�K������KC0àM�"�� ;!���{� ñ � Q�( �������!�� 5&e����(��� 5���� : x�k¨N$% 5;.h>0�8�"�!���K=%�� � ����"� ) ��(�\0�� !BN� ) ��$f�� �(����K=��� � ����"�G�� ��&!��(0����� !B��E;� � 7 *�* ��$f�� �(5���E;.h>H M$% 5 � ) ��(�\� �&I� ) C�_E;� * ����� 5�^���) ����� �&G����Y!ë ò%ñ�è�: �E;� ��� F���j(��� 0����� * �.��;� ) ���8�"������3���6��;! W;!�"���� !B$% �;Q�>0�������K=j���&! ���(�����$% �&i�$%��>H 0C

�>U���é6ç5ò~��� A ç Y íKæ�ñ ë þL�� ë è9éHþ ë���>U���é6ç5ò�î�� Y!ë ò%ñ�è�:�í ���>S�ë è!ç

o �$( ��(�ò!ç-� o � ñ � Q)( �w�o �$( ��(�ò!ç-� o e ígè6ì9çKþ�ñ�è�:o �$( ��(�ò!ç-� o íKæ ë ñ�ì6ñ�è�: �

ÿHÿHÿ ��íKþHþ � �gé �e�Y çKþ6ç

� î � ñ � Q�( � � � 4 l�l�� 4 l�l � �<� 3 l�l8� 3 l�l � �í ���>S6ë è!ç,î �/ÿHÿHÿ ��íKþHþ7��è0ì �� ñ � Q)( �w� î �/ÿHÿHÿ ��íKþHþ � �gé �

5. A TRACKING-B ASEDNAVIGA TION SYS-TEM_E;!���O�� 5(������� 2� *8* �������K��� ��;��K�� !�"���8�" !�O���������;! N )�)!* ��(0������� &!�"�2��� ��R�"�Q����$%�"����(��K=0>0�������� Q=j� !&e���� ��E�� 0�� ������(� ��R(0� N$% O�� 6�� 5�

B��K��� �&:�E�8��;��� 7��;� -�#a c d7���K��� 5�F����\jCPVX G� *�* �������K��� ���;�������B�;T����� )�* E$��!�.����� *�* �� 9 * �������8(R��30���� ��Ç�����W>6�������� ���$.��� 5&�����$%�"�W Qh>6���B%����8�" .Cj_E;� U�K���\:���E��;� �����$%�"�-�������Z��� *8* ���ã� u��$f�� 5(��-�E;�� * h>H����&��8 �B$!��� ) �� !B�� 0�����$����K�( * ��KC�_E;� ��!�� ��W(0� U�� 0�� ��K�(��T�E����;��;! 2��30���� ��¾$03�(�;!�9�"���8 �B<�E;.��N��$f�� �(5�e���<���K�(�\�� !&b��� *�* ���G=�E;!��(�;,\0�� !&@���#���K�(�\H ��U���X���� 0=Q����B"B * �� !Bi��;! N��$����K�( * @h>H����&��� �(� E$% �;Q�>0�����.�" Z� !&��"4W=0� !&Q=����P � �(� ����K���36=����E�8��(�;����#�2� 0�. *(��" 6����� * CVX NA!�����U������ @�"�!�:����� � 0���8�" ,���7>6�����Q * ���K�(�\0�8 �B%CQ_Q�K�(�\H 5�����3 ) �8(9 *�* 3'�Z��� 0�K��� i����K��� O��;Q��E&! 5��(�����$% ��E��;! ) �"�������8�" e�"�Q��;! ���K�(�\H �&i�� 0������� e�� i��;! I>0��&! ��2���K��� 0C?ø# !&� ��-��;� 7������!� ) ������ ��;.��^��;! R���K�(�\H �&I�� 0������� O;.��^ !�"�^����>H �&I���9���h��^$% 5���F 5 � N�]�F�(��" !�� �(�������>H �>6��&� ������K��� ��K="��;! ����K��� #���F���� �&U���'�(5[6������ �� U�8����B" ��� �B����� Z�������ß��;! * ��� ����#>0��&! 5�U���K��� G(5�K>� ����� !B���;� ���K�(�\H �&�� 9����!�� 9Cf�í� x¬�÷H÷6¬ ¶ �8�G��;! 5 X�!�� 5&u���Z(���� ) �!�� U��;� � ! 5�S���K��� 0=� �&<��;! '�� � �&�$.�(�\ * �9� ) ����( * �"�� �&@$637�� � 5&!�� !B:��;!�������:��;! X�(5�[0�!������ !BZ(��"� ) �� � � 0�KCf_E;� '���� )!) ��G�2h3� * ���7�� ������� Y� /�(�(�����K�(53�>! * �! E�E;��8(�;�(0� U$% E�!�� �&���� ��������2��� ���;! E�K���B� �� ) ������������

Page 9: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

������ �(������� 5(�� * 36Cj���8 �(� �� * 3u ) ��������?��;! >0��&! ������K��� ������!�� �&��������;! #(���� ) �!�K������� .=H���K��� ���� * ���K�(�\0�� !B-�8�E������ O �¿�(��� � 0�E��;.� ) ���9(� ������� !B:��;! I�E;�� * N���2�B� u�� * �" !B���G��;! I���K�(�\H �&i�� 0������� &��9 ��R !���E���K>� ���9��[0�!��(�\ * 36C_E;� F�]�F�R�2��� �(5��� ) �" ! � 0���Q�"�..���K�(�\H ������ F��;0�!�j��;! ­�¨H° ¶ ±�¬g=�E;���(�;u�(�[0�!���� ��E��;� M�K���B� ��E����$!���2�B" 0=�� �&N��;� M���� )�) ��K=H�E;!��(�;(5��� ) �!�� ��k��;! F ! ��<���K��� 9C�`] ������k�� ������� !B%=g$%����;���� E����B� Q * ���! �(�������" !�KCK_E;� E��������(� ��K�\H ��k��;� ^�E;!� * ����2�B� �����B� . * � !& ) ���9&!�!(5 ����;� -����$!���2�B� G���8B" . * =k * �" !B'�E����;:��;� ����K��� ��� ��������Z������� :�!�� �&�����#�(5[6�������8 �BM��;� F���!$����2�B" 0C�_E;� ^���� )�) ��.(��� ����!�� 5�.��;! F����B" . *�������¤��;� -���"�!��(� Z� !& ) ���9&!�!(5 ��I���8B" . * �"�F���K��� �>! * �! ��KCP_E;� ñ5èPñ�é ) ��K��� 5�� ��.�� -��;� F���� )�) ��Q��3 ) T� ) �(���A! ��R� -�� ��8���] * ��È0������� >! * �� #�����^��;� #���� )�) ��KC�aP�"�F�� !���K� !(� 0=���;����F(0� N$% ��(5� * ���^>! * �� �����-R(5� * ���E���K�(�\H 5�KC9�#�M�������� Q�R���� )�) ��E���� !(������� ��EB� � � ��K *�* 3I�� �������� @M$ * ��$Q=��E;!��(�;Z���UM�� �(��K� !B"� * ��#�� �B����� :&! 5��(�����$% �&Z$03N��;� � )!) �� * ����-(��"�� ! ��G(��9�"��&!�� .��� ��Z� !&u�E��&!��;b� !&i;� ���B�;0�����E��;� $ * ��$.C

é�U � ç ú þ � �gé6íKé6ç,îú"û �'E5ò!í;:6ç>L X A �M��é6íKé0ç � �'E5òPí>:6ç>L X A �M��é6íKé6ç �

é�U � ç ú é6ç ��� çKþºñ�èPñgé7��é6íKé0ç,îñ�èPñ�éI� ÿ ú"û �'E�òPí;:6ç>L X A �M��é6í�é6ç � ��é6í�é6ç

é�U � ç A��Hë� î��'E�è0é �9E�è0éh��E�è0éh�9E5è0é �_E;� I��� *�* ���E�� !BX�����>H ���3:���8� )!* N���"�!��(� '���� !(������" i��;.��G��������� 5���!�� !����;� O���!$��8�Z�B� 9�

� ë (9þ � ç 3 ��� ú þ �@A���ë�� ë (9þ � ç 3 î � þ ë-� ��ñ�òB� K�Hë� � � ÿ ì ë

þ6çKé)(0þKè�*7� ! �'�$( E5òPí>:6ç���ñ5òB� K�Hë� � � K�Hë� �à# �+0�-�T e&� �A! � u����� )�) �����;Q������� ���(�� * ���������U��&! � 0������30�� !B��;� �� 0����!�� �������K�(�\j�

��ë���ë þ ú é6ç ��� çKþV��� ú é6ç ��� ç�þ�� ë��Hë þ ú ç � ç � é ë þ A��Hë���ë���ë þ ú é6ç ��� çKþ � î�íKþHþ �

e�Y çKþ6ç� ��ñ5òB� K��ë�23�� î<: K�Hë�23

�'��é0ç ��A��Hë� ñ5ò ���: 23MK4 î � çKé��ifh�dUh� e � Y � î 23

�if 4 �iU 4 � e�4 � Y�4�� î K4� í"ì�î 3 l

ñ�è � ñ�ò%ñ�é A jñ ��e�4 ! î-l�ïHï YK4 ! î-l�é Y ç�è 23ç � ��ç��gf-q)f 4 � � íKì ��U-q�U 4 � � í"ì �

e�4 q 4- �� íKì � YK4 q 4- $� í"ì �_E;� i�M�#�8�����" .�,�� Q�����>H YDE�������! �(������� �gé6ç ��A���ë���8�2(0 *�* 5&A������KC6`]�. !�U$ * �"$Z�8�#&! ��� 5(��� �&������M��;� B���>H � Z(5� * ���#>P * �� N���E;!��(�;���"�� ������� ��.;Q )�) � !�K=������j �+j�� )�* W&!�� T��� * ��B�;0�?(5�� !&������8�" !�K��=5��;� ���K��� T�� 5�2��� !�j��;! k�K��� 0CH¥F��;! 5���E�8�� W��;! k � ��X���K��� W���j(���� ) �!�� �&�E����;������� ) �&!&��� !B,������� !&���;! e�� 5B����� ���� ) ����>0��&! iI�K��� ���3�Z���B��� QC\� ñ5ò%ñgé A#���T�!�� �&���� * �������F��;� E(��9����&��� .��� 5���(�(5����&!�� �BG�����;� M��(��� 5 � N&����� � !�����" !�KCHVX R��;! � I(��"�-$��� ! M��;� #���"�!��(� U� !&I��;� ���� )!) ����� i#�� � �&�$.�(�\ * �9� ) ����&� �A! � O�����R���K�(�\� ��K�

òPí>Q6çKðHþ6í � Q�çKþV������é0íKé6ç� ÿ ñ�èPñ�éI� ÿ ú þ � ��é6íKé6ç� ÿ ú é6ç ��� çKþºñ�èPñgé7��é6íKé0ç� ÿ ú"û E5ò!í;:6ç>L X A ��é6íKé6ç

òPí>Q6çKðHþ6í � Q�çKþ{�)lYñ<��þ � ��é � î � þ ë-� ñ5ò�:�� ÿ ì ë þ0ç ��'��( E�ò�:h�M� 3�� ! �k��þ � � ! ��ñ5ò�: �M� �� � ! �k��é � ñ � ! �'��( E5ò�:h�M� 3)�� ! �bñ D þ0çk�)l� ! � �þ6çKé)(0þKè�*7� ! �

òPí>Q6çKðHþ6í � Q�çKþ (0� -$% E�!�� �&-���M&! 5A! ! W���K�(�\H ��k�E����;Z� 03G���"�!��(� ���#���� )!) 5���� * �� �B7��M��;� �3'��;.��� G��;! ��K��� -���K��� ���3 ) 0C6`]�#�� 5����!�� ���E���8B" . * ���! !(5���8�" N��;Q��^�K�\H ��^�E;�� * O���2�B� ��-� �&N�� 5���!�� !���;! ����K�(�\6�� �Be���K��� 9C�à#���� �;��K����;� ��� !�����] * ��È� �&i&� * �32� ) ��K����"�ñ D þ0ç �����!�� 5&e����( * �"�� G��;� * �9� ) C_E;! U � �+0����� ) ��������&! 5A! ! Z ) ��������E�K���\0�G�������� 0�� ��K�(�����>H (��� 0������� Z���?���K�(�\H ����-�

:6çKé A���ë� ���WL ë�!ë éHð0í-��Q A��Hë�:6çKé A���ë� î,ì ë

��3 ! ��:6çKé�� � ñ � Q� çKé�� � î � þ ë-� ñ�è � � ÿ ì ë

ò �!ë � ! �Xò ë (���ç D0ë �� ! ñ�è �þ6çKé;(0þ"è�*I� ! ì�þ6í e L�ç � é ��3 ò �!ë ���4 ! �uò�Q9ð0í-��Q��'� �������k� æ�:�ñ ��A�D��� çKé��gf 3 �pU 3�� î ��3

�gf 4 �pU 4�� î ��4þ6çKé;(0þ"è��gf 3 �iU 3 �)�gf 4 �;f 3�� ���gU 4 �;U 3����

��ë��Hë þ�ðHþ6í � Q6çKþV���TL ë��ë éHð6í-��Q�� ú"û E5ò!í;:6ç>L X AkA��Hë� ���ë��Hë þ�ðHþ6í � Q6çKþ/î,ì ë

K�Hë� l ! ��:0çKé A��Hë�ñ�è � ! �k�5è!í � ð� çKé � î<:0çKé-� ë���ë þ ú ç � ç � é ë þ

�u��( E5ò!í;:6ç���� � æ�ñ�E5òPí>:6çYñ�è � � � K�Hë� l ���éHþ6í � Q/îiòPí>Q6çKðHþ6í � Q�çKþ K�Hë� l � � ë (9þ � ç 3

��ë���ë þ ú é6ç ��� çKþþ6çKé;(0þ"èYéHþ0í � Q

`� :6çKé A��Hë��=#��;� u�!�� 5�Z�� * �(����:��;! iA!�����Z(5���� ! 5�:�"����;! i$ * ��$$032( * �8(�\0�� !BZ��;! * 5���G�������� U$!�!�����" .C%_E;! U(��"�� ! ����� ������� ! �&X$63:6çKé�� � ñ � Q �'��3g�W���O��;� � Z�!�� 5&:���'&! 5A! ! N����B� . * ���� !(������� �� � �H��E;!��(�;<���!� ) �!���e��� �(��K� �B * e������� ��;!����(��"�� ! ��-���2��;! I(��!���� 5 6����"�!�� ) ������������ .C!_E;����M����B� Q * ���� !(������" Z�8�M�!�� �&Z���U�������ÅO�K���\�E;!��(�;b�� ������� .��� ��e�" S * 5���e�����!�� :$!�������� �( * ��(�\j=T�� ����!�� ��� !B��;! -(��!���� 5 6� ) �"�������8�" b��G��;� ��� �(5�� !&7(����� � �����F��;! �$ * ��$b�'�)4���C`� ���ë��Hë þHðHþ6í � Q�çKþ =^G�� . ) ��;!�"��8���K�\H � X�"�^��;! �(��!���� � 0�O�� ) �!��� �(� Q$ * �"$�;.��?$% � � ��� * �(��� �&G���� !(� T��;! k(�� * �"�.����$% T���K�(�\H 5&G�� ������&! R��;! E$ * �"$U�-�����T$% �&� ��� ������� ! 5&U�� U��;! E(5�!���� � 0�W���K��� 0C"_E;! (�� * �"�����?��;� M$ * �"$N���E��;� � N&� ��� ������� � �&u� !&'�!�� �&'���"�E(��� 0����8 �BZ(�� * �"����$.��� 5&e���K�(�\H ��KCKàM���� #��;.��F��;! #A!�����T( * ����E���K������^���f����B� Q *���� !(������" !�G��;! 5�� 0=0��;� M���K�(�\H 5�K�?�8�E(5���!(��] * �� e��;��8�E&� �A! ������8�" i� !&�E;! 5�� -���M���#�!�� �&Z$% * ���G=! �� ) �(5�� *�* 3e��;! e�$!� * ��3N���7Ì�¡"£�²H¸���±�²�©¡©¢¡�� !���K� 6���]��� '� !&e��;! � N���E�8��(�;��� 0���2#����B� Q * ���! �(������� QCø ) ���'��;!��� ) �"�8 0�K=��T �;.h>H G�!�� 5&:�K���\0�O���"���;! G>6�������� 7(������) �� � � 0�M�"�T��;� -��30���� ��2=6$!�!�# !�I(��"���2� �&!�O;Qh>H �$% � � 2�� � 0�M�����;! R����$%�"�KC�_E;0�!�F�T M�� � #��;.��F��;! R�K���\Z�$!�����K�(������� '���^�!�� ���� * �� &!�"�2��� ��R$% 5���8&� ) ���� ����$%��� ) ����B��K������� !BPC� 5�O�!�O ����Ç�!�� -��;! ����K�(�\� ��O�� 7(5�9&! ������O&����8>0�� !B'��;! -����$%�"�� �&U���"�^&!��� )!* h30�� !BN^�� �(��K� �B * R�� I��;! * ��>H #���2�B� R��;!���E�� !BG��;! �� �B"�8�" Z$% ��� !B����K�(�\� �&.C

ì�þ�ñ�æ6ç@î�ì ëéHþ ! � ��ë��Hë þHðHþ6í � Q�çKþ� çKéI� � î � þ ë-� ñ�è � � ÿ ì ë�gf �iUh� e � Y � ! �@éHþk� ! � æ6ñ�E5òPí;:0çYñ�è ���æ �]é � ! �,íKþHþbì�þ6ñ�æ6ç>R�ç � é ë þ7� ! é ë R�ç � é ë þ��ò%ñKì8�ifh�iUh� e � Y ���þ6ç�é)(0þ"è�*7� ! ìHì)R6ç � ð�LYæ�é o ò6þ = çKþ�:6ç o

ì�þ6í e-A��Hë� �ifh�iUh� e � Y �þ6ç-� ! �uò�Q9ð0í-��Q��'� �������k� æ�:�ñ ��A�D��

o í �ë þHé�} Y çgè o � æ�:�ñ�L A�D� í-�"ç@þ6ç-� ë;�� ç � éI|£� ÿ ì�þ�ñgæ6çL!ñ�: Y éI|� ÿ��0ë����Hë>e�=�ë (���ç

Page 10: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

ì�þ�ñgæ6ç>R�ç � é ë þV���TR�ç � é ë þI� ÿ �iR�ç ��ë-� ñ�é�U �dL ë é�R�ç ���ì�þ�ñgæ6ç>R�ç � é ë þ��gfh�iU � î���æh� e\�e�Y çKþ6çí@î,þ6íKì6ñ�ígèIf<Uæ�î � ñ�ò%ñ�é�*�òPí>f�R�ç �Hë�� ñ�é�UN�iQ 3�  f �e î � ñ�ò%ñ�é�*�òPí>fHð)(0þ"èN�'�Hñ>:"è�(�ò�í   Q 4k  í   í �

_E;� -���2�B� ) ����#���W��;! ��� ) ���M����B� Q * �� * �(5�� �&7$03,� æ�ñ�E�è � (0é���-�� �&<�� 0���:��;� I���K�(�\H ��G���:B" �����;� I$ * ��$<���K��� 9Cj_E;! '���� !(������� é ë R�ç � é ë þ �K�\H ��:N��(5�� � � �(��9�"��&!�� .��� 0=W�E;���(�;����I�� ,��;��8�I(0��� ��;� U����&!& * ����E��;! �$ * ��$Q=T� !& ) ���9&!�!(5 ��'-���"��(� I>H �(����"���E;!��(�;(5�� !(5 ) ���Q *�* 3 ) �!��;! 5�.��;! E����$%�"�k�8 -��;! E&� ������� �&�&��8�� 5(������� .C��K�� !(5 ��;� F(0��� ��K.���Q������ 0�� �&��� G��� ) ���6��;! T����$%���E� !&���;��K�E�� �B#�E;Q�������;! 0�&N�"�?��;� #���"$%���K=���;!���^>� �(������T(0� '$% M(5��� ) �!�� �&I�����"�É��;� ���8&�& * U���E��;� U$%�������"�ã���E��;! U��(5�� � � Y� !&u��;� U��(��� � � u(5�9����&!��� Q��� 0CQ_E;� ��� ���� * ���� !B7>H �(����"���� !&��8(9��� ��I�E;! 5��;! �����;� e�K���B� ��U������:��;! * ��������-���8B";0�����R��;! '����$%�"�KC?ÂM���É�G�!(�;i���2��;! * ����-�������B";6�F&! ��� ������8 � ��F��;� #������ !�� !B�>H * �9(5�8�]36C�_E;! R�2�B" !�����!&� M�"�j��;� >� �(������G�����!�� �&u���Z&� ��� ������� � U��;! U���K� �� * ������� Q * >H * �9(5�8�]36Cf_E;� (5�� 0>H ��������� ����P��;� ^���2�B"�8 Q���3-������(5 E>H �(����"�.�8 0���I )!) ��� ) ���]��� E������K������� . * � �&U���K� !� * ����8�" . * >� * �9(������8 5�^���F&!�" ! R$03 ì�þ6ñ�æ6ç>R�ç � é ë þ�E;� ��� $%����;e>H * �9(������� ������ $%���� !&! 5&e���"���K��� 5��3'�� 0����" !�KC_E;� �����B� Q * ���� !(������" � �-$%����;2&!����>H ��M��;! G����$%���K=P$03��� � �&!�� �B��;� ����K� !� * ������� Q * � !&:�����K������� . * >� * �9(������8 5�G���N��;! -(������Z� !&���! �(������� ìHì;R�ç � ð�L =T� !&X&��Kh�E�e��� �(��K� !B * 7����;� �$ * �"$.CP_E;!�������B" . * ���� !(������" 7����!�� 5&:���N&! �A� ! e��K���\Z�E;!��(�;X �����;! 5�O�� �������� Q��� ��� !�����Z *�* 3i�E�8��;� * �����$��!�����" i( * �8(�\u�"�K=?$% �(0����� e�"�#��;� �&!&� �&X�� ������8 Q������� 7(������� ������� Q=f�E����;b����8B";0�$!�!�����" 7( * ��(�\jC�aP�"���;� -�������� 5�O(0��� 9=!�K���\����O�� !�����]��� 5&,�B%��8 : � Q�$ * �� !B'�!�� 5�M���I�� ��* �(5�G� !�"��;! ��E�K���B� ��E���-���K�(�\jC9� * �� ��� .����8>� * 3U�8�j��;! #�K���\I�� �������� Q��� ��F�E�8��;7E����B�;0�F( * ��(�\���;! � I��;� #��>H ��K *�* �K���\����E����(�;! ��^������;� �K���\��0ë����Hë>e�=6ë (���ç =P�E;� ��� ���;! ��!�� ���(0� Z&!����>H ���;! ���"$%���#�E�8��;��;� O���"�!�� 0C9_E;! O&� �A! ������8�" N�"���0ë����Hë>e�=�ë (���ç ���R>� ���3U������� * ��#���ì"þ�ñ�æ6ç =. �+0(� ) ����;Q�����;� e������(� �>� �(��������8��(���� ) �!�� �&<����������;� �����!�� ) �"�������8�" Z��;!���������� �� !���� 0�&����Q$ * ��$.Ca.��B"�!�� ZÍi��;!���E�7� , �+0�� � !������ ,�����;! e �+j�� )�* 9Ck`]�X�&!&��:����� )�* i�!�� ����� 0�� ����h�(� 0=E���"�� u�!�� ��Z�� 0�� ��K�(������� �� !&���$!���K�( * h>H�"��&.� �(� 0CP_E;! ����8B" . * ���! !(5���8�" @ (0é ú�X &��K��E���;��� � �$��!�����" !�K=�]C 0C#�� 5(��K� �B * ��X�E����; * �$% * �:�� !����&! 9C#_E;! i �>� � 0�:���"�!��(� (9éHåB" � ! 5�K��� ��� 5>H � 0����(��"���� �� ) �� �&!�� !B2��� * �����$!�!�����" i( * ��(�\0���� ����8&� I�� �(��K� !B * 0=Q�E����;,��;� N 5>H � 0��>! * �! '� ) �(�����30�� !BX�E;!��(�;@$!�������� ��� ) �� ����� 5&.CR_E;� <�� ���� * ���� !Bb �>� � 0���,��� <�� ���B� 5&��8 0�����" ! <$03 (0éHé ë è9å CW_E;��8�UA� . * �>H � 0���E� *�* $% e�!�� 5&Ç��U��;! e�� 5������ .����� �B 5>H � 0�T�"�j��;� �&!����>0�8 �B�K���\�����(�;!�9�"�� M$% ��]�F � � U&���4% ��� � 0�T(5�� 0���� !��Q������� ��KC6_E;� ���F��A!������$!�������� !�G *�* ������;! O���� ����������E����(�;����Z � ����K���B" ��K=%� ) �(�����30�� !B���;Q�� �����;� ��(�� * �"�G���K�(�\0�� !Be���&!��� ) �������]3X���K�(�\0�� !B2��;!�"� * &<$% '���� �&.Cf_E;! I��;!����&i$!�������� i���E����(�;! �������Z� 0�. * (��" 0����� * C_E;� ����B�;0�E$!�������� '�8������ �&e���-����B�B * G��;� O��$����K�( * 'h>H�"�8&Q� �(� $% 5;.h>0�8�"���� º� �&��"4WC?_E;! N���8B" . * ���! !(5���8�" í ��� (�ò�¤ ë�� ì �K�\� ��� , �>� � 0���� ) ��������B� Q * �E;! ��� ���;� e �>� � 0����(0�����3<���! !(5���8�" !�U�"��]3 ) í<� ÿ í C�`��W�2��� 0�K��� ��� U�� 0�� ��� Q * ���K��� R�� ��8���] * ��È� 5&N�����;� ��� )!)�* �� �&G�� !�����] * >P * �! 0C5_E;� ^>P * �! F�"�!��;��8�?���K��� ^���R * ���#��;! F>! * �� �"�Q��;! M(��� 0���� 0�!�����^����� ) ���^����B� . * C6V�;� � ! �>� ���� N �>H � 0�^�9(5(��!���K=��;� ���� !(������� Z(9������� �&Z$03I��;! �>H 5 6�E���R�!�� �&e���U(���� ) �!�� 'M � ���� 0�� ��� Q * ���K��� 0C"_E;��8�W�� 0� !�W��;.�� é ë :�: � ç�F;* ���MF$%�9� * 0� U����B" . *(�;.� !B"�8 �B�$% ����T � � ðHþ)(�ç � !& û í � ��ç �>H ���3G������ -E����B";6�W$!�������� 5>H � 0�U�9(�(������KC é ë :�: � ç�F;* ���I$%����;����� �&,���u������ ,��;� Z��$!���K�( * h>H�"��&.� �(� '$% �;.h>0�������" �� !&i�"4W=^� �&<���Z&!��� )!* h3u��;! I(������� � 0��"$!���K�( * eh>H�"��&.� �(� ���9&� �� ���;� O��(��� � � e�8 <ë� ��íKæ ú�X C_E;� 2�M�M�������� Q�����! �(������� Së� � � ñ�è!ç�� �� ������� !�X * �����N��� * �8 � ���E;���(�;S��� ) ���6�� 5(������� !�N���G��$����K�( * ��u�;! 9�&.CW_E;! ��� * �8 � ��i��� ���� �&$03 é ë R�ç � é ë þ 4k�E����;���;! ) ������������ ��"�6��;� k���K�(�\H �&��$f�� 5(��?�����

Ñ vxrP~Qp�z{¥PÓP¦e�gz0p¨§�vxwfÙ�z0p�Ø]s�{HzÇÖ�|Qvª©xz�p�q��kqPÙ�vx�@wQs0ÕjvxrPs�Ù�vxwQrÙ�q6Ö-s�p�ÚQ�UÙ�|QzZÙ�p�s�{)«%z0Ú,qK�J¬�z0{HÙ

(��"� ) �����8 �BIF���"��(� �>H �(����"�k�����WB�����&!�� !BO��;� E����$%�"�KCK`��!��;! ��� E���W !���$����K�( * E����B�;0�Q�� G�����" 6�.�"�!��;� F����$%�"�K=��8�?B��9 ��k���"������&�$03��� *8* ���E��� !B���;! �������(� #>H �(����"� ) ���9&!�!(5 �&U$03���;! ����K�(�\H 5&U��$f�� �(��KC�`]����;! ��� ���� U��$!���K�( * #�� U������ 0�K="��;! �( * �"�� ����^B% ) $% ����T � � U��;� R�"$!���K�( * ����;.��E��� * ���B" � � !�"�!B�;N���"�#��;� O����$%�"�R��� ) �������;������!B";e�������"�! !&Q=� �&N� !�"��;! ��?������(5 ^>H �(����"�?���Q(��"� ) ���� �&���������&��.��;!���?BP ) C6���� !(� ��;! ��2�B� ��8����&! �������;� R�"$!���K�( * Uh>H����&Q� !(5 #>H 5(������W�E� *8* �8 �(��� 0��� ��;! T( * ���� ��#� -�"$!���K�( * F�8�K=���;��8�.>� �(������?�E� *�* �>H � 0���Q *�* 3O&!�"���� .��� ��>H �����;! ���K�(�\0�� !BU>� �(������K=9(0��!���� !BI��;! ���"$%������� ) ����#��;�������B�;��;! IBP ) Cf�M���� 5����;! I�"$!���K�( * ';.���$% � 5 i( * 0��� �&Q=j��;! I���K�(�\0�� !B>H �(5�������E� *�* $% e&������� .� 0�Z�BP��� º� !&<��;� N���"$%����(��" 0���8 0�� ������&!����>H U�����O���&!�G��;! U���K�(�\� �&u��$f�� 5(��KCj_E;! U��;�����&u$%�9� * 0� º���B������ � 0�Q�"� é ë R�ç � é ë þ 4F�8�.���� �&G���#������ -�"$!���K�( * Gh>H�"��&.� �(� F�" Z� !&��4WCa.��B����� 'ÎR��;!���E����;! M�!�� ��E�� 0�� ������(� �� i#���K��� (5������ !B��������

��;! '���� ��� ��:(0��� ��K'�����! 0�� �&<�" @��� ) ���M��;� N���"$%�����E;�� * N��;! ����$%�"���8��&����8>� � e$03 ì�þ�ñ�æ0ç 4�C

6. CONCLUSIONS_Q�Z&Q��� 0=�����$%��� ) ���"B��K������� !B2;.��-$% � 5 /� /��� 9����8�� N�E����;�� ! ��K>!�����>H - )!) ���P�(�;! ��T�����30���� ����� !&U���"�����O��� #&! �>H * � ) �� 5 6�$!���I�� * �����>H * 3 * �(�\0�� !B<�� ) ���� !(5� )�* �&Ä� Q * 30�����KCB­T ��K=.���N���u� ��� 9���;.�� ) ���K>0��&! 5�e� X�� 0�� ��� ������� !B@� !&u(�;. *�* 5 !B��� �BZ$.������G���"�) ���"B��K������� !B * � !B"�.�B" M�� ��� 9���(�;.CH`� ) �������(�� * ��K=9��;� #�h�(��F��;.�� * ���"���� *�* � ) ��K������� !�e��� I$Q��� �&u�" u������ ���>!���30�� !B�[0�.� 0���8���� ������ !&� � �&.=P������ ����N�± ¶ �¡ x�¡±�²H©!�h�(����"�K�E�� 7�������N * B"��������;!���G��4% 5��� ! 5�É� !&N�8 0�� ��� 5�����8 �BU(�;Q *�* � !B" ��R��� ) ���"B��K������� !B * � �B��Q�B� 5�KC¥F�!�M �+ ) ����� � !(� -�E����;Xa c di;Q��O$% 5 � 7[0���8�� ) ���"�������8 �B%C%VX ;.h>H ������� !&7�8����e$% 2-®! 5+6��$ * Z� !& ) ���F ������ * �� ���;!�9&7���"�G�� ���� �B"�K����� !B2��;! U>!������"�!�G���8�� ���$.��� 5&i(���� ) �!�K����8�" !�G�� �[0�!���� �&i�� >0�����8�" .=�����$%������(��K=�B��K ) ;!��(��K=T� �&u;0�!�2� !���2�(�;!�� � ��� 6�� 5�K�(������� QCaP������;! ������"�� 0=P��;! -�� �(� � 0�&! 5>H * � ) �� � 0�O���T�Ma c d<;Q��$% � 5 �B��� 9�� ) �K�(5���8(9 * ���� ) ���"������&U�8 ��� ������k���P��;� E��(0 * �$!� * �8�]3��"�%���!���30���� ����KC���#��;� -�K��� ������� 9=!�F G;.h>H * 9��� ! 5&:�� 5>H ��K *.* ������" !��� 2��;! �!�� �"�Qa c dfC9a.�������K=0�T �;.h>H O�����! �&e��;Q��������������9� * \0�����R(0� � !���$% O���� 0��� �&X���$ * �(�\U$%��+0 ��E�E����;iR���� �B * 0=9;!��B�; * �>H * �� 0�� ������(� 0CaP�"�- �+j�� )!* 0=j�"�!�G>0�8�����" i(��9&! '���-��� ) �"���� �&���e * 5>H * �E;��8(�; *�* ���E��!�#���'�� 5&! �A� ! G������ -���k��;! G�! �&! �� * 30�� !B:DE��É�$!�����K�(�������� ��e�� 9C BPCF�>6�����Q * ���K�(�\H ��K�^�� Xa c dfCP_E;��8� * �>H * �"�E�8 0�� ����h�(� ���E����E������ O®� �+0��$ * U� !&'�!�� ���� * �E;! 5 e�� 0�� �B��K����8�" e�9(�(5�!���KC��K �(5��� �&.=P�F �;.h>H ������� !&X��;Q����;� ��� ����������� � b� .������K * �>H� * �!������ �����"��;!��B";!� * �>H * ��a c dT�j(5�9&! O��� * ���E� * �>H * �� 0C BPCjDE���j(5�9&! I�� )�)!* ��(0������" !�O&� �>H * � ) � !&Z���9� * ��$%��+e&� �A!(5�8 5 !(��� ��� )!) 9��KC��#��

Page 11: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

ì9íKé6í ê í�æ�ñ>:6íKé6ñ ë èK| =6ë ì0çbî� ë��Hë þHðHþ6í � Q!ñ�è�:Ãï S ñ�� � íKþ6ñ�é�UHðHþ0í � Q!ñ�è-: ï = ígè�(!í � (0é 3 � (9é 4 � (9é 5 ��� A��Hë� (0é 3 î�� 3 l8� 3 l���®�l8� 4 l � ���/�Hñ5ò%ñ � íKþ �0ë þ (0é 4 ígè0ì (0é 5 (0éHå���� A��Hë� � ÿ í/� ÿ ú"û D ñ ë è!çHçKþ�E5è � (0é���åHæ0çgè0é/í � (0éHå�þ6ç � ébþ6ç-�Kî � æ�:�ñ ��A�D�ÿHÿHÿ ��íKþHþ ��Y ç � Q �

e�Y ç�þ6ç� �gf�l8�PU�l8� e � Y � �gf �dU � î�f ÿ î�f�l ��� f ! î)f�l�q e���� U ÿ î�U�l ��� U ! î)U�l�q Y��Y ç � Qºç�æ�î�� � ñ � é6çKþ�åN� � þ6ç � é � çKæ � o é6í;: o þ6ç-�

(0é 3 åh� (0é 4 åh� (0é 5 å���� ú"û D ñ ë è!çHç�þ�E�è � (9é��]åHæ6çgè0é ê íKæ�ñ>:6í�é�ñ ë èK| =�ë ì0ç � (0é 3 åYî (0éHå (0é 3 � ë��Hë þHðHþ0í � Q!ñ�è-: (0é 4 åYî (0éHå (0é 4@S ñ�� � íKþ�ñgé�UHðHþ6í � Q!ñ�è�: (0é 5 åYî (0éHå (0é 5�= í�è�(!í � (0éHé ë è9å?��� ú"û D ñ ë è!çHç�þ�E�è � (9éN��åHæ6çgè9é ê íKæ�ñ>:0íKé�ñ ë è�| =�ë ì0ç � (0éHé ë è9åYî � þ ë-� ñ�è � � ÿ ì ë

��ç 3 ����ç 4 �hç 5���� ! ��� (0é 3 å �����< (9é 4 å ������ (0é 5 å � � ! ñ�è �þ6çKé;(0þ"è�*7� ! �>= çKþ�:0ç�ç 3 � ��= çKþ�:6çbç 4 ç 5�� (0é ú�X î�ì�þ6í e-A��Hë�k (0é 3 o ò6þ = çKþ�:6ç o ì�þ0í e-A��Hë�k (0é 4 o ò6þ = çKþ�:6ç o ì�þ6í e-A��Hë�k (0é 5

o ò6þ = ç�þ�:6ç o � æ�: ë FKæ6ç�þ � í;UHð0ç;fHé�� 4 l8� 4)n�� ����F � F>LYð�L-*���¯Hå�LJ�ML6ç"ìo ò6þ = ç�þ�:6ç o � æ�: ë FKæ6ç�þ � í;UHð0ç;fHé�� 3�n � n�n�� � ú ð�å�L9å�F�ð�L�*-��¯Hå�L2�ML�ç"ìo ò6þ = ç�þ�:6ç o � æ�: ë FKæ6ç�þ � í;UHð0ç;fHé�� 6 l8��° n�� � = * ê)± * � �ML6ç"ì

ì"þ�ñ�æ6ç 4 é�þ6í � Q9ð0í-��Q/î�ì ëéHþ ! �@éHþ6í � Q9ð6í-��Q� çKéI� � î � þ ë-� ñ�è � � ÿ ì ë

þ �� å ! � � æ�:�ñ�L A�D � ! ñ�è �é ë :�: � ç�F;* ! ��í ��� ("ò�¤ ë�� ì û í � ��çk� ! þ �� å o é6í;: o è ë é�gfh�pUh� e � Y\� ! �@éHþI� ! � æ�ñ�E�òPí;:6çYñ�è �� � ! � ë� � � ñ�è!ç-�£� ! � æ�ñ�E�òPí;:6çYñ�è ���æh�Jé � ! �,í�þHþbì�þ�ñgæ6ç>R�ç � é ë þ� ! é ë R�ç � é ë þ 4k� �z��ò%ñKì��gfh�iUh� e � Y ��� é ë :�: � ç�F>*þ6çKé;(0þ"è�*7� ! ìHì)R�ç � ð�LYæ,éo ò6þ = ç�þ�:6ç o ì�þ0í e-A��Hë� �gfh�iUh� e � Y �

o ò6þ = ç�þ�:6ç o (9é ú�Xo ò6þ = ç�þ�:6ç o ë� ��íKæ ú�X é ë :�: � ç�F;*

þ6ç-� ! �uò�Q9ð0í-��QN�'� �/�����< (0éHé ë è9å �� í-�"ç@þ6ç-� ë;�

� ë��Hë þ�ðHþ6í � Q�ñ�è�: � ÿ ì�þ�ñ�æ0ç 4���ë��Hë þHðHþ6í � Q�çKþS ñ�� � í�þ�ñ�é�UHð�þ6í � Q!ñ5è�:²� ÿ ì�þ�ñ�æ0ç 4 ì6ñ�� � ðHþ6í � Q6çKþ= ígè�(!í � � ÿ<�0ë�����ë>e�=�ë (K��ç 4

e�Y ç�þ6çë� ��íKæ ú�X � î � çKé7��éHþ�îYñ ��� é Y çgè���F ��é0í ��� ç/*Hæ ë ñKì0ígè � çN���+F ê �ç � �"ç{��F �gé6í ��� ç/*Hæ ë ñKì0ígè � çN���+F û�û �

ñ5è � æ�: ë FKæ6çKþ � í;UHð6ç;f�é�� 3 ��l8� 4 l � ��éHþ<L�ç"ì

Ñ vxrP~Qp�z�³PÓB´Çs!vxw�Ù�s!��«<ØJqPpIyEpKs�{)«fvxwQr)§��Qs!�gz0Ú/µes6ÕfvxrPs�Ù�vxqPw,Þ�¶j�gÙ�z0t

Page 12: System Presentation – Functional Reactive Robotics: An ... · System Presentation – Functional Reactive Robotics: An Exercise in Principled Integration of Domain-Specific Languages

�� 5��� * �K=f��;� ��� U���eG .������K * �� ���B��� �B����E���! !(5���8�" . * ���]37��>H �����;� * ���� ��"�W ) ���6�� 5(��KCKa.�� . *�* 36=g�F �;Q�>� ^���"�! !&-��;.��.�F����\0�� !BM�8 �a c d���-�8&� 0 * ���"����;! ) �������"��3 ) �� !B/�x$% �3H�" !&u��;� I���K��� I���E��;� X����KC �_E;� �®! �+0��$ * ����(�� * ������ ��^�"�%a c dX��� !&��8���W ��G$% �&!&��� !BO�� �Â����\H *�* ��Z�\H U���e� u��&! 9 *F)�* ������"��� ���e&!����(���>H ��N� �&u&! 5>H * � ) &����2��� �$!�����K�(������� !�KC

7. ACKNOWLEDGEMENTSV7 OB��K��� ���� *�* 37�(�\0 !��� * �&�B� ��;! M��� )!) �"���^���?��;! Mà��Kai�� !&! 5�B"�K� 0��¹T`]�M��½�½"½���Í%�'�7� !&e��;� l � c d9�ÉÏ�� c � ) ����B"�K��2C

8. ADDITION AL AUTHORS�#&!&��8�����" . * ��!��;!�"���K� l ������!�E¦j�!����(�;!\!#�¸·���;! ��.ÂM� ) \0�� !�Qø# !���>� ���������36=^ ��2�� * �` (0þ�� �$Y Q�í�¹ � �8m �>Y (Bm�ç"ì;( �i� !&�·���;� ßd! ��� ������" ­M * ø# !��>H ���������36=H ��Z�� * �\� çKé0çKþ�� ë è�¹ � �8mºU0í � ç m�çKì;( ��C

9. REFERENCESn8m�� c C0� * ���K= c Cf�F�������Q=�­�C0Â#�!�K=H�UC�»�!�Z��K=f� !&N`gC � � 9CÏ��9&!� * ��R� ) �(���A!(0������� Z���?;630$����8&'��30���� ������� <D?ÂM� c ¥FàUC`� �¼½�8¾�¾?= ) �B" ��-�'¿%m"½�=Q�u���)�%Cn8��� c CjDEC9�M��\0�� .C À^¬g¢H²�´g�¡¨ ¶ â]ª�²H­�¬�Ì�³W¨Hª�¨H x�¡±g­�CQÏ�`�_Sd%�� ����K=m�½"½�»"Cn8��� c C0��Cf¦f���9��\0�KC6������$!����� * h3H 5�� �&�(��" 6����� * ��30���� ��������-���"$!� * G���"$%���KC2a¸ÁwÁ%ÁÂ9¨H° ¶ £!²H©j¨�áM³T¨Hª�¨H x��±g­²H£!ÌÊE°0 x¨H¸�²� x�¡¨H£!=0� ) ��� * m�½"»��"Cn Í"� c C0��Cf¦f���9��\0�KC6`] 6�� 5B��K��� 5&���30���� �����$.��� �&e�" �$% �;.h>0�������KC�Ka;]WÊ#³ÄÃ@À^°0©¡©Á¬g x�¡£!=��"��Í%��� Í%�u¿%Î'�P=.m�½"½�m�C

n8Î��I�C9ÂU�B" ���� !&�·HCfd! ��� ������� QC6�����K� !���������2������� . * )�) ���P�(�;�������;! M&! �����B� e���.����$%�"���������]���� 0C�`� X³W¨Hª�¨H x�¡±g­³W¬g­�¬�² ¶ ±g¢�ÅCÃ?¢�¬�ÆR�¡£! x¢Pa�£! x¬ ¶ £!²H x��¨H£!²H©��K¡K¸R÷6¨H­��¡°0¸�= ) �B� ����Î"¼'¿P����ÍPC.� ) ���8 �B� ��E�W �� * �BP=?�u�����PCn8���I�C l C0Â��B" ��-� !&d»'C0_?�K3%��2"C6_E;! :�x�M�#�����8�" !�U��30���� ��2��ºB" � ! 5�K *?) �!� ) �"�� ���!$!�����K��� ���"�R�� 9 * �����8�� >6�������� )�)!* ��(0������" !�KCǾ?¨H¸�÷ È#Æk��­���¨H£KÉ a�¸-²H·g¬�_.£!ÌH¬ ¶ ­� x²H£!Ì��¡£!·�È¡=��½"��m��������u¿%�"¼�= ·H� .C?m"½�½"»�C

n8¼��O�UC9ÂUh30����&i� !&iC c Cjd�Cfd.�� * C c �"$%�����2� !� ) � * ������(��" 6����� * �� !&� ��E�! ��8+ c DED � �j#���"$%����(��" 6����� * �PD?� * �8$��K���36CÃ?¢H¬ta�£! x¬ ¶ £!²H x�¡¨�£!²H©8Â9¨�° ¶ £!²�©?¨�á#³W¨Hª�¨H x�¡±g­³W¬g­�¬�² ¶ ±g¢�ÉÊ �¡£! x¬ ¶CË�Ì�Í�Î =?Î"��Í%����½�Í)¿%m"m�m�=.m"½�»"��C

n8»���·HC0ÂM�!B";! ��KC��F � � ��K * ������ !BI���" .�&������2��������E�KC���±g�¡¬g£!±�¬�¨�á¾?¨H¸�÷�°0 x¬ ¶GµW¶ ¨g· ¶ ²H¸�¸-�¡£!·g=j��¼"�8�"¼'¿Pm�m�m"=.ÏZh3u�u�����PC

n8½��OaRC9`� !B"�K� �&.= c C�D?;.���� * "= c C0� * ����]=?� !&NaRC c ��$% ����KCfd%���K��º;���B�; * �>H * ��� ) ���>0�8�����" <� �&e(��" 6����� *?* � �B��Q�B� ������������� ������"�!������$�� * ����"$%�����KC6`] µW¶ ¨g±�ÈW¨�á# x¢H¬�a¸Á%Á%Áa�£! x¬ ¶ £!²� x�¡¨H£!²�©Ç¾?¨H£Ká¸ÈW¨�£Z³T¨Hª�¨H x��±g­²H£!Ì'ÊE°0 x¨H¸�²H x��¨H£!=Ï��� ! � 0 )�* �"���K=�øU���U=%m�½"½��"C

n�m'�"�aRC0`] !B��K� !&Q=fÏZCj�F �����B" �4W=?� !&N�UC c ��%C9�M i���(�;����� �(����!�� �������� 0 * �J������ ��� 0����� ��8 �B:� �&e��30���� ���(��" 6����� * C�a¸Á%ÁwÁÁT«�÷6¬ ¶  x=Q¼����"��=jm"½�½"��C

n�m�m��C»'C�»�" !� * ��B� 9C?D?� * $% ������H� * � �B��.�B� ����"���� 0�(�����>H (5�� 0����� *�8 e�K )!) ;!���K�C9_Q �(�;! ���(0 * �� ) �����K=f� c `F`] 0�� ��� .����8�" . * =2·��� ! m�½�½"¼�Cn�m����C»'C�»�" !� * ��B� 9=�»'CfÏ�3H ����K=f� !&N¹OC c �!� ) �� ���C9_E;! �K ) ;��8�K���(�;!���� �(������� 0�0��&! �����B" ����"����!���� ����G36C Â9¨H° ¶ £�²H©Q¨�á

ÁT«�÷6¬ ¶ �¡¸�¬g£� x²H©Q²H£�Ì�Ã?¢�¬�¨ ¶ ¬g x�¡±�²H©QÊ ¶  x� ÀQ±g�¡²H©2a�£! x¬g©¡©Á�¡·g¬g£�±�¬g=?½�=m�½�½"¼�C

n�m����'�!C � � �B%C9_E;! +0>0�����8�" .�#���"���]���� ���30���� ��2=fÏZh3u�u���Pm�CÏZ����� ��R_E;! ������K= l ) �KCH�"�RD?��� ) �!�� ��G��(��� � !(� 9=6_E;! T·���;� !�ÂM� ) \0�8 ��EøM ��8>� ���������36Cn�m�Í"� l CjÏ�( l ������"���KC0���� 0�(�����>H )�* � * � �B��Q�B� 9C6_Q �(�;! ���(0 *�� ) �����K=-­O * øM !��>H 5�����8�]3 l ) ������� � 0�E�"�RD?��� ) �!�� ���K(��� � �(� 0=fm�½�½"m�C

n�m�Î��ÂUCHàM� * ������ Q=6�UCfD?�������� ! �36=�� !&�·�C?d! ��� ������" .C9a.�! �(������� . *c 0�(�����>H Id%����B"�K������� �B%=�(��" 0���8 0�� �&.Cf�K��$!�������� �&'���"�) �!$ * �8(9������� Q=J·��� ! '�u���%�"Cn�m���� c C�d.��� 5������ .C0�º � ��Y !���K������� ���������������E�KC6`] �a;¾?¯ µTÏ Ð�Ë Åa�£! x¬ ¶ £!²H x�¡¨�£!²H©Ç¾?¨�£Ká�¬ ¶ ¬g£!±�¬�¨H£Z¯P°0£�±g x�¡¨H£!²�© µT¶ ¨g· ¶ ²H¸-¸��¡£�·g=) �B" ��-���"½'¿%��Í��P=!a.�8�� 5 !È� 0=0`��K * 36=��u���%m"Cn�m�¼��P·HCjd! 5�� ������� Q=?�C9ÂU�B" ��K=?� !&udfC9ÂM��&.�\?CH� * � !B"�.�B" ������&! �( * ��K�����>H ����$%�"����( ) ����B"�K������� �B%C6`] µW¶ ¨g±�¬�¬�ÌH�¡£!·g­�¨�áa¸ÁwÁ%Á^¾?¨H£�áuÈk¨H£Z³T¨�ª�¨� x�¡±g­²H£!Ì'ÊE°0 x¨H¸�²� x�¡¨H£!=jÏZh3um"½�½�½"C

n�m�»��P·HCjd! 5�� ������� Q=?d�C0Â#�!&Q�\j=%� �&<DEC0¹ *�* �8�"���KC � ��-$%&QR�� ���������� Q�jD?�" 0����� *�* �8 �BI����$%�������E����;�Â����\H *�* C6`] µW¶ ¨g±�È Ë ­� a�£! x¬ ¶ £!²H x�¡¨�£!²H©Ç¾?¨�£Ká�¬ ¶ ¬g£!±�¬�¨H£ µW¶ ²H±g x��±�²�©QÊ#­¡÷6¬�±g x­�¨�áZM¬�±g©Á² ¶ ²� x�¡´g¬WÑP²H£�·g°0²H·g¬g­PÒ µ ÊÄZ"Ñ Ï Ì�Ì�Ó = ) �B" ���½�m'¿Pm'�PÎ�=·H� 0�.���3um"½�½"½�C

n�m�½���UC c 5�8&Q=J·�Cjd! ��� 5������ .=jd�C0Â#�!&.�\j=f� !&u�C0Â��B� 5�KCd����"������3 ) �8 �B��� 0 * �������� >0�������� ���30���� ����K�0�M N �+ ) ������� � 0��8 l � � &! �����B" .C6`] µW¶ ¨g±�È%Ô Ë ­� �a�£� x¬ ¶ £�²H x�¡¨H£�²H©�¾?¨H£�á�¬ ¶ ¬g£�±�¬¨H£9�!¨�á� x�k² ¶ ¬�ÁW£!·g�¡£�¬�¬ ¶ �¡£�·9ÒÕa;¾��KÁ Ï Ì�Ì�Ó =fÏZh3um"½�½�½"C

n��'�"� c C��K�������� !�-� !& l CH� ) �� * $Q����2C0���K���\'&! ���(5��� ) ������ * � !B"�.�B" ����������"$%���R(��� 0����� * C9`� µT¶ ¨g±�¬�¬�ÌH�¡£�·g­d¾?¨H£Ká�¬ ¶ ¬g£!±�¬¨H£9a�£! x¬g©¡©Á�¡·g¬g£� T³W¨Hª�¨H x�¡±g­²�£!ÌP�K¡K­� x¬g¸-­�=Qm�½"½�»�C

n���m��PÖjC9Vb� i� �&id�C9ÂM�!&Q�\jCHa.�! �(������� . *^c 0�(�����>H d����"B��K������� !BU�����"�ßA!����� ) ���� �(�� )!* ��KC6`] µW¶ ¨g±�¬�¬�ÌH�¡£!·g­�¨�á x¢H¬tÔ Ð�Ð�Ð Ê1¾�×V�Ka;] µ ÑjʽÆN¾?¨�£Ká�¬ ¶ ¬g£!±�¬-¨�£ µT¶ ¨g· ¶ ²H¸-¸��¡£�·ÑP²H£!·g°0²H·g¬�ZM¬g­��¡·g£2²H£!ÌPa�¸R÷%©Á¬g¸�¬g£! x²� x�¡¨H£!= ) �B� ��-��ÍP�'¿P��Î��"=�O� !(��"�!>H ��K=�¦j����������;<D?� * ���-$��]�=?DE� .�&.�=J·��! � '�'�)���%C