Introducing Safe Jumps in Esterel Olivier Tardieu
Schizophrenia and Reincarnation Schizophrenia and Reincarnation ���� ���� ����������� ����������� ����������� �������������������������� ������������ ������������ ; ������ ������ ������ ������ ������ ������ ��� ��� ��� ��� ���
Efficient Reincarnation? ���� ���� ����������� ����������� ����������� �������������������������� ������������ ������������ ������������ ; ������ ������ ������ ������ ������ ������ ������ ��� ��� ��� ��� ���
Non-instantaneous Goto Goto ���� ���� ����������� ����������� ����������� �������������������������� ������������ ������������ ������������ ; ������ ���� �� ��������� ������ ������ ������ ������ ��� ��� ��� ��� ���
Outline • Esterel • Goto – formal semantics – restrictions • Applications – Automata – Schizophrenia
Syntax • nothing ������������������ • pause • p ; q �������� • p || q �������������������� • loop p end ������������� • signal S in p end ����������������� – emit S – present S then p else q end
Logical Semantics • Reaction: • p = program • E = inputs + outputs b p, E → p’, E’ • b = terminates? • p’ = residual • E’ = outputs • Execution: ����� • p, I ∪ O → p’, O O O’ iff p ⇒ p’ ⇒ • ���� • p’, I’ ∪ O’ → p’’, O’ I I’
Rules – 1/2 ��������� → ���������� ��� → ����� ��� → ����� true b b’ �������� → �� �������� ∪ �� b ∧ b’ ����� � �� → ���������� false ��� → ����� false � ∈ � ������������ → ����������������� false ��������� → ����������� true ��� → ����� ��� → ����� ��� → ����� true false b ������ → ����� ∪ �� ������ → �������� b false
Rules – 2/2 ��� → ����� �� ∈ ∈ ∈ ∈ � b ����������������������������� → ����� b ��� → ����� �� ∉ ∉ � ∉ ∉ b ����������������������������� → ����� b ��� ∪ ��� → ����� �� ∈ ∈ ∈ �� ∈ b ������������������� → �������������� ������ ��� b ��� ��� → ����� �� ∉ ∉ ∉ ∉ �� b ������������������� → �������������� ������ b
Examples �� ∈ ����� ���� �� ∈ ����� ������������� → ����������� �� ∈ ����� ���� ���� ������������� → ����������� �������������������������������� → ����������� ���� ���������������������������������������� → ������������� �� ∈ ����� �������������������������� ������������������������� → ������ �������������������� ���� �� ∈ ��� ���� ����� ������������ → ������������ ����������� → ����������� ������������������� → ������������ ����� ����� ���������������������������� → ������������������������������������
Goto? • Syntax – goto label – pause label (pairwise distinct labels) • Semantics – Collect labels reached by the reaction – Compute residual by combining: • initial statement p’ ≡ < p | L > • with labels
Labeled Logical Semantics Labeled Logical Semantics ��������� → ���������� ��������� → ������������� ��� → ����� ��� → ������! ��� → ����� ��� → ������!� true true b b b’ b’ �������� → �� �������� ∪ ���! ∪ !� �������� → �� �������� ∪ ���! ∪ !� b ∧ b’ b ∧ b’ ����� � �� → �������������� ����� � �� → ���������� ����� � �� → �������������� false false ���� � �� → �������������� false ��� → ����� ��� → ������! false false � ∈ � � ∈ � ������������ → ������������������! ������������ → ����������������� false false ��������� → �������������� ��������� → ����������� true true ��� → ����� ��� → ������! ��� → ������! ��� → ������! ��� → ������!� ��� → ����� true true false false b b ������ → ����� ∪ �� ������ → ����� ∪ ���! ∪ !� ������ → ���������! ������ → �������� b b false false
Example – Part 1 �������������"���������� # ���������� � ���������� # ���� ����� $ ���� ������� # ���� → ��������� ���� ������� # ������� ����� $ ���� ������� # ��"�� → ��������� ���� ������� # �����#� $ %����&�������������'����� $ (�)�������)����������*�'������+
State Semantics • p ⇒ p’ ⇒ p’’ ⇒ ... O O’ I I’ ����� – p, I ∪ O → p’, O ����� – p’, I’ ∪ O’ → p’’, O’ • p ⇒ p’ ⇒ p’’ ⇒ ... O O’ I I’ – p, I ∪ O → p’, O, L ����� p’ ≡ < p | L > and – p’, I’ ∪ O’ → p’’, O’, L’ and ����� p’’ ≡ < p | L’ >
Recommend
More recommend