\documentclass[a4j,twocolumn]{jarticle}
\title{ dklic: KL1$B$K$h$kJ,;6(BKL1$B8@8l=hM}7O$N<BAu(B }
\author{ $B9bLZM42p(B \\ $BAa0pEDBg3XBg3X1!M}9)3X8&5f2J(B
 \and $B>eEDOB5*(B \\ $BAa0pEDBg3XM}9)3XIt>pJs3X2J(B }
\date{}

\usepackage{moreverb}

\newcommand{\term}[1]{\emph{#1}}
\newcommand{\crush}{\renewcommand{\baselinestretch}{0.9}}
\newcommand{\prog}[1]{{\crush \listinginput{1}{#1.kl1}}}

\begin{document}
\maketitle

%---------------------------------------------------------------
%%% $B=xO@(B

\section{ $B$O$8$a$K(B }

$BJ,;6%W%m%0%i%_%s%0$K$OC`<!%W%m%0%i%_%s%0$K$J$$(B
$BB?$/$NLdBj$,B8:_$9$k!#%W%m%;%9$NJ,;6!"%;%-%e%j%F%#!"(B
$B%U%)!<%k%H%H%l%i%s%9$H$$$C$?Bg$-$JLdBjNN0h$+$i!"(B
$B%=%1%C%H$N;H$$J}!"%W%m%H%3%k$K=>$C$?DL?.$N<BAu(B
$B$H$$$C$?:3Kv$JLdBj$^$G$G$"$k!#(B
$B$3$N$&$A!":3Kv$JLdBj$OE,@Z$J%W%m%0%i%_%s%08@8l(B
$B$K$h$C$F2r7h$G$-$k$b$N$H;W$o$l$k!#(B

$BJB9T7W;;$OJBNs!&J,;67W;;$+$iJ*M}E*$JB0@-$r(B
$B<h$j5n$C$?Jq3gE*$J35G0$G$"$j!"5U$KJB9T7W;;$N>e$K(B
$BJ*M}E*$JB0@-$rIU2C$9$k$3$H$K$h$C$FJBNs!&J,;67W;;$rI=8=$G$-$k!#(B
$BJB9TO@M}7?8@8l$O!"JBNs!&J,;6$r4^$`JB9T7W;;$r(B
$B%W%m%;%972$H%W%m%;%94VDL?.$K$h$C$F@k8@E*$K5-=R$9$k$3$H$,$G$-$k!#(B

$BJB9TO@M}7?8@8l$K$O(BConcurrent Prolog, Parlog, GHC$B$J$I$,$"$k$,!"(B
KL1 [\ref{KL1}] $B$O:G$bC1=c$J(BFlat GHC$B$K<BMQE*$J3HD%$r;\$7$?8@8l$G$"$k!#(B
KL1$B$G$O(BProlog$B$N$h$&$JC5:w5!G=$,GS=|$5$l$F$*$j!"(B
$B3F%4!<%k$,JB9T%W%m%;%9$rI=8=$9$k!#(B

dklic [\ref{dklic}] $B$O(BKL1$B$K$h$C$FJ,;6(BAPI$B$r5-=R$7!"(B
$B4{B8$N(BKLIC$B=hM}7O$KJ,;6%W%m%0%i%_%s%0$N$?$a$N3HD%$r;\$9!#(B
KL1$B$K$h$C$F(BKLIC$B$r3HD%$9$k$N$O<BAu$NC1=c$5$N$?$a$G$"$k!#(B
$B<BF/$9$kJ,;6(BKL1$B8@8l=hM}7O$rAa5^$K<B8=$9$k$?$a!"(B
$B<BAu$NC1=c$5$r=E;k$7$?!#(B
$B$^$?!"(BKL1$B$K$h$C$F5-=R$G$-$k(BAPI$B$r@Z$jJ,$1$k$3$H$K$h$C$F!"(B
$B:#8e<BAu$5$l$k$Y$-%N!<%I<B9T7O$G$O(B
KLIC$B<B9T7O$N5!G=$K2C$($FL$Dj5AJQ?t$NF10l@-$N8!::$,9T$J$($k(B
$BI,MW$,$"$k$3$H$,L@$i$+$K$J$C$?!#(B

dklic$B$O>l=j$N35G0$rF3F~$9$k%W%i%0%^$H!"(B
$B%_%I%k%&%'%"$KEv$?$k%5!<%S%98!:w$rDs6!$9$k!#(B
$B%W%i%0%^$OJB9T7W;;$N%M%C%H%o!<%/F)2a@-$rJ]$D$h$&$K@_7W$7$F$"$k!#(B
$B$=$N0lJ}!"%W%i%0%^$r9MN8$9$k$3$H$K$h$C$F(B
$BJ*M}E*$J<B9T>uBV$rM=B,$9$k$3$H$b2DG=$G$"$k!#(B
$B%W%i%0%^$K$h$C$F%W%m%0%i%`$NO@M}E*0UL#$,JQ$o$k$3$H$O$J$$$N$G!"(B
$BC`<!%W%m%0%i%`$rJ,;62=$9$k;~$K%P%0$,F3F~$5$l$k$3$H$O86M}E*$K$J$$!#(B

$B0J2<!"(B
\ref{sect/rel}, \ref{sect/KL1}$B@a$G4XO"8&5f$H(BKL1$B8@8l$N35MW$r=R$Y!"(B
\ref{sect/goal}, \ref{sect/policy}$B@a$G(Bdklic$B$N@_7WL\I8$H<BAuJ}?K$r=R$Y$k!#(B
\ref{sect/call}, \ref{sect/var}$B@a$G(Bdklic$B$,<B8=$7$?(B
$B1s3V=R8l8F=P$7$NNc$H$=$N$?$a$NJ,;6O@M}JQ?t$N<BAu!"(B
\ref{sect/server}, \ref{sect/run}$B@a$G(Bdklic$B$N:#8e$NL\I8$G$"$k(B
$B1s3V%5!<%P$N(BKLIC$B$K$h$kNc$H(B
dklic$B$G1s3V%5!<%P$X$N%"%/%;%9$r<B8=$9$k$?$a$N<B9T7O$r@bL@$9$k!#(B
$B:G8e$K(B\ref{sect/conc}$B@a$GK\O@J8$r$^$H$a$k!#(B

%---------------------------------------------------------------
%%% $B307!(B

\section{ $B4XO"8&5f(B } \label{sect/rel}

$BJ,;67W;;$rL\;X$7$?O@M}7?8@8l$H$7$F$O!"J,;6(BKL1$B$NB>$K(B
Distributed Oz [\ref{mobj},\ref{Oz},\ref{DLV}]
$B$d(BDRL [\ref{DRL}] $B$J$I$,$"$k!%(B
$BK\@a$G$O(BKL1$B$H(BDistributed Oz$B$r4JC1$K>R2p$9$k!#(B

$B$3$l$^$G$N(BKL1$B=hM}7O$O<g$KJBNs5-9f=hM}$r;X8~$7$F$$$?!#(B
% 
$BJBNs?dO@%^%7%s(BPIM$B>e$N(BKL1$B=hM}7O(B [\ref{PIMOS}] $B$dHFMQJBNs5!>e$N(BKLIC 
$B=hM}7O(B [\ref{KLIC}] $B$O!"JBNs5!>e$K$*$1$k(BKL1$B%W%m%;%9$dO@M}JQ?t!"$*(B
$B$h$SO@M}7?8@8l$N4pK\A`:n$G$"$kC10l2=$rF)2aE*$K<B8=$7$F$$$k!#(B
%
KLIC$B$NJ,;6%a%b%jHG$O!"(BPVM$B$N>e$GA4=g=xIU$1$5$l$?J#?t$N%N!<%I$K$^$?(B
$B$,$C$F=hM}$r9T$J$&$,!"%"!<%-%F%/%A%c$N0[$J$k%W%m%;%C%5MWAG$+$i$J$kJ,(B
$B;67W;;4D6-$K$OBP1~$7$F$$$J$$!#9-0hJ,;65!G=$O:GDc8B$N(BUnix$B%=%1%C%H%$(B
$B%s%?%U%'%$%9$,Ds6!$5$l$F$$$k!#(B

$BJ,;67W;;$r0U?^$7$?(BKL1$B=hM}7O$N:G=i$N$b$N$O(BKL1/J [\ref{KL1/J}] $B$G$"(B
$B$k!#J,;6(BKL1$B$N7W;;%b%G%k$r(BJava$B$GI=8=$7$?$,!"J,;6(BKL1$B$+$i(BJava$B$X$N%3%s(B
$B%Q%$%i$,<BAu$5$l$F$$$J$$!#(B

Distributed Oz$B$O!"JB9TO@M}7W;;$NH/E8$G$"$k(B
$BJB9T@)Ls7W;;$rCf?4$H$7$?%^%k%A%Q%i%@%$%`8@8l$G$"$k!#(B
KL1$B$,HyN3EY$NJB9T@-$r0EL[$K5-=R$9$k$N$KBP$7$F!"(B
Distributed Oz$B$OJB9T%9%l%C%I$N@8@.$r%W%m%0%i%^$,L@<($9$k!#(B
$B$3$NE@$G(BDistributed Oz$B$O!"(B
$B4{$KIa5Z$7$F$$$k<jB3$-7?8@8l$NJB9T3HD%$K(BKL1$B$h$j$b6a$$$H9M$($i$l$k!#(B
$B3FJB9T%W%m%;%9$N<B9T=g=x$,L?Na$N;~7ONs$G$J$/!"(B
$BO@M}JQ?t$N0MB84X78$K$h$C$FI=$5$l$kE@$O(BKL1$B$HF1$8$G$"$k!#(B

Distributed Oz$B$N<BAu$O(BKLIC$B$NJ,;6%a%b%jHG$r;29M$K$7$F!"(B
$BJ,;6O@M}JQ?t$rI=8=$7$F$$$k!#(B
$B3FJ,;6JQ?t$O!"(B$ 1 $$B$D$N%^%M%8%c$H(B
$BJ#?t$N%W%m%/%7$+$i@.$k%"%/%;%99=B$$K$h$C$FI=8=$5$l$k!#(B
$BJ,;6JQ?t$r;2>H$9$k3F%N!<%I$K%W%m%/%7$,CV$+$l!"(B
$B3F%W%m%/%7$O%^%M%8%c$r;2>H$9$k!#(B
$B%^%M%8%c$OJ,;6C10l2=$dJ,;6(BGC$B$N4IM}$r9T$J$&!#(B

Distributed Oz$B$G$OJ,;64D6->e$G$NM-8BLZ$NC10l2=$r40A4$K<BAu$9$k(B
$B$3$H$rL\;X$7$F$$$k$N$KBP$7!"(Bdklic$B$G$O!"DL?.O)$H$7$F$NO@M}JQ?t(B
$B$r8zN(E*$K<BAu$9$k$3$H$rL\;X$7$F$$$k!#(B
%
$BO@M}7?$G$J$$J,;68@8l$XO@M}JQ?t$N9M$(J}$rF3F~$9$kJ}K!$O(B [\ref{DLV}] 
$B$KO@$8$i$l$F$$$k!#(B


\section{ KL1$B8@8l$H%W%m%0%i%_%s%0(B } \label{sect/KL1}

$BK\@a$G$O(BKL1$B8@8l$H%W%m%0%i%_%s%0%9%?%$%k$N35MW$r=R$Y$k!#(B

KL1$B%W%m%0%i%`$O=R8l$N=89g$+$i@.$j!"(B
\term{$B=R8l(B} (predicate) $B$O@a$N=89g$+$i@.$k!#(B
\term{$B@a(B} (clause) $B$O<!$N$h$&$J7A$r$7$F$$$k!#(B
\begin{quote}
{\it Head} :- {\it Guard} $|$ {\it Body} .
\end{quote}
$B$3$3$G!"(B{\it Head}$B$O86;RO@M}<0$G$"$j!"(B
{\it Guard}$B$H(B{\it Body}$B$O86;RO@M}<0$N%^%k%A=89g$G$"$k!#(B
{\it Head}$B$H(B{\it Guard}$B$O$=$N@a$,<B9T$5$l$k$?$a$N>r7o$rI=$7!"(B
{\it Body}$B$O<B9T$5$l$k(B\term{$B%4!<%k(B}$B!J=R8l8F=P$7!K$rI=$9!#(B

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,25)(0,-25)

\put(10,-25){\framebox(30,15)}
\put(20,-24){\makebox(10,1){Goal Pool}}

\put(12,-21){\framebox(6,3){\it Goal}}
\put(15,-18){\vector(0,1){12}}

\put(12,-5){\makebox(5,1){\it Head}}
\put(18,-5){\makebox(3,1){:-}}
\put(21,-5){\makebox(6,1){\it Guard}}
\put(28,-5){\makebox(2,1){$|$}}
\put(30,-5){\makebox(6,1){\it Body}.}
\put(15,-2){\vector(1,0){18}}
\put(20,-1){reduction}

\put(30,-6){\vector(0,-1){7}}
\put(26,-16){\framebox(6,3){\it Goal}}

\put(34,-6){\vector(0,-1){12}}
\put(32,-21){\framebox(6,3){\it Goal}}

\end{picture}
\caption{KL1$B$N<B9T%b%G%k(B} \label{fig/exec}
\end{figure}

$B%4!<%k$,<B9T$5$l$F(B{\it Body}$BCf$N%5%V%4!<%k72$KCV49$5$l$k$3$H$r!"(B
\term{$B%j%@%/%7%g%s(B}$B$H8@$&!J?^(B\ref{fig/exec}$B!K!#(B
$B%4!<%k$,>r7o$rK~$?$9@a$,B8:_$7$J$$>l9g!"%j%@%/%7%g%s$N<:GT$,5/$-$k!#(B

\term{$BO@M}JQ?t(B}$B$OC10lBeF~JQ?t$G$"$j!"(B
\term{$BC10l2=(B} (unification) $B$K$h$C$F6qBNCM$,BeF~$5$l$k$^$G$O(B
\term{$BL$Dj5A(B}$BCM$r;}$D!#(B
$B0[$J$k6qBNCMF1;N$rC10l2=$7$h$&$H$9$k$HC10l2=$N<:GT$,5/$-$k!#(B
$B%]%$%s%?A`:n$OO@M}JQ?t$K$h$C$F1#JC$5$l$F$*$j!"(B
$BJQ99$dYTB$$,$G$-$J$$$H$$$&0UL#$G0BA4$G$"$k!#(B

{\it Guard}$B$GL$Dj5AJQ?t$N6qBNCM$r;2>H$9$k$H%4!<%k$N<B9T$,CfCG$5$l!"(B
$B$=$NJQ?t$,(B\term{$B6qBN2=(B} (instantiation) $B$9$J$o$A6qBNCM$,BeF~$5$l$k$^$GBT$D!#(B
KL1$B%W%m%0%i%`$NC`<!@-$O$3$N%G!<%?%U%m!<F14|$K$h$C$F$N$_F3F~$5$l!"(B
$B3F%4!<%k$OJB9T$K<B9T$5$l$k!#(B

$BJB9T$K<B9T$5$l$k%4!<%k!"$J$$$7%G!<%?%U%m!<F14|$K$h$C$F<B9T=g=x$N(B
$B7hDj$5$l$?0lO"$N%4!<%k72$O!"$=$l$>$l(B\term{$B%W%m%;%9(B}$B$H8+$J$9$3$H$,$G$-$k!#(B
$B$9$J$o$A!"(BKL1$B$G$O=R8l8F=P$7$K$h$C$FF0E*$K%W%m%;%9$,@8@.$5$l$k!#(B
KLIC$B$G$OA4$F$N%4!<%k$K$D$$$F!J(BUnix$B%W%m%;%9$h$j7ZNL$J!K(BKL1$B%W%m%;%9(B
$B$,@8@.$5$l$k$,!"%G!<%?%U%m!<F14|$K$h$C$F40A4$K<B9T=g=x$,7hDj$5$l$?(B
$B%4!<%k72$K$D$$$F$O%W%m%;%9$r6&DL2=$9$k8&5f(B [\ref{kato}] $B$,9T$J$o$l$F$$$k!#(B

KL1$B$N%G!<%?$O(B\term{$B9`(B} (term) $B$H8F$P$l$kM-8BLZ$GI=$5$l$k!#(B
$B9`$O@0?t$d5-9f%"%H%`$N$h$&$K%"%H%_%C%/$JCM$G$"$C$F$bNI$$$7!"(B
$BG[Ns(B (vector) $B$d%j%9%H$N$h$&$K%G!<%?9=B$$G$"$C$F$bNI$$!#(B
$B%G!<%?9=B$$O40A4$K6qBN2=$5$l$F$$$k$H$O8B$i$:!"(B
$BL$Dj5AJQ?t$r4^$s$G$$$F$b9=$o$J$$!#(B
$BL$Dj5AJQ?t$r4^$`%G!<%?9=B$$rL$40@.%G!<%?9=B$$H8@$&!#(B

\term{$B%9%H%j!<%`(B}$B$OL$40@.%G!<%?9=B$$N0l<o$G!"(B
$BF,$+$i=y!9$KMWAG$,6qBN2=$5$l$F$$$/%j%9%H$G$"$k!#(B
$B%9%H%j!<%`$NC<E@$O!"<B9T;~%3%s%U%#%.%e%l!<%7%g%s$K$*$1$k(B
$BO@M}JQ?t$N=P8=(B (occurence) $B$G$"$k!#(B
$B%5!<%P%W%m%;%9$d(BUnix$B$N%U%!%$%k%9%H%j!<%`$J$I(B
KL1$B$NA4$F$N%*%V%8%'%/%H$KBP$9$k%$%s%?%U%'%$%9$O(B
$B%9%H%j!<%`$H$7$FDs6!$5$l$F$$$k!#(B

KL1$B$G$O%0%m!<%P%kJQ?t$,B8:_$;$:!"%W%m%;%930It$HDL?.$r9T$J$&$K$O(B
$B%4!<%k$N0z?t$r6&M-$7$J$1$l$P$J$i$J$$!#(B
$B$3$N$h$&$J%W%m%;%94VDL?.$N$?$a$NJQ?t$ODL?.O)$G$"$k$H8+$J$9$3$H$,$G$-$k!#(B
$BL$40@.%G!<%?9=B$$K%9%H%j!<%`$r<u$1<h$k$3$H$K$h$C$F(B
$BF0E*$KDL?.O)$r9=@.$9$k$3$H$,$G$-!"(B
$B%b%P%$%k%W%m%;%9$rI=8=$G$-$k!#(B

$B<jB3$-7?8@8l$K$h$kJB9T=hM}$N8m$j$,F14|$dDL?.$N$?$a$N<j=g$K(B
$B8=$l$k$N$KBP$7$F!"(BKL1$B$N8m$j$NB?$/$OJQ?t$N=q$-8m$j$G$"$k!#(B
$B$3$N$h$&$J8m$j$r@EE*2r@O$K$h$C$F<+F0E*$K(B
$B8!=P!&=$@5$9$k8&5f(B [\ref{Kima}] $B$,9T$J$o$l$F$$$k!#(B

$B%*%V%8%'%/%H;X8~$N4QE@$+$i8+$k$H!"(B
$B%W%m%;%9$O%*%V%8%'%/%H!"(B
$B%W%m%;%9$X$NDL?.O)$O%*%V%8%'%/%H(BID$B$H8+$J$9$3$H$,$G$-$k!#(B
$B%W%m%;%9$X$NDL?.O)$r;X$9JQ?t$r;}$C$F$$$k$3$H$O!"(B
$B%*%V%8%'%/%H$X$N%"%/%;%98"$r;}$C$F$$$k$3$H$KEy$7$$!#(B

$BJ#?t$N%W%m%;%9$+$iJB9T$K%"%/%;%9$5$l$k%*%V%8%'%/%H$r(B\term{$B%5!<%P(B}$B$H8@$&!#(B
$B$3$l$KBP$7$F!"%5!<%P$K%"%/%;%9$9$k%W%m%;%9$O(B\term{$B%/%i%$%"%s%H(B}$B$G$"$k!#(B

$B%5!<%P$,3F%/%i%$%"%s%H$KBP$7$F8DJL$KDs6!$9$k=hM}$r(B\term{$B%5!<%S%9(B}$B$H8@$&!#(B
$B%5!<%P%W%m%;%9$,J#?t$N%/%i%$%"%s%H$K1~BP$9$kI,MW$,$"$k$N$KBP$7$F!"(B
$B%5!<%S%9%W%m%;%9$O(B$ 1 $$B$D$N%/%i%$%"%s%H$NMW5a$K1~$($k$@$1$G:Q$_!"(B
$BBP1~$9$k%/%i%$%"%s%H$,MW5a$r=*$($?;~E@$G>CLG$7$FNI$$!#(B


%---------------------------------------------------------------
%%% $BJ,;6$NGX7J$H354Q(B

\section{ dklic$B$N@_7WL\I8(B } \label{sect/goal}

$BK\@a$G$O!"$^$:(Bdklic$B$,A0Ds$H$9$kJ,;64D6-$K$D$$$F=R$Y!"(B
$B<!$K(Bdklic$B8@8l$N@_7WL\I8$K$D$$$F=R$Y$k!#(B

\begin{enumerate}
\item
$B%N!<%I$,F0E*$KA}8:$7!"A4=g=x$rIU$1$k$J$I$NA40hE*$JGD0.$O:$Fq$G$"$k!#(B
$B$^$?!"A4$F$N%N!<%I$GF1$8;~9o$r<($9$h$&$JA40hE*$J;~7W$OB8:_$7$J$$!#(B

KLIC$B$NJ,;6%a%b%jHG$O%N!<%I$KA4=g=x$,IU$1$i$l$F$$$k$3$H$rA0Ds$H$7$F$$$k$?$a!"(B
$B9-0hJ,;64D6-$K$=$N$^$^E,MQ$9$k$3$H$O$G$-$J$$!#(B

\item
$B3F%N!<%I$N5!<o!"(BOS$B$OE}0l$5$l$F$$$J$$!#(B

KLIC$B$NJ,;6%a%b%jHG$OA4$F$N%N!<%I$G5!3#8l%3!<%I$r6&M-$9$k$?$a!"(B
$B%X%F%m$JJ,;64D6-$K$=$N$^$^E,MQ$9$k$3$H$O$G$-$J$$!#(B

\item
$B%N!<%I4V$NDL?.$OM=B,$G$-$J$$CY1d;~4V$rMW$9$k!#(B

\item $B3F%N!<%I$O(BTCP/IP$B@\B3$5$l$F$*$j!"(B
$B%Q%1%C%H$NB;<:$dDI$$1[$7$,5/$-$k$3$H$O$J$$!#(B
\end{enumerate}

$B@5$7$$9-0hJ,;6%"%W%j%1!<%7%g%s$rMF0W$K5-=R$9$k$?$a!"(B
dklic$B$N@_7W$K$"$?$C$F$O!"(B
$B%M%C%H%o!<%/F)2a@-$rJ]$A$J$,$i(B
$B1s3V%N!<%I$X7W;;$r0MMj$G$-$k5!G=$NDs6!$rBh0lL\I8$H$7$?!#(B
$B6qBNE*$K$O!"<!$N(B$ 3 $$B$D$N5!G=$G$"$k!#(B
\begin{enumerate}
\item $B1s3V=R8l8F=P$7(B
\item $B=R8l0\Aw(B
\item $B%5!<%S%98!:w(B
\end{enumerate}
$B$3$N(B$ 3 $$B$D$N5!G=$O$=$l$>$l(B
Java RMI$B!"(BJava$B%/%i%9%m!<%@!"(BCORBA$B$d(BJini$B$KAjEv$9$k!#(B

dklic$B$G$OJ,;6O@M}JQ?t$r<BAu$9$k$3$H$K$h$C$F!"(B
$B%M%C%H%o!<%/F)2a@-$rJ]$D1s3V=R8l8F=P$7$r<B8=$7$?!#(B
$BK\O@J8$G$O1s3V=R8l8F=P$7$N<B8=$r<g$KO@$8$k!#(B

$B=R8l0\Aw(B [\ref{treecode}] $B$H%5!<%S%98!:w(B [\ref{KL1/J},\ref{ryo}]
$B$O8=:_$N(Bdklic$B$K$O4^$^$l$F$$$J$$$,!"$$$:$l$b;n:n$,B8:_$9$k!#(B
$B%5!<%S%98!:w$K$D$$$F$O(B\ref{sect/run}$B@a$G?($l$k!#(B


\section{ dklic$B$N<BAuJ}?K(B } \label{sect/policy}

dklic$B$r<BAu$9$k$^$G!"(B
$B%3%s%Q%$%i$rHw$($?J,;6(BKL1$B8@8l=hM}7O$OB8:_$7$J$+$C$?!#(B
$B$3$N$?$a!"(Bdklic$B$N<BAu$K$"$?$C$F<!$NJ}?K$r7G$2$?!#(B

\begin{enumerate}
\item
100\% KL1$B$K$h$k5-=R$G0\?"@-$rJ]$D!#(B

\item
$BC1=c$J<BAu$K$h$C$F<BAu%3%9%H$rM^$($k!#(B

$B%N!<%I<B9T7O$H$7$F(BKLIC$B$rMQ$$$k!#(B
KLIC$B<B9T7O<+BN$K$O<j$rF~$l$:!"(B
$B<B9T;~%i%$%V%i%j$K$h$C$F(BKLIC$B$N3HD%$r9T$J$&!#(B
\end{enumerate}

$B%N!<%I<B9T7O$H$7$F(BKLIC$B<B9T7O$r$=$N$^$^MxMQ$9$k$3$H$K$h$C$F!"(B
$B%N!<%IFb$NJQ?t4IM}$d(BGC$B$r9MN8$9$kI,MW$O$J$/$J$C$?!#(B
$B$7$+$7!"$3$NJ}?K$N$?$a!"(Bdklic$B$O(BKL1/KLIC$B$N@)8B$KJa$i$o$l$F$$$k!#(B
$B6qBNE*$K$O!"L$Dj5AJQ?tF1;N$NF10l@-$N8!::$,9T$J$($:!"(B
$BJQ?t$dCM$KBP$9$k;2>H?t$r46CN$9$k$3$H$,$G$-$J$$!#(B

$B8=:_$O(Bdklic$B$r<!$N(B$ 3 $$B$D$N%U%!%$%k$+$i@.$k(B
$B<B9T;~%i%$%V%i%j$H$7$FDs6!$7$F$$$k!#(B
\begin{itemize}
\item remote.kl1 --- $B%9%?%V$H%9%1%k%H%s(B
\item vario.kl1 --- $B%=%1%C%H$KBP$9$k%G%3%l!<%?(B
\item vart.kl1 --- $B%=%1%C%H$NN>C<$KD%$jIU$1$kJQ?tI=(B
\end{itemize}

$B%W%m%0%i%^$O(Bdklic$B$r(BAPI$B$H$7$FMxMQ$7!"(B
$B%f!<%6%W%m%0%i%`$H0l=o$K(BKLIC$B$G%3%s%Q%$%k$7$F;HMQ$9$k$3$H$,$G$-$k!#(B
\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,20)(0,-20)

\put(10,-5){\framebox(20,5){dklic runtime /KL1}}
\put(30,-5){\framebox(20,5){user program /KL1}}

\put(3,-10){\makebox(15,5){KLIC compiler}}
\multiput(20,-5)(20,0){2}{\vector(0,-1){5}}

\put(0,-15){\framebox(50,5){KLIC runtime, dklic runtime, user program /bin}}
\put(0,-20){\framebox(50,5){node (OS / Machine)}}

\end{picture}
\caption{dklic$B=hM}7O$N9=@.(B} \label{fig/conf}
\end{figure}


%---------------------------------------------------------------
%%% $B@_7W(B

\section{ $B1s3V=R8l8F=P$7$NNc(B } \label{sect/call}

$BK\@a$G$O1s3V=R8l8F=P$7$NNc$H$7$F(Bping$B%5!<%S%9$r<($9!#(B

$B%/%i%$%"%s%H(Bping.kl1$B$O!"(B
$B1s3V%N!<%I(BHost$B$K$"$k(Bpingd:pingd$B=R8l$r(B
$B1s3V8F=P$7$7$F$$$k!#(B

\prog{ping}

$B1s3V=R8l8F=P$7$O!"(B
@node(Host)$B$H$$$&%W%i%0%^$,IU$$$F$$$k$3$H$r=|$1$P(B
$BDL>o$N=R8l8F=P$7$HA4$/F1$87A$G$"$k!#(B
$B$?$@$7!"8=:_$N(Bdklic$B$G$O(Bremote:call API$B$rMQ$$$F(B
$B1s3V=R8l$N%a%?8F=P$7$r9T$J$&!#(B

$B<!$K<($9%5!<%P(Bpingd.kl1$B$O!"(Bpingd:pingd$B$N(B
$B0z?t%9%H%j!<%`$KCM$,N.$l$F$/$kEY$KF1$8CM$rJV$9!#(B

\prog{pingd}

$B2?$b$7$J$$=R8l(Bpingd:dummy$B$r8F$S=P$7$F$$$k$N$O!"(B
pingd$B%b%8%e!<%k$,:o=|$5$l$k$3$H$rKI$0$?$a$G$"$k!#(B
$B@EE*$K=R8l8F=P$7$5$l$J$$%b%8%e!<%k$O(B
KLIC$B%3%s%Q%$%i$N:GE,2=$K$h$C$F:o=|$5$l$F$7$^$&!#(B

remote:called$B=R8l$O%5!<%P%=%1%C%H$r3+$-!"(B
$B@\B3$5$l$?%/%i%$%"%s%H$+$i%4!<%k$r<u$1<h$C$F%5!<%PB&$G@8@.$9$k!#(B
$B$3$N>l9g!"(Bdklic$B%i%$%V%i%jFb$N(Bremote:called$B$,(B
$BJ#?t$N%/%i%$%"%s%H$K1~BP$9$k??$N%5!<%P$G$"$j!"(B
pingd:pingd$B$O%5!<%S%9$G$"$k!#(B

$B$3$N%/%i%$%"%s%H$H%5!<%P$r<B9T$9$k$K$O!"(B
dklic$B$r9=@.$9$k(B$ 3 $$B$D$N%U%!%$%k(B (remote.kl1, vario.kl1, vart.kl1)
$B$H0l=o$K(BKLIC$B=hM}7O$G%3%s%Q%$%k$9$l$PNI$$!#(B

$B%3%s%Q%$%kJ}K!$H<B9T7k2L$r<!$K<($9!#(B

\begin{verbatim}
% klic -o pingd pingd.kl1 \
?  remote.kl1 vario.kl1 vart.kl1
%
% klic -o ping ping.kl1 \
?  remote.kl1 vario.kl1 vart.kl1
%
% ./pingd &
%
% ./ping localhost
localhost: pinging.
0 sent, 0 received.
1 sent, 1 received.
2 sent, 2 received.
        :
\end{verbatim}

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,25)(0,-25)

% 0, 16, 32, 48

\put(0,-1){ping}
\put(10,-1){remote:call}
\put(26,-1){remote:called}
\put(44,-1){pingd}

\multiput(0,-25)(32,0){2}{\framebox(1,22)}
\multiput(16,-25)(32,0){2}{\framebox(1,20)}

\multiput(1,-5)(16,0){3}{\vector(1,0){15}}
\multiput(1,-10)(16,0){3}{\vector(1,0){15}}
\multiput(48,-15)(-16,0){3}{\vector(-1,0){15}}
\multiput(1,-20)(16,0){3}{\vector(1,0){15}}
\multiput(48,-25)(-16,0){3}{\vector(-1,0){15}}

\multiput(4,-4)(32,0){2}{pingd(Ts)}
\put(20,-4){"pingd(\_0)"}

\multiput(3,-9)(32,0){2}{Ts=[0$|$Ts1]}
\put(20,-9){"\_0=[0$|$\_1]"}

\multiput(35,-14)(-32,0){2}{Ts1=[0$|$Ts2]}
\put(20,-14){"\_1=[0$|$\_2]"}

\multiput(3,-19)(32,0){2}{Ts2=[1$|$Ts3]}
\put(20,-19){"\_2=[1$|$\_3]"}

\multiput(35,-24)(-32,0){2}{Ts3=[1$|$Ts4]}
\put(20,-24){"\_3=[1$|$\_4]"}

\end{picture}
\caption{$B1s3V=R8l8F=P$7$N%$%s%?%i%/%7%g%sNc(B} \label{fig/call}
\end{figure}

$B%/%i%$%"%s%H(Bping$B$,1s3V=R8l8F=P$7$r<B9T$9$k$H!"(B
$B%/%i%$%"%s%HB&$N%N!<%I$G%9%?%V%W%m%;%9(Bremote:call$B$,@8@.$5$l$k!#(B
remote:call$B$O!"%5!<%PB&$N%N!<%I$G;vA0$K5/F0$5$l$F$$$?(B
$B%9%1%k%H%s%W%m%;%9(Bremote:called$B$K@\B3$7!"(B
$B1s3V=R8l8F=P$7%4!<%k$rAw?.$9$k!#(B
remote:called$B$O1s3V=R8l8F=P$7$r<u?.$9$k$H(B
$B%5!<%S%9(Bpingd$B$r@8@.$9$k!#!J?^(B\ref{fig/call}$B!K(B

$B$=$N8e$K$d$j$H$j$5$l$k%4!<%k72$O(B
$B<+%N!<%I$G6qBN2=$5$l$?JQ?t$r1s3V%N!<%I$KDLCN$9$kC10l2=%4!<%k$G$"$k!#(B
$B%9%?%V$H%9%1%k%H%s$O1s3V%N!<%I$G6qBN2=$5$l$?JQ?t$NC10l2=%4!<%k$r<u?.$9$k$H!"(B
$B<+%N!<%I$G$=$NC10l2=%4!<%k$r<B9T$9$k!#(B

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,15)(0,-15)

% main(1,0) call(2,1) ping(0,2)
% main(4,0) called(3,1) pingd(5,2)

\put(3,-15){\framebox(5,3){ping}}
\put(42,-15){\framebox(7,3){pingd}}
\put(8,-14){\line(1,0){34}}
\put(23,-14){\makebox(2,3){Ts}}

\put(13,-9){\framebox(5,3){call}}
\put(28,-9){\framebox(7,3){called}}
\put(18,-8){\line(1,0){10}}
\put(21,-8){\makebox(6,3){socket}}

\multiput(8,-3)(28,0){2}{\framebox(5,3){main}}
\put(10,-3){\vector(-1,-2){4.5}}
\put(7,-12){\vector(2,1){6}}
\put(38,-3){\vector(-1,-1){3}}
\put(35,-9){\vector(2,-1){7}}

\end{picture}
\caption{ping$B%5!<%S%9$N%W%m%;%9@8@.LZ(B} \label{fig/ping}
\end{figure}

$B%f!<%6%W%m%0%i%`$+$i$O!"(B
ping$B$NMW5a$KD>@\(Bpingd$B$,1~Ez$7$F$$$k$h$&$K8+$($k!#(B
$B<B:]$K$O!"%9%?%V$H%9%1%k%H%s$,L$Dj5AJQ?t$N6qBN2=$r46CN$7$F(B
$BC10l2=%4!<%k$ND>Ns2=$HI|85$r9T$J$&!#(B

$B%9%?%V$H%9%1%k%H%s$N4V$NDL?.%W%m%H%3%k$OC1=c$G!"(B
$BAw?.$9$k%G!<%?9=B$$NCf$NL$Dj5AJQ?t0J30$NItJ,$O(B
KLIC$B$N(Bwrap$B5!G=$rMQ$$$F$=$N$^$^%P%$%HNs2=$9$k!#(B
$B<!@a$G$OL$Dj5AJQ?t$ND>Ns2=$K$D$$$F=R$Y$k!#(B


%---------------------------------------------------------------
%%% $B<BAu(B

\section{ $BJ,;6O@M}JQ?t$N<B8=(B } \label{sect/var}

$BK\@a$G$O1s3V=R8l8F=P$7$r2DG=$K$9$k(B
$BJ,;6O@M}JQ?t$N<BAu$K$D$$$F=R$Y$k!#(B

$BJB9TO@M}7?8@8l$NJQ?t$OC10lBeF~$G$"$j!"L$Dj5A>uBV$r;}$DO@M}JQ?t$G$"$k!#(B
$B%W%m%;%94VDL?.$KMxMQ$5$l$k%9%H%j!<%`$OF,$+$i=y!9$K6qBN2=$5$l$k%j%9%H$G$"$j!"(B
$B=R8l8F=P$7$N0z?t$H$7$FEO$5$l$k!#(B

$BJQ?t$NM"=PF~$H$=$N6qBN2=$K$h$C$F!"$3$N$h$&$J%9%H%j!<%`$rI=8=$G$-$k!#(B
$B%W%m%0%i%^$K0U<1$5$;$:$KJQ?t$H6qBN2=$NM"=PF~$r9T$J$&(B
$B%M%C%H%o!<%/F)2a$JJ,;6O@M}JQ?t$,I,MW$G$"$k!#(B

dklic$B$G$OJQ?tI=$rF3F~$7$F!"M"=PF~$5$l$?JQ?t$K(BID$B$rIU$1$F4IM}$7!"(B
$B<+%N!<%I$G6qBN2=$,9T$J$o$l$?;~$K$=$N6qBN2=$r1s3V%N!<%I$KEA$($k$3$H$K$7$?!#(B
$BM"=P$5$l$?L$Dj5AJQ?t$KBP$7$F(BID$B$rH/9T$9$k$3$H$,2]Bj$G$"$C$?!#(B

KLIC$B$G$O%W%m%0%i%`FbIt$+$i(B
$BL$Dj5AJQ?tF1;N$NF10l@-$r8!::$9$k$3$H$,$G$-$J$$!#(B
$B0lEY6qBN2=$5$l$?JQ?t$O$=$NCM$rHf3S$G$-$k$N$@$,!"(B
$BL$Dj5AJQ?t$NCM$r;2>H$9$k$H%W%m%;%9$,CfCG$7!"(B
$B6qBN2=$5$l$k$^$GBT$C$F$7$^$&!#(B
$B$3$N$?$a!"(Bdklic$B$G$OA4$F$NJQ?t$r0[$J$kJQ?t$H8+$J$7!"(B
$BF10l$NJQ?t$G$bM"=P$5$l$kEY$K%(%s%H%j$rEPO?$9$k!#(B

$BJ,;6JQ?t$N%(%s%H%j$rEPO?$9$k$K$OJQ?t$K(BID$B$rH/9T$9$kI,MW$,$"$k!#(B
$B%W%m%0%i%`J8LL>e$NJQ?tL>$OMxMQ$9$k$3$H$,$G$-$J$$!#(B
$B$J$<$J$i!"JQ?tL>$OJ#?t$NJQ?t$rI=$7$F$$$k2DG=@-$,$"$k$+$i$G$"$k!#(B
dklic$B$G$O!"%(%s%H%jKh$K?7$7$$@0?t$rH/9T$7!"$=$l$r(BID$B$H$7$?!#(B
$BNc$($P!"(Bping$B$KBP$7$F<!$N$h$&$J(BID$B$rH/9T$9$k!#(B

\begin{verbatim}
< pingd:pingd(_0)
< _0 = [0, _2 | _4]
> _2 = 0
< _4 = [1, _6 | _8]
> _6 = 1
< _8 = [2, _10 | _12]
> _10 = 2
     :
\end{verbatim}

\_ $BIU$-$N@0?t$,!"H/9T$5$l$?(BID$B$rI=$9!#(B
$B9TF,$K(B$ < $$B$,IU$$$F$$$k$b$N$O(B
$B%9%1%k%H%s$X$N1s3V=R8l8F=P$7$^$?$O6qBN2=DLCN$G$"$j!"(B
$ > $$B$,IU$$$F$$$k$b$N$O%9%1%k%H%s$+$i$N6qBN2=DLCN$G$"$k!#(B

$B?7$7$$(BID$B$rH/9T$7$?%Q%1%C%H$,Aj<j$K<u?.$5$l$k$^$G$K!"(B
$BAj<j$,F1$8(BID$B$rJL$NJQ?t$KH/9T$7$F$7$^$&2DG=@-$,$"$k$?$a!"(B
$BH/9T<T$K$h$C$F(BID$B6u4V$rJ,$1$kI,MW$,$"$k!#(B
dklic$B$G$O%9%?%V$,6v?t!"%9%1%k%H%s$,4q?t$r(BID$B$H$7$FH/9T$9$k$3$H$K$7$?!#(B

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,18)(0,-18)

\multiput(8,-18)(30,0){2}{node}
\put(20,-7){\line(1,0){10}}
\put(22,-6){socket}

\multiput(0,-14)(36,0){2}{\makebox(14,2){KLIC runtime}}
\multiput(0,-15)(36,0){2}{\framebox(14,14)}

\multiput(14,-2)(16,0){2}{\makebox(6,2){vart}}
\multiput(14,-5)(0,-2){6}{\framebox(6,2)}
\multiput(30,-5)(0,-2){6}{\framebox(6,2)}

\multiput(16,-5)(14,0){2}{\makebox(4,2){\_0}}
\multiput(16,-7)(14,0){2}{\makebox(4,2){\_1}}
\multiput(16,-9)(14,0){2}{\makebox(4,2){:}}
\put(5,-5){\makebox(3,2){X0}} \put(42,-5){\makebox(3,2){Y0}}
\put(5,-7){\makebox(3,2){X1}} \put(42,-7){\makebox(3,2){Y1}}

\multiput(16,-4)(0,-2){2}{\circle*{0.5}}
\multiput(34,-4)(0,-2){2}{\circle*{0.5}}
\multiput(16,-4)(0,-2){2}{\vector(-1,0){8}}
\multiput(34,-4)(0,-2){2}{\vector(1,0){8}}

\end{picture}
\caption{$B%N!<%IFb30$NJQ?t$NBP1~IU$1(B} \label{fig/vart}
\end{figure}

$B3FJ,;6JQ?t$ON>C<%N!<%I$NFbItJQ?t$H(B
$BN>C<$NJQ?tI=%(%s%H%j$K$h$C$FI=8=$5$l$k!#(B
$BJQ?tI=$N3F%(%s%H%j$O(BID$B$HFbItJQ?t$NBP$G$"$k!#(B
\term{ID}$B$O30It$KBP$9$kJQ?t$N<1JL;R$G$"$k!#(B
\term{$BFbItJQ?t(B}$B$O<1JL;R(BID$B$,BP1~IU$1$i$l$?!"(B
$B%N!<%IFbIt!J(BKLIC$B!K$NJQ?t$G$"$k!#!J?^(B\ref{fig/vart}$B!K(B

$BJQ?t$,6qBN2=$5$l$?$3$H$OJQ?t$NCM$,L$Dj5A$G$J$/$J$k$3$H$K$h$C$F8!=P$G$-$k!#(B
$BJQ?tI=$KEPO?$5$l$?FbItJQ?t$,6qBN2=$5$l$k$H!"(B
$BJQ?tI=$O$=$NJQ?t$H6qBNCM$H$NC10l2=%4!<%k$r(B
$BD>Ns2=$7$FDL?.Aj<j$KAw?.$9$k!#(B

$BDL?.Aj<j$+$iD>Ns2=$5$l$?C10l2=%4!<%k$r<u?.$9$k$H!"(B
$BJQ?tI=$O$=$NC10l2=%4!<%k$rI|85$7$F%N!<%IFbIt$G<B9T$9$k!#(B
$B6qBNE*$K$O!"$=$N(BID$B$r;}$DFbItJQ?t$H6qBNCM$H$NC10l2=$r9T$J$&!#(B

$B0J2<$G$OJ,;6C10l2=!"J,;6(BGC$B!"JQ?tI=$N:GE,2=$K$D$$$F$3$N=g$K=R$Y$k!#(B


\subsection{ $BJ,;6C10l2=(B }

Distributed Oz$B$G$O3FJ,;6JQ?t$K%^%M%8%c$,(B$ 1 $$B8DIU$-!"(B
$B3F%N!<%I$KCV$+$l$?%W%m%/%7$+$i$NC10l2=MW5a$r4IM}$9$k!#(B
$BJB9T$KJ#?t$NC10l2=MW5a$,=P$5$l$k$H!"(B
$B$=$N$&$A(B$ 1 $$B$D$@$1$,<B9T$5$l!"(B
$B$=$NC10l2=$,@.8y$7$?8e$KB>$NMW5a$,<B9T$5$l$k!#(B

dklic$B$G$ON>C<%N!<%I$N(BKLIC$B<B9T7O$,C10l2=$r9T$J$&!#(B
$BN>C<%N!<%I$GF1;~$KC10l2=$,9T$J$o$l$k$H!"(B
$B%9%?%V$H%9%1%k%H%s$,<+%N!<%I$NC10l2=$rDLCN$79g$$!"(B
$BDLCN$5$l$?1s3V%N!<%I$NC10l2=$r<+%N!<%I$G<B9T$9$k!#(B

$BN>C<%N!<%I$GF1$8JQ?t$K0[$J$k6qBNCM$rC10l2=$9$k$H(B
$BC10l2=$N<:GT$,5/$-$k!J?^(B\ref{fig/unifail}$B!K$,!"(B
$B$3$l$OC`<!%W%m%0%i%`$N>l9g$HF1$8%;%^%s%F%#%/%9$G$"$k!#(B
$BJRJ}$N%N!<%I$,2?$i$+$N<:GT$GMn$A$?;~!"(B
$B%=%1%C%H$N%(%i!<$r8!=P$7$F(B
$B$b$&JRJ}$N%N!<%I$,Mn$A$J$$$h$&$K$9$k$3$H$,$G$-$k$,!"(B
$B8=:_$N(Bdklic$B$G$O<BAu$7$F$$$J$$!#(B

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,25)(0,-25)

\multiput(0,-1)(35,0){2}{\makebox(15,1){KLIC runtime}}
\multiput(15,-1)(15,0){2}{\makebox(5,1){vart}}

\multiput(14,-4)(0,-6){4}{\framebox(6,2)}
\multiput(30,-4)(0,-6){4}{\framebox(6,2)}
\multiput(16,-3)(0,-6){4}{\circle*{0.5}}
\multiput(34,-3)(0,-6){4}{\circle*{0.5}}
\multiput(16,-3)(0,-6){4}{\vector(-1,0){8}}
\multiput(34,-3)(0,-6){4}{\vector(1,0){8}}
\multiput(17,-4)(0,-6){4}{\makebox(2,2){\_0}}
\multiput(31,-4)(0,-6){4}{\makebox(2,2){\_0}}
\put(5,-4){\makebox(3,2){X1}}
\put(42,-4){\makebox(3,2){Y1}}

\multiput(2,-10)(0,-6){3}{\makebox(5,2){X1=a}}
\multiput(42,-10)(0,-6){2}{\makebox(5,2){Y1=b}}

\put(20,-15){\vector(1,0){10}}
\put(20,-14){\makebox(10,1){\_0=a}}

\put(42,-22){\makebox(5,2){a=b}}
\put(42,-25){\makebox(5,2){fail!}}

\end{picture}
\caption{$BJ,;6C10l2=$N<:GT(B} \label{fig/unifail}
\end{figure}


\subsection{ $BJ,;6JQ?t4IM}(B }

KL1$B$NO@M}E*$J7W;;%b%G%k$K$*$$$F$O!"(B
$BJQ?t$N6qBN2=$r3JG<$9$k@)Ls5-21$OC1D4A}2C$9$k!#(B
$B$7$+$7!"(BKL1$B$N<BAu$K$*$$$F$O(BGC$B$,9T$J$o$l!"(B
$BITMW$K$J$C$?%R!<%W>e$N@)Ls5-21NN0h$O:FMxMQ$5$l$k!#(B

dklic$B$NJQ?tI=$G$b;2>H$5$l$J$/$J$C$?JQ?t$r:o=|$9$kI,MW$,$"$k!#(B
$B:o=|$r9T$J$o$J$$$HJQ?tI=$,L5BL$J6u4V$r;H$&$P$+$j$G$J$/!"(B
$BB>%N!<%I$+$i;2>H$5$l$J$/$J$C$?%G!<%?$N(BGC$B$,9T$J$($J$/$J$k!#(B

dklic$B$O%N!<%IFb$N<B9T4D6-$r(BKLIC$B$KG$$;$F$$$k$N$G!"(B
$BFbItJQ?t$N(BGC$B$N$?$a$K$OC1$KJQ?tI=$+$iFbItJQ?t$X$N;2>H$r$J$/$;$PNI$$!#(B
$BJ,;6JQ?t$N@jM-$9$kB>$N;q8;$O(BID$B$HJQ?tI=$N%(%s%H%j$G$"$k!#(B

$BJ,;6JQ?t$ON>C<%N!<%I$NFbItJQ?t$K$=$l$>$lBP1~IU$1$i$l$F$$$k$?$a(B
$BC10l;2>H!J=q$-9~$_!"FI$_9~$_$N$?$a$N;2>H$,(B$ 1 $$B$D$:$D!K$G$"$j!"(B
$BN>C<%N!<%I$G6qBN2=$,46CN$5$l$l$P:o=|$9$k$3$H$,$G$-$k!#(B
$B6qBNE*$K$OJQ?tI=$N%(%s%H%j$r:o=|$7!"(BID$B$rH/9T<T$KJV5Q$9$l$PNI$$!#(B
$B%(%s%H%j$,:o=|$5$l$k$H!"(B
$B$=$N%(%s%H%j$K$h$C$F;2>H$5$l$F$$$?FbItJQ?t$O(B
KLIC$B<B9T7O$K$h$C$FE,59(BGC$B$5$l$k!#(B

ID$B$N:FMxMQ$K$O(B
$B%Q%1%C%H$NB;<:$dDI$$1[$7$O$J$$$H$$$&A0Ds!J(B\ref{sect/goal}$B@a!K(B
$B$,I,MW$G$"$k!#(B
ID$B$rJV5Q$9$k%Q%1%C%H!JAj<jJ}$+$i$NC10l2=%4!<%k!K$O!"(B
$B$=$N(BID$B$r:FMxMQ$9$k%Q%1%C%H$h$j$bAa$/<u?.$5$l$J$1$l$P$J$i$J$$!#(B

$B<+%N!<%I$G(BID$B$rH/9T$7$?J,;6JQ?t$r6qBN2=$9$k>l9g$O!"(B
$B$=$N(BID$B$rD>$A$K:FMxMQ$9$k:GE,2=$,2DG=$G$"$k!#(B
$B<!$NDL?.Nc$G$O!"(B
$B%9%H%j!<%`$K<+?H$N(BID$B$r6I=jE*:FMxMQ$7$F$$$k!#(B
\begin{verbatim}
< pingd:pingd(_0)
< _0 = [0, _2 | _0]
> _2 = 0
< _0 = [1, _2 | _0]
> _2 = 1
< _0 = [2, _2 | _0]
> _2 = 2
     :
\end{verbatim}

ID$B$N:FMxMQ$r9T$J$($P!"JQ?tI=$N%o!<%-%s%0%;%C%H$O(B
$B$5$[$IBg$-$/$J$i$J$$$H4|BT$G$-$k!#(B
$B$J$<$J$i!"%W%m%;%94VDL?.$KB?MQ$5$l$k%9%H%j!<%`$O(B
$BKvHx$,L$Dj5A$G$"$k$h$&$J%j%9%H$G$"$j!"(B
$BF1;~$K(B$ 1 $$B$D$NJQ?t$7$+I,MW$H$7$J$$$+$i$G$"$k!#(B
$B$^$?!"JV;v$r$b$i$&$?$a$KL$40@.%a%C%;!<%8$,%9%H%j!<%`$KN.$l$F$b!"(B
$B$=$NJQ?t$N6qBN2=$,$5$[$ICY$l$k$3$H$O$J$$$H2>Dj$G$-$k!#(B
$B8=:_$OJQ?tI=$N9=B$$r%j%9%H$GI=8=$7$F$$$k$,!"(B
$B$3$N2>Dj$rCV$/$3$H$K$h$C$FG[Ns$XJQ99$9$k$3$H$,$G$-$k!#(B


\subsection{ $BJ,;6JQ?t$K4X$9$k9M;!$H:GE,2=(B }

\subsubsection{ $BBh;0<TCf7Q$N:o=|(B }

$B>e5-$N<BAuJ}<0$K4p$E$/(Bdklic$B$G%N!<%I$rEO$jJb$/$h$&$J%(!<%8%'%s%H$r(B
$B5-=R$9$k$H!"(B
$B=PH/CO$H8=:_CO$H$N4V$NDL?.$O%(!<%8%'%s%H$N7PM3COE@$NFbItJQ?t(B
$B$rCf7Q$7$F9T$J$o$l$k!#(B
$B$3$l$O;~4V$*$h$S6u4V8zN($rB;$J$&$P$+$j$G$J$/!"%;%-%e%j%F%#$H%U%)!<%k(B
$B%H%H%l%i%s%9$NE@$+$i$bLdBj$G$"$k!#(B
% 
$BF1MM$K!"%9%H%j!<%`J;9g4o$N$h$&$K(B
$BL$Dj5AJQ?tF1;N$rC10l2=$7$F=*N;$9$k%W%m%;%9$b!"(B
$BL5BL$JCf7QDL?.$r$7$D$E$1$k2DG=@-$,$"$k!#(B

$B$3$N$h$&$JBh;0<T$K$h$kCf7Q$rGS=|$9$k$K$O!"(B
$BCf7Q$K;H$o$l$kFbItJQ?t$,JQ?tI=$K$N$_=P8=$9$k$3$H$r(B
$BJ]>Z$b$7$/$O46CN$9$k$3$H$,I,MW$G$"$k!#(B
%
KLIC$B$O!"8D!9$NO@M}JQ?t$N;2>H?t!J=P8=$N?t!K$rD4$Y$k8@8l5!G=$r;}$?$J$$$N(B
$B$G!"Cf7QGS=|$N$?$a$K$O!";2>H?tBN7O$*$h$S;2>H?t2r@O(B(linearity analysis)
[\ref{linearity}]$B$K$h$C$F!"J,;6JQ?t$r(Blinear$B$J!J=P8=?t$,(B2$B$N!KJQ?t$K8BDj(B
$B$9$k$3$H$,Bh0lJb$H$J$k!#$b$7J,;6JQ?t$,(Blinear$B$G$"$l$P!"JQ?tI=$N%(%s%H%j$r(B
$BE,@Z$J%?%$%_%s%0$GD4::$7$F!"F10l$N!"$b$7$/$O0[$J$kJQ?tI=$NCf$K(B
$BF10lJQ?t$,(B2$B2s=P$F$/$k$3$H$r8!CN$G$-$l$P!"$=$NJQ?t$,Cf7Q$K$7$+;H$o$l$F$$(B
$B$J$$$3$H$,$o$+$k!#$7$?$,$C$F$=$NJQ?t$NB>%N!<%I$K$*$1$k!JFs$D$N!KC<E@F1;N(B
$B$,D>@\DL?.$r$9$k$h$&$KJ,;6JQ?t$r:F9=@.$9$l$P$h$$!#:F9=@.$N$?$a$N%W%m%H(B
$B%3%k$O8=:_@_7WCf$G$"$k!#(B

$B>e5-$N:GE,2=$r;\$9$?$a$K$O!"Fs$D$NL$Dj5AJQ?t$,F10l$G$"$k$3$H$r46CN$9$k(B
$BI,MW$,$"$k!#$H$3$m$,8=:_$N(BKLIC$B$G$O(B
%
\begin{verbatim}
   p(X,X) :- true | ...
\end{verbatim}
%
$B$H$$$&@a$O!"(B\verb|p| $B$NFs$D$N0z?t$,F10l$NL$Dj5AJQ?t$G$"$C$F$b5/F0(B
$B$5$l$J$$$H$$$&0UL#O@$r:NMQ$7$F$*$j!"L$Dj5AJQ?t$NF10l@-$r46CN$G$-$k(B
$B$h$&$K$9$k$K$O!"(BKLIC$B<B9T7O$r2~B$$9$k$+!"(B
$B$"$k$$$O(B generic object [\ref{inside}] $B5!9=$rMQ$$$F(B
C$B8@8l$GK\5!G=$r<BAu$9$kI,MW$,$"$k!#(B


\subsubsection{ $B%W%C%7%eG[?.(B }

$B8=:_$N(Bdklic$B$NJ,;6JQ?t$O%W%C%7%eG[?.$r:NMQ$7$F$$$k!#$3$l$O!"(B
$BJ,;6JQ?t$,%a%C%;!<%8DL?.$K;H$o$l$k$3$H!"$*$h$S!J$=$l$KH<$C$F!KAw?.(B
$B$7$?%G!<%?$O86B'$H$7$FFI$^$l$k$3$H$rA0Ds$H$7$F$$$k$?$a$G$"$k!#(B
%
$B$b$&0l$D$NM}M3$O!"%W%m%0%i%`$rMW5a6nF0E*$K5-=R$9$l$P%W%k7?$HF1MM$N(B
$B5sF0$b<B8=$G$-$k$+$i$G$"$k!#(B

$B0lJ}!"(BKLIC$B$NJ,;6%a%b%jHG$G$O%W%kG[?.$r9T$J$C$F$$$k!#(B
$B$3$l$OL5BL$JDL?.$r5/$3$5$J$$Be$o$j$K!"(B
$B9-0hJ,;64D6-$K$*$$$F$O(B
$B%W%kMW5a$+$i1~Ez$^$G$NDL?.CY1d$,L5;k$G$-$J$/$J$k!#(B
%
$B$^$?%W%k7?G[?.$G$OJ,;6(BGC$B$NI,MW@-$,9b$^$k!#(B

dklic$B$O6/NO$J%W%m%0%i%`2r@O$NJ;MQ$r>-MhL\I8$H$7$F$*$j!"(B
$BI,MW$JDL?.$r@EE*2r@O$K$h$C$FK]Lu;~$K7hDj$9$k$3$H$b9M$($i$l$k!#(B


%---------------------------------------------------------------
%%% $B%5!<%P(B

\section{ $B1s3V%5!<%P$NNc(B } \label{sect/server}

$BK\@a$G$O!"$3$l$^$G$K>R2p$7$?(Bdklic$B$N5!G=$G5-=R$9$k$3$H$N$G$-$J$$(B
$B1s3V%5!<%P$NNc$H$7$F%A%c%C%H%5!<%P$r<($9!#(B

$B1s3V=R8l8F=P$7$O%/%i%$%"%s%H$,=R8l$r8F$S=P$9$?$a!"(B
$B%/%i%$%"%s%H$K$h$C$F%W%m%;%9$,@8@.$5$l$F$7$^$&!#(B
$B$9$J$o$A!"1s3V=R8l8F=P$7$NOHAH$_$G$O(B
$BJ#?t$N@\B3$r$^$?$$$G>uBV$rJ];}$9$k$h$&$J(B
$B??$N%5!<%P$r=q$/$3$H$,$G$-$J$$!#(B
$B=q$/$3$H$,$G$-$k$N$O%5!<%S%9$G$"$k!#(B

$B<!$K<($9$N$O!"(BKLIC$B$N%=%1%C%H%$%s%?%U%'%$%9$rMQ$$$?%A%c%C%H$NNc$G$"$k!#(B
$B8=:_$N(Bdklic$B$GF1MM$N%W%m%0%i%`$r=q$/$K$O!"(B
remote:called API$B$K<j$rF~$l$kI,MW$,$"$j!"(B
$B7k6I(BKLIC$B$N%=%1%C%H%$%s%?%U%'%$%9$K?($l$k$3$H$K$J$k!#(B

$B%/%i%$%"%s%H(Bchat.kl1$B$OI8=`F~=PNO$H%5!<%P$X$NF~=PNO$r3+$-!"(B
$BI8=`F~NO$G(B$ 1 $$B9TFI$_9~$`EY$K%5!<%P$X=PNO$7!"$=$l$HJBNs$K(B
$B%5!<%P$+$i(B$ 1 $$B9TF~NO$5$l$kEY$KI8=`=PNO$X=q$-=P$9!#(B

\prog{chat}

$B%5!<%P(Bchatd.kl1$B$O%/%i%$%"%s%H$+$i$N%a%C%;!<%8$r$=$N$^$^Aw$jJV$7!"(B
$BB>$N%/%i%$%"%s%H$+$i$N%a%C%;!<%8$b$^$?%V%m!<%I%-%c%9%H$9$k!#(B

\prog{chatd}

$B%/%i%$%"%s%H!?%5!<%P6&$K!"(B
KLIC-3.003$B$N%=%1%C%H$,%9%H%j!<%`$r(B$ 1 $$BK\$7$+JV$5$J$$$?$a$K(B
$BF~=PNO$,F14|2=$5$l$F$7$^$&(B
$B$H$$$&%P%0$r=$@5$7$?$b$N(B [\ref{treecode}] $B$rMxMQ$7$F$$$k!#(B
$B$^$?!"%/%i%$%"%s%HB&$G$O!"(B
KLIC-3.003$B$,I8=`F~NO$rFCJL07$$$7$F(B
$BB>$NF~=PNO$r%V%m%C%/$9$k$H$$$&%P%0$r2sHr$9$k$?$a$K!"(B
$BI8=`F~NO$K8DJL$N(BUnix$B%W%m%;%9$r3d$jEv$F$F$$$k!#(B

$B%3%s%Q%$%k$H<B9T$NJ}K!$r<!$K<($9!#(B
\begin{verbatim}
% klic -o chatd chatd.kl1 lio.kl1
% ./chatd &

% telnet localhost 654321

% klic -dp -o chat chat.kl1 lio.kl1
% ./chat -p 2 localhost
\end{verbatim}

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,30)(0,-30)

\put(22,-1){\framebox{main\strut}}

\put(25,-2.5){\vector(-1,-1){11}} \put( 7,-16){\framebox{accept\strut}}
\put(25,-2.5){\vector( 0,-1){11}} \put(22,-16){\framebox{chat\strut}}
\put(25,-2.5){\vector( 1,-1){11}} \put(36,-16){\framebox{merge\strut}}

\put(14,-15){\line(1,0){8}} \put(16,-18){Chat}
\put(27.5,-15){\line(1,0){8.5}} \put(29,-18){Lss,Ls}

\put(25,-18){\vector(-1,-2){3}} \put(17,-27){\framebox{getl\strut}}
\put(25,-18){\vector( 1,-2){3}} \put(28,-27){\framebox{putl\strut}}

\put(22,-26){\line(1,0){6}} \put(24.5,-29){K}

\end{picture}
\caption{chatd$B$N%W%m%;%9@8@.LZ(B} \label{fig/chatd}
\end{figure}


\section{ $B1s3V%5!<%P$N<B8=(B } \label{sect/run}

$BK\@a$G$O!"A0@a$N$h$&$J1s3V%5!<%P$X$N%"%/%;%9$r(B
dklic$B$G2DG=$K$9$k$?$a$N<B9T7O$G$"$kJ,;6<B9T7O$K$D$$$F=R$Y$k!#(B

$B1s3V=R8l8F=P$7$O!"(B
$B%/%i%$%"%s%H$,D>@\%5!<%P!J%5!<%S%9!K$r=R8l8F=P$7$9$k!#(B
$B$3$l$O!"%/%i%$%"%s%H$+$i$N@\B3Kh$K%5!<%P$,5/F0$7D>$5$l$k$3$H$r0UL#$9$k!#(B
$B$7$+$7!"K>$_$N%5!<%P$O%/%i%$%"%s%H$+$i$N@\B3$HL54X78$K5/F0$7!"(B
$ 1 $$B$D$N%/%i%$%"%s%H$,@\B3$r@Z$C$F$bB8B3$9$k$b$N$G$"$k!#(B
$B$=$&$G$J$1$l$P!"J#?t$N@\B3$r$^$?$$$GMzNr$r;D$9$3$H$,$G$-$J$$!#(B

KL1$B$G$O!"=R8l8F=P$7LZ$G?F@L4X78$K$J$$(B
$B%W%m%;%9F1;N$,DL?.$r9T$J$&$3$H$,$G$-$J$$!#(B
$B$3$l$O!"%W%m%;%94VDL?.$KMxMQ$5$l$k%9%H%j!<%`$,(B
$B=R8l8F=P$7$N0z?t$H$7$FEO$5$l!"(B
$B$=$NB>$N%W%m%;%9$+$i;2>H$G$-$J$$$?$a$G$"$k!#(B
PIM$B>e$N=hM}7O$G$O(BOS$B$,%5!<%P%9%H%j!<%`$r4IM}$7$F$*$j!"(B
$B%W%m%;%9$,G$0U$N%5!<%P%9%H%j!<%`$NEPO?$H<hF@$rMW5a$9$k$3$H$,$G$-$?!#(B

\begin{figure}[h]
\setlength{\unitlength}{0.01\textwidth}
\begin{picture}(50,25)(0,-25)

\put(1,-16){\dashbox(48,15)}
\put(12,-4){Distributed Runtime System}

\multiput(3,-14)(29,0){2}{\framebox(15,5){KLIC runtime}}
\multiput(11,-14)(28,0){2}{\vector(0,-1){8}}
\put(18,-11){\line(1,0){14}} \put(22,-10){socket}

\put(8,-25){\framebox{client\strut}}
\put(36,-25){\framebox{server\strut}}
\put(14,-24){\line(1,0){22}} \put(22,-23){Stream}

\end{picture}
\caption{$BJ,;6<B9T7O$K$h$k%f!<%6%W%m%;%9$N@8@.(B} \label{fig/run}
\end{figure}

dklic$B$G$O!"(BPIM$B>e$N=hM}7O$,C1FH4D6-$G9T$J$C$F$$$?%9%H%j!<%`4IM}$r(B
$BJ,;64D6-$G9T$J$&$3$H$,L\I8$G$"$k!#(B
$B%/%i%$%"%s%H$H%5!<%P$,DL?.$r9T$J$&$?$a$K$O!"(B
$B%f!<%6%W%m%0%i%`F1;N$r7;Do4X78$H$7!"(B
$BJ,;6<B9T7O$r6&DL$N?F$H$9$kI,MW$,$"$k!#!J?^(B\ref{fig/run}$B!K(B

$BJ,;6<B9T7O$O%N!<%I<B9T7O$rJq4^$7!"(B
$B%M%C%H%o!<%/F)2a$JJ,;6%W%m%0%i%_%s%04D6-$rDs6!$9$k$b$N$G$"$k!#(B
$B$^$?!"%W%m%;%9$,0[>o=*N;$7$F$bJL$N%W%m%;%9$rF;O"$l$K$7$?$j(B
$B7W;;;q8;$r@jM-$7B3$1$?$j$7$J$$$h$&$K(BOS$B$N$h$&$J4IM}$r9T$J$&!#(B

$BJ,;6<B9T7O$r40@.$5$;$l$P!"(B
$B%9%H%j!<%`$rMQ$$$F%W%m%;%9$K%"%/%;%9$G$-$k(B
KL1$B$N%$%s%?%U%'%$%9$rJ,;63HD%$7$?$H8@$($k!#(B
$BJ,;6O@M}JQ?t$N<B8=$bJ,;6<B9T7O$N;E;v$N0lIt$G$"$k!#(B

$BA0@a$N%/%i%$%"%s%H$O%5!<%P$N>l=j!J%[%9%H$H%]!<%HHV9f!K$rCN$C$F$$$?$,!"(B
KL1/J$B$N%5!<%S%98!:w(B [\ref{KL1/J},\ref{ryo}] $B$O(B
$B%5!<%P$,%5!<%S%9L>$H%9%H%j!<%`$rEPO?$7!"(B
$B%/%i%$%"%s%H$,%5!<%S%9L>$K$h$C$F(B
$BG$0U$N%5!<%P%9%H%j!<%`$rMW5a$9$k$3$H$,$G$-$k$b$N$G$"$k!#(B
$B$3$l$rC!$-Bf$H$7$FJ,;6<B9T7O$r9=C[$9$k$3$H$,$G$-$k$G$"$m$&!#(B


%---------------------------------------------------------------
%%% $B$^$H$a(B

\section{ $B$^$H$a$H:#8e$N2]Bj(B } \label{sect/conc}

KL1$B$K$h$C$F(BKLIC$B$r3HD%$9$k$3$H$G!"(B
$B1s3V=R8l8F=P$7$rMF0W$K5-=R$9$k$?$a$N<B9T4D6-$r(B
$BDc$$%3%9%H$G<BAu$9$k$3$H$,$G$-$?!#(B
$B$3$l$K$h$C$F!"J#?t$N@\B3$r$^$?$$$GMzNr$rJ];}$7$J$$(B
$B%5!<%S%9$K$D$$$F$O(BKL1$B$G5-=R$9$k$3$H$,$G$-!"(B
$BC`<!$N>l9g$H$[$\F1$8%$%s%?%U%'%$%9$rDs6!$9$k$3$H$,$G$-$?!#(B

$B1s3V=R8l8F=P$7$N$?$a$N<B9T4D6-$r$5$i$K:GE,2=$9$k$K$O!"(B
KL1$B$K$h$k5-=R$G$OL5M}$,$"$j!"(B
generic object$B5!9=$rMQ$$$?(BC$B8@8l$K$h$k(BKLIC$B$N3HD%$,I,MW$G$"$k!#(B

$B$^$?!"%5!<%S%9$@$1$G$J$/%5!<%P$N5-=R$rMF0W$K$9$k$?$a$K!"(B
$BJ,;6<B9T7O$N@0Hw$r?J$a$kI,MW$,$"$k!#(B

$BJ,;6$H4XO"$N?<$$1~MQ$H$7$F%W%m%;%91JB32=$,$"$k!#(B
$BJQ?t$N6qBN2=>pJs$NN.$l$r@)8f$9$k$3$H$K$h$C$F!"(B
$B7W;;ESCf$N>uBV$r%U%!%$%k$K3JG<$7$?$j!"(B
$BDL?.$NCfCG!&:F3+$r9T$J$C$?$j$9$k$3$H$,2DG=$K$J$k$G$"$m$&!#(B

$B6/$/7?IU$1!&%b!<%IIU$1$5$l$?JB9TO@M}7?%W%m%0%i%`$KBP$7$F$O!"(B
$BDL?.%W%m%H%3%k$N0l4S@-$rJ]>Z$9$k$3$H$,$G$-$k!#(B
$B$3$l$i$N@-<A$O!"J,;6%W%m%0%i%_%s%0$rMF0W$K$9$k$H4|BT$G$-$k!#(B
$B8&5f$NC_@Q$5$l$?@EE*2r@O$rJ,;6<BAu$KE,MQ$7!"(B
$B:GE,2=$r9T$J$&$3$H$O:#8e$N=EMW$J2]Bj$G$"$k!#(B

%---------------------------------------------------------------

\section*{ $B<U<-(B }

$BK\8&5f$N0lIt$O!$2J3X8&5fHqJd=u6b(B(C)(2)11680370$B$N=u@.$rF@$F9T$J$C$?!#(B

$B$^$?!"8&5f$r?J$a$k$K$"$?$C$F!">eED8&5f<<8@8lHI$K$*$1$k(B
$B8^==Mr9(!"2CF#5*IW!"9b;37<!">>B<NL$N3F;a$H$N5DO@$,;29M$K$J$C$?!#(B


\section*{ $B;29MJ88%(B }
\begin{enumerate}
\item \label{KL1}
Ueda, K. and Chikayama, T.,
Design of the Kernel Language for the Parallel Inference Machine.
{\sl The Computer Journal}, Vol.~33, No.~6 (1990), pp.~494--500.

\item \label{PIMOS}
$BBmOBCK(B $BJT(B, bit$BJL:}(B $BBh8^@$Be%3%s%T%e!<%?$NJBNs=hM}(B.
$B6&N)=PHG(B, 1993.

\item \label{KLIC}
Chikayama, T., Fujise, T. and Sekita, D.,
A Portable and Efficient Implementation of KL1.
In {\sl Proc. 6th Int. Symp. on
Programming Language Implementation and Logic Programming (PLILP'94)},
LNCS 844, Springer-Verlag, Berlin, 1994, pp.~25--39.

\item \label{inside}
$B4XEDBg8c(B: Inside KLIC Version 1.0.
KLIC Task Group / AITEC / JIPDEC, 1998.
\\http://www.klic.org/software/klic/inside/master.html

\item \label{linearity}
Ueda, K., Linearity Analysis of Concurrent Logic Programs.  
In {\sl Proc.\ Int.\ Workshop on Parallel and Distributed
Computing for Symbolic and Irregular Applications}, 
Ito, T. and Yuasa, T. (eds.), World Scientific, 2000, pp.~253--270.

\item \label{Kima}
$BLVBe0iBg(B, $B>eEDOB5*(B,
Kima: $BJB9TO@M}%W%m%0%i%`<+F0=$@57O(B.
$B%3%s%T%e!<%?%=%U%H%&%'%"JL:}(B $B%=%U%H%&%'%"H/E8(B,
Vol.~18, No.~0 (2001), pp.~122--137.

\item \label{kato}
$B2CF#5*IW(B, $B>eEDOB5*(B,
$BJB9TO@M}%W%m%0%i%`$K$*$1$kC`<!<B9TItJ,$NCj=PJ}K!O@(B.
In {\sl Proc. JSSST Workshop on Programming and Programming Languages (PPL2001)},
2001.

\item \label{KL1/J}
$B8^==Mr9((B, $BJ,;6(BKL1$B8@8l=hM}7O$N@_7W$H<BAu(B.
$BAa0pEDBg3XM}9)3XIt>pJs3X2JB46HO@J8(B, 1999.

\item \label{treecode}
$B8^==Mr9((B, $B%a%?%$%s%?%W%j%?$K4p$E$/J,;6JB9TO@M}7?8@8l=hM}7O(B.
$BAa0pEDBg3XBg3X1!M}9)3X8&5f2J=$;NO@J8(B, 2001.

\item \label{dklic}
$B9bLZM42p(B, KL1$B$K$h$kJ,;6(BKL1$B8@8l=hM}7O$N<BAu(B.
$BAa0pEDBg3XM}9)3XIt>pJs3X2JB46HO@J8(B, 2000.
\\http://www.ueda.info.waseda.ac.jp/\verb!~!takagi/

\item \label{takayama}
$B9b;37<(B, $BJB9TO@M}7?8@8l(BKL1$B$K$h$kJ,;6(BKL1$B8@8l=hM}7O$N<BAu(B.
$BAa0pEDBg3XM}9)3XIt>pJs3X2JB46HO@J8(B, 2001.

\item \label{ryo}
$B>>B<NL(B, $BJB9TO@M}7?8@8l(BKL1$B$NJ,;63HD%$N$?$a$N1s3V%N!<%I4IM}$N<BAu(B.
$BAa0pEDBg3XM}9)3XIt>pJs3X2JB46HO@J8(B, 2001.

\item \label{mobj}
Van Roy, P., Haridi, S., Brand, P., Smolka, G., Mehl, M. and Scheidhauer, R., 
Mobile Objects in Distributed Oz.
{\sl ACM Transactions on Programming Languages and Systems},
Vol.~19, No.~5, September 1997, pp.~804--851.

\item \label{Oz}
Haridi, S., Van Roy, P., Brand, P. and Schulte, C.,
Programming Languages for Distributed Applications.
{\sl New Generation Computing}, Vol.~16, No.~3 (1998), pp.~223--261.

\item \label{DLV}
Haridi, S., Van Roy, P., Brand, P., Mehl, M., Scheidhauer, R. and Smolka, G., 
Efficient Logic Variables for Distributed Computing.
{\sl ACM Transactions on Programming Languages and Systems},
Vol.~21, No.~3, May 1999, pp.~569--626.

\item \label{DRL}
Diaz, M., Rubio, B. and Troya, J.~M.,
DRL: A Distributed Real-Time Logic Language.
{\sl Comput.\ Lang.}, Vol.~23, No.~2--4 (1997), pp.~87--120.
\end{enumerate}
\end{document}
