% DKLICP
% opener $B:FMxMQ(B
% $BFs<T!";0<TDL?.(B

\chapter{ $B%W%m%H%3%k(B DKLICP }
\label{DKLICP}

$BA0>O$G$O!"(BKL1 $B8@8l$K$h$kJ,;6%W%m%0%i%_%s%0$r<B8=$9$k$?$a$K(B
$BL$Dj5AJQ?t$r4^$`(B KL1 $B9`$rAw<u?.$9$kI,MW$,$"$k$3$H$rL@$i$+$K$7!"(B
DKLIC $B=hM}7O$NL\I8$r@_Dj$7$?!#(B
%
$BK\>O$G$O!"O@M}JQ?t$r4^$`(B KL1 $B9`$rAw<u?.$9$k$?$a$K(B
dklicio $B$,;HMQ$9$kDL?.%W%m%H%3%k(B DKLICP $B$K$D$$$F2r@b$9$k!#(B

\vspace{1em}

$B<!$K(B DKLICP $B8@8l$N7A<02=$N3,AX$r5s$2$k!#(B
\begin{enumerate}
\item $B@5B'J8K!(B \( lex : String \rightarrow Token^* \).
KL1 $B8@8l$N;z6g2r@O$HF10l$G$"$k(B

\item $BJ8L.<+M3J8K!(B \( parse : Token^* \rightarrow Term^* \).
KL1 $B8@8l$N9=J82r@O$HF10l$G$"$k(B

\item $BJ8L.0MB8J8K!(B
\( unmarshal =\Def marshal^{-1} : (String \rightarrow) Term^* \).
$BJ,;6O@M}JQ?t!&M"=PF~I=$,Dj5A$9$k(B

\item $B0UL#O@(B.
$B!J%f!<%6Dj5A!K%5!<%P$K$h$C$FDj5A$5$l$k(B
\end{enumerate}

DKLIC $B=hM}7O$N<BAu$rC1=c$K$9$k$?$a!"(B
\( lex, parse \) $B$r(B KL1 $B8@8l$H6&M-$9$k$3$H$K$h$C$F!"(B
KLIC $B=hM}7O$N4{B8%Q!<%6$r$=$N$^$^MxMQ$9$k!#(B

$BB>8@8l$H$N(B inter-operability $B$N$?$a$K@5B'J8K!$HJ8L.<+M3J8K!(B
$B$r(B XML $B8@8l$KBP1~$5$;$kNc$K$D$$$F$O!"IUO?(B\ref{XML}$B$r;2>H$;$h!#(B


\section{ $BFs<TDL?.$N%W%m%H%3%k(B }

\newcommand{\M}[1]{ \makebox{`#1'} }
\newcommand{\NEW}[1]{ \M{NEW\_\(#1\)} }
\newcommand{\OLD}[1]{ \M{\_\(#1\)}}

\newcommand{\ID}{\var{ID}}
\newcommand{\Name}[1]{ \_\var{#1} }
\newcommand{\Host}{\var{Host}}
\newcommand{\Port}{\var{Port}}
\newcommand{\nl}{\(\backslash\)n}
\newcommand{\String}[1]{ ``#1'' }
\newcommand{\Term}{\var{Term}}

\begin{enumerate}
\Comment{
\item
$B%Q%1%C%H$N7gB;$dDI$$1[$7$,$J$$%M%C%H%o!<%/$rA0Ds$H$9$k!#(B
TCP/IP $B%=%1%C%H!"%/%i%$%"%s%H!&%5!<%P%b%G%k(B
} % end Comment

\item
$B$^$:!"%/%i%$%"%s%H$,%5!<%P$XJ8;zNs(B
\String{DKLICP 2002-01 \Host:\Port\nl} $B$rAw?.$9$k!#(B
$B$3$3$G!"(B\Host:\Port $B$O%/%i%$%"%s%H%W%m%;%9$r<B9T$9$k(B
DKLICP $BBP1~%5!<%P$N0LCV>pJs$G$"$k!#(B

$B$3$NJ8;zNs$r<u$1<h$C$?%5!<%P$O$=$N%/%i%$%"%s%H$XJ8;zNs(B
\String{DKLICP 2002-01 server\nl} $B$rAw?.$7!"(B
$B0J2<$N5,B'$K=>$C$F(B KL1 $B9`$NAw<u?.$r3+;O$7$FNI$$!#(B

$B%5!<%P$+$i$NJVEzJ8;zNs$r<u$1<h$C$?%/%i%$%"%s%H$O(B
$B0J2<$N5,B'$K=>$C$F(B KL1 $B9`$NAw<u?.$r3+;O$7$FNI$$!#(B

$B$?$@$7!"8D!9$N(B KL1 $B9`$O%T%j%*%I$H(B LineFeed $B$+$i@.$kJ8;zNs(B
\String{.\nl} $B$K$h$C$F=*C<$9$k!#(B

\item
$BJQ?t0J30$N9`$O!"(BKL1 $B%W%m%0%i%`$K$*$$$F(B
$B$=$N9`$rI=8=$9$kJ8;zNs$=$N$^$^$GI=8=$5$l$k!#(B
$B%3%s%9!"%U%!%s%/%?!"%Y%/%?$J$I$NJ#9gCM$O!"(B
$B$=$NMWAG$KBP$7$F:F5"E*$KK\5,B'$rE,MQ$9$k!#(B

\item
$BJQ?t(B X $B$O(B\String{\Name{ID}}$B$K$h$C$FI=8=$5$l$k!#(B
%
$B$3$3$G(B \Name{ID} $B$OJQ?t(B X $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B

$BJQ?t(B X $B$K$^$@<1JL;R$,3d$jEv$F$i$l$F$$$J$$>l9g!"(B
$B$3$NFs<TDL?.$N4V$G(B
$B4{B8$N<1JL;R$H=EJ#$7$J$$?7$?$J<1JL;R$r3d$jEv$F$k!#(B
%
$B<1JL;R$N3d$jEv$F$i$l$?JQ?t$rJ,;6O@M}JQ?t$H>N$9$k!#(B

\item
\begin{enumerate}
\item 
$B%[%9%H(B A $BFb$GJ,;6O@M}JQ?t(B X $B$K6qBNCM(B \Term $B$,=q$-9~$^$l$?$i!"(B
$B6qBN2=%a%C%;!<%8(B\String{\Name{ID}=\Term}$B$rAw?.$9$k!#(B
%
$B$3$3$G(B \Name{ID} $B$OJQ?t(B X $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B

\item
$B%[%9%H(B A $BFb$GJ,;6O@M}JQ?t(B X $B$H(B Y $B$,D>7k$5$l$?$i!"(B
$BD>7k%a%C%;!<%8(B\String{\Name{ID}=\Name{ID1}}$B$rAw?.$9$k!#(B
%
$B$3$3$G(B \Name{ID}, \Name{ID1}
$B$O$=$l$>$lJQ?t(B X, Y $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B
%
$B$^$?!"(BX $B$O(B out $B%b!<%I$NJQ?t$H$9$k!#(B

in $B%b!<%I$NJQ?tF1;N$rD>7k$9$k$N$O!"(B
$BFI$_9~$_%b!<%I$NJQ?t$K@)Ls$r2]$7$F(B
$B$"$k<o$N=q$-9~$_$r9T$&$3$H$K$J$k$N$G!"(B
$B%b!<%IIU$-$G$"$k$H$$$&A0Ds$KH?$9$k!#(B

$B=>$C$F!"D>7k$5$l$?Fs$D$NJQ?t$N$&$A>/$J$/$H$b0l$D$O(B out $B%b!<%I$G$"$k!#(B
X $B$,(B out $B%b!<%I$H$J$k$h$&$K(B X, Y $B$rA*$S!"%a%C%;!<%8$r9=@.$;$h!#(B

\item
$B%[%9%HFb$GJ,;6O@M}JQ?t(B X $B$X$N;2>H$,$J$/$J$C$?$i!"(B
$B:o=|%a%C%;!<%8(B\String{\Name{ID}=Removed}$B$rAw?.$9$k!#(B
%
$B$3$3$G(B \Name{ID} $B$OJQ?t(B X $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B
\end{enumerate}

$B$3$l$i$N6qBN2=!"D>7k!":o=|%a%C%;!<%8$r<u?.$7$?%[%9%H(B B $B$O!"(B
$B<u?.3NG'$H$7$F(B\String{\Name{ID}=Removed} $B$rAw?.$7JV$9!#(B

\Name{ID} $B$N3dEv$F8"$,%[%9%H(B A $B$K$"$k>l9g!"(B
$B%[%9%H(B A $B$O%[%9%H(B B $B$+$i$N<u?.3NG'$r<u?.$7$?8e$K(B
\Name{ID} $B$rJL$NJQ?t$K3d$jEv$FD>$7$FNI$$!#(B
%
\Name{ID} $B$N3dEv8"$,%[%9%H(B B $B$K$"$k>l9g!"(B
$B%[%9%H(B B $B$O%a%C%;!<%8$KBP$9$k<u?.3NG'$rAw?.$7$?8e$K(B
\Name{ID} $B$rJL$NJQ?t$K:FMxMQ$7$FNI$$!#(B
\end{enumerate}


\newcommand{\State}[1]{\makebox{\(#1(id)\)}}
\newcommand{\Opening}{\State{opening}}
\newcommand{\Opened}{\State{opened}}
\newcommand{\Closing}{\State{closing}}
\newcommand{\Closed}{\State{closed}}

\newcommand{\Message}[1]{\makebox{\({#1}Message(id)\)}}
\newcommand{\OpenMessage}{\Message{Open}}
\newcommand{\CloseMessage}{\Message{Close}}

\newcommand{\Opener}{\State{opener}}
\newcommand{\Openee}{\State{openee}}
\newcommand{\Closer}{\State{closer}}
\newcommand{\Closee}{\State{closee}}


\section{ $BJ,;6O@M}JQ?t$N%i%$%U%5%$%/%k(B }

$BJ,;6O@M}JQ?t$N%i%$%U%5%$%/%k$O<!$N;0CJ3,$+$i@.$k!#(B

\begin{enumerate}
\item open. $BO@M}JQ?t$K(B \Name{ID} $B$r3d$jEv$F!"M"=P!J$=$7$FM"F~!K$9$k!#(B
\item use. $BJ,;6O@M}JQ?t$r9`$N0lIt$H$7$FAw<u?.$9$k!#(B
\item close. $BDL?.O)$rJD$8!"(B\Name{ID} $B$r2s<}$9$k!#(B
\end{enumerate}

$B6qBN2=%a%C%;!<%8!"D>7k%a%C%;!<%8!":o=|%a%C%;!<%8$r<u?.$9$k$H!"(B
$BDL?.O)$rJD$8$F(B \Name{ID} $B$r2s<}$9$k=hM}$,9T$o$l$k!#(B
%
$B$3$N$?$a!"$3$l$i$N%a%C%;!<%8$r(B \CloseMessage $B$H8F$V!#(B

$B$^$?!"(B\Name{ID} $B$N3d$jEv$F$i$l$F$$$J$$HsJ,;6O@M}JQ?t$rM"=P$9$k$H$-!"(B
$BDL?.O)$r3+$$$F(B \Name{ID} $B$r3d$jEv$F$k=hM}$,9T$o$l$k!#(B
%
$B$3$N$h$&$K?7$?$JDL?.O)$r3+$/%a%C%;!<%8$r(B
\OpenMessage $B$H8F$V!#(B

\OpenMessage $B$NAw?.<T$r(B \Opener, $B<u?.<T$r(B \Openee $B$H8F$S!"(B
\CloseMessage $B$NAw?.<T$r(B \Closer, $B<u?.<T$r(B \Closee $B$H8F$V!#(B

$BJ,;6O@M}JQ?t$N>uBVA+0\$O<!$N$h$&$J$b$N$G$"$k!#(B
%
%\[ \{ \emptyset(id), \Opening, \Opened, \Closing, \Closed \} \]
%
\begin{enumerate}
\item \( \emptyset(id) \). $BMxMQ$5$l$?$3$H$,$J$$>uBV$G$"$k(B
\begin{enumerate}
\item \( \emptyset(id) \rightarrow \Opening \)
\\ $BM"=P$7$F$$$J$$(B \( id \) $B$N(B \OpenMessage $B$r1s3V%[%9%H$XM"=P$9$k(B
\item \( \emptyset(id) \rightarrow \Opened \)
\\ \OpenMessage $B$r1s3V%[%9%H$+$iM"F~$9$k(B
\end{enumerate}

\item \Opening.
\OpenMessage $B$rM"=P$7$?$,!"(B
$B1s3V%[%9%H$XM"F~$5$l$?$3$H$r3NG'$7$F$$$J$$>uBV$G$"$k(B
\begin{enumerate}
\item \( \Opening \rightarrow \Opened \)
\\ $BM"=P$7$?(B \( id \) $B$r1s3V%[%9%H$+$i<u?.$9$k(B
\item \( \Opening \rightarrow \Closing \)
\\ $BM"=P$7$?(B \( id \) $B$N(B \CloseMessage $B$r1s3V%[%9%H$XAw?.$9$k(B
\item \( \Opening \rightarrow \Closed \)
\\ $BM"=P$7$?(B \( id \) $B$N(B \CloseMessage $B$r1s3V%[%9%H$+$i<u?.$9$k!#(B
$B<u?.3NG'$rAw?.$9$kI,MW$,$"$k(B
\end{enumerate}

\item \Opened.
\OpenMessage $B$r1s3V%[%9%H$+$iM"F~$7$?>uBV$G$"$k(B
\begin{enumerate}
\item \( \Opened \rightarrow \Closing \)
\\ \CloseMessage $B$r1s3V%[%9%H$XAw?.$9$k(B
\item \( \Opened \rightarrow \Closed \)
\\ \CloseMessage $B$r1s3V%[%9%H$+$i<u?.$9$k!#(B
$B<u?.3NG'$rAw?.$9$kI,MW$,$"$k(B
\end{enumerate}

\item \Closing.
\CloseMessage $B$rAw?.$7$?$,!"(B
$B1s3V%[%9%H$+$i$N<u?.3NG'$r<u$1<h$C$F$$$J$$>uBV$G$"$k(B
\begin{enumerate}
\item \( \Closing \rightarrow \Closed \)
\\ \CloseMessage $B$r1s3V%[%9%H$+$i<u?.$9$k!#(B
$B<u?.3NG'$rAw?.$9$kI,MW$O$J$$(B
\end{enumerate}

\item \Closed.
\CloseMessage $B$r1s3V%[%9%H$+$i<u?.$7$?>uBV$G$"$k(B
\begin{enumerate}
\item \( \Closed \rightarrow \Opening \)
\\ \OpenMessage $B$r1s3V%[%9%H$X:FM"=P$9$k(B
\item \( \Closed \rightarrow \Opened \)
\\ \OpenMessage $B$r1s3V%[%9%H$+$i:FM"F~$9$k(B
\end{enumerate}
\end{enumerate}

$BA+0\%0%i%U$r4JLs2=$9$k$H(B \( \emptyset(id) = \Closed \) $B$G$"$k!#(B
$B$^$?!"(B\Opener $B$N(B ID $B6u4V$OJ,N%$7$F$"$k$N$G!"(B
\Opening $B$H(B \Opened $B$r6hJL$9$kI,MW$O$J$$!#(B

\newcommand{\fig}[1]{\begin{center}\includegraphics{fig/#1.eps}\end{center}}
\fig{var-state}


\section{ $BC/$,(B ID $B$r:FMxMQ$9$k$+(B }

\begin{enumerate}
\item \Closee $B$,(B id $B$r:FMxMQ$9$k>l9g!"(B
\CloseMessage $B$N<u?.3NG'$rAw$j=P$7$?D>8e$K(B
id $B$r:FMxMQ$7$?(B \OpenMessage $B$rAw?.$9$k$3$H$,$G$-$k!#(B

$B0lJ}!"(B\Closer $B$,(B id $B$r:FMxMQ$9$k>l9g!"(B
$BDL?.Aj<j$+$i$N(B \CloseMessage $B$N<u?.3NG'$r<u$1<h$k$^$G(B
id $B$r:FMxMQ$9$k$3$H$O$G$-$J$$!#(B

\item \Openee $B$,(B id $B$r:FMxMQ$9$k>l9g!"(B
id $B$NMxMQ8"$,8r8_$K0\F0$9$k!#(B

\item \Opener $B$,(B id $B$r:FMxMQ$9$k>l9g!"(B
ID $B6u4V$NMxMQ8"$r;}$C$F$$$kB&$,>o$K(B id $B$r:FMxMQ$9$k!#(B

\Openee $B$,:FMxMQ$9$k>l9g$H0[$J$j!"(B
ID $B6u4V$,F0E*$KJQ2=$9$k$3$H$O$J$$!#(B

$B:FMxMQ0J30$N>l9g$H@09g$7$F$$$k$N$G!"$3$N0F$r:NMQ$9$k!#(B
\end{enumerate}

\Closee $B$,(B id $B$r:FMxMQ$9$k>l9g!"(B
$B<u?.3NG'$rBT$?$:$K:FMxMQ$r;O$a$k$3$H$,$G$-$k!#(B
%
$B$7$+$7!"<!$N$h$&$K%/%i%$%"%s%H$+$i%5!<%P$X$N(B
$BE57?E*$JMW5a%9%H%j!<%`$r9M$($h$&!#(B
\begin{verbatim}
Request0 = [request0(Answer0) | Request1]
Request1 = [request1(Answer1) | Request2]
         :
\end{verbatim}

$B$3$N$h$&$JDL?.%Q%?!<%s$rB3$1$k8B$j!"(B
$B%5!<%P$O7h$7$FJQ?t$r(B open $B$;$:!"(B
$B%5!<%P$N(B ID $B6u4V$OC1D4A}2C$9$k!#(B
%
$B0lJ}!"%/%i%$%"%s%H$OJQ?t$r(B open $B$7B3$1!"(B
$B%/%i%$%"%s%H$N(B ID $B6u4V$OC1D48:>/$7!"(B
$B$d$,$F8O3i$9$k$G$"$m$&!#(B
%
$BJQ?t$N(B ID $B$r;q8;$H8+$J$94QE@$+$i$O!"(B
\Opener $B$,(B id $B$r:FMxMQ$9$kJ}<0$,E,@Z$G$"$k!#(B


\section{ $B;0<TDL?.$N%W%m%H%3%k(B }

\newcommand{\exporting}{\var{exporting}}

$B%[%9%H(B \A--\B $B4V$KDL?.O)(B K$B!"%[%9%H(B \B--\C $B4V$KDL?.O)(B L $B$,3+$$$F$$$k;~!"(B
K $B$H(B L $B$N4V$KD>@\$N4XO"$,$J$1$l$P!"%[%9%H(B \A--\B $B4V!"(B
\B--\C $B4V$NDL?.$O$=$l$>$lFHN)$JFs<TDL?.$G$"$k!#(B

$B$7$+$7!"%[%9%H(B \B $BFb$GDL?.O)(B K, L $B$,D>7k$5$l$k$H!"(B
$BD>7k(B K=L $B$N<B9T$r%[%9%H(B \A $B$d(B \C $B$KCN$i$;$kI,MW$,$"$k>l9g$,$"$k!#(B

\begin{enumerate}
\item 
$B%[%9%H(B \B $B$K$*$$$FDL?.O)(B K, L $B$,$$$:$l$b(B in $B%b!<%I$G$"$k;~!"(B
in $B%b!<%I$NJQ?tF1;N$rD>7k$9$k$N$O!"(B
$BFI$_9~$_%b!<%I$NJQ?t$K@)Ls$r2]$7$F(B
$B$"$k<o$N=q$-9~$_$r9T$&$3$H$K$J$k$N$G!"(B
$B%b!<%IIU$-$G$"$k$H$$$&A0Ds$KH?$9$k!#(B

\item
$B%[%9%H(B \B $B$K$*$$$FDL?.O)(B K, L $B$,$$$:$l$b(B out $B%b!<%I$G$"$k;~!"(B
$B%[%9%H(B \A $B$d(B \C $B$KD>7k$rJs9p$9$kI,MW$O$J$$!#(B
%
K=L $B$O%[%9%H(B \B $B$+$i$N%^%k%A%-%c%9%H$G$"$j!"(B
$B=q$-<j(B \B $B$,FI$_<j(B \A, \C $B$K6qBNCM$rD>@\Aw?.$9$k@UG$$r;}$D!#(B

\item
$B%[%9%H(B \B $B$K$*$$$FDL?.O)(B K $B$,(B in $B%b!<%I!"DL?.O)(B L $B$,(B out $B%b!<%I$G$"$k;~!"(B
$B%[%9%H(B \B $B$O%[%9%H(B \A $B$X4V@\M"=P%a%C%;!<%8(B
\String{\Name{ID}=\Name{ID1}@\C}$B$rAw?.$9$k!#(B
%
$B$3$3$G(B \Name{ID} $B$O(B \A--\B $B4V$G(B K $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B
$B$^$?!"(B\Name{ID1} $B$O(B \B--\C $B4V$G(B L $B$K3d$jEv$F$i$l$?<1JL;R$G$"$k!#(B
\A--\B $B4V$GDL?.$5$l$k%a%C%;!<%8Fb$NJQ?tL>$G$O!"(B
$B<+L@$J(B\String{@\A\B}$B$r>JN,$7$F$$$k$H9M$($FNI$$!#(B
\String{\Name{ID1}@\C}$B$G$O(B\String{@\B}$B$r>JN,$7$F$$$k!#(B
%
$B$3$N$H$-!"%[%9%H(B \B $B$K$*$$$FDL?.O)(B L $B$O4V@\M"=P$5$l$?(B
(\exporting) $B>uBV$XA+0\$9$k!#(B

\begin{enumerate}
\item $B4V@\M"=P%a%C%;!<%8$r<u?.$7$?%[%9%H(B \A $B$O(B
$B%[%9%H(B \C $B$X!"4V@\M"=P3NG'%a%C%;!<%8(B
\String{\Name{ID1}@\B=\Name{ID2}}$B$rAw?.$9$k!#(B
%
$B$3$3$G(B \Name{ID2} $B$O!"O@M}JQ?t(B K $B$N%[%9%H(B \A--\C
$B4V$K$*$1$k?7$?$JDL?.O)(B K' $B$N<1JL;R$G$"$k!#(B
$B$?$@$7!"%[%9%H(B \A $BFb$GO@M}JQ?t(B K $B$K(B
$B6qBNCM(B \Term $B$,4{$K=q$-9~$^$l$F$$$?>l9g!"(B
$B4V@\M"=P3NG'%a%C%;!<%8(B\String{\Name{ID1}@\B=\Term}
$B$rAw?.$9$l$PNI$/!"?7$?$K(B K' $B$r(B open $B$9$kI,MW$O$J$$!#(B

DKLICP $B$N%=%1%C%H3NN)(B (negotiation) $B;~$K!"%/%i%$%"%s%H$,(B
\Host:\Port $B$r<+8J?=9p$9$k$N$O!"?7$?$JDL?.O)(B K' $B$r3NN)(B
$B$9$k;~$KI,MW$G$"$k$3$H$,$"$k$?$a$G$"$k!#(B
$BFs<TDL?.$G$O!"%=%1%C%H$N3NN);~$K%/%i%$%"%s%H$,(B
\Host:\Port $B$r<+8J?=9p$9$kI,MW$O$J$$!#(B

\item $B4V@\M"=P3NG'%a%C%;!<%8$r<u?.$7$?%[%9%H(B \C $B$O%[%9%H(B \B $B$X(B
$B4V@\M"=P:Q$_%a%C%;!<%8(B\String{\Name{ID1}=Exported}$B$rAw?.$9$k!#(B

\item $B4V@\M"=P:Q$_%a%C%;!<%8$r<u?.$7$?%[%9%H(B \B $B$O(B
\exporting $B>uBV$NDL?.O)(B L $B$rJD$8$k(B (\Closed)$B!#(B
%
\exporting $B>uBV$NDL?.O)(B L $B$O!"4V@\M"=P:Q$_%a%C%;!<%80J30$N(B
\CloseMessage $B$K$h$C$F(B \Closed $B>uBV$XA+0\$7$F$O$J$i$J$$!#(B
%
$B$J$<$J$i!"(B\A $B$+$i(B \C $B$X4V@\M"=P3NG'%a%C%;!<%8$,FO$/A0$K(B
\Name{ID1} $B$,B>$NJQ?t$K:FMxMQ$5$l$F$O$J$i$J$$$+$i$G$"$k!#(B

\item \exporting $B>uBV$NDL?.O)(B L $B$KBP$7$F!"(B
$B4V@\M"=P%a%C%;!<%8(B\String{\Name{ID1}=\Name{ID3}@\D}$B$r<u?.$7$?$i!"(B
$B%[%9%H(B \B $B$O%[%9%H(B \C $B$X4V@\M"=PIT5v2D%a%C%;!<%8(B
\String{\Name{ID1}=Exporting}$B$rAw?.$9$k!#(B
%
$B4V@\M"=PIT5v2D%a%C%;!<%8$r<u?.$7$?%[%9%H(B \C $B$O!"(B
$B%[%9%H(B \A $B$+$i$N4V@\M"=P3NG'%a%C%;!<%8$rBT$A!"(B
$B4V@\M"=P%a%C%;!<%8(B\String{\Name{ID2}=\Name{ID3}@\D}$B$rAw?.$7D>$9!#(B
\end{enumerate}

$B$3$l$i$N%a%C%;!<%8DL?.$r=*$($k$HDL?.O)(B K=L $B$O!"(B
$B%[%9%H(B \A $B$+$i$N%^%k%A%-%c%9%H$G$"$k(B K=K' $B$X$H@\B3$7D>$5$l$F$$$k!#(B
\end{enumerate}

\fig{3com}

$BK\%W%m%H%3%k$O!"(B
$B%W%C%7%e7?$NDL?.$rA0Ds$H$7$F@_7W$7$?!#(B
%
$B$9$J$o$A!"DL?.O)$ND>7k$K$h$C$FDL?.$NCf7Q$r=*N;$7!"(B
$BDL?.O)$,@\B3$7D>$5$l$k$3$H$rL\E*$H$7$?!#(B

$B%^%k%A%-%c%9%H$,9T$o$l$k>l9g!"(B
$B$G$-$k8B$j=q$-<j$+$iFI$_<j$XD>@\!"(B
$BCf7Q$J$7$KDL?.$,9T$o$l$k$Y$-$G$"$k!#(B
%
$B$J$<$J$i!"J,;64D6-$K$*$$$F$ODL?.CY1d$,L5;k$G$-$J$$$+$i$G$"$k!#(B

$B=>$C$F!"Cf7Q%N!<%I$K$*$$$FF~NO$H=PNO$ND>7k$,9T$J$o$l$?>l9g!"(B
$B$=$ND>7k$O!"$^$:=q$-<jB&$KJs9p$5$l$k$Y$-$G$"$k!#(B
%
$BK\%W%m%H%3%k$O$3$N5,B'$K=>$C$F$$$k!#(B

$BK\%W%m%H%3%k$N@5Ev@-$N8!>Z$O:#8e$N2]Bj$G$"$k!#(B

\vspace{1em}

$B0J>e$G!"J,;6O@M}JQ?t$r4^$`(B KL1 $B9`$rAw<u?.$9$k%W%m%H%3%k$K$D$$$F2r@b$7$?!#(B
%
$B<!>O$G$O!"(BDKLIC $B=hM}7O$N:G2<0L%5!<%P(B dklicio $B$N@_7W$r9T$&!#(B

% end
