[cosmic-users] PICML: idl_to_picml yields incorrect scope on create...ComponentHome_Servant

Thomas Silveria Thomas_Silveria at raytheon.com
Wed Apr 26 10:18:01 CDT 2006


    CoSMIC VERSION: 0.4.8

    HOST MACHINE and OPERATING SYSTEM:
        Intel(R) Pentium(R) M 1.86GHz 
        Microsoft Windows XP Version 2002 Service Pack 1

    TOOL/AREA/CLASS/EXAMPLE AFFECTED:
        idl_to_picml produces servant entryPoints as follows:
            createProxyComponentHome_Servant
        instead of using module scope like this:
            create_MyProxyComponent_ProxyComponentHome_Servant

    THE PROBLEM AFFECTS EXECUTION

    SYNOPSIS:
        The Plan Launcher Dies trying to find the nonexistent 
        createProxyComponentHome_Servant entry point.

    DESCRIPTION:
    REPEAT BY:
    SAMPLE FIX/WORKAROUND:
    RELATED FILES:
        I am re-posting this.  Original PRF/email trail follows:

Sorry, I got excited that I knew how to solve your problem and didn't read 
all
the way to the end, where you say that you know how to manually fix it :-)

I don't know if it's a known bug; I've been able to avoid using the GME 
tool
for quite some time since I mostly mess around with existing deployment 
plans.
 I'm sure the Vandy guys will reply as soon as they can take a look.

Matt



