Implementing faceted classification for software reuse