1 <rpc-reply message-id="m-1"
2 xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
4 xmlns="urn:ietf:params:xml:ns:yang:ietf-netconf-monitoring">
5 module turing-machine {
6 namespace "http://example.net/turing-machine";
10 "Data model for the Turing Machine.";
22 "Type of symbols appearing in tape cells.
24 A blank is represented as an empty string where necessary.";
30 "Type for indexing tape cells.";
36 "Type for indexing states of the control unit.";
46 "Possible directions for moving the read/write head, one cell
47 to the left or right (default).";
52 "The tape of the Turing Machine is represented as a sparse
57 "List of non-blank cells.";
61 "Coordinate (index) of the tape cell.";
69 "Symbol appearing in the tape cell.
71 Blank (empty string) is not allowed here because the
72 'cell' list only contains non-blank cells.";
77 container turing-machine {
79 "State data and configuration of a Turing Machine.";
85 "Current state of the control unit.
87 The initial state is 0.";
95 "Position of tape read/write head.";
101 "The contents of the tape.";
105 container transition-function {
107 "The Turing Machine is configured by specifying the
108 transition function.";
111 unique "input/state input/symbol";
113 "The list of transition rules.";
117 "An arbitrary label of the transition rule.";
122 "Input parameters (arguments) of the transition rule.";
127 "Current state of the control unit.";
134 "Symbol read from the tape cell.";
140 "Output values of the transition rule.";
144 "New state of the control unit. If this leaf is not
145 present, the state doesn't change.";
151 "Symbol to be written to the tape cell. If this leaf is
152 not present, the symbol doesn't change.";
158 "Move the head one cell to the left or right";
167 "Initialize the Turing Machine as follows:
169 1. Put the control unit into the initial state (0).
171 2. Move the read/write head to the tape cell with coordinate
174 3. Write the string from the 'tape-content' input parameter to
175 the tape, character by character, starting at cell 0. The
176 tape is othewise empty.";
182 "The string with which the tape shall be initialized. The
183 leftmost symbol will be at tape coordinate 0.";
190 "Start the Turing Machine operation.";
195 "Start the Turing Machine operation and let it run until it is halted
196 or ALL the defined breakpoint conditions are satisfied.";
201 "What state the control unit has to be at for the execution to be paused.";
207 "Position of tape read/write head for which the breakpoint applies.";
212 "What content the tape has to have for the breakpoint to apply.";
221 "The number of steps executed since the last 'run-until' call.";
227 "'True' if the Turing machine is halted, 'false' if it is only paused.";
232 notification halted {
234 "The Turing Machine has halted. This means that there is no
235 transition rule for the current state and tape symbol.";
240 "The state of the control unit in which the machine has
245 notification paused {
247 "The Turing machine has reached a breakpoint and was paused.";
252 "State of the control unit in which the machine was paused.";
259 "Position of tape read/write head when the machine was paused.";
264 "Content of the tape when the machine was paused.";