changeset 5:5e7d125701c0

paper fix
author KaitoMaeshiro <aosskaito@cr.ie.u-ryukyu.ac.jp>
date Thu, 17 Feb 2022 17:33:43 +0900
parents c957cfa4cf75
children d8e6c20c509e
files paper/figs/tree.png paper/src/MessagePack.cs paper/src/MessagePack.java paper/src/Take.cs paper/src/Take.java paper/text/Eabstract.tex paper/text/Jabstract.tex paper/text/chapter2.tex paper/text/reference.tex paper/thesis.aux paper/thesis.lof paper/thesis.log paper/thesis.lol paper/thesis.lot paper/thesis.pdf paper/thesis.synctex.gz paper/thesis.tex paper/thesis.toc
diffstat 18 files changed, 157 insertions(+), 109 deletions(-) [+]
line wrap: on
line diff
Binary file paper/figs/tree.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/src/MessagePack.cs	Thu Feb 17 17:33:43 2022 +0900
@@ -0,0 +1,15 @@
+//クラス内の変数圧縮
+[MessagePackObject]
+public class Message {
+	[Key("name")]
+	private String name;
+}
+
+//圧縮と解凍
+var mc = new Message {
+	name = "hoge"
+};
+//Serializer
+byte[] bytes = MessagePackSerializer.Serialize(mc);
+//Deserializer
+Message mc2 = MessagePackSerializer.Deserialize<Message>(bytes);
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/src/MessagePack.java	Thu Feb 17 17:33:43 2022 +0900
@@ -0,0 +1,13 @@
+//クラス内の変数圧縮
+@Message // Annotation
+public class Message {
+	public String name;
+}
+
+//圧縮と解凍
+MessagePack msgpack = new MessagePack();
+// Serialize
+byte[] bytes = msgpack.write(src);
+// Deserialize
+Message dst = msgpack.read(bytes, Message.class);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/src/Take.cs	Thu Feb 17 17:33:43 2022 +0900
@@ -0,0 +1,4 @@
+namespace Christie_net.annotation {
+[AttributeUsage(AttributeTargets.Field)]
+public class Take : Attribute { }
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/paper/src/Take.java	Thu Feb 17 17:33:43 2022 +0900
@@ -0,0 +1,4 @@
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface Take {
+}
--- a/paper/text/Eabstract.tex	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/text/Eabstract.tex	Thu Feb 17 17:33:43 2022 +0900
@@ -1,7 +1,7 @@
-In our laboratory, we are developing a distributed framework, Christie. Since Christie is planned to be incorporated into the file system of GearsOS, which is also being developed in our laboratory, it has a concept similar to that of the Continuation based C language used in GearsOS. In addition, it has a function called TopologyManager that forms and manages a network connection Topology on Christie. 
+Currently, distributed systems in the world are created by a specific company, which creates the distributed system, creates the nodes that use the service, and manages the connections between the nodes. We would like to develop a truly distributed system in which each distributed node is set up by itself and interconnected so that they are coordinated without a specific company controlling them.
 
-Christie was originally developed in our laboratory to solve the problems of Alice, a distributed framework, and to extend its functions. It has been used in various applications with greatly improved reliability and scalability.
+We would like to develop a truly distributed system in which distributed nodes are set up by each user and interconnected so that they can cooperate with each other. The distributed application Christie developed in this laboratory has the relation DGM+key to make this possible.
 
-In the previous research\cite{riono}, we are searching for a new communication method that can replace the conventional game communication method, and we are studying the compatibility of Christie with the Unity game engine in order to enable high-speed and secure data synchronization. Since Unity can be programmed in C\#, we are rewriting Christie to C\# to build Christie\#.
+Currently, Christie\# is being developed by rewriting Christie to C\# for use with Unity in previous research\cite{riono}.
 
-In our previous research\cite{riono}, we have not been able to implement all the functions of Christie in Christie\#. One of the unimplemented functions is the TopologyManager, which assigns labels to the nodes that have declared their participation (TopologyNode) to form a Topology, and automatically connects the nodes if necessary. The TopologyNode can also automatically connect nodes if necessary. In order to build an environment where these functions can be used in Christie\#, we will convert the code to C\#.
+We will learn how to develop distributed applications of Christie by porting TopologyManager to Christie\#.
--- a/paper/text/Jabstract.tex	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/text/Jabstract.tex	Thu Feb 17 17:33:43 2022 +0900
@@ -1,7 +1,6 @@
-当研究室では,分散フレームワークChristieを開発している.同じく当研究室で開発しているGearsOSのファイルシステムに組み込まれる予定があるため,GearsOSを構成する言語Continuation based Cと似た概念を持っている.また,TopologyManagerと呼ばれるChristie上にネットワークの接続形態Topologyを形成し管理を行う機能を有する. \\
-
-Christieは元々,当研究室で開発を行なっていた分散フレームワークAliceの問題点を解消,機能面の拡張などを行い今のChristieとなった.これにより信頼性と拡張性が大きく向上し様々な用途で利用されてきた.\\
+現在,世の中にある分散システムは特定の企業が分散システムを作成し,そのサービスを利用するノードの作成やノード間の接続の管理を行なっている.これらのような,特定の企業が支配を行わず,各自で分散ノードをそれぞれ立ち上げそこに協調されるように相互接続される真の分散システムの開発をしたい.
 
-現在,先行研究\cite{riono}では,従来のゲームの通信方式に変わる新たな通信方法の模索にて,Christieを用いることで高速かつ安全にデータの同期を行えるようにするため,Christieをゲームエンジン Unity\cite{unity}に対応させる研究が行われている.UnityはC\#でプログラミングが可能なためChristieをC\#への書き換えを行いChristie\#の構築を行なっている.\\
+その際,分散アプリケーションのプログラミングを見通しよく行いたい.本研究室で開発されている分散アプリケーションChristieはそれが可能となるようDGM+keyという関係性がある.
 
-先行研究\cite{riono}では,Christie\#にChristieの機能を全て実現できていない.未実装の機能の一つとして,TopologyManagerが挙げられる.TopologyManagerは,Topologyを形成するために,参加を表明したnode(TopologyNode)にlabelの付与を行ったり,必要であればnode同士の接続を自動的に行う機能がある.これらの機能をChristie\#で利用できる環境を構築するためC\#への変換を行う.
+現在,先行研究\cite{riono}でChristieをUnityで利用するべくC\#への書き換えを行いChristie\#の開発が行われている.Christie\#へのTopologyManagerの移植を通してChristieの分散アプリケーション開発法について学ぶ.
+
--- a/paper/text/chapter2.tex	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/text/chapter2.tex	Thu Feb 17 17:33:43 2022 +0900
@@ -17,6 +17,8 @@
 
 CGは従来のプログラムにおけるクラスに相当し,CG内に記述されたkeyに全てのDGが揃った際に初めてそのCGが実行される.
 
+DGは従来のプログラムにおける変数に相当する.DGはJava言語のアノテーションを利用することによって記述を行える.
+
 CGMは従来のプラグラムにおけるノードに相当し,主にCG,DG,DGMの管理を行う.
 
 DGMはDGの管理を行うものである.putという操作により変数のkeyと引数にデータを記入することによりDGMにDGを格納することができる.
@@ -35,7 +37,7 @@
 
 \section{DataGear annotation}
 
-DGは従来のプログラムにおける変数に相当する.DGはJava言語のアノテーションを利用することによって記述でき,Take,Peek,TakeFrom,PeekFromの四つが存在する.
+DGのやり取りは,Java言語のアノテーションを利用することによって記述でき,Take,Peek,TakeFrom,PeekFromの四つが存在する.
 
 
 \begin{itemize}
@@ -63,9 +65,8 @@
 \section{TopologyManager}
 ChristieではTopologyManagerと呼ばれるTopologyを形成するために,参加を表明したnode(TopologyNode)にlabelを付与を行ったり,必要であればnode同士の接続を自動的に行う機能がある.TopologyManagerのTopologyの形成手法として静的Topologyと動的Topologyがある.
 
-静的Topologyはdotファイルを用意し,TopologyManagerに読み込ませるだけでTopologyが構成される.
+静的Topologyはソースコード\ref{dot}のようなdotファイルを用意し,TopologyManagerに読み込ませるだけで図\ref{fig2}のようなTopologyが構成される.
 このdotファイルはDOT言語を用いて記述される.dotファイルのnode数と同等のTopologyNodeがあって初めてCGが実行される.
-以下のソースコード\ref{dot}は4台のnodeによってリングTopologyを構成するdotファイルの例である.
 
 \lstinputlisting[caption=dotファイルの例,label=dot]{src/test.dot}
 
@@ -85,65 +86,75 @@
 \section{先行研究の紹介}
 Christie\#は,安田 亮によって行われている研究『継続を使用する並列分散フレームワークのUnity実装』\cite{riono}にて開発されている.Christieの通信方式をUnityで利用し高速かつ安全にデータの同期を行うことを目的とした研究である.この中でChristieをUnityに対応させるべくC\#への書き換えを行なっている.
 
-
-
-\clearpage
-\chapter{Christie\#へのプログラム書き換え例}
-\section{Christie\#への変換}
-
-以下のソースコード\ref{StartHelloWorld},\ref{HelloWorldCG}は,\ref{hello_1},\ref{hello_2}をChristie\#上で動作させるべく変換を行なったものである.ソースコード自体は"HelloWorld"を出力するだけのもののためjavaとの違いは少ない.またC\#ではjavaのannotationではなくattributeを使用している\cite{riono}.
-
-\lstinputlisting[caption=StartHelloWorld.cs,label=StartHelloWorld]{src/StartHelloWorld.cs}
-
-
-\lstinputlisting[caption=HelloWorldCG,label=HelloWorldCG]{src/HelloWorldCG.cs}
+本研究では,こちらの先行研究で行われているChristieのC\#への書き換えに伴い,ChristieにあるTopologyManagerの移植を行いながら分散アプリケーションの開発法を学ぶ.
 
 
 \clearpage
 \chapter{Christie\#へのTopologyManagerの実装}
-
-\section{TopologyManagerを作成する利点}
-分散フレームワークChristieはJava言語で構築されている.そのため基本的にChristieの機能を利用したGUIアプリケーションの開発はそのJAVA言語におけるGUI frameworkを用いることで開発を行わなければならない.単純なwindowアプリであればswingやJavaFXといったframeworkを利用し構築することができた.しかし,ゲーム作成となるとUnityなどのより利便性の高いゲーム作成エンジンがある.
-Christie\#にてTopologyManagerを構築することができれば,Unity上でもTopologyManagerを用いたGUIアプリケーションの開発が可能となる利点がある.
+\section{TopologyManagerの必要性}
+一般的に利用されている分散アプリケーションでは,分散処理を行うプログラムの記述を行う際に,接続されるノードどうしのコードが煩雑になってしまうという問題点がある.そこでChristieの機能であるTopologyManagerの機能を利用することで,分散処理を行う際のTopology形成やノード間の接続をTopology Managerが行ってくれるため簡潔な記述で実装が可能となる.
 
 
-\section{主なクラスの変換後と解説}
-%\lstinputlisting[caption=TopologyManagerConfig.cs,label=hello_2]{src/TopologyManagerConfig.cs}
+\section{TopologyManagerの移植方法}
+ChristieのTopologyManagerを移植する際に関しては,JavaとC\#は記述方法が似ているためある程度の
+ コードはそのまま流用が可能である.そこからC\#で利用できるような構文へ書き換えを行い対応していく.
+ 
+ 
+ \section{C\#でのannotation}
+ 以下のソースコード\ref{Take.java},\ref{Take.cs}は,ChristieでのDGのやりとりを行う際に利用されるTake annotationのコードである.ChristieではJava言語の機能にあるannotationを利用してTakeの実装が行われている.一方,Christie\#ではannotationはないためattributeを利用して実装されている\cite{riono}.
+ \lstinputlisting[caption=Java言語におけるTake annotation,label=Take.java]{src/Take.java}
+ 
+ \lstinputlisting[caption=C\#におけるTake annotation,label=Take.cs]{src/Take.cs}
+ 
+ 
+ \section{MessagePackの相違点}
+Christieではデータの送信をする際にMessagePackを利用しデータ圧縮を行い送信している.java言語の方で使用されているMessagePackはバージョンが古い.そのためMessagePackの最新版とは記述方法が異なっている.ソースコードより抜粋し簡単な説明を行う.
 
-以下のソースコード\ref{StartTopologyManager}は,TopologyManagerConfigからの情報を元にCGMの作成を行い子nodeからの接続待機をする.TopologyManager側が接続したいnodeに接続するのではなく,接続したい子がTopologyManagerにたいして接続を行う形である.
-
-\lstinputlisting[caption=StartTopologyManager.cs,label=StartTopologyManager]{src/StartTopologyManager.cs}
+ソースコード\ref{MessagePack.java}の2行目では,MessagePackを利用するため圧縮するクラスに@Messageをつけ,クラス内の変数が圧縮される.ソースコード\ref{MessagePack.java}の8行目からはデータの圧縮とその解凍の例である.
+\lstinputlisting[caption=Java言語におけるMessagePack,label=MessagePack.java]{src/MessagePack.java}
 
-ソースコード\ref{TopologyManager}では,処理を行うLocalのCGMが管理しているDGMに対してputし各クラスにて細かな処理をしている.現在TopologyManagerを起動するにあたって未実装の部分もある.FileParser()などが例だがdynamicにTopologyManagerを動作させるには不要な部分のため今回の実装では省いた.
+C\#でのMessagePack-CSharpが利用されている.Java版と同様にソースコード\ref{MessagePack.cs}の2行目でクラスに対しMessagePackObjectを使い変数を圧縮している.ソースコード\ref{MessagePack.java}の9行目からはデータの圧縮とその解凍の例である.
+
+\lstinputlisting[caption=C\#におけるMessagePack,label=MessagePack.cs]{src/MessagePack.cs}
 
-\lstinputlisting[caption=TopologyManager.cs,label=TopologyManager]{src/TopologyManager.cs}
+
+\section{Christie\#へのプログラム書き換え例}
+以下のソースコード\ref{StartHelloWorld},\ref{HelloWorldCG}は,\ref{hello_1},\ref{hello_2}をChristie\#上で動作させるべく変換を行なったものである.ソースコード自体は"HelloWorld"を出力するだけのもののためjavaとの違いは少ない.ここでの大きな違いはソースコード\ref{HelloWorldCG}7行目である.ソースコード\ref{Take.cs}で説明した通りC\#でりようできるようannotationの構文が変わっている.
+\lstinputlisting[caption=StartHelloWorld.cs,label=StartHelloWorld]{src/StartHelloWorld.cs}
 
-ソースコード\ref{TopologyNode}では,作成されたCGMここではTopologyManagerのCGMにCreateRemoteDGMにて接続を行いに行く.
+\lstinputlisting[caption=HelloWorldCG.cs,label=HelloWorldCG]{src/HelloWorldCG.cs}
+
 
-\lstinputlisting[caption=TopologyNode.cs,label=TopologyNode]{src/TopologyNode.cs}
+\section{Christie\#のDebug}
+Java言語で開発されているChristieではVScode\cite{VScode}またはIntellij\cite{Intellij}を用いて環境を構築し開発を行なっていた.本研究ではC\#でChristieのTopologyManagerを構築するためC\#を扱えるIDEを利用する必要がある.
+
+ここで,Christie\#のDebug環境としてJetbrainsのC\#向けIDEであるRiderを利用する\cite{Rider}.元々Christie\#はUnityで利用する目的で開発が行われているため,Unityのサポートが多く組み込まれているRiderを利用することとなった.しかし,Riderではマルチスレッドデバッグが行えないという欠点がある.
+
 
 
 \section{動的なTree型Topology接続のテスト}
 
-ここではTopologyManagerの接続のテストを行うため,Tree型のTopologyを形成し複数のnodeから動的な接続を行う.\\
+ここではTopologyManagerの接続のテストを行うため,Tree型のTopologyを形成し複数のnodeから動的な接続を行う.
+
+TopologyManagerとTopologyNodeを起動し接続待機をおこなう.ここではTree型の接続を行い接続されるノード数は3つでおこなっている.以下図\ref{fig3}ではその関係性を簡単にまとめたものである.現時点ではTopologyManagerとTopologyNodeを起動し,TopologyManagerとTopologyNodeの接続は行われている.しかし,TopologyNodeノード同士の相互接続の部分と計算を終了しTopologyManagerを終了する部分はまだ実装ができていない状況である.
 
-説明追加予定
+\begin{figure}[htbp]
+  \begin{center}
+   \includegraphics[width=100mm]{./figs/tree.png}
+   \caption[tree型接続の際のノード間の簡単な可視化]{tree型接続の際のノード間の簡単な可視化}
+   \label{fig3}
+   \end{center}
+\end{figure}
 
 \lstinputlisting[caption=StartTreeTestTopology.cs,label=StartTreeTestTopology]{src/StartTreeTestTopology.cs}
 
 
 
-\lstinputlisting[caption=ChildCodeGear.cs,label=ChildCodeGear]{src/ChildCodeGear.cs}
-
-
-
-\lstinputlisting[caption=ParentCodeGear.cs,label=ParentCodeGear]{src/ParentCodeGear.cs}
-
-
 
 \clearpage
 \chapter{まとめ}
-\section{総括}
+本研究では,Christieについての概要説明を行い,Christie\#で分散アプリケーションの作成をするため,TopologyManagerのChristie\#への移植を通し分散アプリケーションについての学習を行なった.TopologyManagerをChristie\#へ移植する際は,Java版で利用されていたものをC\#で扱えるよう構文を書き換える必要があった.また,移植されたTopologyManagerの動作の確認を行なった.ここではChristieでも実装されていた動的なTreeTopologyを用いてノード間の接続テストを行なった.Hostおよび親となるノードと接続を行う子ノードの作成ができている.また,HostとTreeの親となるノードの接続が完了しているが接続を行う子ノードの接続がうまくいっておらず完全な接続が行えていないというのが現状である.
 
 \section{今後の課題}
+今回Christie\#へのTopologyManagerの移植は完了していない.動的なTree型Topology接続のテストでも述べたが,TopologyManagerとTopologyNodeの接続は行われている.しかし,親ノードと子ノードによる相互接続が行えていない.また,接続から動作が完了した後のTopologyManagerの終了動作までの流れも動作の確認が取れていない.
 
--- a/paper/text/reference.tex	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/text/reference.tex	Thu Feb 17 17:33:43 2022 +0900
@@ -5,6 +5,15 @@
 \bibitem{nozomi}
 照屋 のぞみ, 河野 真治. 分散フレームワークChristieの設計 (2018).
 
+\bibitem{VScode}
+https://code.visualstudio.com/
+
+\bibitem{Intellij}
+https://www.jetbrains.com/idea/
+
+\bibitem{Rider}
+https://www.jetbrains.com/rider/
+
 \bibitem{unity}
 Unity. https://unity.com/
 
--- a/paper/thesis.aux	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.aux	Thu Feb 17 17:33:43 2022 +0900
@@ -1,9 +1,6 @@
 \relax 
 \citation{riono}
-\citation{unity}
-\citation{riono}
-\citation{riono}
 \citation{riono}
 \@input{./text/chapter2.aux}
 \@input{./text/reference.aux}
-\gdef \@abspage@last{25}
+\gdef \@abspage@last{21}
--- a/paper/thesis.lof	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.lof	Thu Feb 17 17:33:43 2022 +0900
@@ -3,5 +3,5 @@
 \contentsline {figure}{\numberline {1.2}{\ignorespaces dotファイル}}{5}{}%
 \addvspace {10\jsc@mpt }
 \addvspace {10\jsc@mpt }
+\contentsline {figure}{\numberline {3.1}{\ignorespaces tree型接続の際のノード間の簡単な可視化}}{11}{}%
 \addvspace {10\jsc@mpt }
-\addvspace {10\jsc@mpt }
--- a/paper/thesis.log	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.log	Thu Feb 17 17:33:43 2022 +0900
@@ -1,4 +1,4 @@
-This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) (preloaded format=platex 2022.1.27)  31 JAN 2022 15:32
+This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) (preloaded format=platex 2022.1.27)  17 FEB 2022 17:28
 entering extended mode
  restricted \write18 enabled.
  file:line:error style messages enabled.
@@ -290,15 +290,9 @@
 
  [5
 
-] (./thesis.lot)
-\tf@lot=\write5
-\openout5 = `thesis.lot'.
-
- [6
-
 ] (./thesis.lol)
-\tf@lol=\write6
-\openout6 = `thesis.lol'.
+\tf@lol=\write5
+\openout5 = `thesis.lol'.
 
  [0
 
@@ -326,9 +320,9 @@
 File: ./figs/RemoteDGM.jpg Graphic file (type bmp)
 <./figs/RemoteDGM.jpg>
 LaTeX Font Info:    Font shape `JT1/mc/m/n' will be
-(Font)              scaled to size 8.64899pt on input line 29.
+(Font)              scaled to size 8.64899pt on input line 31.
 LaTeX Font Info:    Font shape `JY1/mc/m/n' will be
-(Font)              scaled to size 8.64899pt on input line 29.
+(Font)              scaled to size 8.64899pt on input line 31.
  [2] (./src/HelloWorld.java
 LaTeX Font Info:    Font shape `JT1/mc/m/n' will be
 (Font)              scaled to size 6.72699pt on input line 1.
@@ -358,7 +352,7 @@
 )
 LaTeX Font Info:    Font shape `OML/cmr/m/n' in size <9> not available
 (Font)              Font shape `OML/cmm/m/it' tried instead on input line 2.
-) [4]
+ [4])
 File: ./figs/ring.png Graphic file (type bmp)
 <./figs/ring.png>
  [5]
@@ -368,49 +362,47 @@
 
 ]
 第3章
-(./src/StartHelloWorld.cs) (./src/HelloWorldCG.cs [7
-
-
-]) [8]
-第4章
-(./src/StartTopologyManager.cs [9
+(./src/Take.java [7
 
 
-]) (./src/TopologyManager.cs [10]
+]) (./src/Take.cs) (./src/MessagePack.java
 LaTeX Font Info:    Font shape `JT1/mc/m/it' in size <9> not available
-(Font)              Font shape `JT1/mc/m/n' tried instead on input line 28.
+(Font)              Font shape `JT1/mc/m/n' tried instead on input line 1.
 LaTeX Font Info:    Font shape `JT1/mc/m/n' will be
-(Font)              scaled to size 8.64899pt on input line 28.
+(Font)              scaled to size 8.64899pt on input line 1.
 LaTeX Font Info:    Font shape `JY1/mc/m/it' in size <9> not available
-(Font)              Font shape `JY1/mc/m/n' tried instead on input line 28.
+(Font)              Font shape `JY1/mc/m/n' tried instead on input line 1.
 LaTeX Font Info:    Font shape `JY1/mc/m/n' will be
-(Font)              scaled to size 8.64899pt on input line 28.
- [11])
-(./src/TopologyNode.cs) [12] (./src/StartTreeTestTopology.cs [13])
-(./src/ChildCodeGear.cs) (./src/ParentCodeGear.cs [14]) [15]
-第5章
-) [16
+(Font)              scaled to size 8.64899pt on input line 1.
+)
+(./src/MessagePack.cs [8]) (./src/StartHelloWorld.cs) (./src/HelloWorldCG.cs
+[9])
+File: ./figs/tree.png Graphic file (type bmp)
+<./figs/tree.png>
+ (./src/StartTreeTestTopology.cs [10] [11]) [12]
+第4章
+) [13
 
 
-] [17
+] [14
 
 
 
 ]
 \openout2 = `./text/reference.aux'.
 
- (./text/reference.tex) [18
+ (./text/reference.tex) [15
 
 
 ] (./thesis.aux (./text/chapter2.aux)
 (./text/reference.aux)) ) 
 Here is how much of TeX's memory you used:
- 4117 strings out of 479466
- 55926 string characters out of 5870548
- 723918 words of memory out of 5000000
- 21714 multiletter control sequences out of 15000+600000
+ 4097 strings out of 479466
+ 55407 string characters out of 5870548
+ 642918 words of memory out of 5000000
+ 21701 multiletter control sequences out of 15000+600000
  417320 words of font info for 93 fonts, out of 8000000 for 9000
  934 hyphenation exceptions out of 8191
- 83i,12n,88p,673b,1995s stack positions out of 5000i,500n,10000p,200000b,80000s
+ 83i,12n,88p,693b,1993s stack positions out of 5000i,500n,10000p,200000b,80000s
 
-Output written on thesis.dvi (25 pages, 62660 bytes).
+Output written on thesis.dvi (21 pages, 52204 bytes).
--- a/paper/thesis.lol	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.lol	Thu Feb 17 17:33:43 2022 +0900
@@ -1,11 +1,10 @@
 \contentsline {lstlisting}{\numberline {1.1}HelloWorld.java}{3}{}%
 \contentsline {lstlisting}{\numberline {1.2}HelloWorldCG.java}{4}{}%
 \contentsline {lstlisting}{\numberline {1.3}dotファイルの例}{4}{}%
-\contentsline {lstlisting}{\numberline {3.1}StartHelloWorld.cs}{7}{}%
-\contentsline {lstlisting}{\numberline {3.2}HelloWorldCG}{7}{}%
-\contentsline {lstlisting}{\numberline {4.1}StartTopologyManager.cs}{9}{}%
-\contentsline {lstlisting}{\numberline {4.2}TopologyManager.cs}{10}{}%
-\contentsline {lstlisting}{\numberline {4.3}TopologyNode.cs}{12}{}%
-\contentsline {lstlisting}{\numberline {4.4}StartTreeTestTopology.cs}{13}{}%
-\contentsline {lstlisting}{\numberline {4.5}ChildCodeGear.cs}{14}{}%
-\contentsline {lstlisting}{\numberline {4.6}ParentCodeGear.cs}{14}{}%
+\contentsline {lstlisting}{\numberline {3.1}Java言語におけるTake annotation}{7}{}%
+\contentsline {lstlisting}{\numberline {3.2}C\#におけるTake annotation}{8}{}%
+\contentsline {lstlisting}{\numberline {3.3}Java言語におけるMessagePack}{8}{}%
+\contentsline {lstlisting}{\numberline {3.4}C\#におけるMessagePack}{9}{}%
+\contentsline {lstlisting}{\numberline {3.5}StartHelloWorld.cs}{9}{}%
+\contentsline {lstlisting}{\numberline {3.6}HelloWorldCG.cs}{9}{}%
+\contentsline {lstlisting}{\numberline {3.7}StartTreeTestTopology.cs}{11}{}%
--- a/paper/thesis.lot	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.lot	Thu Feb 17 17:33:43 2022 +0900
@@ -2,4 +2,3 @@
 \addvspace {10\jsc@mpt }
 \addvspace {10\jsc@mpt }
 \addvspace {10\jsc@mpt }
-\addvspace {10\jsc@mpt }
Binary file paper/thesis.pdf has changed
Binary file paper/thesis.synctex.gz has changed
--- a/paper/thesis.tex	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.tex	Thu Feb 17 17:33:43 2022 +0900
@@ -35,7 +35,7 @@
 \renewcommand{\lstlistlistingname}{ソースコード目次}
 
 
-\jtitle{Christie\#によるアプリケーション開発法}
+\jtitle{Christie\#による分散アプリケーション開発法}
 \title{A construcrion method of distributit application with Christie\#}
 
 \affiliation{琉球大学工学部工学科知能情報コース}
@@ -58,7 +58,7 @@
 \listoffigures
 
 % 表も軸,表がある場合のみ
-\listoftables
+%\listoftables
 
 % ソースコード目次
 \lstlistoflistings
@@ -77,6 +77,11 @@
 %\chapter{まとめと今後の展望}
 
 \chapter*{謝辞}
+本研究を行うにあたり,ご多忙にも関わらず多くの御指導をしていただきました河野真治准教授に心より感謝致します.また,研究に対するご助力いただいた並列信頼研究室の皆様にも感謝いたします.最後に物心両面で支えてくれた家族に深く感謝致します.
+
+\begin{flushright}
+2021年 2月 \\真栄城 魁人
+\end{flushright}
 
 % reference
 \include{./text/reference}
--- a/paper/thesis.toc	Wed Feb 02 21:22:46 2022 +0900
+++ b/paper/thesis.toc	Thu Feb 17 17:33:43 2022 +0900
@@ -5,13 +5,14 @@
 \contentsline {section}{\numberline {1.4}TopologyManager}{4}{}%
 \contentsline {chapter}{\numberline {第2章}Christie\#}{6}{}%
 \contentsline {section}{\numberline {2.1}先行研究の紹介}{6}{}%
-\contentsline {chapter}{\numberline {第3章}Christie\#へのプログラム書き換え例}{7}{}%
-\contentsline {section}{\numberline {3.1}Christie\#への変換}{7}{}%
-\contentsline {chapter}{\numberline {第4章}Christie\#へのTopologyManagerの実装}{9}{}%
-\contentsline {section}{\numberline {4.1}TopologyManagerを作成する利点}{9}{}%
-\contentsline {section}{\numberline {4.2}主なクラスの変換後と解説}{9}{}%
-\contentsline {section}{\numberline {4.3}動的なTree型Topology接続のテスト}{13}{}%
-\contentsline {chapter}{\numberline {第5章}まとめ}{16}{}%
-\contentsline {section}{\numberline {5.1}総括}{16}{}%
-\contentsline {section}{\numberline {5.2}今後の課題}{16}{}%
-\contentsline {chapter}{参考文献}{18}{}%
+\contentsline {chapter}{\numberline {第3章}Christie\#へのTopologyManagerの実装}{7}{}%
+\contentsline {section}{\numberline {3.1}TopologyManagerの必要性}{7}{}%
+\contentsline {section}{\numberline {3.2}TopologyManagerの移植方法}{7}{}%
+\contentsline {section}{\numberline {3.3}C\#でのannotation}{7}{}%
+\contentsline {section}{\numberline {3.4}MessagePackの相違点}{8}{}%
+\contentsline {section}{\numberline {3.5}Christie\#へのプログラム書き換え例}{9}{}%
+\contentsline {section}{\numberline {3.6}Christie\#のDebug}{10}{}%
+\contentsline {section}{\numberline {3.7}動的なTree型Topology接続のテスト}{10}{}%
+\contentsline {chapter}{\numberline {第4章}まとめ}{13}{}%
+\contentsline {section}{\numberline {4.1}今後の課題}{13}{}%
+\contentsline {chapter}{参考文献}{15}{}%