Component-Based Software Engineering

  • Interface: specification of component behavior and properties.
  • Naming: global unique names for components and interfaces.
  • Meta data: information about components, interfaces and their relationships; APIs to services providing such information.
  • Interoperability: communication and data exchange among components from different vendors, implemented in different languages.
  • Customization: interfaces for customized components.
  • Composition: interfaces and rules for combining components to creat larger structures.
  • Evolution support: rules and services for replacing components or interfaces by newer versions.
  • Packaging and deployment: packaging implementation and resources needed for installing and configuring a component.