% This is an example of how to create a presentation in PDFLaTeX. 

% The basic document style is 'foils' from the FoilTeX package
\documentclass[landscape]{beamer}

% Basic things that we need are below
\usepackage{multimedia}
\usepackage{graphicx}     %for \resizebox command
\usepackage{beamerfoils}
\usepackage[english]{babel}
\usepackage{hyperref}
\usepackage{multimedia}
\usepackage{color}
\usepackage{rotating}
\usepackage{url}
\usepackage{pdfpages}     %to include external pdf pages in this presentation
\usepackage[acronym,      %create acronym list too
            toc,          %list glossary in TOC
            order=word,   %order by spelling
            ]{glossaries} %for acronyms and glossary

\include{glossary} %{glossary}
\hypersetup{
  pdfmenubar=true,
  pdftoolbar=true,
  pdfpagemode={None}
}
%allows to insert pause between bullets \usepackage{pause}
\usepackage{graphicx}


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Set headers
\MyLogo{2013 International Conference on Collaboration Technologies and Systems (CTS-2013), May 20-24, 2013}
\rightfooter{\quad\textsf{\thepage}}

\makeglossaries

\title{Job Manager for the NCCP}
\author{Ivan Gibbs, Eric Fritzinger, Sergiu M. Dascalu, Frederick C. Harris, Jr., and Yantao Shen}

\begin{document}
\rm


\begin{frame}{}
\LogoOff

\vskip 1.25in
\begin{center}
{\color{blue}\Large Workflow Job Manager for NCCP}

\vskip 9ex 
by Ivan Gibbs, Eric Fritzinger, Sergiu M. Dascalu, Frederick C. Harris, Jr., and Yantao Shen

