ViewVC logotype

Contents of /trunk/grid-mw-security/ees/thesis/nextgen.tex

Parent Directory Parent Directory | Revision Log Revision Log

Revision 650 - (show annotations) (download) (as text)
Thu Aug 20 09:08:07 2009 UTC (12 years, 9 months ago) by aramv
File MIME type: text/x-latex
File size: 3766 byte(s)
Added thesis directory
1 \chapter{The EES Execution Framework}
2 \section{Motivation}
3 Because the LCAS, LCMAPS and SCAS services
5 \section{Improvements}
6 The EES Execution Framework (EEF) aims to solve the issues that were present in previous grid authentication mechanisms, as mentioned in the last chapter.
8 The EEF is implemented as a complete rewrite, while trying to remain (mostly) backward-compatible with existing plugins.
9 It aims to be completely backward-compatible with existing deployment schemes (provided the required plugins are updated accordingly).
11 \section{Architecture of the EES Execution Framework}
12 The EEF is designed to be a shared object that enables LCAS/LCMAPS-like functionality, to be loaded into services like the SCAS.
15 \section{Lifecycle of an EEF run}
16 It is invoked with a string containing a path to the LCMAPS policy description file.
17 To enable plugins to exchange information while being executed consecutively the AOS is initialized by the EEF.
18 The EEF then invokes The Evalution Manager to parse the supplied policy file, which performs some error-checking to assert the policy file has parsable syntax and will not create recursions.
19 If all is well the Evaluation Manager then loads and initializes the specified plugins by making calls to the Plugin Manager.
20 If all the plugins have been successfully loaded they are ready to be executed by a call from the EEF.
22 \begin{figure}[hp]
23 \centering
24 \includegraphics[width=\textwidth]{ees_sequence_diagram}
25 \caption[Sequence diagram of the EES framework]%
26 {Sequence diagram of the EES framework, which shows the different pseudo-classes interacting.}
27 \end{figure}
29 \begin{figure}[hp]
30 \centering
31 \includegraphics[width=\textwidth]{ees_class_diagram}
32 \caption[Pseudo-class diagram of the EES framework]%
33 {Pseudo-class diagram of the EES framework, which shows the different files associated with different roles in the design.}
34 \end{figure}
35 \subsection{API choices}
36 The initialization, invocation and termination of the EEF is entirely the same as that of its predecessors.
37 The only changes visible to third-party developers are the addition the AOS, and the omission of the requirement to implement a plugin\_introspect() function.
38 \subsection{Attribute \& Object Store}
39 In designing the API for the AOS we have chosen to expose a series of getter/setter functions.
40 A single setter function is used to store data into the AOS.
41 Next to the actual data this function accepts an argument that identifies the type of data and a size argument and a label to identify the data.
42 Data can be retrieved from the AOS by its label through getter functions which return typecasted results. This way, a crude mechanism for dynamic typing has been implemented.
43 Ownership of the stored data is based on the address of the calling plugin. Plugins cannot overwrite or delete each other's data.
44 \subsection{Plug-in Manager}
45 The Plugin Manager maintains the list of plugins and is able to execute them consecutively.
46 It has functions to add a single plugin to the list (which is called by the Evaluation Manager) and a function that runs the loaded plugins in order.
47 It is not exposed outside the EEF.
48 \subsection{Evaluation Manager}
49 The Evalution Manager parses the configuration file and builds an array of strings
50 It is not exposed outside the EEF.
51 \subsection{Tools}
52 \section{API's}
53 \subsection{Framework/Frontend}
54 \subsection{Plug-ins}
55 Plugins for the EEF should implement the following functions:
56 \begin{itemize}
57 \item plugin\_initialize()
58 \item plugin\_run()
59 \item plugin\_terminate()
60 \end{itemize}
61 This is the same API as LCAS/LCMAPS, with the omission of the plugin\_introspect() function.
62 \section{Plug-ins}
63 \subsection{Acquisition}
64 Collect underpants
65 \subsection{...}
66 ???
67 \subsection{Enforcement}
68 World domination!

ViewVC Help
Powered by ViewVC 1.1.28