The software synthesis method and system of the present invention provides
a problem solving environment for Monte Carlo simulations (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. The software
synthesis method and system uses planning process, computer algebra, and
templates to analyze and optimize the problem description, choose and
customize data structures, and generate pseudo-code. The pseudo-code is
translated into the desired target language source code. The software
synthesis system and method therefore provides the ability to describe a
problem and possible solution strategies at a high level, and outputs
target language code that implements a solution. The software synthesis
system and method is particularly useful modeling options where a Monte
Carlo simulation is used.
Il metodo di sintesi del software ed il sistema di presente invenzione fornisce un ambiente di soluzione dei problemi per le simulazioni de Monte Carlo (o l'altra descrizione matematica concisa), il comune nell'ingegneria, nella finanza e nella scienza, che trasforma automaticamente una descrizione di problema nel codice eseguibile del software. Il metodo ed il sistema usa una lingua di specifica per sostenere la descrizione naturale dell'utente della geometria e della matematica delle strategie della soluzione e di problema. La descrizione naturale è espressa brevemente usando le coordinate generali ed i parametri senza dimensioni, usando le parole chiavi specifiche di dominio come adatta. La descrizione di problema dell'utente è paragonata alla base di conoscenza del sistema per raffinare il problema -- cioè, identificando i vincoli, applicando l'euristica ed i difetti ed applicando le regole di elaborazione. Gli usi di metodo e del sistema di sintesi del software che progettano processo, algebra del calcolatore e le mascherine per analizzare ed ottimizzare la descrizione di problema, per scegliere ed adattare le strutture per il cliente di dati e per generare pseudo-code. Lo pseudo-code è tradotto in codice sorgente voluto di lingua di arrivo. Il sistema ed il metodo di sintesi del software quindi fornisce la capacità di descrivere un problema e lle strategie possibili della soluzione ad un livello elevato ed al codice di lingua di arrivo delle uscite che effettua una soluzione. Il sistema ed il metodo di sintesi del software è particolarmente utili modellando le opzioni dove una simulazione de Monte Carlo è usata.