Below we have depicted the steps that are taken in evaluating a goal such as the one above. \setlength{\unitlength}{0.01cm} \nop{ ) } \hspace{1.0cm} \begin{tabular}[t]{|p{ 2.3cm}|p{ 2.3cm}|p{ 2.3cm}|p{ 2.3cm}|} \hline \begin{picture}(286,275)(0,0) \put(132,200){\makebox(0,0)[r]{\footnotesize Q=O!G } } \put(198,200){\makebox(0,0)[l]{ \footnotesize G } } \put(132,200){\circle{10}} \put(198,200){\circle*{10}} \put(132, 210){\line(0,6){ 50}} \multiput( 142,200)(10,0){ 6}{\line(6,0){5}} \end{picture} & \begin{picture}(286,275)(0,0) \put(132,200){\makebox(0,0)[r]{\footnotesize Q=O!G } } \put(132,150){\makebox(0,0)[r]{\footnotesize A } } \put(198,200){\makebox(0,0)[l]{ \footnotesize G } } \put(132,150){\circle{10}} \put(132,200){\circle{10}} \put(198,200){\circle*{10}} \put(132, 210){\line(0,6){ 50}} \put(132, 160){\line(0,6){ 30}} \multiput( 142,200)(10,0){ 6}{\line(6,0){5}} \multiput(198, 140)(0, 20){ 3}{\line(0,-6){10}} \end{picture} & \begin{picture}(286,275)(0,0) \put(132,200){\makebox(0,0)[r]{\footnotesize Q=O!G } } \put(132,150){\makebox(0,0)[r]{\footnotesize A } } \put(132,75){\makebox(0,0)[r]{\footnotesize Q? } } \put(198,200){\makebox(0,0)[l]{ \footnotesize G } } \put(132,75){\circle{10}} \put(132,150){\circle{10}} \put(132,200){\circle{10}} \put(198,200){\circle*{10}} \put(132, 210){\line(0,6){ 50}} \put(132, 85){\line(0,6){ 55}} \put(132, 160){\line(0,6){ 30}} \multiput(198, 85)(0, 20){ 6}{\line(0,6){10}} \multiput( 142,200)(10,0){ 6}{\line(6,0){5}} \end{picture} & \begin{picture}(286,275)(0,0) \put(132,200){\makebox(0,0)[r]{\footnotesize Q=O!G } } \put(132,150){\makebox(0,0)[r]{\footnotesize A } } \put(132,75){\makebox(0,0)[r]{\footnotesize Q? } } \put(198,75){\makebox(0,0)[l]{ \footnotesize %h_1 } } \put(198,200){\makebox(0,0)[l]{ \footnotesize G } } \put(132,75){\circle{10}} \put(132,150){\circle{10}} \put(132,200){\circle{10}} \put(198,75){\circle{10}} \put(198,200){\circle*{10}} \put(132, 210){\line(0,6){ 50}} \put(132, 65){\line(0,-6){25}} \put(132, 85){\line(0,6){ 55}} \put(132, 160){\line(0,6){ 30}} \multiput(198, 85)(0, 20){ 6}{\line(0,6){10}} \multiput( 142,75)(10,0){ 6}{\line(6,0){5}} \put( 152,75){\vector(-4,0){ 20}} \multiput( 142,200)(10,0){ 6}{\line(6,0){5}} \end{picture} \\ \hline \nop{ \leftcomment{goal} Q=O!G & A & Q? \\ \leftcomment{effect} \small \sloppy G new process is created, \n to evaluate the method call G. & \small \sloppy During the remote evaluation of G the goal A is evaluated by the process itself. & \small \sloppy The results of evaluating A and G are merged. Backtracking over the solutions for G may occur. \\ \hline } \nop{ \it definition & \multicolumn{3}{|l|}{\x G & B :- Q = self!G, B, Q? } \\ \hline } \end{tabular} When the call Q=O!G is accepted, a process for evaluating G is created. The caller may proceed with the evaluation of A, whereafter it must wait for an answer for G. The resumption goal Q? succeeds when the answer is received.