namespace boost {
  namespace dataflow {
    template<typename PortSequence, typename DefaultPorts = mpl::map<>, 
             typename Tag = default_tag> 
      struct component_traits;
    template<typename ComponentTraits, typename Enable = void> 
      struct is_component_traits;
    template<typename T, typename Tag = default_tag, typename Enable = void> 
      struct is_component;
    template<typename ComponentTraits> struct component;
  }
}