|
From: Teiniker E. <tei...@us...> - 2007-01-24 15:35:37
|
Update of /cvsroot/ccmtools/ccmtools/doc/manual/ComponentModel In directory sc8-pr-cvs4.sourceforge.net:/tmp/cvs-serv5911/doc/manual/ComponentModel Modified Files: CcmtoolsComponentModel.tex ComponentModel.tex Added Files: Components.tex Log Message: Added some manual pages. Index: ComponentModel.tex =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/doc/manual/ComponentModel/ComponentModel.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ComponentModel.tex 15 Aug 2006 19:04:41 -0000 1.2 --- ComponentModel.tex 24 Jan 2007 15:35:31 -0000 1.3 *************** *** 1,3 **** - % $Id$ %============================================================================ \chapter{Component Model} --- 1,2 ---- *************** *** 7,11 **** \input{ComponentModel/Introduction} \input{ComponentModel/CcmtoolsComponentModel} ! \input{ComponentModel/LocalComponentStructure} ! \input{ComponentModel/NestedComponentComposition} ! \input{ComponentModel/RemoteComponentStructure} \ No newline at end of file --- 6,10 ---- \input{ComponentModel/Introduction} \input{ComponentModel/CcmtoolsComponentModel} ! %\input{ComponentModel/LocalComponentStructure} ! %\input{ComponentModel/NestedComponentComposition} ! %\input{ComponentModel/RemoteComponentStructure} \ No newline at end of file Index: CcmtoolsComponentModel.tex =================================================================== RCS file: /cvsroot/ccmtools/ccmtools/doc/manual/ComponentModel/CcmtoolsComponentModel.tex,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CcmtoolsComponentModel.tex 17 Oct 2006 15:59:00 -0000 1.2 --- CcmtoolsComponentModel.tex 24 Jan 2007 15:35:31 -0000 1.3 *************** *** 1,3 **** - % $Id$ %============================================================================== \section{CCM Tools Component Model} --- 1,2 ---- *************** *** 9,53 **** internal representation and implementation. - %------------------------------------------------------------------------------ - \subsection{Component Ports} - %------------------------------------------------------------------------------ ! Components support a variety of surface features through which clients and other ! components may interact with a component. These surface features are called ! ports. ! The CCM Tools component model supports three kinds of ports: ! \begin{description} ! \item [Attributes] which are named values exposed through getter and setter ! methods. Attributes are primarily intended to be used for component configuration. ! \item [Facets] which are distinct named interfaces provided by the component ! for client interaction. ! \item [Receptacles] which are named connection points that describe the ! component's ability to use a reference supplied by some external agent. ! \end{description} ! The component has a single distinguished reference whose interface conforms to ! the component definition. ! This reference supports an interface, called the component's ! {\bf equivalent interface} which allows clients to navigate among the ! component's facets, and to connect to the component's ports. %------------------------------------------------------------------------------ ! \subsection{Component Home} %------------------------------------------------------------------------------ ! A component home acts as a manager for instances of a specified component type. %------------------------------------------------------------------------------ ! \subsection{Component Life Cycle} %------------------------------------------------------------------------------ \newpage --- 8,128 ---- internal representation and implementation. + \begin{figure}[htbp] + \begin{center} + \includegraphics[height=5cm,angle=0] {figures/CcmtoolsComponent} + \caption{ CCM Tools component model.} + \label{figure:CcmtoolsComponentModel} + \end{center} + \end{figure} ! To describe software components, some additional keywords have been ! introduced to the Interface Definition Language (IDL). ! A component definition may contain the following surface features: ! \begin{itemize} ! \item Attributes ! \item Supported interfaces ! \item Provides interfaces ! \item Used interfaces ! \end{itemize} ! Additionally, a home definition must be declared for every component ! type. These component homes act as a factory for component instances. ! \vspace{2mm} ! Example: ! \begin{verbatim} ! #include <world/CommonInterface.idl> ! #include <world/FirstInterface.idl> ! #include <world/SecondInterface.idl> + module world + { + /* + * A component description collects zero or more surface + * features to a new component type. + */ + component SimpleComponent supports CommonInterface + { + /* + * Supported interfaces can be used to add attributes and + * operations to the equivalent component interface (it's + * a kind of interface inheritance). + */ + + /* + * Component attributes can be used to configure a + * particular component instance, and are added to the + * equivalent component interface. + */ + attribute string version; + + /* + * Provided interfaces must be implemented by the component's + * business logic, and can be used by clients or other + * components. + */ + provides FirstInterface first; ! /* ! * Used interfaces are implemented by another component. ! * A component's business logic call operations on used ! * interfaces to communicate with other component instances. ! */ ! uses SecondInterface second; ! }; ! ! /* ! * A home definition must be declared for every component type. ! */ ! home SimpleComponentHome manages SimpleComponent ! { ! /* ! * A home definition may contain zero or more factory ! * definitions. Each factory method can be used to ! * create an instance of the given componet type. ! */ ! factory createWithVersion(in string version); ! }; ! }; // end of module world ! \end{verbatim} ! A component description will be transformed into a set of equivalent ! interfaces which define the component's API for clients and other component instances. ! In the following sections these equivalent interfaces will be described ! in detail. ! ! ! %------------------------------------------------------------------------------ ! \subsection{Home Interface} ! %------------------------------------------------------------------------------ %------------------------------------------------------------------------------ ! \subsection{Component Interface} %------------------------------------------------------------------------------ ! ! The component home interface implicitly provides a {\tt create()} operation ! to create instances of the managed component type. ! ! ! ! %------------------------------------------------------------------------------ ! \subsection{Provided Interfaces} %------------------------------------------------------------------------------ + + %------------------------------------------------------------------------------ + \subsection{Used Interfaces} + %------------------------------------------------------------------------------ + + + + \newpage --- NEW FILE: Components.tex --- % $Id$ %============================================================================= \section{Components} %============================================================================= %----------------------------------------------------------------------------- \subsection{} %----------------------------------------------------------------------------- \newpage |