\vskip 0ex
{\small May 20-24, 2013} 
\vskip 0ex
%{\small igibbs@cse.unr.edu}
%\vskip 0ex
%{\color{blue}\small\tt \underline{\url{http://www.cse.unr.edu/~igibbs/}}}

\end{center}
\end{frame}

\begin{frame}{Overview}
\LogoOn

\begin{enumerate}
\item Project Background
\item Research
\item Software Model
\item Prototype and Comparison to Other Tools
\item Conclusion
\end{enumerate}
\end{frame}

\begin{frame}{Project Background}

\begin{figure}
  \centering
  \includegraphics[scale=0.7]{fig/melting-ice-floating.png}
  \label{fig:melting_ice}
%http://www.nature.org/ourinitiatives/urgentissues/global-warming-climate-change/index.htm
\end{figure}
\end{frame}

\begin{frame}{Project Background}

NCCP is a work by several people involved in the 2008-2013 NSF EPSCoR project.
\begin{figure}
  \centering
  \includegraphics[scale=0.25]{fig/nccp_mainpage.png}
  \caption{NCCP homepage}
  \label{fig:nccp_mainpage}
\end{figure}
\end{frame}

\begin{frame}{Project Background}

Modeling and Simulation--Use of models to assist in making decisions. Includes things such as :

\begin{figure}
  \centering
  \includegraphics[scale=0.4]{fig/bridge-model.png}
  \label{fig:bridge-model}
%http://www.wabash.edu/news/displaystory.cfm?news_ID=3614
\end{figure}
\begin{itemize}
\item financial forcasting
\item bridge models
\item flight simulators
\end{itemize}
\end{frame}

\begin{frame}{Project Background}

Eric Fritzinger and Demeter--for data processing and coupling of scientific models.

\begin{figure}
  \centering
  \includegraphics[scale=0.2]{fig/demo_running.png}
  \caption{Persephone}
  \label{fig:persephone}
\end{figure}
\end{frame}


\begin{frame}{Research}

\gls{SOA} 

\begin{figure}
  \centering
  \includegraphics[scale=0.7]{fig/message-coupling.png}
  \caption{SOA diagram}
  \label{fig:coupling_diagram}
\end{figure}
\end{frame}


\begin{frame}{Research}

Web services

\begin{figure}
  \centering
  \includegraphics[width=0.7\textwidth]{fig/UDDI_WSDL_diagram.png}
  \caption{Web Services using WSDL and UDDI [1]}
  \label{fig:UDDI_WSDL_diagram}
\end{figure}
\end{frame}


\begin{frame}{Research}

Interoperability allows software to work together.

Some interoperability enabling  standards for \gls{SOA} are:

\begin{enumerate}
\item \gls{CORBA} 
\item \gls{JavaEE} 
\item \gls{DCOM} 
\item \gls{RMI} 
\item \gls{SOAP} 
\end{enumerate}
\end{frame}

\begin{frame}{Research}

Scientific model interoperability through:
\begin{enumerate}
\item direct software implementation,
\item data interoperability standards.
\begin{itemize}
\item \gls{MCT}
\item \gls{ESMF} 
\item \gls{CCA} 
\item \gls{OASIS}
\item and others
\end{itemize}
\end{enumerate}

\begin{figure}
  \centering
  \includegraphics[scale=0.25]{fig/clutch.png}
  \caption{Clutch of a car[2]}
  \label{fig:clutch}
\end{figure}
\end{frame}


\begin{frame}{Motivation}

\begin{enumerate}
\item \gls{WWW} enables more collaboration. 
\item combine individual models for larger simulations
\item distributed computing offers low cost computer resources
\end{enumerate}
\end{frame}

\begin{frame}{The Software Model}

\begin{table}[ht]
\caption{Functional Requirements}
\centering  %center the table
\resizebox{9cm}{!} {
\begin{tabular}{l | l }
\hline
R1  & The job manager must allow the user to view the current status \\
    & of a workflow.                                                      \pause \\ \hline
R2  & The job manager must allow the user to start a workflow.                   \\ \hline
R3  & The job manager must allow the user to stop a workflow.                    \\ \hline
R4  & The job manager must allow the user to pause a workflow.                   \\ \hline
R5  & The job manager must allow the user to unpause a workflow.          \pause \\ \hline
R6  & The job manager must provide an ID for each job.                    \pause \\ \hline
R7  & The job manager must provide the current state of a job.            \pause \\ \hline
R8  & The job manager must allow the user to visualize a job's execution. \pause \\ \hline
R9  & The job manager must allow the user to see all of their jobs.       \pause \\ \hline
R10 & The job manager must allow multiple users to view a job concurrently.      \\ \hline
\end{tabular}
} %end of resizebox
\label{table:functional_requirements_table}
\end{table}

  \includegraphics<0-1>[scale=0.5]{fig/monitor_job.png}
  %http://blogs.saschina.org/aplangpd/2010/04/10/monitoring-employees-cubical-invasion/
  \includegraphics<2-2>[scale=0.1]{fig/pause_play_stop_black.png}
  %http://sweetclipart.com/pause-play-and-stop-black-icons-997

	\includegraphics<3-3>[scale=0.3]{fig/id_card.png}
	%http://www.saintpaulchronicle.com/18/photo-identification-cards-for-illegal-immigrants-approved-by-los-angeles-city-council-committee/2012/317.html

	\includegraphics<4-4>[scale=0.5]{fig/stopwatch.png}
	%http://blog.artvenue.com/2011/09/how-to-price-art/stopwatch/

	\includegraphics<5-5>[scale=0.2]{fig/pertChart.png}
	%http://savethemonkeyinthemiddle.com/?p=280

	\includegraphics<6-6>[scale=0.3]{fig/fedex_workers.png}
	%http://www.msnbc.msn.com/id/16230038/ns/business-holiday_retail/t/fedex-hub-traffics-holiday-chaos/#.UKVij1Y2oYw

\end{frame}

\begin{frame}{The Software Model}

\begin{figure}
  \centering
  \includegraphics[scale=0.6]{fig/use_case.png}
  \caption{Use case diagram}
  \label{fig:use_case_diagram}
\end{figure}
\end{frame}

\begin{frame}{The Software Model}

\begin{figure}
  \centering
  \includegraphics[scale=0.6]{fig/silverlight_diagram.png}
  \caption{Silverlight web application diagram}
  \label{fig:Silverlight_diagram}
\end{figure}
\end{frame}


\begin{frame}{The Software Model}

\begin{figure}
  \centering
  \includegraphics[scale=0.6]{fig/job_manager_diagram.png}
  \caption{Job Manager class diagram, without Service wrapper}
  \label{fig:job_manager_diagram}
\end{figure}
\end{frame}

\begin{frame}{The Software Model}

\begin{figure}
  \centering
  \includegraphics[scale=0.4]{fig/workflow_fsm.png}
  \caption{Workflow State Machine diagram}
  \label{fig:workflow_diagram}
\end{figure}
\end{frame}

\begin{frame}{Prototype}

%\movie[width=3cm,height=2cm,poster]{}{video/JobManager-StandAlone.swf}
\begin{itemize}
\item JobManager.swf
\begin{itemize}
\item  illustration of Job Manager client app 
\end{itemize}
\item Demeter\_Stop.swf 
\begin{itemize}
\item   Job Manager running in full size browser client: simulation is stopped 
\end{itemize}
\item Demeter\_Finish.swf
\begin{itemize}
\item Job Manager running in full size browser client: finishes simulation 
\end{itemize}
\end{itemize}
\end{frame}

\begin{frame}{Comparison to Other Tools}
The Trident Workbench job manager.

{\color{blue}\underline{\url{http://www.youtube.com/watch?v=BZMjqVgJiIo}}} (1:00 and 2:00 - 3:00)
%http://www.youtube.com/watch?v=BZMjqVgJiIo

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{fig/trident-workflow.png}
  \caption{Trident workflow manager[3]}
  \label{fig:trident-workflow}
\end{figure}
\end{frame}


\begin{frame}{Comparison to Other Tools}

The RealFlow job manager.

\begin{itemize}
\item uses esoteric language (job note, IDOC, etc.)
\item IDOC - Independent Domain Of Computation
\item {\color{blue} \underline{\url{http://www.youtube.com/watch?v=-1pnD5w7kz8}}}
\end{itemize}

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{fig/realflow_preferences.png}
  \caption{RealFlow Job Manager Preferences[4]}
  \label{fig:realflow_preferences}
\end{figure}
\end{frame}


\begin{frame}{Comparison to Other Tools}

The HPC job manager.

\begin{itemize}
\item all text interface
\end{itemize}

\begin{figure}
  \centering
  \includegraphics[width=0.8\textwidth]{fig/hpc_job_manager.png}
  \caption{HPC Job Manager[5]}
  \label{fig:hpc_job_manager}
\end{figure}
\end{frame}


\begin{frame}{Comparison to Other Tools}

The Taverna job manager.

\begin{itemize}
\item all text interface
\end{itemize}

\begin{figure}
  \centering
  \includegraphics[width=0.6\textwidth]{fig/taverna-workbench.png}
  \caption{Taverna Job Manager[6]}
  \label{fig:taverna_workbench}
\end{figure}
\end{frame}


\begin{frame}{Comparison to Other Tools}

\begin{itemize}
\item Condor-G: gives access to multi-domain resources
\item DAGMan: manages dependencies between jobs for Condor
\item Globus: to build Grids for distributed computing
\end{itemize}

\begin{table}[ht]
\caption{Comparison of Technical Aspects}
\centering  %center the table
\resizebox{9cm}{!}  {
\begin{tabular}{l || c | c | c | c | c | c | c}
\hline
Software           & GUI              & Platforms 
                                          & \begin{sideways} Condor-G \end{sideways}
                                          & \begin{sideways} DAGMan \end{sideways}
                                          & \begin{sideways} Globus \end{sideways}
                                          & \begin{sideways} GraphViz \end{sideways} \\ \hline \hline
Trident Workbench  & stand-alone      & W/M/L & N & N & N & N \\
                   & web portal       &       &   &   &   &   \\ \hline
RealFlow Job Mgmt  &                  & W/M/L & N & N & N & N \\ \hline
Natural Organic    & web portal       & W     & N & N & N & N \\ \hline
HPC Job Mgr.       &                  & W/M/L & Y & Y & Y & N \\ \hline
Kepler             & stand-alone      & W/M/L & N & N & Y & N \\ \hline
Taverna Workbench  & JRE client       & JRE   & N & N & Y & Y \\
                   & cmd line         &       &   &   &   &   \\ \hline
Pegasus            & stand-alone      & W/M/L & Y & Y & Y & N \\
                   & Java webstart    & Web   &   &   &   &   \\ \hline
NCCP               & web portal       & W/M   & N & N & N & Y \\ \hline
\end{tabular}
} %end of resizebox
\label{table:technical_aspects}
\end{table}
\end{frame}

\begin{frame}{Comparison to Other Tools}

\begin{table}[ht]
\caption{Comparison of Functional Aspects}
\centering  %center the table
\begin{tabular}{l || c | c | c}
\hline
Software           & pause/     & monitor   & distribute \\
                   & resume/    & execution & execution  \\
                   & stop       & via web   &            \\ \hline \hline
Trident Workbench  & Y          & Y         & Y          \\ \hline
RealFlow Job Mgmt  & Y          & Y         & Y          \\ \hline
Natural Organic    & N          & Y         & Y          \\ \hline
HPC Job Mgr.       & Y          & Y         & Y          \\ \hline
Kepler             & Y          & Y         & Y          \\ \hline
Taverna Workbench  & Y          & Y         & Y          \\ \hline
Pegasus            & N          & Y         & Y          \\ \hline
NCCP               & Y          & Y         & Y          \\ \hline
\end{tabular}
\label{table:functional_aspects}
\end{table}
\end{frame}

\begin{frame}{Conclusions}

\begin{itemize}
\item offered a job management interface as a web service
\item satisfied functional requirements
\item implemented functions compare well with other applications
\end{itemize}
\end{frame}


\begin{frame}{Contributions}

\begin{itemize}
\item Job Manager presents a depiction of simulation progress with a dynamic graph \pause
\item uses separation of concerns through a state-transition matrix to guard for concurrency \pause
\item user friendly interface for small devices \pause
\item built an integrated interface for NCCP \pause
\item extensible interface for Demeter
\end{itemize}
\end{frame}


\begin{frame}{Acknowledgements}

\begin{itemize}
%\item Doctors Sergiu Dascalu, Fred Harris, and Yantao Shen for their support and encouragments 
\item Eric Fritzinger and Michael McMahon for the explanations of Demeter, Persephone, and the NCCP. 
\item National Science Foundation EPSCoR Grant for the Nevada Infrastructure for Climate Change Science, Education, \& Outreach, No. 0814372 
\end{itemize}
\end{frame}

\begin{frame}{References}

\begin{itemize}
\item [1] Oracle Corporation. Building Web Services--Chapter 1. \url{http://docs.oracle.com/cd/E19792-01/816-7862/index.html}, September 2012
\item [2] indiacar.com. Transmission Systems: The Clutch. \url{http://www.indiacar.com/infobank/theclutch.htm}, November 2012
\item [3] Microsoft Research. Project Trident: A Scientific Workflow Workbench. \url{http://research.microsoft.com/en-us/collaboration/tools/trident.aspx}, October 2012.
\item [4] RealFlow. Job Manager. \url{http://thevault.realflow.com/job\_manager-83.html}, October 2012.
\end{itemize}
\end{frame}

\begin{frame}{References (continued)}
\begin{itemize}
\item [5] Rachen-und Kommunikationszentrum. Using Abaqus with the Windows Batch System. \url{http://www.rz.rwth-aachen.de/aw/cms/rz/Themen/hochleistungsrechnen/nutzung/nutzung\_des\_rechners\_unter\_windows/~sxn/Windows\_BatchSystem\_Examples\_Abaqus/?lang=de}, November 2012. 
\item [6] Taverna. Taverna Users Guide. \url{http://www.cagrid.org/display/workflow13/Taverna+Users+Guide}, October 2012.
\end{itemize}
\end{frame}

%\begin{frame}[allowframebreaks]{Bibliography}
%\begin{small}
%	\phantomsection
%	\addcontentsline{toc}{section}{\bibname}
%	\bibliographystyle{alpha}
%	\bibliography{presentation}
%\end{small}
%\end{frame}

\end{document}
