Using Platform-based Design as the methodological framework, this task focuses on how to abstract and refine different layers of the design process and how to compose and decompose designs at any one layer. Contracts offer a formal way of defining rules that must be satisfied in the transformations. Contracts offer a formalism to define compositions, abstractions, and refinement and to verify properties while traversing the design space. In particular mapping functionality onto an architecture is an essential step in the refinement process. Exploring architectures to find the one that best matches the product (or product family) is fundamental to obtain an optimal design.