\b{table}[p]\caption{DLP --- an overview}\label{des/dlp:DLP} \b{tabular}[t]{|r||l|p{4.5cm}|} \hline \xstrut %%& & \\ non-logical variables & v := t & assigns the term t to the non-logical variable v \\ \hline \hline \xstrut %%& & \\ object creation & O = new(c) & creates a passive instance of object c \\ \cline{3-3} & O = new(c(t)) & creates an active instance of object c \\ \cline{2-3} \xstrut %%& & \\ allocation & O = new(c@N) & creates a passive instance of object c allocated at node N \\ \cline{3-3} & O = new(c(t)@N) & creates an active instance of object c, allocated at node N \\ \hline \hline \xstrut %%& & \\ channels & C = new(channel) & creates a new channel \\ \cline{2-3} \xstrut & C!t & output statement for term t over channel C \\ & C?t & input statement for term t over channel C \\ \hline \hline \xstrut %%& & \\ process creation & Q = O!G & requests the evaluation of G by the object to which O refers \\ \cline{2-3} \xstrut %%& & \\ resumptions & Q? & requests the results of a remote goal evaluation \\ \cline{2-3} \xstrut %%& & \\ synchronisation & accept(e1,...,e_n) & accepts any call satisfying an accept expression e_i \\ \hline \multicolumn{2}{|c|}{ \xstrut Abbreviation } & Definition \\ \hline \hline \xstrut synchronous rendez-vous & O!G & O!G :- Q = O!G, Q?. \\ and-parallel operator & A&B & A&B :- Q = self!B, A, Q?. \\ allocating goals & G@N & G@N :- O = new(self@N), O!G. \\ \hline \e{tabular} \nop{ {\small The system predicate isobj tests whether the argument is (bound to) an object. The predicate symbolic succeeds when its argument does not refer to an object, a process, a channel or a non-logical variable. } } \e{table}