\b{table}[hp]\caption{}\label{des/dlp:DLP} \b{tabular}[t]{|r||l|p{4.5cm}|} \hline \multicolumn{3}{|c|}{ DLP - an overview } \\ \hline \hline non-logical variables & v := t & assigns the term t to the non-logical variable v \\ \hline \hline 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} 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 channels & C = new(channel) & creates a new channel \\ \cline{2-3} & C!t & output statement for term t over channel C \\ & C?t & input statement for term t over channel C \\ \hline \hline process creation & Q = O!G & requests the evaluation of G by the object to which O refers \\ \cline{2-3} resumptions & Q? & requests the results of a remote goal evaluation \\ \cline{2-3} synchronisation & accept(e1,...,e_n) & accepts any call satisfying an accept expression e_i \\ \hline \nop{ \multicolumn{2}{|c|}{ Abbreviations } & Definition \\ \hline \hline and-parallel operator & A & B & A & B :- Q = self!A, B, Q?. \\ synchronous rendez-vous & O!G & O!G :- Q = O!G, 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}