\documentclass{jarticle}

\title{\bf Open XM($B%?%$%H%kL$Dj(B)}
\author{
Maekawa, Masahide  (Oct., 1999 -- : CVS server) \\
Noro, Masayuki     (Jan., 1996 -- : OpenXM Protocol, asir99) \\
Ohara, Katsuyoshi  (Jan., 1998 -- : ox\_math) \\
Okutani, Yukio     (Oct., 1999 -- : asir contrib) \\
Takayama, Nobuki   (Jan., 1996 -- : OpenXM Protocol, kan) \\
Tamura, Yasushi    (Nov., 1998 -- : OpenMath proxy) \\
}
\date{ 1999$BG/(B, 11$B7n(B25$BF|(B}

%\pagestyle{empty}

\begin{document}
\maketitle

\section{OpenXM $B$N7W;;%b%G%k(B}

OpenXM $B$O?t3X%=%U%H4V$G%a%C%;!<%8$r8r49$9$k$?$a$N5,Ls$G$"$k!#(B
OpenXM $B$H$O(B Open message eXchange protocol for Mathematics $B$NN,$G$"$k!#(B
$B?t3X%=%U%H4V$G%a%C%;!<%8$r$d$j$H$j$5$;$k$3$H$K$h$j!"(B
$B$"$k?t3X%=%U%H$+$iB>$N?t3X%=%U%H$r8F$S=P$7$F7W;;$r9T$J$C$?$j!"(B
$BB>$N%^%7%s$G7W;;$r9T$J$o$;$?$j$G$-$k$h$&$K$9$k!#(B
$BH/C<$OLnO$@59T$H9b;3?.5#$K$h$j!"(B asir $B$H(B kan/sm1 $B$r(B
$BAj8_$K8F$S=P$95!G=$r<BAu$7$?$3$H$G$"$k!#(B
$B8=:_$NL\I8$O!"%U%j!<$N?t3X%=%U%H$rAj8_$K@\B3$7$F(B
$B9%$-$J8@8l$+$i4JC1$KB>$N?t3X%=%U%H$r;H$($k$h$&$K$9$k$3$H$G$"$k!#(B

$BH/C<$H$J$C$?(B asir $B$H(B kan/sm1 $B$G$N<BAu;~$K$O!"(B
$B$*8_$$$KAj<jB&$N%3%^%s%IJ8;zNs$rAw$C$F$$$?!#(B
$B$3$NJ}K!$O8=:_$N(B OpenXM $B5,Ls$G$b2DG=$G$"$j!"(B
$B;H$$$d$9$/$O$"$k$,!"8zN(E*$G$"$k$H$O$$$$Fq$$!#(B
$B$5$i$K!"$3$NJ}K!$G$OAj<jB&$N%=%U%H$,(B asir $B$J$N$+(B kan/sm1 $B$J$N$+$r(B
$BH=JL$7$F!"Aj<jB&$K9g$o$;$F%3%^%s%IJ8;zNs$r:n@.$9$kI,MW$,$"$k!#(B

$B$3$l0J30$NJ}K!$H$7$F!"(B OpenXM $B5,Ls$G$O6&DLI=8=7A<0$K$h$k(B
$B%a%C%;!<%8$rMQ0U$7$F$$$k!#(B
OpenXM $B5,LsFH<+$N%G!<%?7A<0$G$"$k(B CMO $B7A<0(B(Common Mathematical Object format)
$B0J30$K$b!"(B MP $B$d(B OpenMath $B$N(B XML, binary $BI=8=7A<0$H$$$C$?B>$N7A<0$r$b(B
$B07$($k$h$&$K$7$F$"$k!#(B


\section{OpenXM $B$N%a%C%;!<%8$N9=B$(B}

$BA0@a$G8+$?$h$&$K!"(B OpenXM $B$N%a%C%;!<%8$O(B
$BJ#?t$N<oN`$N%G!<%?$rI=8=$9$k$3$H$,2DG=$G$"$k!#(B
$B%a%C%;!<%8$,$I$N$h$&$J%G!<%?$J$N$+$O!"(B
$B@hF,$K$"$k(B tag $B$r$_$l$PJ,$+$k$h$&$K$J$C$F$$$k!#(B
$B$3$N(B tag $B$r$_$k$3$H$K$h$C$F!"%a%C%;!<%8$K4^$^$l$F$$$k(B
$B%G!<%?$,(B CMO $B7A<0$J$N$+!"(B OpenMath $B$N(B XML $BI=8=$J$N$+$,(B
$BJ,$+$k$h$&$K$J$C$F$$$k!#(B




\section{OpenXM $B$N7W;;$N?J9TJ}K!(B}

OpenXM $B5,Ls$G$N%a%C%;!<%8$N8r49$O%5!<%P$H%/%i%$%"%s%H$N4V$G(B
$B9T$J$o$l$k!#%/%i%$%"%s%H$+$i%5!<%P$X7W;;$5$;$?$$%G!<%?$r(B
$B%a%C%;!<%8$H$7$FAw$j!"<!$$$G%5!<%P$K9T$J$o$;$?$$F0:n$K(B
$BBP1~$7$?%G!<%?$rAw$k$3$H$K$h$C$F!"7W;;$J$I$N!"$J$s$i$+$NF0:n$r(B
$B%5!<%P$K9T$J$o$;$k!#(B
$B$=$N7k2L$r%5!<%P$+$i%a%C%;!<%8$G<u$1<h$k$3$H$K$h$C$F7W;;$O9T$J$o$l$k!#(B
$B$?$@$7!"%5!<%P$O7k2L$NAw?.$9$i$bL?Na$5$l$J$1$l$P9T$J$&$3$H$O$J$/!"(B
$B%/%i%$%"%s%H$O7k2L$r<u$1<h$i$:$K%5!<%P$K<!!9$H(B
$B7W;;$r9T$J$o$;$k$3$H$b2DG=$G$"$k!#(B
$B$J$*!"%5!<%P$KBP$9$kF0:n$KBP1~$7$?%G!<%?$O(B SM $BAX$GDj5A$5$l$F$*$j!"(B
SM $BAX0J30$N%G!<%?$G$O%5!<%P$O%G!<%?$r<u$1<h$k0J30$NF0:n$r(B
$B$7$J$$$3$H$K$J$C$F$$$k!#(B

$B%5!<%P$O%9%?%C%/$r;}$C$F$$$k$H2>Dj$5$l$F$*$j!"(B
$B<u$1<h$C$?%a%C%;!<%8$O$9$Y$F%9%?%C%/$K@Q$^$l$k!#(B
$B$?$@$7!"A0=R$N$H$*$j!"(B SM $BAX$GDj5A$5$l$?%G!<%?$r<u$1<h$C$?>l9g$K$O!"(B
$B$=$l$KBP1~$9$kF0:n$r9T$J$&!#(B
$B$3$N$H$-!"I,MW$,$"$l$P%5!<%P$O%9%?%C%/$+$i%G!<%?$r<h$j=P$9!#(B
$B%/%i%$%"%s%H$+$i$NL?Na$K$h$kF0:nCf$K$?$H$(%(%i!<$,H/@8$7$?$H$7$F$b!"(B
$B%5!<%P$O%(%i!<%*%V%8%'%/%H$r%9%?%C%/$K@Q$`$@$1$G!"(B
$BL@<($5$l$J$$8B$j%(%i!<$rJV$5$J$$$3$H$KCm0U$7$J$1$l$P$J$i$J$$!#(B

$B7k2L$,@8$8$kF0:n$r%5!<%P$,9T$J$C$?>l9g!"(B
$B%5!<%P$OF0:n$N7k2L$r%9%?%C%/$K@Q$s$G$$$k!#(B
$B%5!<%P$K9T$J$o$;$?F0:n$N7k2L$r%/%i%$%"%s%H$,CN$j$?$$>l9g!"(B
$B%9%?%C%/$+$i%G!<%?$r<h$j=P$7Aw?.$r9T$J$&L?Na$KBP1~$7$?(B SM $BAX$N%G!<%?$r(B
$B%5!<%PB&$XAw$l$P$h$$!#(B

$B%/%i%$%"%s%H$,%5!<%P$X7W;;$r9T$J$o$;!"7k2L$rF@$k$H$$$&<j=g$rDI$C$F$$$/$H!"(B
$B<!$N$h$&$K$J$k!#(B

\begin{enumerate}
\item	$B$^$:!"%/%i%$%"%s%H$,%5!<%P$X7W;;$5$;$?$$%G!<%?$rAw$k!#(B
	$B%5!<%P$OAw$i$l$F$-$?%G!<%?$r%9%?%C%/$K@Q$`!#(B
\item	$B%/%i%$%"%s%H$,%5!<%P$K!V7W;;$r9T$J$&F0:n$KBP1~$7$?%G!<%?!W$r(B
	$BAw$k$H!"%5!<%P$OI,MW$J$@$1%9%?%C%/$+$i%G!<%?$r<h$j=P$7!"(B
	$B<B9T$7$?7W;;$N7k2L$r%9%?%C%/$K@Q$`!#(B
\item	$B:G8e$K!V%G!<%?$r<h$j=P$7Aw?.$r9T$J$&L?Na$KBP1~$7$?%G!<%?!W$r(B
	$B%5!<%P$XAw$k$H!"%5!<%P$O%9%?%C%/$+$i7W;;7k2L$NF~$C$F$$$k(B
	$B%G!<%?$r<h$j=P$7!"%/%i%$%"%s%H$XAw=P$9$k!#(B
\end{enumerate}


\section{CMO $B$N%G!<%?9=B$(B}

OpenXM $B4V$G$d$j$H$j$5$l$k%a%C%;!<%8$r<B:]$K:n@.$9$k>l9g!"(B
CMO $BAX$GDj5A$5$l$F$$$kB?G\D9@0?t$rM}2r$7$F$*$/$H!"(B
CMO $BAX$NB>$N%G!<%?9=B$$@$1$G$J$/!"(B OX $BAX!"(B SM $BAX$N%G!<%?$r(B
$BM}2r$9$k=u$1$K$J$k$H;W$($k$N$G!"(B CMO $BAX$NB?G\D9@0?t$N(B
$B%G!<%?9=B$$K$D$$$F@bL@$9$k!#(B

CMO $BAX$GDj5A$5$l$F$$$k%G!<%?$OB?G\D9@0?t0J30$K$b(B
$BJ8;zNs$d%j%9%H9=B$$J$I$,$"$k!#$I$N$h$&$J%G!<%?$G$"$k$+$O(B
$B%G!<%?$N@hF,$K$"$k(B tag $B$r8+$l$PH=JL$G$-$k$h$&$K$J$C$F$$$k!#(B
$B$3$l$O(B OX $BAX$G$N%G!<%?$NH=JL$N;EJ}$H$*$J$8$G$"$k!#(B
$B$J$*!"(B tag $B$O3F%G!<%?Kh$K(B 32 bit $B$N@0?t$GI=$5$l$F$*$j!"(B
$BB?G\D9@0?t$O(B 20 $B$H$J$C$F$$$k!#(B
$B$3$3$G(B 32 bit $B$N@0?t$NI=8=J}K!$K$D$$$F@bL@$9$kI,MW$,$"$k!#(B
%$B:r:#$N%3%s%T%e!<%?;v>p$+$i!"(B
%32 bit $B@0?t$b(B 8 bit $BC10L$G07$&$[$&$,ET9g$,$h$$!#(B
OpenXM $B$G$O(B 8 bit $BC10L$G(B $( \mbox{\tt 00 00 00 14})_{2^8}$ $B$HI=$9J}K!$H(B
$( \mbox{\tt 14 00 00 00})_{2^8}$ $B$HI=$9J}K!$,$"$k!#(B
$B$3$NI=8=J}K!$N0c$$$O%/%i%$%"%s%H$H%5!<%P$N:G=i$N@\B3;~$K(B
$BAPJ}$N9g0U$G7hDj$9$k$3$H$K$J$C$F$$$k!#(B
$B$J$*!"9g0U$,$J$$>l9g$K$O(B
$BA0<T$NI=8=J}K!(B($B0J8e!"$3$NI=8=J}K!$r(B network byte order $B$H8F$V(B)$B$r(B
$B;H$&$3$H$K$J$C$F$$$k!#(B
$B$^$?!"Ii$N?t$rI=8=$9$kI,MW$,$"$k$H$-$K$O!"(B
2 $B$NJd?tI=8=$r;H$&$3$H$K$J$C$F$$$k!#(B

$BI=8=$7$?$$B?G\D9@0?t$N@dBPCM$r(B 2 $B?J?t$GI=$7$?>l9g$N7e?t$r(B $n$ $B$H(B
$B$7$?$H$-!"<!$K$/$k%G!<%?$O(B $[(n+31)/32]$ $B$r(B 32 bit $B$N@0?t$H$J$k!#(B
$B$3$l$OB?G\D9@0?t$N@dBPCM$r(B $2^{32}$ $B?J?t$GI=$7$?>l9g$N7e?t$H$H$C$F$b$h$$!#(B
$B$?$@$7!"I=8=$7$?$$?t$,Ii$N>l9g$O$3$N(B 32 bit $B$N@0?tCM$O(B 2 $B$NJd?tI=8=$GIi$K$J$k!#(B

%$BI=8=$7$?$$B?G\D9@0?t$,Ii$G$"$C$F$b$3$l0J9_$N@bL@$O@5$N>l9g$H(B
%$BJQ$o$i$J$$$N$G!"0J8eB?G\D9@0?t$O@5$H$_$J$9!#(B

$BI=8=$7$?$$B?G\D9@0?t$N@dBPCM$,(B $2^{32}$ $B?J?t$G(B $(b_0 b_1 ... b_k)_{2^{32}}$
$B$HI=$;$k$H$-!"<!$K$/$k%G!<%?$O(B $b_0$, $b_1$, $\cdots$, $b_k$ $B$r(B
$B$=$l$>$l(B 32 bit $B$N@0?t$GI=8=$7$?CM$H$J$k!#(B

$B$3$3$G6qBNNc$r$@$=$&!#(B
$4294967298 = 1 \times 2^{32} + 2$ $B$r(B network byte order $B$NB?G\D9@0?t$G(B
$BI=8=$9$k$H!"(B
\begin{center}
	{\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01}
\end{center}
$B$H$J$k!#$^$?!"F1$8I=8=J}K!$G(B $-1$ $B$rI=8=$9$k$H!"(B
\begin{center}
	{\tt 00 00 00 14 ff ff ff ff 00 00 00 01}
\end{center}
$B$H$J$k!#(B


\section{MathCap $B$K$D$$$F(B}

%$BA0@a$G8+$?$h$&$K!"(B 1 $B$D$N%a%C%;!<%8$ND9$5$O7h$^$C$F$$$J$$!#(B
$B%5!<%P$*$h$S%/%i%$%"%s%HAPJ}$H$b$K(B OpenXM $B$G5,Dj$5$l$F$$$k(B
$B$9$Y$F$N%a%C%;!<%8$rM}2r$G$-$k$o$1$G$O$J$$!#(B
$B$=$3$G!"(B OpenXM $B$G$OAj<j$NM}2r2DG=$J%a%C%;!<%8$r(B
$B<}F@$9$kJ}K!$rMQ0U$7$F$$$k!#(B
CMO $BAX$GDj5A$5$l$F$$$k(B MathCap $B%G!<%?$O(B
$BM}2r2DG=$J%a%C%;!<%8$rI=$9%G!<%?$G$"$j!"(B
$BMW5a$5$l$l$P%5!<%P$O(B MathCap $B$r%9%?%C%/$K@Q$`!#(B
$B$^$?!"%/%i%$%"%s%H$+$i(B MathCap $B$r%5!<%P$XAw$k$3$H$b$G$-!"(B
MathCap $B$r%5!<%P$H%/%i%$%"%s%H4V$G8r49$9$k$3$H$K$h$C$F!"(B
$B$*8_$$$KAj<j$NM}2rIT2DG=$J%a%C%;!<%8$rAw$C$F$7$^$&$3$H$r(B
$BKI$0$3$H$,$G$-$k!#(B
$B$J$*!"(B MathCap $B$N%G!<%?$NCf$G$O(B CMO $BAX$GDj5A$5$l$F$$$k(B
32 bit $B@0?t!"J8;zNs!"%j%9%H9=B$$r;H$C$F$*$j!"(B
MathCap $B$rM}2r$G$-$k$?$a$K$OI,A3E*$K$3$l$i$bM}2r$G$-$k(B
$BI,MW$,$"$k!#(B

OpenXM $BBP1~HG$N(B asir $B$G$"$k(B ox\_asir $B$,JV$9(B MathCap $B$r(B
$B0J2<$K<($9!#$J$*!"(B $a_1$, $a_2$, $\cdots$, $a_n$ $B$rMWAG$K(B
$B;}$D%j%9%H9=B$$r(B {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} $B!"(B
$BJ8;zNs(B ``string'' $B$r(B {\tt "string"} $B!"(B 32 bit $B@0?t$r(B
$B$=$l$KBP1~$9$k(B 10 $B?J?t$N@0?t$G<($9!#(B

%$B"-<j$G:n$C$?$N$G4V0c$($F$$$k2DG=@-$"$j!#(B
%%$B8E$$%P!<%8%g%s!#:9$7BX$($NI,MW$"$j!#(B
\begin{verbatim}
[ [199901160,"ox_asir"],
  [276,275,258,262,263,266,267,268,274
    ,269,272,265,264,273,300,270,271],
  [ [514,[1,2,3,4,5,2130706433,2130706434
          ,17,19,20,21,22,24,25,26,31,27,33,60]],
    [2144202544,[0,1]]
  ]
]
\end{verbatim}

$B$3$N(B MathCap $B%G!<%?$N%j%9%H9=B$$N:G=i$NMWAG$O%5!<%P$N>pJs$,F~$C$F$$$k!#(B
$B$3$N:G=i$NMWAG$,$^$?%j%9%H9=B$$H$J$C$F$*$j!"(B
$B:G=i$NMWAG$O%P!<%8%g%s%J%s%P!<$r!"<!$NMWAG$O%5!<%P$NL>A0$rI=$7$F$$$k!#(B

$B<!$NMWAG$O(B SM $BAX$GDj5A$5$l$F$$$kM}2r2DG=$J%G!<%?$rI=$7$F$$$k!#(B
$B%5!<%P$NF0:n$KBP$9$k%G!<%?$O(B SM $BAX$G$O$9$Y$F(B 32 bit $B$N@0?t$G(B
$BI=$5$l$F$*$j!"$3$N(B 2 $BHV$a$NMWAG$OM}2r2DG=$J(B SM $BAX$N%G!<%?$K(B
$BBP$9$k(B 32 bit $B@0?t$N%j%9%H$H$J$C$F$$$k!#(B

$B:G8e$NMWAG$OM}2r2DG=$J%G!<%?$rI=$7$F$$$k!#(B
%$B$3$N%j%9%H$NMWAG$O$^$?%j%9%H$H$J$C$F$*$j!"(B
$B$3$N:G8e$NItJ,$b$^$?%j%9%H$H$J$C$F$*$j!"(B
$B$"$k%G!<%?7A<0$GM}2r2DG=$J$b$N$rI=8=$7$?%j%9%H$rMWAG$H$7$F$$$k!#(B
{\tt [514,[1, 2, $\cdots$]]} $B$N:G=i$N(B 514 $B$O$3$N%j%9%H$,(B CMO $B7A<0(B
$B$G$NM}2r2DG=$J%G!<%?$rI=$7$F$$$k$3$H$r<($7$F$*$j!"(B
$B$=$N8e$N%j%9%H$G$O(B CMO $BAX$GDj5A$5$l$F$$$k%G!<%?$N$&$A!"(B
$BM}2r2DG=$J%G!<%?$N(B tag $B$,JB$s$G$$$k!#(B
$BA0@a$G(B CMO $B7A<0$G$OB?G\D9@0?t$rI=$9(B tag $B$,(B 20 $B$G$"$k$3$H$r=R$Y$?$,!"(B
$B$3$N%j%9%H$K(B 20 $B$,4^$^$l$F$$$k$N$G!"(B ox\_asir $B$O(B CMO $B7A<0$N(B
$BB?G\D9@0?t$,M}2r$G$-$k$3$H$,$o$+$k!#(B

$B:G=i$N%j%9%H$,%5!<%P$N>pJs$rI=$7$F$$$k$H$$$C$?$3$H$,M}2r$G$-$k$3$H$H!"(B
$B%G!<%?$,<u$1<h$l$k$3$H$H$O$^$C$?$/JLJ*$G$"$k$N$G(B
$BCm0U$9$kI,MW$,$"$k!#(B


\section{security $BBP:v(B}

OpenXM $B$G$O4v$i$+$N%;%-%e%j%F%#BP:v$r9T$J$C$F$$$k!#(B

$B$^$:!"@\B3$,I,MW$K$J$C$?;~$K!"%/%i%$%"%s%H$,%5!<%PB&$+$i$N(B
$B@\B3$rBT$D$h$&$K$J$C$F$$$k!#$3$l$O>o$K@\B3$rBT$D$3$H$K$h$C$F!"(B
$B?/F~<T$K@\B3$N5!2q$rM?$($F$7$^$&$3$H$r8:$i$9$?$a$G$"$k!#(B

$B<!$K!"%/%i%$%"%s%H$,@\B3Kh$K@\B3$rBT$D(B port $BHV9f$r%i%s%@%`$K7hDj$9$k(B
$B$3$H$K$J$C$F$$$k!#$3$l$K$h$j!"?/F~<T$,$I$3$K@\B3$r9T$J$($P$h$$$N$+(B
$B$o$+$j$K$/$/$7$F$$$k!#(B

$B:G8e$K!"@\B3;~$K%/%i%$%"%s%H$,(B 1 $B2s$N$_M-8z$J%Q%9%o!<%I$rH/9T$7!"(B
$BG'>Z$r9T$J$&$h$&$K$J$C$F$$$k!#$3$N%Q%9%o!<%I$O0lC6;HMQ$5$l$k$H(B
$BL58z$K$J$k$N$G!"$b$72>$K$J$s$i$+$N<jCJ$G%Q%9%o!<%I$,1L$l$?$H$7$F$b(B
$B0BA4$G$"$k!#$J$*!"$3$N%Q%9%o!<%I$O0BA4$J<jCJ$GAw$i$l$F$$$J$$$H(B
$B$$$1$J$$!#$^$?!"8=:_$N<BAu$G$O%5!<%P!"$*$h$S%/%i%$%"%s%H$NF0:n$7$F$$$k(B
$B%3%s%T%e!<%?>e$G$O$3$N%Q%9%o!<%I$,$o$+$C$F$7$^$&$?$a!"(B
$BF10l$N%3%s%T%e!<%?>e$K0-0U$N$"$k%f!<%6$O$$$J$$$H2>Dj$7$F$$$k(B
$B$3$H$KCm0U$7$J$1$l$P$J$i$J$$!#(B

$B$J$*!"@\B3$,3NN)$7$?8e$N%a%C%;!<%8$NAw<u?.$K4X$7$F$O!"(B
$BFC$K0E9f2=$J$I$N=hCV$,9T$J$o$l$F$$$k$o$1$G$O$J$$!#(B
$B$b$7I,MW$,$"$l$P!"DL?.O)$N0E9f2=$r9T$J$&5!G=$,$"$k(B
$B%=%U%H%&%'%"$r;H$&$3$H$r9M$($F$$$k!#(B


\section{$BB>$N%W%m%8%'%/%H(B}

$BB>$N%W%m%8%'%/%H$K$D$$$F4v$D$+>R2p$9$k!#(B

OpenMath $B%W%m%8%'%/%H$O?t3XE*$J%*%V%8%'%/%H$r(B
$B%3%s%T%e!<%?>e$GI=8=$9$kJ}K!$r7hDj$7$F$$$k!#(B
$B3F%=%U%H%&%'%"4V$G%*%V%8%'%/%H$r8r49$9$k:]$N(B
$B%*%V%8%'%/%H$NJQ49<j=g$K$D$$$F$b=R$Y$i$l$F$$$k!#(B
$BI=8=J}K!$O0l$D$@$1$G$J$/!"(B XML $BI=8=$d(B binary $BI=8=$J$I$,(B
$BMQ0U$5$l$F$$$k!#(B

%$B0J2<!"D4$Y$kI,MW$"$j!#(B
%NetSolve

%MP

%MCP

\section{$B8=:_Ds6!$5$l$F$$$k%=%U%H%&%'%"(B}

$B8=:_(B OpenXM $B5,3J$KBP1~$7$F$$$k%/%i%$%"%s%H%=%U%H%&%'%"$K$O(B
asir, sm1, Mathematica $B$,$"$k!#(B
$B$3$l$i$N%/%i%$%"%s%H%=%U%H%&%'%"$+$i(B
OpenXM $B5,3J$KBP1~$7$?%5!<%P$r8F$S=P$9$3$H$,$G$-$k!#(B
$B8=:_(B OpenXM $B5,Ls$KBP1~$7$F$$$k%5!<%P%=%U%H%&%'%"$K$O!"(B
 asir, sm1, gnuplot, Mathematica $B$J$I$,$"$j!"(B
$B$=$l$>$l(B ox\_asir, ox\_sm1, ox\_math $B$H$$$&L>A0$GDs6!$5$l$F$$$k!#(B
$B$^$?!"(B OpenMath $B5,3J$N(B XML $BI=8=$GI=8=$5$l$?%G!<%?$H(B CMO $B7A<0$N(B
$B%G!<%?$rJQ49$9$k%=%U%H%&%'%"$,(B JAVA $B$K$h$C$F<BAu$5$l$F$*$j!"(B
OMproxy $B$H$$$&L>A0$GDs6!$5$l$F$$$k!#(B

\end{document}