Nicholas Grimes wrote:
> Thanks Matt,
> 
> I did change it in the model and moved on. Just reporting the steps I 
did
> to duplicate the bug. Is this a known bug that will be fixed in a later
> release ?
> 
> 
> Nick
> 
> 
>  
>              Matthew Gillen  
>              <mgillen at bbn.com>  
> To 
>              04/25/2006 11:27          Nicholas Grimes  
>              AM                        <Nicholas_Grimes at raytheon.com>  
> cc 
> cosmic-users at list.isis.vanderbilt.e 
>                                        du,  
> cosmic-dev at list.isis.vanderbilt.edu 
>                                        , Paul R Legault  
>                                        <Paul_R_Legault at raytheon.com>, 
John 
>                                        M Slaby 
<john_m_slaby at raytheon.com> 
> Subject 
>                                        Re: [cosmic-users] Incorrect 
method 
>                                        signature  
>  
>  
>  
>  
>  
>  
> 
> 
> 
> 
> Hi Nicholas,
> In your .cdp file you have this:
>     <location>ProxyComponent_svnt</location>
>     <execParameter>
>       <name>entryPoint</name>
>       <value>
>         <type>
>           <kind>tk_string</kind>
>         </type>
>         <value>
> 
> <string>create_MyProxyComponent_ProxyComponentHome_Servant</string>
>         </value>
>       </value>
>     </execParameter>
>   </artifact>
> 
> The "create_MyProxyComponent_ProxyComponentHome_Servant" string tells 
CIAO
> what
> function to look for. It looks like you have the create function named:
>  "createProxyComponentHome_Impl"
> 
> Those two strings need to match, so either change the .cdp file or 
rename
> your
> function to match what's in the .cdp file.
> 
> Matt
> 
> Try moving the
> 
> Nicholas Grimes wrote:
>> CoSMIC VERSION: 0.4.5
>>
>>     HOST MACHINE and OPERATING SYSTEM:
>>       i.e., which version of Windows are you using. Windows XP, CentOS
> 4.2
>>     TOOL/AREA/CLASS/EXAMPLE AFFECTED:
>> [Particularly, which tool in CoSMIC is affected? PICML or
>> generate_component_mpc.pl
>>
>>     DOES THE PROBLEM AFFECT:
>>         COMPILATION?
>>         LINKING?
>>         EXECUTION? Incorrect method signature
>>         OTHER
>>
>>     SYNOPSIS:
>>
>> Note: I used â??Building a Stock Quooter with CoSMIC and Dance 
Tutorial
> for
>> guidance.
>>
>> Modelling Side (Windows XP)
>>
>> 1. Create ProxyComponent.idl
>>
>> //ProxyComponent.idl,v 1.1 2006
>> #include <Components.idl>
>> module MyProxyComponent
>> {
>>
>>   interface Dummy {
>>       void DoNothing();
>>   };
>>   /**
>>    * @class ProxyCOmponent
>>    *
>>    * @brief component
>>    */
>>   component ProxyComponent supports Dummy
>>   {
>>       attribute string theExecutable;
>>       attribute string theArg0;
>>       attribute string theArg1;
>>       attribute string theArg2;
>>       attribute string theArg3;
>>       attribute string theArg4;
>>       attribute string theArg5;
>>       attribute string theArg6;
>>       attribute string theArg7;
>>       attribute string theArg8;
>>       attribute string theArg9;
>>       attribute string theEnvironmentFile;
>>   };
>>
>>   /**
>>    * @class ProxyComponentHome
>>    *
>>    * @brief home for ProxyComponent component
>>    */
>>   home ProxyComponentHome manages ProxyComponent
>>   {
>>   };
>> };
>>
>> 2. Create ProxyComponnent.cidl
>>
>> #ifndef PROXYCOMPONENT_CIDL
>> #define PROXYCOMPONENT_CIDL
>> #include "ProxyComponent.idl"
>> module MyProxyComponent
>> {
>>   composition session ProxyComponent_Impl
>>   {
>>     home executor ProxyComponentHome_Exec
>>     {
>>       implements ProxyComponentHome;
>>       manages ProxyComponent_Exec;
>>     };
>>   };
>> };
>> #endif // !defined PROXYCOMPONENT_CIDL
>>
>> 3. Run C:\Program Files\Microsoft Visual Studio .NET
>> 2003\Vc7\bin\VCVARS32.bat
>>
>> 4 Run idl_to_picml -x ProxyComponent ProxyComponent.idl
>>
>> 5. In GME, Create Project, PICML, D:\njg\env\ProxyComponent
>>
>> 6 In GME Run File->Import XML d:\njg\env\ProxyComponent.xme
>>
>> 7 In GME ComponentImplementations, Expand ProxyComponentImplementation,
>> ProxyComponent_svnt,
>>    entrypoin and note the value: createProxyComponentHome_Servant
>>
>>  8. Finish up the model details and Generate FlattendDeploymentPlan 
with
>> name PC_Plan.
>>
>> Code Side  (LINUX CENTOS)
>>
>> 1. Put PC_Plan into descriptors folder, characterization file
>> ProxyComponent.wlgChar into characterization folder. (Attached)
>>
>> 2. Write the code for ProxyComponent_exec.(cpp h)  (Attached)
>>
>> 3. Source the shell script to setup ACE/TAO/CIAO environment.
>>
>> 4. Create folder and put in ProxyComponent_exec.(cpp h),
> ProxyComponent.idl
>> and ProxyComponent.cidl.
>>
>> 5. Run $CIAO_ROOT/bin/cidlc  ProxyComponent.cidl.
>>
>> 6. Run $CIAO_ROOT/bin/generate_component_mpc.pl ProxyComponent.
>>
>> 7. Run $ACE_ROOT/bin/mwc.pl.
>>
>> 8. Run gmake and fix bugs until a closure is formed.
>>
>> 3. Run Node Manager and Execution Manager and Plan Launcher.
>>
>> 4. Dies trying to find createProxyComponentHome_Servant.
>>
>> (output):
>>
>> Node Manager
>>
>> Node Daemon Profile
>> ------------------------------------
>> Current Directory  :
>>
> 
/proj/CHSIRAD/BUILD_0/DRM/AIF/ComponentizedWLG/ComponentWLG/characterization
> 
>> NodeDaemon Name    : localhost
>> NodeDaemon Port    : 10000
>> -ORBEndpoint iiop://localhost:10000 -s
>>
> 
/proj/CHSIRAD/BUILD_0/DRM/Middleware/ACE_wrappers/TAO/CIAO/DAnCE/NodeApplicat
ion/NodeApplicationCIAO_NodeManager
> 
>>  IOR:
>>
> 
IOR:010000001900000049444c3a4349414f2f4e6f64654d616e616765723a312e30000000000
10000000000000068000000010102000a0000006c6f63616c686f73740010271b00000014010f00
525354ab234e447eab0e00000000000100000001000000000200000000000000080000000100000
004f41540100000018000000010000000100010001000000010001050901010000000000
> 
>> CIAO_NodeManager is running...
>> *** Starting NodeApplication
>> Running NodeApplication...
>> (5358|3086887776) EXCEPTION, Container_Impl::install
>>
>> user exception, ID 'IDL:Deployment/ImplEntryPointNotFound:1.0'
>> (5358|3086887776) EXCEPTION, CIAO_NodeApplication::install error
>>
>> user exception, ID 'IDL:Deployment/ImplEntryPointNotFound:1.0'
>>
>>
> 
*****************************************************************************
**
> 
>> Execution Manager
>>
>> CIAO_ExecutionManager is running...
>> (5351|3086882496) EXCEPTION, DomainApplicationManager_Impl::startLaunch
>>
>> user exception, ID 'IDL:Deployment/StartError:1.0'
>>
>>
> 
*****************************************************************************
**
> 
>> Plan Launcher
>>
>> (5356|3086874304) Initializing the Xerces runtime
>> CIAO_PlanLauncher: start Launch application...
>> EXCEPTION: StartError exception caught:
>> SessionContainer::ciao_install_home, Entry point
>> createProxyComponentHome_Servant invalid in dll ProxyComponent_svnt
>> Deployment failed.  Plan_Launcher exiting.
>>
>>
> 
*****************************************************************************
**
> 
>> 5. Should be looking for
> create_MyProxyComponent_ProxyComponentHome_Servant
>> .
>>
>> 6. Verify by running nm -o libProxyComponent_svnt.so | grep 
Home_Servant
>> and noting it finds
>>      create_MyProxyComponent_ProxyComponentHome_Servant but not
>>      create_MyProxyComponent_ProxyComponentHome_Servant
>>
>> Modelling side
>>
>> 1. Change name in ArtifactContainer, redeploy.
>>
>> Code Side
>>
>> 1. Repeat test and it works.
>>
>> (See attached file: ProxyComponent_exec.h)(See attached file:
>> ProxyComponent.cidl)(See attached file: ProxyComponent.idl)(See 
attached
>> file: ProxyComponent.wlgChar)(See attached file: 
ProxyComponent_exec.cpp)
>> (See attached file: PC_Plan.cdp)
>>
>>
>>
>>
>>
>>
>>
>> 
------------------------------------------------------------------------
>>
>> _______________________________________________
>> cosmic-users mailing list
>> cosmic-users at list.isis.vanderbilt.edu
>> http://list.isis.vanderbilt.edu/mailman/listinfo/cosmic-users
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/cosmic-users/attachments/20060426/160e2151/attachment-0001.htm


More information about the cosmic-users mailing list