Beh, la mia è, ripeto, una domanda da Absolute Beginner, e anche un po’ da pigro; ammetto di non aver spulciato e riflettuto su tutta la documentazione.
Le mia domanda nasce dalla seguente osservazione:
sarebbe comodo ottenere nelle fasi di analisi (dello standard o di customizzazioni esterne) / design & debugging un tool di più alto livello rispetto a quanto già offre NAV, che permetta di ottenere un diagramma di sequenza degli oggetti invocati.
Una cosa simile, ma non un diagramma di sequenza, è ottenibile col Code Coverage ma i risultati prodotti sono:
-
una lista di tutti gli oggetti chiamati e raggruppati per tipo (senza nessuna indicazione su “chi chiama chi”)
-
il codice effettivamente eseguito dagli oggetti richiamati
Una prima soluzione (una prima idea abbozzata anzi) potrebbe esser quella di esaminare in maniera automatica/sistematica il codice effettivamente eseguito con un tool ad hoc (mi viene in mente il Perl, particolarmente adatto alla costruzione di strumenti pe l’analisi del testo), ma mi vengono in mente dei casi, che qui per brevità tralascio, in cui si verificano situazioni indecidibili/ambigue (comunque un passo avanti, chi analizza dovrebbe poi metterci un po’ del suo ma partendo da una base decisamente superiore)
La seconda idea che mi viene in mente è analizzare cosa effettivamente fa NAV quando un oggetto ne invoca un altro: mi sembra che tali informazioni possano essere raccolta analizzando come e quando “Il Sistema” (lo so’, è una definizione abbastanza nebulosa) interagisce con la tabella Object.
Esempio: invocato un oggetto? allora guarda la Tab. Virt. Object per vedere se in essa è già presente, se non lo è lo inserisce; tali informazioni saranno poi utili al Code Coverage per prospettare la lista degli oggetti invocati.
Ecco da cosa nasce la mia domanda, ma non mi stupirei se qualcosa esistesse già, magari non ho cercato abbastanza ( io ho solo trovato dei diagrammi di classi ma che danno informazioni di natura “statica” e non “dinamica”)
Il mio interesse sarebbe quindi costruire un tool simile (ogni collaborazione-critica-consiglio è più che ben accetta
)
Naturalmente qualcuno potrebbe obbiettare da subito: “Ma quello che cerchi esiste già, svegliati: IL DEBUGGER ! ! ! !”
Beh vabbe’, ma allora buttiamo a quel paese l’ingegneria, torniamo all’assembler e alle valvole termoioniche che sono solo un po’ più lente e grosse degli attuali transistor.
E’ vero che tutto questo si può fare col debugger, ma in certe situazioni è come disossare un dinosauro con un taglia-unghie.
Fatemi sapere, e grazie comunque