% $Id: config_interpreter.tex,v 1.3 2006/02/12 07:14:32 dkaul Exp $
\subsection {Configurator Interpreter}
\label {sec:config-interpreter}
The dynamic semantics of POSAML are implemented via GME
interpreters. In this modeling language we have two interpreters as of
now and these interpreters traverse the graphical hierarchy of model
which are modeled by application modelers. One of the interpreters
called "Configurator Interpreter" generates two artifacts which are
required to configure middleware. We have build POSAML platform
independent but this interpreter is ACE/TAO specific and for other
platforms One of the artifacts is the service configurator file
(svc.conf) and the other one is a script file. Other interpreter
called Benchmark interpreter will be discussed in other
section~\ref{sec:benchmarking}. 
Service Configurator file is used to set Qos related configuration
policies by middleware for different applications. It has different
options that control the behavior of strategies and resources used by
middleware framework. This file allows application to configure
service objects statically and dynamically configuring middleware.  
Options ~\cite{dk:Options}in svc.conf file can represents either the
components provided by middleware framework or customized components
developed by users. If this configurator file is not available,
ACE/TAO middleware framework selects all default configurations. 

Following are the different factories that can be configured:
\begin{enumerate}
	\item Advance Resource Factories: This factory controls the creation
  of configurable resources used by ACE/TAO's ORB core. The resource
  factory is responsible for constructing and providing access to
  various resources used by the ORB irrespective of whether they
  perform client or server roles.  
\item	Server Strategy factory: This factory creates various strategies
of special utility to the ORB that is useful for controlling the
behavior of servers. This factory is responsible for creating
strategies useful for server objects like the concurrency strategy and
the request demultiplexing strategies used by the POA. 
\item	Client Strategy factory: This factory creates various strategies
of special utility to the ORB, useful for controlling the behavior of
clients. This factory is responsible for creating strategies useful
for clients such as request multiplexing strategies, wait strategies,
connect strategies. 
\end{enumerate}

Svc.conf will contain strategies like this:

\begin{small}
\begin{verbatim}
static Advanced_Resource_Factory "-ORBReactorType tp -ORBReactorThreadQueue LIFO"
static Server_Strategy_Factory "-ORBConcurrency reactive"
\end{verbatim}
\end{small}

Script file has inputs to run any application like Naming service or
benchmarking evaluation tool with proper end points like listening
ports, protocol and host name. These endpoints are also used by
Acceptor-Connector pattern for different transport handles. 
\begin{small}
\begin{verbatim}
benchmark_test -ORBEndpoint iiop://127.0.0.1:9000
\end{verbatim}
\end{small}

