Mercurial > hg > Papers > 2013 > nobuyasu-sigos
changeset 38:590aeefbfb79
modified implmodel.tex
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 01 Apr 2013 05:22:03 +0900 |
parents | 296354ad0003 |
children | e92487958c62 |
files | paper/.DS_Store paper/figure/TOModel0_2.pdf paper/figure/d_add.pdf paper/figure/deos_proccess.pdf paper/implmodel.tex paper/introduction.tex paper/model.tex paper/omni/TOModel0_2.graffle paper/omni/d_add.graffle paper/sigos.tex |
diffstat | 10 files changed, 194 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- a/paper/implmodel.tex Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/implmodel.tex Mon Apr 01 05:22:03 2013 +0900 @@ -19,20 +19,61 @@ また, 今回は合意がとられている様子がみられるよう, リアルタイムでデータが更新されていく ものを作る. -\subsection{モデルの実装に使うデータベース} -ここ修正必要. -GraphDBはノードとエッジにより表されるグラフ構造であるデータの扱いが得意なデータベースである. -データの情報をノードとエッジで持ち, ノードとエッジはそれぞれプロパティを持つことができる. -ノード同士はエッジで繋がれ, トラバースと呼ばれる操作でノード間を渡り歩き情報を +\subsection{モデルの実装に使用するデータベース} +提案するモデルは木構造で議論を深めていく. +このことを念頭に, モデルの実装に使用するデータベースについて考えた. +結果, モデルの実装にはGraphDBを使用することにした. +なぜなら, 木構造は閉路を持たないグラフであり, GraphDBはグラフのデータの扱いが特異な +データベースだからである. + +GraphDBはデータの情報をノードとエッジで持ち, ノードとエッジはそれぞれプロパティを持つことができる. +ノード同士はエッジで繋ぐこともでき, トラバースと呼ばれる操作でノード間を渡り歩き情報を 引き出すことができる. -エッジには関係があり, トラバースは渡り歩くエッジの関係を指定することで行える. +また, エッジには関係が定義され, トラバースは渡り歩くエッジの関係を指定することで行える. -GraphDBは各ノードが自身に繋がっているエッジの情報を保持しているため次のノードへと +GraphDBは各ノード, 各エッジが自身に繋がっているエッジ, ノードの情報を保持しているため次のノードへと 渡り歩くことが容易である. -しかしRDBでこれを表そうとするとindexを引いてエッジの情報をとってきて次のノードの情報をとるという -手間がかかる.GraphDBを用いることでその手間のなくすことを狙いとする. +仮に, RDBでグラフを表そうとすると, まずノードの情報を引き, 次にindexを引いてエッジの情報をとってきて +次のノードの情報をとるという手間がかかる. +GraphDBを用いることでその手間のなくすことを狙いとする. + +\subsection{GraphDBによるモデルの表現} +GraphDBを用いて提案したモデルを表現する. +提案するモデルの{\bf ユーザ}と{\bf 主張}がノードで, {\bf 関係}がエッジにあたる. +各主張とユーザとの関係を示したものが\figref{fig:tomodel0}となる.四角がノードを, 矢印がエッジをそれぞれ表している. + +\begin{figure}[tb] + \begin{center} + \includegraphics[scale=0.35]{figure/TOModel0_2.pdf} + \caption{主張ノードとユーザノードの繋がり} + \label{fig:tomodel0} + \end{center} +\end{figure} -次は, 合意形成支援を行うに辺り提案したモデルを説明する. +今回使用したGraphDBはTinkerPopになる. +TinkerPopで実際にノードとエッジを作成するコードの例を示す. +\begin{lstlisting} +Graph g = new TinkerGraph(); +Vertex claim = g.addVertex(ID); +Edge relation = g.addEdge(ID,From,To,Label); +claim.setProperty(PropertyName,PropertyValue); +\end{lstlisting} + +1行目はグラフの作成を行っている. +引数にパスをいれると, パスにデータが保存される. +2行目ではノードの作成を行なっている. +引数には設定したいIDを引数に取る. +3行目では関係(エッジ)の作成を行なっている. +設定したいIDを引数に取る. +引数のFromとToはそれぞれノードで, FromからTo向きへのエッジが作成される. +4行目ではプロパティの作成を行っている. +ノード・エッジともに同様のメソッドでプロパティの作成ができる. + +このようにノードとエッジ, それとプロパティの作成を行なっていく. +\figref{fig:tomodel0}において主張2,3からユーザへのエッジは省略しているが、 +各主張ノードからはそれぞれ作者と合意要求の関係となるエッジがユーザノードへと繋げられる. + + \subsection{実装内容}
--- a/paper/introduction.tex Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/introduction.tex Mon Apr 01 05:22:03 2013 +0900 @@ -6,7 +6,7 @@ DEOSプロジェクトは2006年に独立行政法人科学技術機構(JST)はCRESTプログラムの1つとして始まったプロジェクトである.\cite{d_add2012} DEOSプロジェクトは, 変化し続ける目的や環境の中でシステムを適切に対応させ, 継続的にユーザが求めるサービスを提供することができるシステムの構築法を 開発することを目標としている.\cite{deos2012} -DEOSプロジェクトではそれらの技術体系を「オープンシステムディペンダビリティ」として定義し, それをDEOSプロセスとしてまとめた.(\figref{fig:deos_process}) +DEOSプロジェクトではそれらの技術体系を「オープンシステムディペンダビリティ」として定義し, それをDEOSプロセスとしてまとめた.(\figref{fig:deos_proccess}) DEOSプロセスにおいて, 全てのデータを保持するD-ADD(DEOS Agreement Description Database)と呼ばれるデータベースがある. D-ADDで扱うデータにはステークホルダ間で合意された契約書等も含まれる. @@ -18,7 +18,7 @@ \begin{figure}[tb] \begin{center} \includegraphics[scale=0.22]{figure/deos_proccess.pdf} - \caption{DEOS プロセス\cite{deos_proccess2013}} - \label{fig:deos_process} + \caption{DEOS プロセス} + \label{fig:deos_proccess} \end{center} \end{figure}
--- a/paper/model.tex Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/model.tex Mon Apr 01 05:22:03 2013 +0900 @@ -1,6 +1,6 @@ \section{提案するモデル} ある事柄に対して合意を取る場合, 議論が行われる. -そこで, 合意形成支援を行うため, 議論のモデルから考えてみた. +そこで, 合意形成支援を行うため, 議論のモデルから考えた. %いくつか上げられたモデルのうちの1つが次のモデルとなる. \subsection{モデルの概要} @@ -40,23 +40,6 @@ \end{itemize} \end{itemize} -\subsection{GraphDBによる表現} -GraphDBを用いて上記のモデルを表現する. -提案するモデルの{\bf ユーザ}と{\bf 主張}がノードで, {\bf 関係}がエッジにあたる. -各主張とユーザとの関係を示したものが\figref{fig:tomodel0}となる.四角がノードを, 矢印がエッジをそれぞれ表している. - -\begin{figure}[tb] - \begin{center} - \includegraphics[scale=0.35]{figure/TOModel0_2.pdf} - \caption{主張ノードとユーザノードの繋がり} - \label{fig:tomodel0} - \end{center} -\end{figure} - -%主張が合意されたという状態になるのは, 合意要求をだしている相手から合意をもらえたときとなる. -\figref{fig:tomodel0}において主張2,3からユーザへのエッジは省略しているが、 -各主張ノードからはそれぞれ作者と合意要求の関係となるエッジがユーザノードへと繋げられる. - \subsection{合意状況の計算} このモデルにおいて主張は一人以上のユーザに合意要求を出して合意してもらわなければならない. @@ -105,10 +88,10 @@ \end{figure} -\subsection{トゥールミンモデル} +\subsection{主張のモデル} また, それぞれ個々の主張に対してもモデルを考えてみる. 今回は, トゥールミンモデルと呼ばれるモデルを適用する. -トゥールミンモデルは1つの主張には以下の5つの情報も必要であるとするモデルである. +トゥールミンモデルは1つの主張に以下の5つの情報も必要であるとするモデルである. \begin{itemize} \item データ(Data) \item 根拠(Warrant)
--- a/paper/omni/TOModel0_2.graffle Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/omni/TOModel0_2.graffle Mon Apr 01 05:22:03 2013 +0900 @@ -53,6 +53,124 @@ <array> <dict> <key>Bounds</key> + <string>{{161.5, 277}, {81, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>37</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199999999999, 0.26006299999999999}</string> + <string>{0.50711799999999996, -0.22408600000000001}</string> + <string>{0.50711799999999996, 0.267179}</string> + <string>{-0.27431, -0.474028}</string> + <string>{0.27977999999999997, -0.47847800000000001}</string> + <string>{0.29393799999999998, 0.54304399999999997}</string> + <string>{-0.28623199999999999, 0.55380399999999996}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510 +{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 \'8a\'d6\'8c\'57}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> + <string>{{45, 277}, {81, 18}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>ID</key> + <integer>36</integer> + <key>Magnets</key> + <array> + <string>{1, 1}</string> + <string>{1, -1}</string> + <string>{-1, -1}</string> + <string>{-1, 1}</string> + <string>{0, 1}</string> + <string>{0, -1}</string> + <string>{1, 0}</string> + <string>{-1, 0}</string> + <string>{-0.5, -0.233518}</string> + <string>{-0.49144199999999999, 0.26006299999999999}</string> + <string>{0.50711799999999996, -0.22408600000000001}</string> + <string>{0.50711799999999996, 0.267179}</string> + <string>{-0.27431, -0.474028}</string> + <string>{0.27977999999999997, -0.47847800000000001}</string> + <string>{0.29393799999999998, 0.54304399999999997}</string> + <string>{-0.28623199999999999, 0.55380399999999996}</string> + </array> + <key>Shape</key> + <string>Rectangle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg1252\cocoartf1138\cocoasubrtf510 +{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc + +\f0\fs24 \cf0 \'8a\'d6\'8c\'57}</string> + <key>VerticalPad</key> + <integer>0</integer> + </dict> + </dict> + <dict> + <key>Bounds</key> <string>{{156, 314}, {92, 52}}</string> <key>Class</key> <string>ShapedGraphic</string> @@ -643,7 +761,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2013-03-30 19:06:29 +0000</string> + <string>2013-03-31 18:45:59 +0000</string> <key>Modifier</key> <string>Nobuyasu Oshiro</string> <key>NotesVisible</key>
--- a/paper/omni/d_add.graffle Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/omni/d_add.graffle Mon Apr 01 05:22:03 2013 +0900 @@ -105,7 +105,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 \'83\'4f\'83\'89\'83\'74DB\ +\f0\fs24 \cf0 GraphDB\ Key/Value Store\ \'83\'68\'83\'4c\'83\'85\'83\'81\'83\'93\'83\'67DB}</string> <key>VerticalPad</key> @@ -489,7 +489,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2013-03-30 13:25:35 +0000</string> + <string>2013-03-31 18:09:37 +0000</string> <key>Modifier</key> <string>Nobuyasu Oshiro</string> <key>NotesVisible</key>
--- a/paper/sigos.tex Mon Apr 01 02:41:10 2013 +0900 +++ b/paper/sigos.tex Mon Apr 01 05:22:03 2013 +0900 @@ -1,6 +1,22 @@ \documentclass[techrep]{ipsjpapers} \usepackage[dvipdfm]{graphicx} \usepackage{url} +\usepackage{listings,jlisting} + +\lstset{%listings +breaklines=true, +tabsize=2, +frame=shadowbox, +basicstyle=\scriptsize, +showstringspaces=false, +numbers=left, +framexleftmargin=6mm, +numberstyle=\scriptsize, +stepnumber=1, +numbersep=1zw, +language=java +} + \input{dummy.tex} %% Font @@ -76,7 +92,6 @@ \input{acknowledgments} -\nocite{deos_proccess2013} \nocite{deos2012} \nocite{d_add2012} \nocite{toulmin}