diff --git a/JavaAkkaFuCoin.zip b/JavaAkkaFuCoin.zip new file mode 100644 index 0000000000000000000000000000000000000000..0132fed3147d5a390e0b5912d39131413f032633 Binary files /dev/null and b/JavaAkkaFuCoin.zip differ diff --git a/JavaAkkaFuCoin/src/fucoin/actions/search/ActionSearchWalletReference.java b/JavaAkkaFuCoin/src/fucoin/actions/search/ActionSearchWalletReference.java index 4de7d80789844cad51884c7710e66500c26d05dd..05385ada1b2a15721c1afd5e60edc3ab86653f50 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/search/ActionSearchWalletReference.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/search/ActionSearchWalletReference.java @@ -32,15 +32,11 @@ public class ActionSearchWalletReference extends Search{ answer = new ActionSearchWalletReferenceAnswer(name,wallet.getAddress(wallet.getKnownNeighbors().get(name)),ttl); } else if (ttl.size()<5){ for(ActorRef neighbor : wallet.getKnownNeighbors().values()){ - if(!ttl.contains(neighbor)){ - - - + if(!ttl.contains(neighbor)){ neighbor.tell(this, self); } } } - //System.out.println("ttl:"+ttl.size()); //User unknown by this Wallet if(answer!=null&&ttl.size()>0){ ttl.get(ttl.size()-1).tell(answer, self); diff --git a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionCommitDistributedCommitedTransfer.java b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionCommitDistributedCommitedTransfer.java index d9edb73e6e6677526067cabbdc90d2b84e448d35..2b72a72d38c2c098cf41fa0d97f1e961be6a70ae 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionCommitDistributedCommitedTransfer.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionCommitDistributedCommitedTransfer.java @@ -39,7 +39,7 @@ public class ActionCommitDistributedCommitedTransfer extends ClientAction{ @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, Wallet wallet) { - + log("ActionCommitDistributedCommitedTransfer is granted?"+granted); if(granted){ Integer sourceAmount = wallet.amounts.getOrDefault(source,0); Integer targetAmount = wallet.amounts.getOrDefault(target,0); @@ -51,8 +51,7 @@ public class ActionCommitDistributedCommitedTransfer extends ClientAction{ }else{ log("abort transaction with id"+id); } - log("wallet.amounts:"+wallet.amounts); - + log("wallet.amounts:"+wallet.amounts); } } diff --git a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeDistributedCommitedTransfer.java b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeDistributedCommitedTransfer.java index 532fe5d562d6cbc57a62ae4ce46d83635d2034cf..655aa8df515de02ff5922f075b989cb0551623a3 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeDistributedCommitedTransfer.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeDistributedCommitedTransfer.java @@ -24,12 +24,13 @@ public class ActionInvokeDistributedCommitedTransfer extends CoordinatorTransact @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, SuperVisor superVisor) { - log("invoke transaction "+source.path().name()+" "+amount+" "+target.path().name()); - long timestamp = System.currentTimeMillis()+500; - DistributedCommitedTransferRequest ds = new DistributedCommitedTransferRequest(source,target,timestamp); + log("invoke transaction "+source.path().name()+" sends "+amount+" to "+target.path().name()); + long timeout = System.currentTimeMillis()+500; + DistributedCommitedTransferRequest ds = new DistributedCommitedTransferRequest(source,target,timeout); superVisor.addDistributedCommitedTransferRequest(ds); + ActionPrepareDistributedCommitedTransfer apdct = new ActionPrepareDistributedCommitedTransfer(source,target,amount,timeout,ds.getId()); for(ActorRef neighbor : superVisor.getKnownNeighbors().values()){ - neighbor.tell(new ActionPrepareDistributedCommitedTransfer(source,target,amount,timestamp,ds.getId()), self); + neighbor.tell(apdct, self); } } diff --git a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeSentMoney.java b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeSentMoney.java index 3ce0506be55dbe1c0e5e6ce188f9aa30081ce090..7a2ee7eae3841bae1fabf6ccfb4cf27d9311cfa6 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeSentMoney.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionInvokeSentMoney.java @@ -21,21 +21,21 @@ public class ActionInvokeSentMoney extends Transaction{ wallet.getRemoteSuperVisorActor().tell( new ActionInvokeDistributedCommitedTransfer(self,wallet.getKnownNeighbors().get(name),amount), sender); }else{ + ActionSearchWalletReference aswr = new ActionSearchWalletReference(name); for(ActorRef neighbor : wallet.getKnownNeighbors().values()){ - neighbor.tell(new ActionSearchWalletReference(name), self); + neighbor.tell(aswr, self); } - - try { - context.unwatch(self); - Thread.sleep(200); - context.watch(self); - } catch (InterruptedException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - //getContext().unwatch(getSelf()); - self.tell(new ActionInvokeSentMoney(name, amount), self); - + sleep(self, context, 200); + self.tell(this, self); + } + } + private void sleep(ActorRef self, UntypedActorContext context, int sleeptime) { + try { + context.unwatch(self); + Thread.sleep(sleeptime); + context.watch(self); + } catch (InterruptedException e) { + e.printStackTrace(); } } } diff --git a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransfer.java b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransfer.java index cbe32fbf7f247df05128b105e77806ac673dd389..decf2b9a32fc661a6d1cf4c569c35047d72fd01b 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransfer.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransfer.java @@ -24,17 +24,9 @@ public class ActionPrepareDistributedCommitedTransfer extends Transaction{ @Override protected void onAction(ActorRef sender, ActorRef self, UntypedActorContext context, Wallet wallet) { - //log("wallet.amounts:"+wallet.amounts); - //log("amount:"+amount); - //log("source:"+source); - - //log("check if "+source.path().name()+" has more than "+amount+" he has now "+wallet.amounts.getOrDefault(source,0)); - //log("and sender.compareTo(source)==0?"+sender.compareTo(source)); boolean granted = sender.compareTo(source)==0 //sender is supervisor(bank) has allways money ||(wallet.amounts.containsKey(source) //sender is unknown, might be valid &&wallet.amounts.getOrDefault(source,0)>=amount) ; //sender have enough money - //log("granted?:"+granted); - //log("contains?:"+wallet.amounts.containsKey(source) ); sender.tell(new ActionPrepareDistributedCommitedTransferAnswer(source, target, amount,timestamp,granted,id),self); } diff --git a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransferAnswer.java b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransferAnswer.java index 376884ae61cfe55c82cc24c2bb9bd79bb550d1c8..e479c385962a7041be1d47eab25220237613c9d7 100644 --- a/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransferAnswer.java +++ b/JavaAkkaFuCoin/src/fucoin/actions/transaction/ActionPrepareDistributedCommitedTransferAnswer.java @@ -35,16 +35,19 @@ public class ActionPrepareDistributedCommitedTransferAnswer extends CoordinatorT return; int newCount = request.addPositiveAnswer(sender); if(newCount == superVisor.getKnownNeighbors().size()){ + ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(source,target,amount,true,timestamp,id); for(ActorRef neighbor : request.getAnswers()){ - neighbor.tell(new ActionCommitDistributedCommitedTransfer(source,target,amount,true,timestamp,id), self); + neighbor.tell(acdct, self); } superVisor.deleteRequest(request); } }else{ //A client wants to rollback - if(request!=null) - for(ActorRef neighbor : request.getAnswers()){ - neighbor.tell(new ActionCommitDistributedCommitedTransfer(source,target,amount,false,timestamp,id), self); + if(request!=null){ + ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(source,target,amount,false,timestamp,id); + for(ActorRef neighbor : request.getAnswers()){ + neighbor.tell(acdct, self); + } } } } diff --git a/JavaAkkaFuCoin/src/fucoin/gui/WalletGui.java b/JavaAkkaFuCoin/src/fucoin/gui/WalletGui.java index 3ba36b77aeecfa9b91ffbd79b14901628196f5d6..0c09c87545921ea984b353d1b5c20ec8cbf05c4a 100644 --- a/JavaAkkaFuCoin/src/fucoin/gui/WalletGui.java +++ b/JavaAkkaFuCoin/src/fucoin/gui/WalletGui.java @@ -132,6 +132,12 @@ public WalletGui(IWalletControle walletControle) { super.windowClosing(e); } + @Override + public void windowClosed(WindowEvent e) { + System.out.println("window closing"); + walletControle.leave(); + super.windowClosing(e); + } }); } diff --git a/JavaAkkaFuCoin/src/fucoin/supervisor/ActionUpdateQueue.java b/JavaAkkaFuCoin/src/fucoin/supervisor/ActionUpdateQueue.java index cfafa3d16065e7361da727cb7307b40041272c0f..82cc40c06210a1b9719b3c62ed7923ac032dc0dd 100644 --- a/JavaAkkaFuCoin/src/fucoin/supervisor/ActionUpdateQueue.java +++ b/JavaAkkaFuCoin/src/fucoin/supervisor/ActionUpdateQueue.java @@ -22,18 +22,16 @@ public class ActionUpdateQueue extends SuperVisorAction{ neighbor.tell(acdct, self); } } - - context.unwatch(self); - sleep(1000); - context.watch(self); + sleep(self,context,1000); self.tell(this, self); } - private void sleep(long time) { + private void sleep(ActorRef self, UntypedActorContext context, int sleeptime) { try { - Thread.sleep(time); + context.unwatch(self); + Thread.sleep(sleeptime); + context.watch(self); } catch (InterruptedException e) { - // TODO Auto-generated catch block e.printStackTrace(); } } diff --git a/JavaAkkaFuCoin/src/fucoin/supervisor/SuperVisor.java b/JavaAkkaFuCoin/src/fucoin/supervisor/SuperVisor.java index 31077877f9fa8e7f67de8e90251f03191d649e93..a6adcaa7fd08f0feb95ae85cd8b92a8ae72a105a 100644 --- a/JavaAkkaFuCoin/src/fucoin/supervisor/SuperVisor.java +++ b/JavaAkkaFuCoin/src/fucoin/supervisor/SuperVisor.java @@ -65,7 +65,10 @@ public class SuperVisor extends AbstractNode { requestQueue = new HashMap<Long,DistributedCommitedTransferRequest>(); self().tell(new ActionUpdateQueue(), self()); } - + /** + * filters the request for outdated and removes them + * @return deleted outdated request + */ public List<DistributedCommitedTransferRequest> updateList(){ List<Long> deletesIds = new ArrayList<Long>(); List<DistributedCommitedTransferRequest> deletes = new ArrayList<DistributedCommitedTransferRequest>(); diff --git a/JavaAkkaFuCoin/thesis_latex_template/1_introduction.aux b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.aux new file mode 100644 index 0000000000000000000000000000000000000000..8a57d14499f809529c91b41412d0ad496c0e65f8 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.aux @@ -0,0 +1,34 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{1}{section.1}} +\@writefile{toc}{\contentsline {section}{\numberline {2}ActionInvokeSentMoney}{1}{section.2}} +\@writefile{toc}{\contentsline {section}{\numberline {3}ActionInvokeDistributedCommitedTransfer}{2}{section.3}} +\@writefile{toc}{\contentsline {section}{\numberline {4}ActionPrepareDistributedCommitedTransfer}{3}{section.4}} +\@writefile{toc}{\contentsline {section}{\numberline {5}ActionPrepareDistributedCommitedTransferAnswer}{3}{section.5}} +\@writefile{toc}{\contentsline {section}{\numberline {6}ActionCommitDistributedCommitedTransfer}{4}{section.6}} +\@writefile{toc}{\contentsline {section}{\numberline {7}ActionUpdateQueue}{5}{section.7}} +\@setckpt{1_introduction}{ +\setcounter{page}{6} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{7} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{15} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{7} +\setcounter{lstlisting}{0} +\setcounter{section@level}{1} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/1_introduction.log b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.log new file mode 100644 index 0000000000000000000000000000000000000000..eef87efd32c2b0bd24e7986ff181ee5ce318bd69 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.log @@ -0,0 +1,38 @@ +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2015.7.23) 23 JUL 2015 11:55 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**1_introduction.tex +(./1_introduction.tex +LaTeX2e <2011/06/27> +Babel <3.9h> and hyphenation patterns for 7 languages loaded. + +./1_introduction.tex:2: LaTeX Error: Missing \begin{document}. + +See the LaTeX manual or LaTeX Companion for explanation. +Type H <return> for immediate help. + ... + +l.2 W + e have to make sure, that either all operational participants commit the +? +./1_introduction.tex:2: Emergency stop. + ... + +l.2 W + e have to make sure, that either all operational participants commit the +You're in trouble here. Try typing <return> to proceed. +If that doesn't work, type X <return> to quit. + + +Here is how much of TeX's memory you used: + 6 strings out of 494976 + 294 string characters out of 6179137 + 46219 words of memory out of 5000000 + 3331 multiletter control sequences out of 15000+600000 + 3640 words of font info for 14 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 5i,0n,4p,94b,14s stack positions out of 5000i,500n,10000p,200000b,80000s +./1_introduction.tex:2: ==> Fatal error occurred, no output PDF file produced! + diff --git a/JavaAkkaFuCoin/thesis_latex_template/1_introduction.tex b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.tex new file mode 100644 index 0000000000000000000000000000000000000000..7a99ce0be3db7a1a10674f292f43aca080bef8dc --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.tex @@ -0,0 +1,176 @@ +\section{Introduction} +We have to make sure, that either all operational participants commit the +transaction or none of them. Each participant has one of two votes for the +possible transaction: YES or NO. For the transaction to happen all participants +have to vote YES, so a decision cannot be reversed. +The init participant acts as the coordinator and sends a 'vote request' to all +other participants. After a participant receives this request, it responds with +either YES or NO. In case of NO the decision is already 'Abort'. If all +participants vote YES, the coordinator decides 'Commit' and sends a commit +message to all participants. Otherwise it sends an abort message to all +participants that voted YES. + +\includegraphics[width=1.0\textwidth]{pictures/TimelineCorrectTransfer.png} + +\section{ActionInvokeSentMoney} +This action is invoked by the graphical user interface of the wallets. +The target is to transfer an amount of money to a given Walletname. +If the targetname has a allready a mapping to an ActorRef, +an ActionInvokeDistributedCommitedTransfer will be sent to the Supervisor. +Otherwise an Gossip is invoked using the ActionSearchWalletReference, +and the same ActionInvokeSentMoney is invoked after 200ms. +\begin{lstlisting} +protected void onAction(ActorRef sender, + ActorRef self, + UntypedActorContext context, + Wallet wallet) { + log(wallet.getKnownNeighbors()+""); + if(wallet.getKnownNeighbors().containsKey(name)){ + wallet.getRemoteSuperVisorActor().tell( + new ActionInvokeDistributedCommitedTransfer( + self, + wallet.getKnownNeighbors().get(name), + amount), + sender); + }else{ + ActionSearchWalletReference aswr = new ActionSearchWalletReference(name); + for(ActorRef neighbor : wallet.getKnownNeighbors().values()){ + neighbor.tell(aswr, self); + } + sleep(self, context, 200); + self.tell(this, self); + } +} + +\end{lstlisting} +\section{ActionInvokeDistributedCommitedTransfer} +The ActionInvokeDistributedCommitedTransfer creates an DistributedCommitedTransferRequest, +which contains a random generated id, on the Server, +with a timout of 500ms, and store this to a map Long --> Request accoring to the id. +The Timeout is handled by the ActionUpdateQueue explained later. +The request will spread out to all clients. The clients can answer with an acknowledgement or an abort afterwards(see below). + +\begin{lstlisting} +protected void onAction(ActorRef sender, + ActorRef self, + UntypedActorContext context, + SuperVisor superVisor) { + log("invoke transaction "+source.path().name()+ + " sends "+amount+" to "+target.path().name()); + long timeout = System.currentTimeMillis()+500; + DistributedCommitedTransferRequest ds = + new DistributedCommitedTransferRequest(source,target,timeout); + superVisor.addDistributedCommitedTransferRequest(ds); + ActionPrepareDistributedCommitedTransfer apdct = + new ActionPrepareDistributedCommitedTransfer( + source, + target, + amount, + timeout, + ds.getId()); + for(ActorRef neighbor : superVisor.getKnownNeighbors().values()){ + neighbor.tell(apdct, self); + } +} +\end{lstlisting} +\section{ActionPrepareDistributedCommitedTransfer} +The clients will reply an request with an acknowlegment if one of two cases occurs. +The first case will appear if the Supervisor(Bank) will send a user some money. +Otherwise it would be neccessary that the sender is known by this client and have enough money. +\begin{lstlisting} +protected void onAction(ActorRef sender, + ActorRef self, + UntypedActorContext context, + Wallet wallet) { + //sender is supervisor(bank) has allways money + boolean granted = sender.compareTo(source)==0 + //sender is unknown, might be valid + ||(wallet.amounts.containsKey(source) + //sender have enough money + &&wallet.amounts.getOrDefault(source,0)>=amount); + sender.tell( + new ActionPrepareDistributedCommitedTransferAnswer(source, + target, + amount, + timestamp, + granted, + id), + self); +} +\end{lstlisting} +\section{ActionPrepareDistributedCommitedTransferAnswer} +After an answer of a client reaches the server, the server tries to find the correspong request. +If the answer was a acknowlegement, the request will get another positive answers. +When the same amount of positive answers equals the count of knownneighbors received on the server, +all client will be informed to commit the change, and the request will be deleted. +If the answer was a Abort all client will be invoked to abort the transaction. +\begin{lstlisting} +protected void onAction(ActorRef sender, ActorRef self, + UntypedActorContext context, SuperVisor superVisor) { + log(""+superVisor.getKnownNeighbors()); + log("granted?"+granted); + DistributedCommitedTransferRequest request = superVisor.getRequest(id); + if(granted){ + if(request==null)//unknown DistributedCommitedTransferRequest ignore + return; + int newCount = request.addPositiveAnswer(sender); + if(newCount == superVisor.getKnownNeighbors().size()){ + ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(source,target,amount,true,timestamp,id); + for(ActorRef neighbor : request.getAnswers()){ + neighbor.tell(acdct, self); + } + superVisor.deleteRequest(request); + } + }else{ + //A client wants to rollback + if(request!=null){ + ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(source,target,amount,false,timestamp,id); + for(ActorRef neighbor : request.getAnswers()){ + neighbor.tell(acdct, self); + } + } + } + } +\end{lstlisting} +\section{ActionCommitDistributedCommitedTransfer} +If a client shall commit the given changes, it will perforrm the +changes on the amounts map. Othwise it will just print a abort +transaction message. +\begin{lstlisting} +protected void onAction(ActorRef sender, ActorRef self, + UntypedActorContext context, Wallet wallet) { + log("ActionCommitDistributedCommitedTransfer is granted?"+granted); + if(granted){ + Integer sourceAmount = wallet.amounts.getOrDefault(source,0); + Integer targetAmount = wallet.amounts.getOrDefault(target,0); + wallet.amounts.put(source,sourceAmount-amount); + wallet.amounts.put(target,targetAmount+amount); + if(source.compareTo(self)==0)wallet.amount-=amount; + else if(target.compareTo(self)==0)wallet.amount+=amount; + wallet.log("have now "+wallet.amounts.get(self)+" Fucoins"); + }else{ + log("abort transaction with id"+id); + } + log("wallet.amounts:"+wallet.amounts); +} +\end{lstlisting} +\section{ActionUpdateQueue} +the ActionUpdateQueue Event will be invoked each second on the server, +and removes all outdated request. If a request is deleted all clients, +will be informed to abort this transaction. +\begin{lstlisting} +protected void onAction(ActorRef sender, ActorRef self, + UntypedActorContext context, SuperVisor superVisor) { + + List<DistributedCommitedTransferRequest> deletes = superVisor.updateList(); + + for(DistributedCommitedTransferRequest outdatedRequest : deletes){ + ActionCommitDistributedCommitedTransfer acdct = new ActionCommitDistributedCommitedTransfer(outdatedRequest); + for(ActorRef neighbor : superVisor.getKnownNeighbors().values()){ + neighbor.tell(acdct, self); + } + } + sleep(self,context,1000); + self.tell(this, self); + } +\end{lstlisting} diff --git a/JavaAkkaFuCoin/thesis_latex_template/1_introduction.tex~ b/JavaAkkaFuCoin/thesis_latex_template/1_introduction.tex~ new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/JavaAkkaFuCoin/thesis_latex_template/2_fundamentals.aux b/JavaAkkaFuCoin/thesis_latex_template/2_fundamentals.aux new file mode 100644 index 0000000000000000000000000000000000000000..a1643637f3a177fbf004ca7df18b6897d0c6f6ba --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/2_fundamentals.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@setckpt{2_fundamentals}{ +\setcounter{page}{6} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{7} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{15} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{7} +\setcounter{lstlisting}{0} +\setcounter{section@level}{1} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/2_fundamentals.tex b/JavaAkkaFuCoin/thesis_latex_template/2_fundamentals.tex new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/JavaAkkaFuCoin/thesis_latex_template/3_main.aux b/JavaAkkaFuCoin/thesis_latex_template/3_main.aux new file mode 100644 index 0000000000000000000000000000000000000000..6628d8fdb70a68161fa88be6893e3e5da03bebfa --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/3_main.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@setckpt{3_main}{ +\setcounter{page}{6} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{7} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{15} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{7} +\setcounter{lstlisting}{0} +\setcounter{section@level}{1} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/3_main.tex b/JavaAkkaFuCoin/thesis_latex_template/3_main.tex new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/JavaAkkaFuCoin/thesis_latex_template/4_conclusion.aux b/JavaAkkaFuCoin/thesis_latex_template/4_conclusion.aux new file mode 100644 index 0000000000000000000000000000000000000000..9ad61f2f649eda7a91702b4a5989ca45f754c7cc --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/4_conclusion.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@setckpt{4_conclusion}{ +\setcounter{page}{6} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{7} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{15} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{7} +\setcounter{lstlisting}{0} +\setcounter{section@level}{1} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/4_conclusion.tex b/JavaAkkaFuCoin/thesis_latex_template/4_conclusion.tex new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/JavaAkkaFuCoin/thesis_latex_template/5_appendix.aux b/JavaAkkaFuCoin/thesis_latex_template/5_appendix.aux new file mode 100644 index 0000000000000000000000000000000000000000..4bc2db3dc5030e3a72a5c466d7eb5e0f9f0934f4 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/5_appendix.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@setckpt{5_appendix}{ +\setcounter{page}{6} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{7} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{15} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{7} +\setcounter{lstlisting}{0} +\setcounter{section@level}{1} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/5_appendix.tex b/JavaAkkaFuCoin/thesis_latex_template/5_appendix.tex new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/JavaAkkaFuCoin/thesis_latex_template/bibliography.bib b/JavaAkkaFuCoin/thesis_latex_template/bibliography.bib new file mode 100644 index 0000000000000000000000000000000000000000..cd4333e6f755b9ccbe4d8feb416232e13d7e79cc --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/bibliography.bib @@ -0,0 +1,111 @@ +% This file was created with JabRef 2.5. +% Encoding: Cp1252 + +@INPROCEEDINGS{DjeOezSal07, + author = {Riad Djemili and Christopher Oezbek and Stephan Salinger}, + title = {{Saros: Eine Eclipse-Erweiterung zur verteilten Paarprogrammierung.}}, + booktitle = {Software Engineering (Workshops)}, + year = {2007}, + editor = {Wolf-Gideon Bleek and Henning Schwentner and Heinz Züllighoven}, + volume = {106}, + series = {LNI}, + pages = {317-320}, + publisher = {GI}, + crossref = {conf/se/2007w}, + date = {2007-09-20}, + interhash = {6a3ff0533f42dc6bf9e882ddad44c477}, + intrahash = {4b914fb7bf85efa120c9b0d76261b666}, + isbn = {978-3-88579-200-0}, + url = {http://www.inf.fu-berlin.de/inst/ag-se/pubs/saros-2007.pdf} +} + +@INPROCEEDINGS{CocWil00, + author = {Alistair Cockburn and Laurie Williams}, + title = {{The Costs and Benefits of Pair Programming}}, + booktitle = {eXtreme Programming and Flexible Processes in Software Engineering + XP2000}, + year = {2000}, + pages = {223--247}, + publisher = {Addison-Wesley} +} + +@MASTERSTHESIS{Dje06, + author = {R. Djemili}, + title = {{Entwicklung einer Eclipse-Erweiterung zur Realisierung und Protokollierungverteilter + Paarprogrammierung}}, + school = {Freie Universität Berlin, Inst. für Informatik}, + year = {2006} +} + +@MISC{FowlerM04b, + author = {Fowler, Martin}, + title = {{Inversion of Control Containers and the Dependency Injection pattern}}, + howpublished = {\url{http://www.martinfowler.com/articles/injection.html}}, + month = jan, + year = {2004}, + url = {\url{http://www.martinfowler.com/articles/injection.html}} +} + +@BOOK{GOF95, + title = {Design patterns: elements of reusable object-oriented software}, + publisher = {Addison-Wesley Professional}, + year = {1995}, + author = {Gamma, Erich and Helm, Richard and Johnson, Ralph and Vlissides, + John}, + citeulike-article-id = {430671}, + keywords = {semwiki}, + posted-at = {2005-12-08 12:16:10}, + priority = {0} +} + +@MISC{DPPII, + author = {Björn Gustavs}, + title = {{Weiterentwicklung des Eclipse-Plug-Ins Saros zur Verteilten Paarprogrammierung}}, + howpublished = {\url{http://www.inf.fu-berlin.de/inst/ag-se/theses/Gustavs_Saros_DPPII.pdf}}, + month = oct, + year = {2007} +} + +@MASTERSTHESIS{DPPIV, + author = {Christoph Jacob}, + title = {{Weiterentwicklung eines Werkzeuges zur verteilten, kollaborativen + Softwareentwicklung}}, + school = {Freie Universität Berlin}, + year = {2009} +} + +@ELECTRONIC{Plonka, + author = {Laura Plonka}, + title = {{Analysis of Professional Pair Programmers}}, + howpublished = {\url{https://www.inf.fu-berlin.de/w/SE/AnalysisOfProfessionalPairProgrammers}}, + organization = {Freie Universität Berlin}, + url = {\url{https://www.inf.fu-berlin.de/w/SE/AnalysisOfProfessionalPairProgrammers}}, + timestamp = {2009.07.31} +} + +@MASTERSTHESIS{DPPIII, + author = {Oliver Rieger}, + title = {{Weiterentwicklung einer Eclipse-Erweiterung für verteilte Paar-Programmierung + im Hinblick auf Kollaboration und Kommunikation}}, + school = {Freie Universität Berlin}, + year = {2008} +} + +@MISC{DPPV, + author = {Marc Rintsch}, + title = {{Agile Weiterentwicklung eines Software-Werkzeuges zur verteilten + Paarprogrammierung}}, + howpublished = {\url{https://www.mi.fu-berlin.de/wiki/pub/Main/MarcRintsch/studienarbeit.pdf}}, + month = jun, + year = {2009}, + url = {\url{https://www.mi.fu-berlin.de/wiki/pub/Main/MarcRintsch/studienarbeit.pdf}} +} + +@MISC{Rosen, + author = {Edna Rosen}, + title = {{Bewertung verteilter Paarprogrammierung im betrieblichen Umfeld}}, + howpublished = {\url{https://www.inf.fu-berlin.de/w/SE/ThesisDPPManagement}}, + year = {2009}, + timestamp = {2009.07.30} +} + diff --git a/JavaAkkaFuCoin/thesis_latex_template/declaration.aux b/JavaAkkaFuCoin/thesis_latex_template/declaration.aux new file mode 100644 index 0000000000000000000000000000000000000000..ad17f0e8c5ce1a0229f2aad4af3d21f4fffa33a5 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/declaration.aux @@ -0,0 +1,27 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\@setckpt{declaration}{ +\setcounter{page}{2} +\setcounter{equation}{0} +\setcounter{enumi}{0} +\setcounter{enumii}{0} +\setcounter{enumiii}{0} +\setcounter{enumiv}{0} +\setcounter{footnote}{0} +\setcounter{mpfootnote}{0} +\setcounter{part}{0} +\setcounter{section}{0} +\setcounter{subsection}{0} +\setcounter{subsubsection}{0} +\setcounter{paragraph}{0} +\setcounter{subparagraph}{0} +\setcounter{figure}{0} +\setcounter{table}{0} +\setcounter{vrcnt}{0} +\setcounter{lstnumber}{1} +\setcounter{Item}{0} +\setcounter{Hfootnote}{0} +\setcounter{bookmark@seq@number}{0} +\setcounter{lstlisting}{0} +\setcounter{section@level}{0} +} diff --git a/JavaAkkaFuCoin/thesis_latex_template/declaration.tex b/JavaAkkaFuCoin/thesis_latex_template/declaration.tex new file mode 100644 index 0000000000000000000000000000000000000000..a0cefc7cc2f8fc7bbf8fc8551d159e808c4425e0 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/declaration.tex @@ -0,0 +1,6 @@ +\subsection*{Eidesstattliche Erklärung} + +Ich versichere hiermit an Eides Statt, dass diese Arbeit von niemand anderem als meiner Person verfasst worden ist. Alle verwendeten Hilfsmittel wie Berichte, Bücher, Internetseiten oder ähnliches sind im Literaturverzeichnis angegeben, Zitate aus fremden Arbeiten sind als solche kenntlich gemacht. Die Arbeit wurde bisher in gleicher oder ähnlicher Form keiner anderen Prüfungskommission vorgelegt und auch nicht veröffentlicht. +\parbig +<Datum> \\\\ +<Name> \ No newline at end of file diff --git a/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.graphml b/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.graphml new file mode 100644 index 0000000000000000000000000000000000000000..e750b6954466a579c60e8a9600eb779dc5363770 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.graphml @@ -0,0 +1,489 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd"> + <!--Created by yEd 3.14.2--> + <key attr.name="Beschreibung" attr.type="string" for="graph" id="d0"/> + <key for="port" id="d1" yfiles.type="portgraphics"/> + <key for="port" id="d2" yfiles.type="portgeometry"/> + <key for="port" id="d3" yfiles.type="portuserdata"/> + <key attr.name="url" attr.type="string" for="node" id="d4"/> + <key attr.name="description" attr.type="string" for="node" id="d5"/> + <key for="node" id="d6" yfiles.type="nodegraphics"/> + <key for="graphml" id="d7" yfiles.type="resources"/> + <key attr.name="url" attr.type="string" for="edge" id="d8"/> + <key attr.name="description" attr.type="string" for="edge" id="d9"/> + <key for="edge" id="d10" yfiles.type="edgegraphics"/> + <graph edgedefault="directed" id="G"> + <data key="d0"/> + <node id="n0"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="15.833333333333286" y="-7.6666666666667425"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="68.119140625" x="3.4404296875" y="6.015625">Supervisor<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n1"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="15.833333333333286" y="354.66666666666663"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="68.119140625" x="3.4404296875" y="6.015625">Supervisor<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n2"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="-283.66666666666674" y="-7.6666666666667425"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="41.974609375" x="16.5126953125" y="6.015625">Wallet<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n3"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="-283.66666666666674" y="403.6666666666666"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="41.974609375" x="16.5126953125" y="6.015625">Wallet<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n4"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="185.0" x="-338.66666666666674" y="52.33333333333326"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="148.80859375" x="18.095703125" y="6.015625">ActionInvokeSentMoney<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n5"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="290.6666666666667" x="-92.00000000000006" y="111.83333333333326"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="260.59375" x="15.036458333333343" y="6.015625">ActionInvokeDistributedCommitedTransfer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n6"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="282.3333333333333" x="-387.33333333333337" y="191.8333333333333"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="267.513671875" x="7.409830729166629" y="6.015625">ActionPrepareDistributedCommitedTransfer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n7"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="316.6666666666667" x="-105.00000000000006" y="231.33333333333326"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="311.7109375" x="2.477864583333343" y="6.015625">ActionPrepareDistributedCommitedTransferAnswer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n8"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="282.3333333333333" x="-389.0" y="343.6666666666666"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="267.8125" x="7.260416666666629" y="6.015625">ActionCommitDistributedCommitedTransfer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n9"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="346.9999999999999" y="-7.6666666666667425"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="49.609375" x="12.6953125" y="6.015625">Wallet2<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n10"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="75.0" x="345.33333333333326" y="482.66666666666663"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="49.609375" x="12.6953125" y="6.015625">Wallet2<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n11"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="282.3333333333333" x="243.33333333333326" y="265.16666666666663"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="267.513671875" x="7.409830729166629" y="6.015625">ActionPrepareDistributedCommitedTransfer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n12"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="282.3333333333333" x="241.66666666666663" y="354.66666666666663"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="267.8125" x="7.260416666666629" y="6.015625">ActionCommitDistributedCommitedTransfer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <node id="n13"> + <data key="d5"/> + <data key="d6"> + <y:ShapeNode> + <y:Geometry height="30.0" width="316.6666666666667" x="-105.00000000000006" y="302.66666666666646"/> + <y:Fill color="#FFCC00" transparent="false"/> + <y:BorderStyle color="#000000" type="line" width="1.0"/> + <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" modelName="custom" textColor="#000000" visible="true" width="311.7109375" x="2.477864583333343" y="6.015625">ActionPrepareDistributedCommitedTransferAnswer<y:LabelModel> + <y:SmartNodeLabelModel distance="4.0"/> + </y:LabelModel> + <y:ModelParameter> + <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/> + </y:ModelParameter> + </y:NodeLabel> + <y:Shape type="rectangle"/> + </y:ShapeNode> + </data> + </node> + <edge id="e0" source="n4" target="n5"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="-100.66666666666677" ty="0.0"> + <y:Point x="-47.333333333333485" y="67.33333333333326"/> + <y:Point x="-47.333333333333485" y="97.83333333333329"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e1" source="n5" target="n6"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="100.16666666666666" ty="-5.666666666666657"> + <y:Point x="-146.00000000000009" y="126.83333333333326"/> + <y:Point x="-146.00000000000006" y="171.8333333333333"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e2" source="n6" target="n7"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="-111.66666666666677" ty="0.0"> + <y:Point x="-58.333333333333485" y="206.8333333333333"/> + <y:Point x="-58.333333333333485" y="206.8333333333333"/> + <y:Point x="-58.333333333333485" y="206.8333333333333"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e3" source="n13" target="n8"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="80.83333333333329" ty="-15.023437499999943"> + <y:Point x="-167.00000000000006" y="317.66666666666646"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e4" source="n5" target="n11"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="-79.83333333333314" ty="0.0"> + <y:Point x="304.66666666666674" y="126.83333333333326"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e5" source="n11" target="n13"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="97.3333333333332" ty="2.5000000000001705"> + <y:Point x="150.6666666666665" y="280.16666666666663"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e6" source="n13" target="n12"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="13.3333333333332" sy="-2.4999999999998295" tx="-87.16666666666652" ty="1.5"> + <y:Point x="295.66666666666674" y="315.16666666666663"/> + </y:Path> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e7" source="n9" target="n11"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="-5.852150537634316"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e8" source="n11" target="n12"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="1.6666666666666288" ty="6.567204301075321"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e9" source="n12" target="n10"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e10" source="n2" target="n4"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e11" source="n4" target="n6"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="-2.8421709430404007E-14" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e12" source="n6" target="n8"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="1.6666666666666288" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e13" source="n8" target="n3"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e14" source="n0" target="n5"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="-8.986559139784845"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e15" source="n5" target="n7"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e16" source="n7" target="n13"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="8.325268817204517"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + <edge id="e17" source="n13" target="n1"> + <data key="d9"/> + <data key="d10"> + <y:PolyLineEdge> + <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/> + <y:LineStyle color="#000000" type="line" width="1.0"/> + <y:Arrows source="none" target="standard"/> + <y:BendStyle smoothed="false"/> + </y:PolyLineEdge> + </data> + </edge> + </graph> + <data key="d7"> + <y:Resources/> + </data> +</graphml> diff --git a/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.png b/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.png new file mode 100644 index 0000000000000000000000000000000000000000..df5f005ed6ee1ac982705590c2c5c966409fb970 Binary files /dev/null and b/JavaAkkaFuCoin/thesis_latex_template/pictures/TimelineCorrectTransfer.png differ diff --git a/JavaAkkaFuCoin/thesis_latex_template/pictures/logo.pdf b/JavaAkkaFuCoin/thesis_latex_template/pictures/logo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9ecc350336e7bed339dec3f703d3af447848a81d Binary files /dev/null and b/JavaAkkaFuCoin/thesis_latex_template/pictures/logo.pdf differ diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.aux b/JavaAkkaFuCoin/thesis_latex_template/thesis.aux new file mode 100644 index 0000000000000000000000000000000000000000..cefa88ab92c0d9143060f55007d5a3d4ecb78eb0 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.aux @@ -0,0 +1,30 @@ +\relax +\providecommand\hyper@newdestlabel[2]{} +\catcode `"\active +\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument} +\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined +\global\let\oldcontentsline\contentsline +\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}} +\global\let\oldnewlabel\newlabel +\gdef\newlabel#1#2{\newlabelxx{#1}#2} +\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}} +\AtEndDocument{\ifx\hyper@anchor\@undefined +\let\contentsline\oldcontentsline +\let\newlabel\oldnewlabel +\fi} +\fi} +\global\let\hyper@last\relax +\gdef\HyperFirstAtBeginDocument#1{#1} +\providecommand\HyField@AuxAddToFields[1]{} +\providecommand\HyField@AuxAddToCoFields[2]{} +\select@language{ngerman} +\@writefile{toc}{\select@language{ngerman}} +\@writefile{lof}{\select@language{ngerman}} +\@writefile{lot}{\select@language{ngerman}} +\@input{1_introduction.aux} +\@input{2_fundamentals.aux} +\@input{3_main.aux} +\@input{4_conclusion.aux} +\@input{5_appendix.aux} +\bibstyle{alpha} +\bibdata{bibliography} diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.log b/JavaAkkaFuCoin/thesis_latex_template/thesis.log new file mode 100644 index 0000000000000000000000000000000000000000..2edc0825322042987ee8f3c2d98396f97a42fd3d --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.log @@ -0,0 +1,557 @@ +This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2015.7.23) 23 JUL 2015 13:38 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**thesis.tex +(./thesis.tex +LaTeX2e <2011/06/27> +Babel <3.9h> and hyphenation patterns for 7 languages loaded. +(/usr/share/texlive/texmf-dist/tex/latex/base/article.cls +Document Class: article 2007/10/19 v1.4h Standard LaTeX document class +(/usr/share/texlive/texmf-dist/tex/latex/base/size11.clo +File: size11.clo 2007/10/19 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +)) +(/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty +Package: inputenc 2008/03/30 v1.1d Input encoding file +\inpenc@prehook=\toks14 +\inpenc@posthook=\toks15 + +(/usr/share/texlive/texmf-dist/tex/latex/base/latin1.def +File: latin1.def 2008/03/30 v1.1d Input encoding file +)) +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.sty +Package: babel 2013/12/03 3.9h The Babel package + +(/usr/share/texlive/texmf-dist/tex/generic/babel-german/ngermanb.ldf +Language: ngermanb 2013/12/13 v2.7 German support for babel (new orthography) + +(/usr/share/texlive/texmf-dist/tex/generic/babel/babel.def +File: babel.def 2013/12/03 3.9h Babel common definitions +\babel@savecnt=\count87 +\U@D=\dimen103 +) +\l@naustrian = a dialect from \language\l@ngerman +\l@nswissgerman = a dialect from \language\l@ngerman +Package babel Info: Making " an active character on input line 88. +)) +(/usr/share/texlive/texmf-dist/tex/latex/ae/ae.sty +Package: ae 2001/02/12 1.3 Almost European Computer Modern + +(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty +Package: fontenc 2005/09/27 v1.99g Standard LaTeX package + +(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def +File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file +LaTeX Font Info: Redeclaring font encoding T1 on input line 43. +) +LaTeX Font Info: Try loading font information for T1+aer on input line 100. + +(/usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd +File: t1aer.fd 1997/11/16 Font definitions for T1/aer. +))) +(/usr/share/texlive/texmf-dist/tex/latex/fancyref/fancyref.sty +Package: fancyref 1999/02/03 v0.9c Fancy cross-referencing + +(/usr/share/texlive/texmf-dist/tex/latex/tools/varioref.sty +Package: varioref 2011/10/02 v1.4z package for extended references (FMi) +\c@vrcnt=\count88 +)) +(/usr/share/texlive/texmf-dist/tex/latex/fancyhdr/fancyhdr.sty +\fancy@headwidth=\skip43 +\f@ncyO@elh=\skip44 +\f@ncyO@erh=\skip45 +\f@ncyO@olh=\skip46 +\f@ncyO@orh=\skip47 +\f@ncyO@elf=\skip48 +\f@ncyO@erf=\skip49 +\f@ncyO@olf=\skip50 +\f@ncyO@orf=\skip51 +) +(/usr/share/texmf/tex/latex/xcolor/xcolor.sty +Package: xcolor 2007/01/21 v2.11 LaTeX color extensions (UK) + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/color.cfg +File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive +) +Package xcolor Info: Driver file: pdftex.def on input line 225. + +(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count89 +) +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1337. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1341. +Package xcolor Info: Model `RGB' extended on input line 1353. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1355. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1356. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1357. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1358. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1359. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1360. +) +(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty +\Urlmuskip=\muskip10 +Package: url 2013/09/16 ver 3.4 Verb mode for urls, etc. +) +(/usr/share/texlive/texmf-dist/tex/latex/base/makeidx.sty +Package: makeidx 2000/03/29 v1.0m Standard LaTeX package +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty +(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 1999/03/16 v1.13 key=value parser (DPC) +\KV@toks@=\toks16 +) +\lst@mode=\count90 +\lst@gtempboxa=\box26 +\lst@token=\toks17 +\lst@length=\count91 +\lst@currlwidth=\dimen104 +\lst@column=\count92 +\lst@pos=\count93 +\lst@lostspace=\dimen105 +\lst@width=\dimen106 +\lst@newlines=\count94 +\lst@lineno=\count95 +\lst@maxwidth=\dimen107 + +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty +File: lstmisc.sty 2013/08/26 1.5b (Carsten Heinz) +\c@lstnumber=\count96 +\lst@skipnumbers=\count97 +\lst@framebox=\box27 +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg +File: listings.cfg 2013/08/26 1.5b listings configuration +)) +Package: listings 2013/08/26 1.5b (Carsten Heinz) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR) + +(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 1999/03/16 v1.09 sin cos tan (DPC) +) +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/graphics.cfg +File: graphics.cfg 2010/04/23 v1.9 graphics configuration of TeX Live +) +Package graphics Info: Driver file: pdftex.def on input line 91. +) +\Gin@req@height=\dimen108 +\Gin@req@width=\dimen109 +) +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty +Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty +Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO) + + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty +Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO) +Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO) +Package hobsub Info: Skipping package `infwarerr' (already loaded). +Package hobsub Info: Skipping package `ltxcmds' (already loaded). +Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO) +Package ifvtex Info: VTeX not detected. +Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO) +Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO) +Package ifpdf Info: pdfTeX in PDF mode is detected. +Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO) +Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO) +Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO) +Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO +) +Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO) +Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO) +) +Package hobsub Info: Skipping package `hobsub' (already loaded). +Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO) +Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO) +Package: xcolor-patch 2011/01/30 xcolor patch +Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO) +Package atveryend Info: \enddocument detected (standard20110627). +Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO) +Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO) +Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO) +) +(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty +Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty +Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO) +) +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO) +) +\@linkdim=\dimen110 +\Hy@linkcounter=\count98 +\Hy@pagecounter=\count99 + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def +File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO) +) +\Hy@SavedSpaceFactor=\count100 + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg +File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive +) +Package hyperref Info: Option `colorlinks' set `true' on input line 4319. +Package hyperref Info: Option `linktocpage' set `true' on input line 4319. +Package hyperref Info: Hyper figures OFF on input line 4443. +Package hyperref Info: Link nesting OFF on input line 4448. +Package hyperref Info: Hyper index ON on input line 4451. +Package hyperref Info: Plain pages OFF on input line 4458. +Package hyperref Info: Backreferencing OFF on input line 4463. +Package hyperref Info: Implicit mode ON; LaTeX internals redefined. +Package hyperref Info: Bookmarks ON on input line 4688. +\c@Hy@tempcnt=\count101 +LaTeX Info: Redefining \url on input line 5041. +\XeTeXLinkMargin=\dimen111 +\Fld@menulength=\count102 +\Field@Width=\dimen112 +\Fld@charsize=\dimen113 +Package hyperref Info: Hyper figures OFF on input line 6295. +Package hyperref Info: Link nesting OFF on input line 6300. +Package hyperref Info: Hyper index ON on input line 6303. +Package hyperref Info: backreferencing OFF on input line 6310. +Package hyperref Info: Link coloring ON on input line 6313. +Package hyperref Info: Link coloring with OCG OFF on input line 6320. +Package hyperref Info: PDF/A mode OFF on input line 6325. +LaTeX Info: Redefining \ref on input line 6365. +LaTeX Info: Redefining \pageref on input line 6369. +\Hy@abspage=\count103 +\c@Item=\count104 +\c@Hfootnote=\count105 +) + +Package hyperref Message: Driver (autodetected): hpdftex. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def +File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX +\Fld@listcount=\count106 +\c@bookmark@seq@number=\count107 + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty +Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO) +Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2 +82. +) +\Hy@SectionHShift=\skip52 +) +(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty +File: lstlang1.sty 2013/08/26 1.5b listings language file +) (./thesis.aux +(./1_introduction.aux) (./2_fundamentals.aux) (./3_main.aux) +(./4_conclusion.aux) (./5_appendix.aux)) +\openout1 = `thesis.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. +LaTeX Font Info: Checking defaults for PD1/pdf/m/n on input line 61. +LaTeX Font Info: ... okay on input line 61. + +(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count108 +\scratchdimen=\dimen114 +\scratchbox=\box28 +\nofMPsegments=\count109 +\nofMParguments=\count110 +\everyMPshowfont=\toks18 +\MPscratchCnt=\count111 +\MPscratchDim=\dimen115 +\MPnumerator=\count112 +\makeMPintoPDFobject=\count113 +\everyMPtoPDFconversion=\toks19 +) +\c@lstlisting=\count114 + (/usr/share/texlive/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2010/02/09 v2.5 Base part for package epstopdf + +(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2010/08/19 v1.1 Manage graphics extensions (HO) +) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 452. + +(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +\AtBeginShipoutBox=\box29 +Package hyperref Info: Link coloring ON on input line 61. + +(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty +Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section + +(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty +Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO) +) +\c@section@level=\count115 +LaTeX Info: Redefining \Ref on input line 513. +) +LaTeX Info: Redefining \ref on input line 61. +LaTeX Info: Redefining \pageref on input line 61. +LaTeX Info: Redefining \nameref on input line 61. + +(./thesis.out) (./thesis.out) +\@outlinefile=\write3 +\openout3 = `thesis.out'. + +LaTeX Info: Redefining \Ref on input line 61. + +<pictures/logo.pdf, id=28, 199.19118pt x 52.728pt> +File: pictures/logo.pdf Graphic file (type pdf) + <use pictures/logo.pdf> +Package pdftex.def Info: pictures/logo.pdf used on input line 67. +(pdftex.def) Requested size: 216.0022pt x 57.17868pt. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <12> on input line 67. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <8> on input line 67. +LaTeX Font Info: External font `cmex10' loaded for size +(Font) <6> on input line 67. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 77. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 77. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 77. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 77. + +[1 + +{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map} <./pictures/logo.pdf>] +(./thesis.toc) +\tf@toc=\write4 +\openout4 = `thesis.toc'. + +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 84. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 84. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 84. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 84. + [1 + +] +\openout2 = `1_introduction.aux'. + + (./1_introduction.tex +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 1. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 1. + +<pictures/TimelineCorrectTransfer.png, id=56, 4622.26875pt x 2644.88126pt> +File: pictures/TimelineCorrectTransfer.png Graphic file (type png) + +<use pictures/TimelineCorrectTransfer.png> +Package pdftex.def Info: pictures/TimelineCorrectTransfer.png used on input lin +e 13. +(pdftex.def) Requested size: 360.0pt x 205.98512pt. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 15. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 15. +LaTeX Font Info: Try loading font information for T1+aett on input line 22. + +(/usr/share/texlive/texmf-dist/tex/latex/ae/t1aett.fd +File: t1aett.fd 1997/11/16 Font definitions for T1/aett. +) +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 32. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 32. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 32. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 32. + [1 + + + <./pictures/TimelineCorrectTransfer.png (PNG copy)>] +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 46. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 46. + +Overfull \hbox (0.78635pt too wide) in paragraph at lines 47--52 +\T1/aer/m/n/10.95 The Ac-tio-nIn-vo-ke-Dis-tri-bu-ted-Com-mi-tedTrans-fer crea- +tes an Dis-tri-bu-ted-Com- + [] + +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 75. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 75. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 75. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 75. +[2] +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 76. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 76. +LaTeX Font Info: Try loading font information for T1+aess on input line 85. + (/usr/share/texlive/texmf-dist/tex/latex/ae/t1aess.fd +File: t1aess.fd 1997/11/16 Font definitions for T1/aess. +) +Overfull \hbox (34.36821pt too wide) in paragraph at lines 101--101 +[]\T1/aer/bx/n/14.4 ActionPrepareDistributedCommitedTransferAnswer + [] + +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 101. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 101. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 112. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 112. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 112. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 112. +[3] +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 135. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 135. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 146. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 146. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 146. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 146. + [4] +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 157. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 157. +) +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 87. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 87. +Package babel Info: Redefining ngerman shorthand "| +(babel) in language on input line 87. +Package babel Info: Redefining ngerman shorthand "~ +(babel) in language on input line 87. + [5] +\openout2 = `2_fundamentals.aux'. + + (./2_fundamentals.tex) +\openout2 = `3_main.aux'. + + (./3_main.tex) +\openout2 = `4_conclusion.aux'. + + (./4_conclusion.tex) +\openout2 = `5_appendix.aux'. + + +(./5_appendix.tex) +No file thesis.bbl. +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 96. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 96. +(./thesis.aux (./1_introduction.aux) (./2_fundamentals.aux) (./3_main.aux) +(./4_conclusion.aux) (./5_appendix.aux)) +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 96. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 96. + + +Package rerunfilecheck Warning: File `thesis.out' has changed. +(rerunfilecheck) Rerun to get outlines right +(rerunfilecheck) or use package `bookmark'. + +Package rerunfilecheck Info: Checksums for `thesis.out': +(rerunfilecheck) Before: FF97DD44E6CB28FF283FE20D2F3678A2;412 +(rerunfilecheck) After: 1F90E0823F2BF6B7E4CF0DA52FBCF96B;459. +Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 96. + ) +Here is how much of TeX's memory you used: + 8584 strings out of 494976 + 121047 string characters out of 6179137 + 323744 words of memory out of 5000000 + 11497 multiletter control sequences out of 15000+600000 + 33515 words of font info for 70 fonts, out of 8000000 for 9000 + 14 hyphenation exceptions out of 8191 + 36i,12n,43p,291b,1904s stack positions out of 5000i,500n,10000p,200000b,80000s +</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></us +r/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx12.pfb></usr/shar +e/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi10.pfb></usr/share/texl +ive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr10.pfb></usr/share/texlive/tex +mf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist +/fonts/type1/public/amsfonts/cm/cmr17.pfb></usr/share/texlive/texmf-dist/fonts/ +type1/public/amsfonts/cm/cmsl10.pfb></usr/share/texlive/texmf-dist/fonts/type1/ +public/amsfonts/cm/cmss10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public +/amsfonts/cm/cmtt10.pfb> +Output written on thesis.pdf (7 pages, 398593 bytes). +PDF statistics: + 269 PDF objects out of 1000 (max. 8388607) + 245 compressed objects within 3 object streams + 139 named destinations out of 1000 (max. 500000) + 59 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.out b/JavaAkkaFuCoin/thesis_latex_template/thesis.out new file mode 100644 index 0000000000000000000000000000000000000000..70e2555bcb8bcdb51afb380af6207f7a16baf349 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.out @@ -0,0 +1,7 @@ +\BOOKMARK [1][-]{section.1}{Introduction}{}% 1 +\BOOKMARK [1][-]{section.2}{ActionInvokeSentMoney}{}% 2 +\BOOKMARK [1][-]{section.3}{ActionInvokeDistributedCommitedTransfer}{}% 3 +\BOOKMARK [1][-]{section.4}{ActionPrepareDistributedCommitedTransfer}{}% 4 +\BOOKMARK [1][-]{section.5}{ActionPrepareDistributedCommitedTransferAnswer}{}% 5 +\BOOKMARK [1][-]{section.6}{ActionCommitDistributedCommitedTransfer}{}% 6 +\BOOKMARK [1][-]{section.7}{ActionUpdateQueue}{}% 7 diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.pdf b/JavaAkkaFuCoin/thesis_latex_template/thesis.pdf new file mode 100644 index 0000000000000000000000000000000000000000..ddf5194c5fd33daba7893f27bc24c07bf1d658a1 Binary files /dev/null and b/JavaAkkaFuCoin/thesis_latex_template/thesis.pdf differ diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.tex b/JavaAkkaFuCoin/thesis_latex_template/thesis.tex new file mode 100644 index 0000000000000000000000000000000000000000..bbca472d417cd0d52ecb4021cb33422232d8ef39 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.tex @@ -0,0 +1,96 @@ +\documentclass[11pt,a4paper,ngerman]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +\usepackage{babel} +\usepackage{ae} +% +\usepackage{fancyref} +\usepackage{fancyhdr} +\usepackage{xcolor} +\usepackage{url} +\usepackage{makeidx} +\usepackage{listings} +% +% PDF settings +\usepackage[pdftex]{graphicx} +\usepackage[pdfstartview=FitH,pdftitle={<Titel>},pdfauthor={<Name>}, colorlinks=true, linktocpage]{hyperref} +% colorlinks=false, pdfborder={0 0 0} = keine farbigen Links +% +% Header and Footer Style +\pagestyle{fancy} +\fancyhead{} +\fancyhead[R]{\slshape <Name>} +\fancyhead[L]{\slshape\nouppercase{\rightmark}} +\fancyfoot{} +\fancyfoot[C]{\thepage} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +% +% No identation +\setlength\headheight{15pt} +\setlength\parindent{0pt} +% +% Custom commands +\newcommand\zb{z.\,B.\ } +\renewcommand\dh{d.\,h.\ } +\newcommand\parbig{\par\bigskip} +\newcommand\parmed{\par\medskip} +\newcommand{\mailto}[1]{\href{mailto:#1}{#1}} +% +% Java Code Listing Style +\definecolor{darkblue}{rgb}{0,0,.6} +\definecolor{darkgreen}{rgb}{0,0.5,0} +\definecolor{darkred}{rgb}{0.5,0,0} +\lstset{language=Java, basicstyle=\ttfamily\small\upshape, commentstyle=\color{darkgreen}\sffamily, keywordstyle=\color{darkblue}\rmfamily\bfseries, breaklines=true,tabsize=2,xleftmargin=3mm, xrightmargin=3mm,numbers=none,frame=single,stringstyle=\color{darkred}, +showstringspaces=false} +% +% Titel and author +\title{\includegraphics[width=0.6\textwidth]{pictures/logo}\\ +{\normalsize Seminararbeit am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Technische Informatik}\\[6ex] +Two-Phase-Commit} + +\author{Michael Kmoch, Yuri Lewash\\ +{\normalsize Matrikelnummer: 4289388, 4293181 }\\ +{\normalsize \mailto{michael.kmoch@inf.fu-berlin.de}, \mailto{yuri.lewash@inf.fu-berlin.de}}\\\\ +{\normalsize Betreuer: Simon Schmidt}\\ +{\normalsize Eingereicht bei: Katinka Wolter}} + +\date{Berlin, 23.07.2015} + + +\begin{document} + +\begin{titlepage} + +\pagenumbering{alph} +\maketitle +\thispagestyle{empty} + +\vfill{} + +\begin{abstract} +Abstract +\end{abstract} + +\vfill{} + +\end{titlepage} + +\pagestyle{empty} +\clearpage\pagenumbering{roman} + +\tableofcontents + +\clearpage\pagenumbering{arabic} +\pagestyle{fancy} +\setcounter{page}{1} +\include{1_introduction} +\include{2_fundamentals} +\include{3_main} +\include{4_conclusion} +\include{5_appendix} + +\bibliographystyle{alpha} +\bibliography{bibliography} + +\end{document} diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.tex~ b/JavaAkkaFuCoin/thesis_latex_template/thesis.tex~ new file mode 100644 index 0000000000000000000000000000000000000000..276a9c01e8bcaa42736d303a6607ef3436cae535 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.tex~ @@ -0,0 +1,98 @@ +\documentclass[11pt,a4paper,ngerman]{article} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +\usepackage{babel} +\usepackage{ae} +% +\usepackage{fancyref} +\usepackage{fancyhdr} +\usepackage{xcolor} +\usepackage{url} +\usepackage{makeidx} +\usepackage{listings} +% +% PDF settings +\usepackage[pdftex]{graphicx} +\usepackage[pdfstartview=FitH,pdftitle={<Titel>},pdfauthor={<Name>}, colorlinks=true, linktocpage]{hyperref} +% colorlinks=false, pdfborder={0 0 0} = keine farbigen Links +% +% Header and Footer Style +\pagestyle{fancy} +\fancyhead{} +\fancyhead[R]{\slshape <Name>} +\fancyhead[L]{\slshape\nouppercase{\rightmark}} +\fancyfoot{} +\fancyfoot[C]{\thepage} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\sectionmark}[1]{\markright{\thesection\ #1}} +% +% No identation +\setlength\headheight{15pt} +\setlength\parindent{0pt} +% +% Custom commands +\newcommand\zb{z.\,B.\ } +\renewcommand\dh{d.\,h.\ } +\newcommand\parbig{\par\bigskip} +\newcommand\parmed{\par\medskip} +\newcommand{\mailto}[1]{\href{mailto:#1}{#1}} +% +% Java Code Listing Style +\definecolor{darkblue}{rgb}{0,0,.6} +\definecolor{darkgreen}{rgb}{0,0.5,0} +\definecolor{darkred}{rgb}{0.5,0,0} +\lstset{language=Java, basicstyle=\ttfamily\small\upshape, commentstyle=\color{darkgreen}\sffamily, keywordstyle=\color{darkblue}\rmfamily\bfseries, breaklines=true,tabsize=2,xleftmargin=3mm, xrightmargin=3mm,numbers=none,frame=single,stringstyle=\color{darkred}, +showstringspaces=false} +% +% Titel and author +\title{\includegraphics[width=0.6\textwidth]{pictures/logo}\\ +{\normalsize <X-Arbeit> am Institut für Informatik der Freien Universität Berlin, Arbeitsgruppe Software Engineering}\\[6ex] +<Titel>} + +\author{<Name>\\ +{\normalsize Matrikelnummer: }\\ +{\normalsize \mailto{example@mail.de}}\\\\ +{\normalsize Betreuer: }\\ +{\normalsize Eingereicht bei: }} + +\date{Berlin, <Datum>} + + +\begin{document} + +\begin{titlepage} + +\pagenumbering{alph} +\maketitle +\thispagestyle{empty} + +\vfill{} + +\begin{abstract} +Abstract +\end{abstract} + +\vfill{} + +\end{titlepage} + +\pagestyle{empty} +\clearpage\pagenumbering{roman} + +\include{declaration} + +\tableofcontents + +\clearpage\pagenumbering{arabic} +\pagestyle{fancy} +\setcounter{page}{1} +\include{1_introduction} +\include{2_fundamentals} +\include{3_main} +\include{4_conclusion} +\include{5_appendix} + +\bibliographystyle{alpha} +\bibliography{bibliography} + +\end{document} diff --git a/JavaAkkaFuCoin/thesis_latex_template/thesis.toc b/JavaAkkaFuCoin/thesis_latex_template/thesis.toc new file mode 100644 index 0000000000000000000000000000000000000000..7b42e5af8827ea7ac40df218e058c80d8bd9f3e9 --- /dev/null +++ b/JavaAkkaFuCoin/thesis_latex_template/thesis.toc @@ -0,0 +1,8 @@ +\select@language {ngerman} +\contentsline {section}{\numberline {1}Introduction}{1}{section.1} +\contentsline {section}{\numberline {2}ActionInvokeSentMoney}{1}{section.2} +\contentsline {section}{\numberline {3}ActionInvokeDistributedCommitedTransfer}{2}{section.3} +\contentsline {section}{\numberline {4}ActionPrepareDistributedCommitedTransfer}{3}{section.4} +\contentsline {section}{\numberline {5}ActionPrepareDistributedCommitedTransferAnswer}{3}{section.5} +\contentsline {section}{\numberline {6}ActionCommitDistributedCommitedTransfer}{4}{section.6} +\contentsline {section}{\numberline {7}ActionUpdateQueue}{5}{section.7}