Back to the forum.

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

The Common Component Architecture Technical Specification - Version 0.5 (as amended through 3/5/2001)

Overview

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

Provides Ports

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

Uses Ports

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

Port Info

package gov.cca{

  interface PortInfo{
        string getType();
        string getName();
        string getProperty(string name);
  };
  ...
};
    String[] properties =     {"key1", "value1",
                               "key2", "value2" }
    PortInfo p = svc.createPortInfo("myFooPort",
                                    "gov.doe.llnl.foostuff.FooInterface",
                                     properties);

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

The Services Object: The Component's View of the Framework

package gov.cca {
  ...
  interface Services {
     Port getPort(in string name);
     PortInfo createPortInfo(in string name, in string type, array<string, 1> properties);
     void registerUsesPort(in PortInfo name_and_type);
     void unregisterUsesPort(in string name);
     void addProvidesPort(in Port providesPort, in PortInfo name);
     void removeProvidesPort(in string name);
     void releasePort(in string name);
     ComponentID getComponentID();
   };
  };
package gov.cca{
interface ComponentID{
    String toString();
    };
};

Note that a ComponentID object cannot be used to modify the component or access framework specific implementation details.   This object, when serialized, can reside in instance registries and it is the handle that can be used by services that are implemented as CCA components to refer to other components.   A component is allowed to access its own ComponentID which it may then pass to services or components that implement services.

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

The Component Interface

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

Well-known Ports

Overview | Provided Ports | Uses Ports | PortInfo | CCA Services | Component Interface | Well-known Ports | Interfaces | SIDL | C++ Mapping | Java Mapping | Examples | Other specs and impls

Interfaces