Abstract: The software synthesis method and system of the present invention provides a problem solving environment for systems of partial differential equations (or other concise mathematical description), common in engineering, finance, and science, which automatically transforms a problem description into executable software code. The method and system uses a specification language to support a user's natural description of the geometry and mathematics of the problem and solution strategies. The natural description is concisely expressed using general coordinates and dimensionless parameters, using domain specific keywords as appropriate. The user's problem description is compared with the system's knowledge base to refine the problem—i.e., identifying constraints, applying heuristics and defaults, and applying elaboration rules.