diff options
Diffstat (limited to 'ACE/bin/FOCUS/docs/FOCUS.html')
-rw-r--r-- | ACE/bin/FOCUS/docs/FOCUS.html | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/ACE/bin/FOCUS/docs/FOCUS.html b/ACE/bin/FOCUS/docs/FOCUS.html deleted file mode 100644 index ca0c85a0a28..00000000000 --- a/ACE/bin/FOCUS/docs/FOCUS.html +++ /dev/null @@ -1,165 +0,0 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> -<!-- $Id$ --> - <title>FOCUS</title> -</head> -<body bgcolor="#ffffff" link="#000fff" vlink="#ff0f0f" text="#000000"> -<hr> -<p></p> -<h2 align="center">Feature Oriented Customizer for Middleware (FOCUS)</h2> -<h3>Table of Contents</h3> -<ul> - <li><a href="#MOT">Introduction</a> </li> - <li><a href="#FCS-OVR">FOCUS Options overview</a> </li> - <li><a href="#FCS-USAGE">FOCUS Sample Usage</a> </li> - <li><a href="#FCS-ORG">FOCUS Structure & Organization</a> </li> - <li><a href="#FCS-ORG">Extending FOCUS</a> </li> -</ul> - -<hr> -<h3><b><a name="MOT">Introduction</a></b></h3> -TAO is a highly flexible ORB that contains a wide range of ORB -configuration options. One or more of these options can be combined -to meet various application requirements, such as low-latency, -predictable real-time behavior, or small memory footprint. TAO's ORB -configuration options are managed by an object-oriented framework -within the ORB Core. TAO ORB internally uses several objects called -<b>Resources</b>, such -as a <em>reactor</em> framework that demultiplexes new connection and -data requests from a client or <em>pluggable protocol</em> framework -to seamlessly work across different protocols. <b>Strategies</b>, are -objects that use the <b>Resource</b> entities to perform various ORB tasks, -such as connection management, concurrency, and demultiplexing. -The <b>Service Configurator</b> is a framework that can be used -to statically and dynamically configure components into middleware and -applications. - -Most often, applications that run on top of TAO use only one concrete type -of each resource. For example, predominantly TAO applications use the IIOP -protocol for communication. In this case, the underlying framework that -realizes the feature can be specialized to remove dynamic dispatching -overheads. The Feature Oriented Customizer (FOCUS) tool provides a -generic approach to enable middleware developers to specialize middleware -Frameworks when the concrete resource type is known a priori. -FOCUS provides an XML based transformation engine, where the -specialization transformations are captured in XML file and a -weaver specializes the code. Some important points to note about FOCUS -and specialization: -<ul> - <li>It does not modify an interface. So no application level changes are - necessary. - </li> - <li>Once a framework has been customized using FOCUS for a concrete component, - other components do not work. For example, specializing the protocol - framework with IIOP, precludes the ability to plug-in other protocol - implementations. - </li> - <li>It provides a source-to-source transformations that require re-compiling - the source. - </li> -</ul> - -<hr> -<h3><b><a name="FCS-OVR">FOCUS Options Usage</a></b></h3> -<table border="2" cellpadding="0" cellspacing="2"> - <tbody> - <tr> - <th>Option</th> - <th>Description</th> - </tr> - <tr> - <td>--prefix-path</td> - <td>prefix-path to the ACE+TAO source distribution location. For example, - in most situations this path is same as the ACE_ROOT environment - variable. - </td> - </tr> - <tr> - <td>--reactor-spl <em>select-st</em>, <em>select-mt</em>, <em>tp-reactor</em></td> - <td>Option to specialize the reactor framework with the - concrete reactor type. - <p>select-st: select reactor which no locking. Single threaded case.</p> - <p>select-mt: select reactor with locking enabled, multi-threaded case. - </p> - <p>tp-reactor: Thread-pool reactor</p> - </td> - </tr> - <tr> - <td>--protocol-spl <em>iiop</em></td> - <td>Option to specialize the pluggable protocol framework in TAO for the - IIOP protocol. - </tr> - <tr> - <td>--messaging-spl <em>giop</em></td> - <td>Option to specialize the messaging strategy in TAO with GIOP - messaging protocol. - </td> - </tr> - <tr> - <td>--wait-strategy <em>rw</em></td> - <td>Specialize the Wait Strategy with the concrete Wait Strategy in TAO. - This specialization corresponds to the <em>-ORBWaitStrategy</em> - option in TAO. - </td> - </tr> - <td>--output-prefix</td> - <td>Option to copy over the specialized files to an output directory. This - option works only when a single specialization is chose. If multiple - specializations are chosen, then this copies the files corresponding - to the last specialization. - </td> - </tbody> -</table> - -<hr> -<h3><b><a name="FCS-USAGE">FOCUS Sample Usage</a></b></h3> -cmd>$ACE_ROOT/bin/FOCUS/FOCUS.pl --reactor-spl=select-st \ - --prefix-path=/build/arvindk/ACE_wrappers - --output-prefix=/build/arvindk/spl-files - -<hr> -<h3><b><a name="FCS-ORG">FOCUS Tool Organization</a></b></h3> -FOCUS tool structure is organized as follows: -<ul> - <li>Parser directory has all parser related modules</li> - <li>specializations: Rules data base that has the XML files required for - performing the individual specialization transformations. For each - specialization we have the following sub directories: - <ul> - <li>Reactor_Family: Specializations for ACE_Reactor family</li> - <li>Protocol_Family: Specializations for TAO's protocol family</li> - <li>Messaging_Strategy: Specializations for TAO's Messaging Strategy</li> - <li>Wait_Strategy: Specializations for TAO's Wait strategies</li> - </ul> - </li> -</ul> - -A detailed overview of the FOCUS specialization language, that specifies the -different types for specialization transformations supported in FOCUS is -discussed here: {To be updated shortly!} - -<hr> -<h3><b><a name="FCS-ORG">Extending FOCUS</a></b></h3> -To add a new specializations, to FOCUS, one needs to do the following: -<ol> - <li>Use the FOCUS specification language to model the different specialization - Transformations required. Add this to the repository under - FOCUS/specializations. Current convention is to use a directory for each - family or specific type of specialization and add specialization files - for each type in the family. - </li> - <li>Annotate the middleware source code where ever applicable to perform the - transformations. - </li> - <li>Modify the FOCUS.pl script to add a specific option similar to --reactor-spl - option for executing the specializations. Also update the specialization - table that maps the command-line option to the appropriate specialization - file within the repository. - </li> -</ol> - -<hr> - -</body> -</html> |