Dopo qualche ricerca su google, mi sento ancora nel fango.
Mi chiedo se qual è l'approccio migliore per la scrittura di wrapper che mappano due API simili che offrono una semantica simile ma forse in diversi modelli, sintassi o stili.
Ad esempio: mappa Cairo (una libreria grafica) in Java2D (un'altra libreria grafica, con un modello semantico abbastanza simile).
PS: un brainstorming su cosa sarebbe bello avere in uno strumento integrato che supporta tale progetto per mappare la libreria A nella libreria B .
- Un motore di semantica formale (ad esempio K-framework) per definire la semantica del dominio ( A ) e la semantica dell'immagine ( B )
- Alcuni parser configurabili basati su regole per eseguire l'analisi del codice statico sul lato dominio per riconoscere i pattern di utilizzo nelle chiamate a codice A e utilizzarli per suggerire pattern mappati in termini di B
- Un motore di trasformazione (sostituisce nel codice sorgente chiama A con snippet equivalenti usando B , basato forse sulla semantica formale menzionata sopra
Quindi la mia domanda è se esiste qualche framework, o almeno un approccio allo stato dell'arte che fornisca la maggior parte di questa roba in un'API -truttura di trasformazione. Ho alcune API da portare e mi servirebbero due anni e mezzo se dovessi farlo a mano ...
EDIT : dopo ulteriori ricerche e suggerimenti ricevuti da altri, sto iniziando a perdere la speranza su un approccio comprovato e ben noto (all'interno della nicchia), senza menzionare nemmeno gli strumenti dedicati. D'altra parte, mi sono imbattuto in un gruppo di tactiques meno specifici che potrebbero (o potrebbero non) funzionare :
- XML per la definizione della semantica (ci sono diversi formati là fuori specificatamente destinati a definire la sintassi, probabilmente altri possono essere trovati per definire un piccolo linguaggio di logica)
- XSLT per la trasformazione (da implementare da zero); se si potesse collegare una struttura semantica formale per la convalida della trasformazione, come la K-Framework , sarebbe più interessante
- Uno strumento di analisi del dominio da implementare non da zero, ma sulla base di alcune API di analisi del codice (ad esempio quella utilizzata da FindBugs o qualsiasi altro strumento di questo tipo)
EDIT2: Mi chiedo il motivo per cui questa domanda sia stata downvoted senza alcun feedback. Mi chiedo quanti di questi downvoters abbiano effettivamente capito di cosa si tratta veramente il problema.