L’evoluzione dei servizi software
Dalle comunicazioni ai servizi bancari e dalla produzione alla logistica automatizzata, il software fornisce un gran numero di servizi importanti che sono sempre più interconnessi. Nell’informatica orientata al serivizio (service-oriented computing o SOC), la definizione ufficiale di un servizio è una collezione di capacità. La SOC è diventata un approccio di successo per costruire e mantenere sistemi distribuiti complessi che funzionano in ambienti dinamici e aperti. I servizi software con la capacità di adattarsi ed evolversi in modo simile ai sistemi biologici sono chiamati servizi polimorfici. in un lavoro pionieristico, gli scienziati hanno sviluppato un approccio unificato all’evoluzione e all’adattamento completamente compatibile con la SOC e di importanza strategica per l’ingegneria del software. Il progetto COMPOSER (“Composition and management of polymorphic services”) ha sfruttato le variabili di contesto qualitativo e la logica fuzzy per raggiungere questi obiettivi. La logica fuzzy si usa per creare un modello dell’incertezza del contesto. L’evoluzione avviene mediante l’evoluzione di gruppi di regole fuzzy che rapprensentano ogni stimolo contestuale. Le regole vengono modificate all’arrivo di ogni insieme di punti di rilevamento. L’adattamento è stato modellato come reazione agli stimoli contestuali. Così l’evoluzione del servizio riflette il feedback basato sul contesto proveniente dall’ambiente di servizio. Questo approccio è stato applicato alla gestione della congestione nei trasporti negli ambienti urbani con risultati promettenti. L’approccio del servizio polimorfico sviluppato nell’ambito del progetto COMPOSER è ricompreso nel contesto più ampio di composizione e gestione autonoma del servizio. Si sta già guadagando il consenso della comunità della SOC. Il lavoro viene attualmente portato avanti con una proposta nazionale per applicare questa metodologia al fine di migliorare il benessere degli operai negli ambienti industriali.
Parole chiave
Servizi software, informatica orientata al servizio, servizi polimorfici, ingegneria del software, logica fuzzy