The Common Component Architecture Forum
cca logo     The Common Component Architecture Forum
 
 
Quick Links
Main
  Components
  Contacts
  Docs
  Glossary
  Groups
  Help
  Meetings
  Members
  News
  Overview
  Scidac
  Software
  Mailing Lists
  Toolkit
  Tutorials
 
Search

Advanced Search
Search:
Entire Site This Topic Only
Match:
Any All
Partial Whole Words only
 
About
The CCA Forum is a group committed to defining a standard component architecture for high performance computing. Please email the webmaster for suggestions about this site.
 
   

Terms and Definitions

A component is a software object, meant to interact with other components, encapsulating certain functionality or a set of functionalities. A component has a clearly defined interface and conforms to a prescribed behavior common to all components within an architecture. Multiple components may be composed to build other components.

The component interface is a set of methods supported by a component, and type definitions for the data used for arguments to those methods. An interface itself is a type and can be an argument for a component method.

A component architecture is a system defining the rules of linking components together. The CCA model of a component architecture is composed of the following elements:

  • An Interface Definition Language understandable to all components. Interface definitions expressed in this language allow components to find out about each other either through introspection or through consulting a repository, and give a component architecture the potential to dynamically add and delete components in multi-component applications (whether this potential is actually realized or not depends on a specific implementation of the architecture).
  • An Introspective Capability or a Repository. These two approaches have been found to be complementary; the purpose of either is to create a global namespace and type definitions accessible to all components. The repository or information returned by introspective capability can contain both interface definitions and implementation and performance information about components.
  • A Reusable Combining Infrastructure provides the implementation necessary to link components. It contains mechanisms enabling the components to reference each other, understands the interface definition syntax and is capable of transferring data types and component references between components.
  • A Binding between the interface definition syntax and a language or framework of actual component implementation.
  • A Composition API allows the programmer to link components into multi-component applications and save those compositions. Such a mechanism could be provided for example by a GUI or a scripting language, and need not be standardized in a CCA.

A framework is a specific implementation of a component architecture

A Common Component Architecture is a component architecture defining standards necessary for the interoperation of components developed in the context of different frameworks. To date the need for three such standards has been identified: the Interface Definition Language, an interaction model and a set of services based on this model which can be expected by every component, and should be provided by every framework, and a standardized way of retrieving information from the repository.


 
© Copyright 2002-2004