martedì 26 agosto 2008

Back to work (and debian)

Post rapido rapido post vacanze:

Rientrato dalle vacanze domenica sera, ho prontamente deciso di dedicare il lunedì alla migrazione di un paio di pc a debian.

Infatti sul barebone, quasi due anni fa, non ero riuscito ad installare debian amd64, ai tempi troppo arretrata per supportare un pc problematico come quello (scheda madre nvidia).
ci avevo bestemmiato sopra davvero un sacco e alla fine avevo messo una versione di ubuntu. Ogni tentativo di aggiornare il sistema alla release successiva di ubuntu terminava in un disastro di proporzioni inaudite, alimentando il mio odio per l'architettura a 64bit ed il suo supporto inadeguato.

A gennaio compravo in fretta e furia il portatile nuovo, causa cedimento hardware (i sostegni dello schermo) del precedente. Dopo un paio di tentativi andati a vuoto di installare debian e ubuntu, non potendo permettermi il lusso di perdere troppo tempo ho messo su fedora 8 (parlo sempre di x86_64, eh).

Fedora è stata una piacevole sopresa, dai tempi della Fedora Core 3, che avevo usato per un po', hanno migliorato tantissimo la gestione dei pacchetti e hanno alleggerito il sistema. Aggiungeteci anche la semplicità di configurazione ed installazione e capirete perchè stia crescendo l'interesse intorno a questo progetto, prima davvero inutilizzabile, secondo me.

Però la voglia di tornare a debian è cresciuta dopo aver messo su un Pentium III in università una "lenny". Quindi approfittando del fatto che per un paio di giorni riesco a lavorare su un altro pc, ho raso al suolo entrambi mettendo la testing a 64bit. Incredibilmente è andato tutto a buon fine al primo colpo.. back to debian, quindi.. and back to work

venerdì 15 agosto 2008

Software Architecture Reconstruction

Software Architecture Reconstruction (SAR) è una procedura in cui si utilizzano diversi software per analizzare e capire le relazioni tra componenti, le interazioni tra essi e la loro implementazione all'interno di un progetto software.

Questa procedura viene normalmente divisa in quattro diversi passaggi:
* Source Information Extraction
* Information Formatting
* Architectural View Composition
* Architectural Analysis

In breve:

Source Information Extraction
-----------------------------

In questo passaggio vengono estratte delle informazioni sui componenti e sulle interazioni tra essi a partire dal codice sorgente


Information Formatting
----------------------
Questo passaggio è necessario quando l'output del passaggio precedente è incompatibile con l'input previsto dallo step successivo: si cambia il formato delle informazioni estratte.


Architectural View Composition
-------------------------------
Un tool grafico carica le informazioni estratte (ed eventualmente riformattate) e le rappresenta graficamente


Architectural Analysis
----------------------
Si utilizzano le funzionalità del visualizzatore usato nello step precedente per navigare le correlazioni tra i componenti e capire l'implementazione del software


Il primo passaggio può essere eseguito da Understand for Java[1], il terzo e quarto da Armin, sviluppato dal laboratorio SEI della Carnegie Mellon University[2] mentre il secondo step è coperto da u4j2rsf[3], necessario in quanto Understand for Java crea dei report testuali in un suo formato ed Armin prende in input formato RSF, creato dal Rigi parser, non disponibile per sorgenti Java


[1] Understand For Java, Scitools Inc (or Scientific Toolworks Inc) http://www.scitools.com/
[2] Software Engineering Institute, Carnegie Mellon University (CMU), Pittsburgh, Pennsylvania, United States. http://www.sei.cmu.edu/
[3] Understand for Java to Rigi Standard Format, http://sourceforge.net/projects/u4j2rsf