This paper presents an approach to architecting a family of products that share inter-changeable modules. Rather than a fixed product platform upon which derivative products are created through substitution of various add-on modules, the approach here permits the platform itself to be one of several possible sizes or types. Thus, the system is a collection of modules, each of which can be one of several types. We begin by developing function structures of each product in the portfolio, where each embodies a specific physical principle underlying the common technology. Different function structure systems can be used for each physical principle under consideration. These function structures are then compared to determine common and unique modules. Product modularity rules (i.e. dominant flow, branching, and conversion) are then applied to determine further possible modules. Application of any consistent set of modularity rules defines a feasible portfolio architecture. Each portfolio architecture is represented using a modularity matrix of functions versus products, with shared/unique function levels indicated in the matrix. Possible product modules are indicated with boxes while possible portfolio modules are indicated with shading. This method provides a systematic approach to generating possible portfolio architectures and serves as a communication aid for design team deliberations.