Informatica ecologica/Interazione degli Opposti

Indice del libro

L'obbiettivo di questo capitolo è definire un concetto generale che chiamiamo "Interazione degli Opposti".

Osservazione Naturale

modifica

In Natura i sistemi non sono isolati ma interagiscono con l'Ambiente mantenendo un equilibrio dinamico.

Relativo significato

modifica

Un sistema cambia nel tempo ripristinando sempre un equilibrio con il contesto su cui agisce.

Sua Enunciazione

modifica
Un sistema dipende dal contesto su cui opera e dall'interazione con lo stesso e si adegua ai suoi cambiamenti.

La definizione qui esposta è diversa da quelle a cui siamo abituati. Qui non viene definito qualcosa, ma bensì si definisce un procedimento per ottenere diverse cose.

Faccio un esempio, se dovessi definire che cosa sia una "frase" in grammatica italiana normalmente direi:

La frase o proposizione è l'unità minima di comunicazione dotata di senso compiuto

(Serianni[1989, pag.85])

Ma potrei invece dire:

La frase si ottiene componendo un Soggetto un Verbo e un Complemento Oggetto

Quindi tramite la seconda definizione non sappiamo effettivamente cosa sia una frase ma solo come realizzarla o meglio il procedimento necessario per realizzarla.

Nel nostro caso non ci interessa definire "Intereazione degli Opposti", ma sapere che questo è il procedimento di funzionamento dei sistemi.

Corrispondenza in Informatica

modifica

Una visione Informatica del principio potrebbe essere la seguente:

L'Informazione esiste se e solo se esiste l'entità che la genera e l'entità che ne usufruisce.

In termini fisici si potrebbe dire che un sistema esiste se è in grado d'informare il contesto della sua esistenza.

Una visione più adeguata ai nostri scopi potrebbe essere:

Un Modello Informatico (teoria o analisi) esiste se ne esiste una sua Implementazione (pratica o implementazione) e un modo per realizzarla (progettazione).

Quindi perché il nostro modello rispetti il nostro principio potrebbe essere strutturato come segue:

  • Analisi
  • Progettazione
  • Implementazione

Diremo inoltre che la progettazione deve essere fatta in modo da adeguarsi all'implemetazione, ovvero:

Un software deve adeguarsi al contesto in cui viene eseguito.

Questo non significa come spesso si dice tra gli addetti ai lavori (informatici), un software indipendente dal contesto... !

Qui viene evidenziato che il software dipende e come dal contesto e da come interagisce con esso, ma si deve adeguare ad un suo cambiamento.

Quindi un software non deve avere un comportamento e un'interfaccia rigida e assoluta, ma deve essere configurabile in base al contesto su cui verrà eseguito.

Per coloro che hanno dimestichezza con i termini informatici potremmo sintetizzare dicendo che il software deve essere:

  • Modulare (Object Oriented)
  • Distribuito (eseguibile su diverse macchine)
  • Con Standard aperti (definizioni di interfacciamento)
  • Definibile tramite contratto tipo WSDL (Web Services Description Language)
  • Altamente configurabile IOC (Inversion of control) e AOP (Aspect Oriented Programming)