In TIMe, synthesis is an activity that produces a design from a specification.

Two basic techniques are used to synthesize a design:

  1. Transformation. A source description is transformed to a target description according to well defined rules. One example is to generate code from an SDL design.
  2. Composition. The content is decomposed into parts (top down) and/or composed from parts (bottom up) using a mixture of manual and automated techniques. TIMe seeks to reuse existing types as much as possible, and to make new types that might be needed reusable. Thus, design with reuse and design for reuse is part of TIMe. Design with reuse involves:
    • searching for existing types having some desired properties;
    • adapting the properties to fit the particular application.