In the FleCSI nomenclature, a specialization is a collection of type definitions that customize the core FleCSI topologies and data structures to produce a domain-specific interface that is suitable for application developers. The terminology is derived from C++, where a specialization is simply a full or partial qualification of a parameterized type, i.e., an explicit or partial specialization of a type.