Indice 1. Introduzione ...................................................................................................................3 2. Console di settima generazione ...............................................................................4 2.1 Microsoft Xbox360 ..............................................................................................................4 2.2 Sony PlayStation 3 ...............................................................................................................5 3 Nintendo Wii ....................................................................................................................6 3.1 Periferiche .............................................................................................................................6 3.2 Sistemi d'uso alternativi ...................................................................................................9 3.3 Caratteristiche tecniche ................................................................................................. 10 3.4 Nintendo Wii-Fit................................................................................................................ 12 4. Esperienze e approfondimenti nell'ambito della fisioterapia.................... 14 4.1 Traumi vertebro midollari............................................................................................ 17 4.1.1 Classificazione ASIA ..................................................................................................................17 4.1.2 Conseguenze ................................................................................................................................19 4.2 Il programma di riabilitazione .................................................................................... 20 5. Analisi dei requisiti. .................................................................................................. 21 5.1 Stakeholder ........................................................................................................................ 21 5.2 I movimenti................................................................................................................ 22 5.3 Problematiche ................................................................................................................... 23 6. Linguaggi per i requisiti........................................................................................... 24 6.1 Kaos....................................................................................................................................... 24 6.1.1 Il documento iniziale ................................................................................................................25 6.1.2 Ricavare nuovi obiettivi tramite domande .....................................................................27 6.1.3 Identificare i gli operatori sugli obiettivi.........................................................................28 6.2 Tropos (Castro, Kolp, & Mylopoulos, 2002) ............................................................ 30 6.2.1 I concetti chiave ..........................................................................................................................32 6.2.2 Attività di modellazione ..........................................................................................................33 6.3 Estensione Fuzzy per Tropos: FLAGS ......................................................................... 35 7. Costruzione di un modello ...................................................................................... 37 7.1 Divertirsi usando un videogioco ................................................................................. 37 7.3 Fare fisioterapia................................................................................................................ 39 7.4 Obiettivi Fuzzy................................................................................................................... 41 1 7.4 Scelta del supporto di gioco. ......................................................................................... 43 8 Analisi dei progetti esistenti ................................................................................... 44 8.1 Gioco della canoa .............................................................................................................. 44 8.1.1 Valutazione del gioco ...............................................................................................................45 8.2 Gioco dell'aereo................................................................................................................. 46 8.2.1 Valutazione del gioco ...............................................................................................................47 9 Sviluppi futuri .............................................................................................................. 48 10 Bibliografia ................................................................................................................. 49 11 Ringraziamenti.......................................................................................................... 51 2 1. Introduzione Nel 2006 la Nintendo ha lanciato sul mercato una console del tutto innovativa, Nintendo Wii, i cui controller non sono semplici telecomandi che permettono di comandare il gioco premendo dei pulsanti, ma sono dei dispositivi che rivelano il movimento del corpo permettendone così un controllo diretto. Questo tipo di tecnologia ha incoraggiato l'idea di poter utilizzare tale console a scopo riabilitativo. In questo contesto nasce il progetto We-Free, che si propone di aiutare persone affette da disabilità. Queste persone si trovano ad affrontare un processo riabilitativo spesso molto pesante non solo a livello di sforzo muscolare ma anche a livello di pressione mentale. Durante le sedute di fisioterapia non è raro che affiorino fragilità psicologiche da parte dei pazienti ed è proprio per questo motivo che si è pensato che unire la fisioterapia al gioco sarebbe potuto essere d'aiuto per un miglior recupero. Il progetto We-Free non ha come unico intento quello di porsi come strumento per una seduta di fisioterapia ospedaliera ma anche quello di giudare un paziente negli esercizi di riabilitazione quotidiani in ambiente domestico. Il progetto si impegna quindi a sviluppare giochi che non solo siano usufruibili da una persona affetta da lesioni vertebro-midollari ma che siano anche d'aiuto per un processo riabilitativo attraverso movimenti consoni. Ad oggi il progetto We-Free può contare su tre giochi che utilizzano come interfaccia di gioco la Nintendo Balance Board e sono stati disegnati per persone che a causa di patologie fisiche sono costrette ad avere un'esperienza di gioco da seduti. Il non poter usare la Balance Board mantenendo una posizione eretta preclude la possibilità di giocare alla pari con i normodotati in quanto la posizione del baricentro è più vicina al piano di appoggio della Balance Board comportando un'esperienza di gioco notevolmente differente. Lo sviluppo di questi giochi ha palesato la necessità di definire un modello formale che detti le linee guida per lo sviluppo di applicazioni ludiche a fini riabilitativi e che sia in grado di fornire un metro di giudizio valido per stabilire se un gioco condivide gli obiettivi del progetto We-Free 3 2. Console di settima generazione Nella storia dei videogiochi la settima generazione di console (Wikipedia, 2010) comprende "Microsoft Xbox 360", "Sony PlayStation" e "Nintendo Wii". La settima generazione è quindi iniziata il 22 novembre del 2005 con il lancio sul mercato di Microsoft Xbox 360 e ha continuato con il lancio di PlayStation 3 l'11 novembre 2006 e Wii il 19 novembre 2006. Ogni nuova console ha introdotto un nuovo tipo di innovazione tecnologica. Xbox 360 è stata la prima ad offrire una definizione di livello superiore con l'upscaling a 1080p, la PlayStation 3 ha introdotto la tecnologia Blu-Ray e, grazie a un potente impianto grafico, una tecnologia grafica completa a 1080p. La Nintendo Wii ha scelto invece di focalizzarsi non tanto sulla grafica ma su un controller innovativo con sensori di movimento. 2.1 Microsoft Xbox360 La prima console ad essere lanciata sul mercato è Xbox 360 di Microsoft con un anno di anticipo sui concorrenti (Wikipedia, 2010). Alcuni definiscono questo lancio prematuro poiché alcune consolle risultavano affette da gravi problemi tecnici come il noto "anello rosso della morte" che ha spinto la Microsoft a rilasciare una garanzia aggiuntiva di 3 anni e ha perfino Figure 1 - Microsoft Xbox360 rimborsato retroattivamente i clienti che avevano avuto problemi e avevano pagato di tasca propria. La strategia di anticipare il lancio rispetto ai rivali si è rivelata comunque buona poiché ha permesso alla Microsoft di avvantaggiassi con le vendite conquistando un'ottima quota di mercato soprattutto negli USA. Il mercato giapponese si è dimostrato scettico verso l'Xbox 360, come del resto anche verso il suo predecessore, a causa della scarsità di contenuti studiati per i giocatori giapponesi. 4 Il vantaggio della Xbox 360 sta nel rilascio di giochi ad alto profilo che ha permesso nel 2008 a Xbox di avere un rapporto giochi/console di 7,5 negli Stati Uniti un record per ogni console della storia. 2.2 Sony PlayStation 3 La console di casa Sony (Wikipedia, 2010) ha puntato tutto sulle nuove tecnologie come il potente comparto grafico e il Blu-Ray. La decisione di seguire questa strada ha portato a Sony non pochi grattacapi in termini di sviluppo Figure 2 - Sony PlayStation 3 specialmente la tecnologia Blu-Ray che ha ritardato notevolmente il lancio specie nelle regioni a standard PAL. I problemi sono stati dichiarati risolti solo nel dicembre 2006 a più di un anno dal lancio della rivale Xbox360. La Sony si è avvalsa per le precedenti console di alcuni titoli in esclusiva da parte di sviluppatori di terze parti, come Tekken e Grand Theft Auto, tuttavia la la PS3 non ha avuto questo privilegio. Molte software house hanno infatti deciso di sviluppare i propri titoli multi-piattaforma ed in particolare scegliendo Xbox 360 come seconda console. Questo e l'alto costo della console non hanno permesso a PS3 di vendere quanto le altre due concorrenti passando da una posizione di leader del mercato a quella di inseguitrice. 5 3 Nintendo Wii Nintendo Wii (Wikipedia, 2010) ha proposto un nuovo approccio rispetto agli altri concorrenti, non è stata la grafica estrema e la realtà assoluta a guidare le scelte in casa Nintendo ma un nuovo modello di giocabilità basata sul movimento e sull'interazione attiva con il gioco. La strategia è risultata essere quella vincente tanto che nel 2007 ci Figure 3 - Nintendo Wii fu una domanda di Wii superiore all'offerta del mercato. Il 12 settembre 2007 il quotidiano britannico "Financial Times" ha annunciato che le vendite di Nintendo Wii avevano superato quelle di Microsoft Xbox 360 nonostante questa avesse iniziato le vendite un anno prima. Dal 12 settembre 2007 Nintendo Wii è leader mondiale delle console da gioco della corrente generazione. 3.1 Periferiche Wiimote: Il controller del Nintendo Wii, chiamato ufficialmente Telecomando Wii (Wii Remote in inglese) e noto anche come free hand controller o Wiimote, utilizza un approccio differente da quello tradizionale, nel tentativo di risultare interessante per un pubblico più vasto. Ha la forma di un comune telecomando da televisione e viene tenuto in una sola mano. Essendo ugualmente simmetrico, utilizzabile da appare destri Figure 4 - Nintendo Wiimote e mancini. Il controller è il maggiore distacco dagli ultimi venti anni di design di console. 6 Dei led ad infrarossi incorporati nelle estremità della Wii Sensor Bar chiamata anche barra sensore (da porre sopra o sotto la televisione) permettono al controller di percepire il puntamento verso lo schermo, mentre l'accelerometro integrato nello stesso controller gli permettono di percepire l'inclinazione e la rotazione. I giocatori possono inoltre mimare delle azioni e "sentirle" attraverso la vibrazione invece che premere semplicemente pulsanti. Uno dei primi video del Wii mostrava attori mimare azioni come pescare, cucinare, suonare la batteria, dirigere un'orchestra, sparare, combattere con le spade e dilettarsi in un'operazione di chirurgia dentale. La comunicazione tra controller e console Wii utilizza la tecnologia Bluetooth. Sensor Bar: La Wii Sensor Bar, detta anche barra sensore, è una componente fondamentale per gestire il puntamento del mirino su schermo del Wiimote. È alimentata dal corpo della console tramite un sottile cavo e al suo interno contiene dieci led ad infrarossi che sono posti ad una certa distanza tra di loro, racchiusi in un involucro grigio con due aperture poste alle estremità e rivolte avanti, coperte da parti semitrasparenti nere da cui i led sono visibili solo al Wiimote. La barra sensore può essere posta sia in basso che in alto rispetto alla televisione e non è dipendente dalla dimensione dello schermo, ma è importante che il Wiimote non sia lontano più di 5 metri dalla Wii Sensor Bar, nel caso contrario la console non sarebbe in grado di riconoscere i movimenti. La Wii Sensor Bar è inclusa nella confezione della console. Figure 5 - Nintendo Sensor Bar 7 Balance Board: Simile ad una bilancia, questa periferica misura l'indice di massa corporea, analizza il baricentro e il peso corporeo. La Wii Balance Board può sostenere fino a 136 kg nella versione giapponese e 150 kg per quella europea e statunitense. L'unico difetto della Balance Board sta nelle dimensioni che, per alcuni esercizi, possono rivelarsi un po' troppo ridotte. La balance board poggia su quattro estensimetri, questi sensori misurano la forza che viene applicata ai loro estremi. Alla frequenza di 60 segnali al secondo gli estensimetri comunicano alla console quanta forza è a loro applicata. In questo modo se si pone un peso sulla destra della balance board gli estensimetri a destra segnaleranno una forza ai loro estremi molto superiore di quella indicata dai sensori a sinistra. Figure 6 - Nintendo Balance Board 8 3.2 Sistemi d'uso alternativi Optical Multi-point: Il sistema non è nativo della Wii (Lee, Low-Cost Multi-point Interactive Whiteboards Using the Wiimote, 2008) (Lee, Tracking Your Fingers with the Wiimote, 2008) ma è ricavato sfruttando le caratteristiche del Nintendo Wiimote ed in particolare del suo sensore ad infrarossi. Questa tecnologia si basa sulla capacità delle superfici catarifrangenti di riflettere i raggi infrarossi e del sensore ottico del Wiimote di catturare questo tipo di onde. Si pone quindi posteriormente al telecomando Wiimote in modo che il sensore non possa vedere l'emettitore di raggi infrarossi (LED IR o delle candele) e si utilizzano dei piccoli pezzetti di materiale catarifrangente. Quando un catarifrangente [reflective tape] entra nel campo visivo del sensore ottico del Wiimote questo invia le coordinate del punto attraverso la porta Bluetooth. Il Wiimote può sopportare una moltitudine di punti contemporaneamente (presumibilmente tanti quanti sono i punti di definizione del sensore a infrarossi montato sul dispositivo). Figure 7 - Optical Multi-point System 9 3.3 Caratteristiche tecniche La Wii è la più piccola console domestica prodotta da nintendo, misura 44 mm di larghezza, 157 mm di altezza e 215,4 mm di profondità. Il sistema pesa appena 1,2kg il che la rende la console di settima generazione più leggera. Le specifiche tecniche della console non sono state ufficialmente rilasciate da Nintendo ma si sa (Wikipedia, 2010) che questa è equipaggiata con: Processori: • CPU: PowerPC-base processore "Broadway", realizzato con un 90 nm SOI CMOS, a 729 MHz • GPU: ATI "Hollywood" GPU fatta con un processo CMOS da 90 nm, a 243 MHz Memoria: • 88 MB di memoria principale (24 MB "interne" 1T-SRAM integrato nel pacchetto di grafica, 64 MB "esterna" GDDR3 SDRAM) • 3 MB integrati GPU memoria texture e framebuffer. Porti e le funzionalità di periferiche: • Fino a 16 Wii Remote Controller (10 in modalità standard, 6 in modalità Time One, collegati in modalità wireless tramite Bluetooth) • Porte controller Nintendo GameCube (4) • Nintendo GameCube Memory Card slot (2) • Scheda memoria SD slot (supporta schede SDHC) • Porte USB 2.0 (2) • Porta di alimentazione del sensore bar • Porta accessoria sul fondo del Wii Remote • Input da tastiera USB opzionale nel canale Wii Shop • Connettività tramite WiFi 802. 11b / g • Compatibile opzionale USB 2.0 per adattatore LAN Ethernet • «AV-Multi Out» port Archiviazione: • 512 MB built-in NAND memoria flash 10 • Espansione tramite memory card SD e SDHC (max 32 GB) • Nintendo GameCube Memory Card (il cui uso è obbligatorio con i giochi da GameCube) • Unità disco a caricamento automatico compatibile con 8 cm Nintendo GameCube Game Disc e 12 cm Wii Optical Disc • Mask ROM da Macronix 11 3.4 Nintendo Wii-Fit Wii Fit è una creazione di Nintendo che si propone di conciliare l'allenamento da palestra con il divertimento di una console casalinga. Wii Fit è un software che permette di mantenersi in forma, grazie alla Wii Balance Board e a una vasta gamma di esercizi che il giocatore può svolgere con l'aiuto di una giuda virtuale. La periferica centrale all'interno del gioco Wii Fit è la Balance Board che, essendo in grado di percepire la pressione esercitata su di essa tramite i 4 estensimetri installati all'interno dei suoi piedini Figure 8 d'appoggio, consente di calcolare l'equilibrio del corpo rispetto al proprio baricentro e, dunque, ogni spostamento. I movimenti eseguiti dal giocatore hanno così un riscontro in tempo reale sullo schermo della TV, permettendo dunque di controllare la correttezza della postura nell'esecuzione dell'esercizio. Il gioco calcola in prima battuta il baricentro del giocatore, l'indice di massa corporea e misura l'abilità atletica. In base a questi elementi viene assegnata l'Età Wii Fit (variabile tra 2 e 99 anni). A questo punto viene chiesto di impostare l'indice di massa grassa che si intende raggiungere e il tempo in cui si vuole arrivare all'obiettivo, da questi dati Wii Fit elabora un programma d'allenamento personalizzato. Per mantenere alta l'attenzione sugli allenamenti giornalieramente proposti viene tenuta traccia dei progressi all'interno del gioco grazie a dettagliati grafici relativi alla propria massa grassa, peso ed Età Wii Fit. Questo sistema di stimoli grafici deriva da un altro 12 gioco della Nintendo, Brain Training del Dott. Kawashima, che si propone come scopo di mantenere il cervello del giocatore allenato attraverso semplici giochi dove è richiesto di eseguire semplici calcoli o memorizzare parole. Il software Wii Fit propone oltre 60 esercizi (Wikipedia, 2010) nella versione Plus e si dividono in 4 categorie: allenamento muscolare, yoga, aerobica e giochi di equilibrio. La maggior parte di essi necessita della sola Balance Board ma per alcuni è previsto l'uso del solo telecomando Wii e/o del Nunchuk. Sia per gli esercizi di yoga che per quelli di allenamento muscolare si viene guidati da una voce e un'immagine virtuale di un allenatore che dirigono il giocatore attraverso performance corrette di posizioni e movimenti. La sessione di gioco della Wii Fit non si limita al solo allenamento da palestra, ma spazia anche tra una serie di giochi divertenti (sportivi e non), ideali per essere eseguiti in compagnia di amici e parenti di ogni età. Figure 9 13 4. Esperienze e approfondimenti nell'ambito della fisioterapia Il progetto We-Free si basa sulla collaborazione tra i responsabili della Unità Spinale dell'Ospedale Niguarda di Milano ed alcuni docenti del Dipartimento di Elettronica e Informazione del Politecnico di Milano. Per poter studiare un modello utile all'implementazione di giochi a fini riabilitativi si è deciso di recarsi presso l'Ospedale Niguarda dove il fisioterapista Dario Pometto ci ha accolto e illustrato attraverso un mini corso della durata di due giorni quello di cui si occupano all'interno della struttura. Figure 10 - Unità Spinale Unipolare dell'Ospedale Niguarda di Milano L’Unità Spinale è definita “unipolare” poiché è una struttura operativa autonoma, pur utilizzando anche le risorse professionali e strumentali presenti nella sede ospedaliera nella quale è inserita. Nel panorama nazionale sono presenti una decina di strutture che che dispongono circa di 250 posti letto in tutta Italia di cui ben 200 concentrati nel Nord (AUS Associazione Unità Spinale Niguarda o.n.l.u.s.). Arrivano quindi presso l'Unità Spinale Unipolare 14 (USU) di Niguarda persone da tutte le parti d'Italia che presentano le cause patologiche più disparate; i traumi più comuni sono quelli da impatto (cadute, indicenti automobilistici ed incidenti sportivi) ma ci sono anche traumi più rari derivanti da infezioni e tumori. Durante la nostra permanenza presso la struttura abbiamo avuto modo di incontrare due persone ricoverate presso il centro che presentavano patologie differenti, entrambe derivanti da incidenti stradali. Il primo era ricoverato nella struttura da diverso tempo e presentava una lesione che gli permetteva l'utilizzo agevole degli arti superiori ma che gli consentiva di camminare solo attraverso l'uso di sostegni quali tripodi e protesi. Il suo lavoro giornaliero consisteva in una prima parte di riscaldamento e di stretching eseguita sul materassino e in una seconda parte in cui l'obiettivo era quello di imparare a reggersi in piedi e camminare attraverso l'uso dei tripodi e delle protesi. Il secondo paziente che abbiamo incontrato presentava una condizione clinica più grave caratterizzata da una carenza nei muscoli addominale e dall'incapacità di stringere oggetti. Il suo lavoro quotidiano si caratterizzava da una prima parte di stretching passivo, dove cioè il fisioterapista muoveva gli arti del paziente, e una seconda parte di esercizi attivi volti a consolidare il rapporto con il corpo e ad imparare alcuni movimenti necessari a condurre una vita più dignitosa. Tra questi movimenti i più importanti ci sono gli scivolamente che mettono in condizione il paziente di spostarsi autonomamente dalla sedia a rotelle ad un'altro piano d'appoggio (letto, toilette, etc). Per ogni paziente esiste un percorso mirato ma buona parte degli esercizi vengono condivisi: esercizi come il mantenimento della postura senza far uso delle braccia o il piegamento della colonna all'altezza del bacino hanno come obiettivo il raggiungimento di un nuovo equilibrio e la creazione di una nuova consapevolezza riguardo ai nuovi limiti che il proprio corpo richiede. Un paziente dell'unità spinale quando entra in reparto è come un bambino, deve imparare a muoversi coerentemente con il corpo di cui ora dispone. Oltre ad aver avuto la possibilità di assistere ad alcune sedute riabilitative all'interno della Palestra ci sono stati presentati alcuni argomenti di studio di 15 tipo medico per far si che noi potessimo capire quello che all'interno della palestra stavamo vedendo. 16 4.1 Traumi vertebro midollari Le lesioni alla spina dorsale (Wikipedia, 2010) possono causare danni alle radici nervose che portano i segnali al cervello, a seconda della gravità di queste si possono manifestare anche danneggiamenti della materia grigia nella parte centrale del midollo, causando perdite di segmenti e interruzioni motoneurologiche. Le lesioni al midollo spinale possono verificarsi a partire da molte cause tra cui: traumi, tumori, ischemie, malattie neurodegenerative, mielite e malformazioni vascolari. Tra queste cause si possono distinguere 24% per incidenti automobilistici, 28% per infortuni sul lavoro, 16% incidenti sportivi, 9% cadute. Si evince quindi che i traumi sono la causa principale di lesioni vertebro midollari. 4.1.1 Classificazione ASIA La "American Spinal Injury Association" (ASIA) ha definito una classificazione a livello internazionale (ASIA, 2006) basata sulle risposte neurologiche testati sul dermatome e la forza dei dieci principali muscoli su ciascun lato del corpo, cioè spallucce (C4), gomito flessore (C5), estensione del polso(C6), estensione del gomito(C7), flessione dell'anca (L2). Le lesioni traumatiche del midollo spinale sono classificate in 5 categorie: • A indica una lesione del midollo spinale "completa", se nessuna funzione motoria e sensitiva è conservata nella zona perinatale. Figure 11 17 • B indica una lesione del midollo spinale "incompleta", se ha funzione sensoriale ma non motoria nella zona perinatale. Si tratta in genere di una fase transitoria e, se la persona recupera qualsiasi funzione motoria, essa diventa classificabile in ASIA C oppure D. • C indica una lesione del midollo spinale "incompleta" dove la funzione motoria è conservata sotto il livello neurologico e più della metà dei muscoli sotto il livello neurologico hanno un grado muscolare strettamente inferiore a 3. • D indica una lesione del midollo spinale "incompleta" dove la funzione motoria è conservata sotto il livello neurologico e più della metà dei principali muscoli sotto il livello neurologico hanno un grado muscolare di 3 o più. • E indica "normale" dove funzionalità motorie e sensoriali hanno punteggi normali. Si noti che è possibile avere lesioni del midollo spinale e deficit neurologici con capacità di movimento e punteggi sensoriali normali. Un grado muscolare uguale a 3 indica la possibilità per quel muscolo di eseguire una gamma completa di movimenti contro gravità, quindi una persona classificata C avrà la maggior parte dei muscoli principali che non potrà muoversi contro gravità mentre una persona classificata con D avrà almeno la metà dei muscoli in grado di muoversi contro gravità. 18 4.1.2 Conseguenze Oltre alla perdita di sensibilità e la funzione motoria sotto un certo livello, individui con lesioni del midollo spinale verificheranno spesso altre complicazioni: • La funzione intestinale e della vescica è regolata dalla regione sacrale della colonna vertebrale. E' molto comune la disfunzione dell'intestino e della vescica comprese infezioni della vescica e incontinenza anale. • Alla funzione sessuale è associato il segmento sacrale del midollo spinale e spesso è interessata dopo la ferita. Durante un'esperienza sessuale psicogena, segnali del cervello sono inviati ai livelli del midollo spinale T10-L2 e, in caso di uomini, vengono inoltrati al pene dove essi attivano un'erezione. Un'erezione reflex è involontaria e avviene senza stimolare sessualmente i pensieri ma grazie al contatto fisico del pene. I nervi sacrali che determinano la capacità di un riflesso erettivo si trovano nei nervi sacrali (S2-S4) del midollo spinale e potrebbero essere colpiti dopo una lesione. • Una lesione a livello C-1/C-2 spesso si tradurrà in perdita di respirazione e la necessità di avvalersi di ventilatori meccanici • Incapacità o ridotta capacità di regolare la frequenza cardiaca, la pressione sanguigna, la sudorazione e quindi la temperatura corporea • Spasticità da cui consegue un aumento di riflessi e rigidità degli arti • Dolore neuropatico • Atrofia muscolare • Sindrome dell'arteria mesenterica superiore • Osteoporosi • Calcoli renali 19 4.2 Il programma di riabilitazione I pazienti si possono distinguere sostanzialmente in 3 macrogruppi: Il primo è quello definito dai pazienti che svolgono solo fisioterapia passiva, ovvero i movimenti del corpo vengono stimolati dall'esterno grazie all'uso di macchine, elettrostimolatori e personale medico. Questi pazienti sono solitamente classificati con ASIA B e non hanno possibilità di eseguire alcun movimento in maniera indipendente. Il secondo è quello definito dai pazienti che svolgono sia esercizi di fisioterapia passiva, sia attiva ma che non hanno alcuna possibilità di porsi in posizione eretta. Gli esercizi di fisioterapia passiva che queste persone eseguono vedono coinvolti soprattutto i muscoli delle gambe mentre quelli del tronco e delle braccia eseguono esercizi di fisioterapia attiva. Il terzo gruppo è quello definito dai pazienti che svolgono quasi unicamente fisioterapia attiva e sono quelli che hanno la possibilità di mantenere la postura eretta in maniera indipendente o attraverso l'ausilio di protesi o di sostegni (tripodi e stampelle). 20 5. Analisi dei requisiti. Scopo di questo capitolo è, basandosi sul livello d’intervista e basandosi su (Jorgensen & Bossen, 2003) (Nuseibeh & Easterbrook), quello di trovare gli stakeholder del progetto, capire i loro bisogni e ricavare i loro obiettivi. Procedendo poi all'analisi degli obiettivi scoprirne i principali ostacoli al raggiungimento ed elencare le problematiche più importanti da risolvere. 5.1 Stakeholder Durante prima fase è risultato evidente che i pazienti caratterizzati da ASIA B non sono casi di interesse per il progetto We-Free poiché non hanno alcuna facoltà di eseguire movimenti in maniera indipendente. Ai fini del progetto i pazienti interessati sono due tipi, differenti per classificazioni ASIA: ASIA C e ASIA D. Durante l’intervista con il personale medico è apparso chiaro che sia all’interno della struttura ospedaliera, sia in un ambito domestico ci sono svariati interessi nello sviluppo del progetto. All’interno della struttura ospedaliera i fisioterapisti sono apparsi molto interessati al progetto poiché ritenevano che le sedute fossero troppo noiose per i pazienti che, senza rendersene conto, lavoravano al di sotto delle loro potenzialità non ricevendo adeguati stimoli. La proposta di far assumere alla fisioterapia una veste ricreativa ha suscitato quindi il loro entusiasmo. L'idea dei fisioterapisti è che, con loro accanto, i pazienti dovrebbero tirare fuori il massimo dal loro potenziale dato che la costante assistenza del personale li mette al sicuro da pericoli come traumi da cadute o da esercizi svolti in posture non adeguate. Essi ritengono che lo spirito ludico possa aiutare i pazienti a dare il massimo senza restrizioni psicologiche. Lo sviluppo del progetto anche per un ambito domestico ha invece suscitato l’interesse dei pazienti e delle persone a loro vicine poiché svolgere gli esercizi in un ambiente non medico e senza gli adeguati stimoli del personale competente risulta essere molto noioso e per nulla stimolante tanto che diventa difficile applicarsi. 21 5.2 I movimenti Durante le sedute di riabilitazione si opera su una combinazione di movimenti base che vengono combinati al fine di acquisire maggior consapevolezza motoria da parte del paziente, questi movimenti sono la base per ogni applicazione che vuole relazionarsi a persone con gravi disabilità. I movimenti che sono stati individuati vengono tutti eseguiti da seduti e con la schiena non appoggiata ad alcun sostegno verticale, essi sono: • M1 (ali): la posizione di partenza è con le braccia distese parallele al terreno in modo che proseguano la linea delle spalle. Da questa posizione si muovono le braccia in su e in giù mantenendole sul piano passante per le spalle e la testa. • M2 (rana): la posizione di partenza è con la braccia come in M1 ma il movimento è descritto portando le braccia fino ad essere perpendicolari alla linea delle spalle e parallele al terreno. • M3 (aeroplano): sempre partendo dalla medesima posizione iniziale di M1, questa volta si esegue un movimento che prevede una flessione della colonna all'altezza del bacino prima verso destra poi verso sinistra mantenendo le braccia in un movimento rigido che segue la linea delle spalle. Il movimento, come per M2, avviene solo sul piano passante per le spalle e la testa.[descrizione + immagini] • M4 (lavandaia): si parte con le mani appoggiate al piano di seduta poi, dopo aver staccato le mani dal piano, si cerca di spostare entrambe le mani il più possibile verso sinistra/destra eseguendo una rotazione del bacino. L'obiettivo dell'esercizio è una rotazione del bacino più ampia possibile. [descrizione + immagini] • M5 (scivola): come per M4 si inizia il movimento con le mani appoggiate al piano di seduta, l'obiettivo del movimento è, facendo leva sulle braccia, spostare il punto d'appoggio della seduta il più possibile a destra o a sinistra. Questo movimento è molto importante poichè permette di apprendere la capacità di scivolare dalla sedia a rotelle ad un altro spazio di seduta. 22 • M6 (ruota): stesso punto di partenza di M4, mani appoggiate al piano di seduta. Facendo leva sulle braccia si deve eseguire una rotazione del punto di appoggio, Anche questo movimento riveste una notevole importanza poichè la sua funzione è complementare a quella M5. La capacità di eseguire entrambi questi movimenti migliora notevolmente lo stile di vita di una persona affetta da lesioni vertebro midollari. 5.3 Problematiche La problematica di maggior rilievo che va presa in considerazione nel momento dell'implementazione è quella degli "spasmi" (Wikipedia, 2010) che alcuni pazienti possono avere. Lo spasmo è una contrazione improvvisa e involontaria di un muscolo (o un gruppo di muscoli) e si verifica prevalentemente durante le fasi iniziali delle sedute fisioterapiche quando i muscoli, che possono restare nella stessa posizione per ore, vengono sollecitati. Alcuni pazienti hanno lesioni che li portano ad avere un comportamento asimmetrico tra la parte destra e quella sinistra del corpo, caso estremo è la totale assenza di movimenti su un lato e la mobilità anche contro gravità nell'altro. Per quanto riguarda i movimenti la problematica più evidente è legata all'attrito e la morbidezza che la superficie che si interpone tra il loro corpo e la periferica che vanno ad utilizzare, il gesto di scivolamento e quello di rotazione richiedono che la persona affetta da lesioni vertebro midollari poggi su una superficie a basso attrito, tipicamente tue teli di nylon sovrapposti mentre per gli altri movimenti è indispensabile che poggi su una superficie morbida (antidecubito) con attrito medio-alto in modo che non rischi di perdere l'equilibrio per l'accidentale slittamento. Alcuni pazienti hanno una mobilità così ridotta che non possono eseguire movimenti asimmetrici poiché la quantità dei muscoli funzionanti preposti al mentenimento della postura eretta della schiena è talmente bassa da necessitare un continuo aiuto da parte della mani come mezzo per mantenere il baricentro all’interno della propria base d’appoggio. 23 6. Linguaggi per i requisiti. Al termine prima fase, dopo aver redatto in forma di prosa quanto appreso dall'esperienza nella palestra di fisioterapia dell'Ospedale Niguarda di Milano e dall'intervista con il fisioterapista Dario Pometto, si è potuto costatare che gli obiettivi del progetto apparivano sufficientemente astratti da non poter stabilire in modo semplice e diretto dei requisiti tramite uno dei linguaggi di modellizzazione orientati agli oggetti (Halpin)(Friis-Christensen). Si è quindi pensato di ricorrere ad un'altra tipologia di linguaggi di modellizzazione: i linguaggi orientati agli obiettivi (Mylopoulos, Chung, & Yu, 1999). 6.1 Kaos Accanto alle tecniche di ragionamento formale e qualitative classiche, una procedura è stata suggerita (van Lamsweerde, 2000) per l'individuazione dei conflitti a livello dei requisiti e le differenze che li caratterizzano a livello degli obiettivi. Il modello iterativo proposto è caratterizzato da • tutte le parti interessate sono identificate con i loro obiettivi (chiamate vittorie condizionali) • i conflitti tra questi obiettivi vengono catturati assieme ai loro rischi ed incertezze • gli obiettivi contrastanti sono riconciliati attraverso la trattativa per raggiungere un concordato, i vincoli e le alternative per il passo successivo I conflitti spesso nascono poichè le parti in gioco hanno obiettivi contrastanti, è quindi necessario capire a fondo gli interessi di tutte le parti in gioco ed eventualmente integrarle in modo coerente. 24 6.1.1 Il documento iniziale Nel documento iniziale vanno ricercate le parole chiave "scopo", "oggettivo", "preoccupazione", "intenzione" e così via e da queste si ricavano in modo semplice e diretto gli obiettivi. La specifica grafica e la grammatica che regolano il linguaggio sono molto semplici • Le nuvole denotano I soft-goal ovvero gli obiettivi non formalizzabili • parallelogrammi che identificano gli obiettivi formalizzabili, • le freccie che collegano gli obiettivi definiscono la discendenza di un'obiettivo da un altro. In "fig. 1" da Minimize[Costs] posso ricavare Min[DvlpCosts] e Min[OperationCosts] • le doppie linee connettono frecce e denotano una OR-condizione in sottogoal alternativi • collegamenti crociati che descrivono un conflitto. Le parole d’ordine “maintain” e “avoid” specificano sempre degli obiettivi che sono identificati dalle funzioni ℑ(P→Q) e ℑ(P→!Q). La parola "achieve" specifica che si deve cercare di ottenere un determinato risultato. Per eseguire uno studio con il linguaggio KAOS è consigliato partire dai requisiti che presentano una maggiore criticità ovvero dagli obiettivi tali per cui la non soddisfazione provocherebbe automaticamente un fallimento a livello progettuale. 25 fig. 1 Figure 12 - KAOS ricerca dei requisiti In [Figure 12] è proposto un esempio di utilizzo del linguaggio KAOS per una prima ricerca requisiti partendo dagli obiettivi del progetto. 26 6.1.2 Ricavare nuovi obiettivi tramite domande Il documento iniziale (o l'intervista) può portare alla definizione di un modello che si basa su alcuni obiettivi astratti che non sono quindi difficili da capire ma possono esserlo da realizzare. Per sciogliere questi obiettivi astratti in obiettivi più concreti viene suggerito di porsi alcune domande in modo da far emergere attraverso una serie di raffinazioni una molteplicità di obiettivi connessi e fortemente legati all'aspetto realizzativo del progetto. La prima domanda che ci di deve porre è relativa al "perché" dell'obiettivo astratto e si può dire che si raggiunge un buona raffinatezza nella ricerca quando si arriva al punto in cui i sotto-obiettivi trovati devono essere combinati per ottenere l'obiettivo di partenza. Ossia ci si deve fermare quando da un obiettivo da soddisfare si arriva a doverne soddisfare due o più. La seconda fase è chiedersi il "come" relativamente agli obiettivi e quindi passare da uno stato astratto ad uno più concreto. Questa fase procede esattamente come quella della domanda precedente ma si ferma quando l'obiettivo (o la molteplicità di obiettivi paralleli) possono essere soddisfatti in modo concreto. In [Figure 13], per esempio, il requisito "mantenere le distanze tra i treni" viene ulteriormente raffinato tramite la domanda "come" da cui si deducono tre requisiti dipendenti dal primo che lo descrivono in modo più completo. Perchè il requisito padre sia soddisfatto è necessario che tutti e tre i requisiti dipendenti siano soddisfatti contemporaneamente. I tre requisiti derivati sono quindi in AND. Figure 13 27 6.1.3 Identificare i gli operatori sugli obiettivi Arrivati alla definizione degli obiettivi derivanti dalla domanda "come" in modo quasi naturale si trovano degli agenti che manipolando il processo possono soddisfare gli obiettivi. Per aiutarci a compiere una scelta tra le alternative e la qualità di queste al fine di soddisfare i nostri requisiti bisogna attuare un confronto con i soft-goal che si erano identificati inizialmente. Una volta che si sono ricavati gli obiettivi principali si devono creare delle variabili derivate dalla specifica formale dell'obiettivo. Definite queste si passa alla definizione dell'agente preposto al controllo delle variabili. Gli obiettivi si riferiscono ad uno stato particolare del sistema e si devono quindi definire le particolare pre e post condizioni che possano catturare lo stato del sistema per ogni obiettivo. Si deve quindi definire l'operazione, gli input, gli output, le pre e le post condizioni. Il proposito di questi step è arrivare a definire i requisiti sulle operazioni perchè i corrispondenti obiettivi possano essere raggiunti. Si definiscono quindi delle regole di ingresso alle relazioni che vanno soddisfatte affinchè una relazione possa giungere al suo stato di innesco, e regole di uscita dalle relazioni, ossia la configurazione delle condizioni che si possono trovare una volta che la relazione è terminata. Per riassumere l'ingegneria dei requisiti orientata agli obiettivi offre molti vantaggi • i modelli ad oggetti e requisiti sono derivati sintatticamente dagli obiettivi • gli obiettivi provvedono a fornire le motivazioni per i requisiti • le strutture di raffinamento degli obiettivi provvedono a generare una comprensibile struttura per il documento dei requisiti • la raffinazione degli obiettivi alternativi e l'assegnamento degli agenti concedono la proposta di un sistema alternativo da esplorare • la formalizzazione degli obiettivi concede dei raffinamenti che si sono dimostrati corretti e completi 28 Fig. 4 - Conflitto tra velocità massima e sicurezza Figure 14 - conflitti in KAOS È utile infine ricordare che nel mondo dell'ingegneria dei requisiti i conflitti sono le regole, non le eccezioni. Questi possono essere trovati ed eventualmente risolti ricordando che possono essere utili anche per ricavare informazioni aggiuntive. In [Figure 14] è illustrato un esempio di come possono essere trovati dei conflitti che possono nascere dallo svolgimento dell'obiettivo di servire più passeggeri possibile. 29 6.2 Tropos (Castro, Kolp, & Mylopoulos, 2002) All'interno dell'ingegneria del software l'analisi dei requisiti rappresenta la fase iniziale di molte metodologie. L’obiettivo centrale dell’analisi dei requisiti in Tropos (Sannicolò, Perini, & Giunchiglia) è quello di catturare un insieme di requisiti funzionali e non-funzionali per caratterizzare l’ambiente (environment) e il sistema futuro (system-to-be). Questa fase in Tropos è suddivisa a sua volta in due fase denominate early requirements e late requirements. Durante l'early requirements vengono identificati gli stakeholder e vengono quindi modellati come attori che dipendono fra loro per obiettivi (goal) da soddisfare, piani da eseguire e risorse da fornire. Infatti, dall'identificazione di queste dipendenze è possibile capire perchè alcune funzionalità sono preferibili ad altre ed avere un banco di prova per verificare che l'implementazione finale risulti allineata alle aspettative iniziali. Il risultato di questa fase è un particolare modello incentrato su attori sociali e le loro dipendenze. Figure 15 Nella seconda fase, late requirements, il modello concettuale prodotto precedentemente viene esteso per includere nuovi attori che rappresentano il sistema e dipendenze fra questi ultimi e quelli dell'ambiente. Tali dipendenze definiscono completamente i requisiti funzionali e non-funzionali dell'ambiente. Dopo aver catturato tutti i requisiti dell'ambiente e del sistema il passo successivo è rappresentato dalla fase di progettazione del sistema software. 30 Anche in questo caso, si hanno due momenti con obiettivi distinti: architectural design e detailed design. Entrambe si focalizzano sulle specifiche del sistema in accordo con i requisiti prodotti dai due passi precedenti. Architectural design definisce l'architettura blobale del sistema in termini di sottosistemi interconnessi attraverso dati e flussi di controllo. La fase successiva, detailed design, punta a specificare ciascun agente nel suo interno, le abilità e le interazioni che lo coinvolgono. 31 6.2.1 I concetti chiave Actor: modella un'entità che possiede obiettivi strategici e intenzionalità all'interno del sistema. Un attore può rappresentare una persona fisica, un animale, una macchina così come un componente software. Viene rappresentato con un cerchio. Goals: rapprenta l'interesse strategico dell'attore che partecipa ad un sistema o ad un'organizzazione. Distinguiamo fra goal e softgoal per il fatto che i primi sappiano dire con certezza e precisione quando sono soddisfatti, mentre per i secondi questo risulta più complicato. I softgoal sono utili per la modellazione delle qualità del software. I goal sono rappresentati con degli ellissi mentre i sottogoal sono rappresentati con delle nuvole. Figure 16 32 Dependency: una dipendenza fra due attori indica che un attore dipende dall'altro per soddisfare un goal, eseguire un piano o fornire una risorsa. L'attore che delega un proprio obiettivo si chiama depender, mentre colui che riceve la dipendenza si chiama depenee. L'oggetto della dipendenza è detto dependum. Le dipendenze vengono rappresentate con delle freccie orientate che seguono il criterio: depender → dependum → dependee. Task: è usata per descrivere una situazione dove al dependee è richiesto di provvedere ad un compito o un'attività. Vengono rappresentati come ettagoni. Resource: rappresenta una richiesta al dependee di provvedere ad una risorsa per il depender. La sua rappresentazione è un quadrilatero 6.2.2 Attività di modellazione La costruzione del modello Tropos dall'early requirements sino all'implementazione coinvolge molte attività che contribuiscono al processo di acquisizione, raffinamento ed evoluzione del modello. Modello degli attori: consiste dell'identificare ed analizzare sia gli attori dell'ambiente sia quelli del sistema. A livello di early requirements l'attenzione viene posta sugli stakeholder del dominio, ovvero attori propri dell'ambiente che possiedono determinati goal da raggiungere. Durante i late requirements l'analisi è condotta sugli attori del sistema software che si dovrà realizzare. L'architettural design focalizza sulla struttura di sistema specifico del sistema futuro (system-to-be) in termini di sotto attori. L'ultima fase di progettazione volge a definire le specifiche interne di ciascun agente con tutte le nozioni necessarie per passare poi all'implementazione finale del software. Modello delle dipendenze: consiste nell'identificazione degli attori che dipendono da altri per goal da soddisfare, piani da eseguire e risorse da fornire. Nella prima fase della metodologia, early requirements, si modellano le dipendenze fra gli attori sociali dell'organizzazione. Operativamente, nei late requirements si compie lo stesso lavoro fatto negli early requirements tranne che ora si discutono gli attori del sistema futuro. Nella fase di 33 architectural design i dati e flussi di controllo vengono modellati con delle dipendenze fornendo le basi per l'identificazione della abilità e la successiva "agentificazione". Modello degli obiettivi: è l'attività di analisi dei goal dal punto di vista di un attore usando tre tecniche: means-end, contribution e AND-OR decomposition. In particolare, means-ends analysis punta a identificare i goal. Contribution permette di trovare goal che contribuiscono positivamente o negativamente al soddisfacimento del goal principale. AND-OR decomposition consente di costruire grafi AND-OR di sottogoal per capire come sia possibile soddisfare il goal principale. L'attività si esaurisce nell'architectural design quando si decompongono gli attori di sistema in subactor. 34 6.3 Estensione Fuzzy per Tropos: FLAGS FLAGS (Baresi, Pasquale, & Spoletini, 2009) è l'acronimo di Fuzzy Live Adaptive Goal for Self-adaptive system ed è un'estensione del linguaggio Tropos che ha a caratteristica di aumentarne la flessibilità affiancando ai crisp goal, le cui condizioni possono essere soddisfatte o meno in maniera rigida, i fuzzy goal, le cui condizioni possono essere solo parzialmente soddisfatte. La logica fuzzy, o logica sfumata, è una logica in grado di attribuire un grado di verità compreso tra 0 e 1, dove 1 rappresenta l'assoluta verità mentre 0 la completa falsità. Figure 17 La semantica degli operatori fuzzy sono mostrati in [Figure 17(a)] e corrispondono agli operatori tradizionali che sono rappresentati in [Figure 17(b)]. Per esempio, x=0 è assolutamente vero solo in 0 e assolutamente falso in tutti gli altri punti. Similiarmente x<0 è assolutamente vero in ]-∞,0[ e assolutamente falso in [0, ∞[. Gli operatori relazionali fuzzy, usano una funzione continua per assegnare un grado di soddisfacimento tra 0 e 1 per quelle preposizioni che non rispettano pienamente le condizioni. Per sesmpio x≈0 è assolutamente vera per i punti attaccati a 0 ([-1, 1]), e ha un grado di verità tra 0 e 1 nei punti vicini a 0 ([-4,-1]∪[1,4]) e assolutamente falso per tutti gli altri punti. 35 Possiamo notare che dando questa definizione le funzioni crisp non sono altro che funzioni fuzzy con possono assumere solo i valori 0 e 1. Questo significa che i fuzzy goal possono essere considerati una generalizzazione dei crisp goal. FLAGS prevede anche operatori fuzzy temporali la cui semantica è definita in via operazionale attraverso la funzione fEval(freq, i) che valuta tutte le possibile formule fuzzy all'istante i adottando altre funzioni ausiliarie. Nella semantica tradizionale degli operatori fuzzy temporali, valutando F<t freq all'istante i possiamo equipararlo alla ricerca del valore di verità più soddisfacente di freq nell'intervallo [i, i+t). Questa interpretazione non è completamente soddisfacente nell'ambito di FLAGS, si vuole quindi poter scegliere la situazione in cui freq ha il più alto valore di verità all'istante x un po' maggiore che i+t. A questo scopo FLAGS propone che venga reso fuzzy anche l'intervallo temporale [i, i+t) attraverso l'introduzione di una funzione che sia valutata tra l'istante corrente e i. In particolare la funzione sarà uguale a 1 tra [0, t) e decrescerà fino a 0 quando x≥t come mostrato in [Figure 18]. Figure 18 - Membership funcion Gli operatori temporali dell'estensione fuzzy di Tropos sono riassunti nella tabella seguente dave vengono riportati parallelamente al loro corrispettivo crisp. Figure 19 - Temporal Operators 36 7. Costruzione di un modello Per costruire il modello di gioco si è intrapresa la strada dei linguaggi goaloriented ed in particolare si è deciso di usare i linguaggio Kaos e della sua estensione fuzzy. Il modello Kaos proposto parte dall'obiettivo principe del progetto "Gioco appagante e utile" da cui discendono direttamente "Divertirsi usando un videogioco" e "Fare fisioterapia". 7.1 Divertirsi usando un videogioco La prima cosa da considerare nello studio di un gioco per disabili è capire quali movimenti il gioco possa proporre al giocatore. Sarebbe un'inutile umiliazione per un invalido dover abbandonare una sessione perchè il movimento richiesto è incompatibile con le sue abilità motorie. È quindi di rilevante importanza che i movimenti proposti vengano presi da un parco movimenti sicuri. I movimenti illustrati in 6.2 sono da ritenersi movimenti sicuri poichè sono quelli che i fisioterapisti fanno compiere sin dalle prime sedute. Perchè una persone con un defitit di capacità motorie si senta veramente appagato usando un videogioco deve sentire che questo è studiato su misura per lui poichè se così non fosse interverrebbero probabilmente fattori psicologici che richiamano la propria diversità. Per prima cosa studiando un gioco per disabili bisogna porsi nell'ottica che ognuno è differente sia per i movimenti che possono essere compiuti, sia per la velocità e l'ampiezza di questi. Dallo studio attraverso il modello a goal è parso subito essenziale che gli sforzi venissero concentrati sulla riduzione del gap fisico tra normodotato e malato all'interno del gioco. Per esempio un gioco di tennis in We-Free darebbe alla pallina nel gioco velocità massima disponibile solo nel caso in cui si eseguisse il movimento corrispondente in relazione alla proprie capacità massimali: massima ampiezza del movimento, massima velocità nel chiudere il movimento. Legata alla giocabilità c'è un altro fattore da tenere in conto, quello che era stato descritto come problematica degli spasmi. Durante una sessione di gioco potrebbe succedere che il giocatore venga colto da uno spasmo, ovvero 37 una contrazione involontaria improvvisa, è chiaro che questo non dipende dal giocatore e non deve in alcun modo rovinare la sua partita. Perchè questo sia possibile lo spasmo deve essere prima di tutto riconosciuto. Lo spasmo ha la carateristica di essere molto più veloce di un movimento volontario quindi il software sarebbe in grado di riconoscerlo se confrontasse costantemente le accelerazioni lette con la massima accelerazione che viene inizialmente misurata e tenuta in memoria. Se l'accelerazione attualmente misurata è di molto superiore a quella massima definita a inizio gioco si può ragionevolmente concludere che il giocatore sia caduto in uno spasmo, qualche secondo di pausa potrebbe bastare perchè questo riprenda la posizione di gioco. Altro fattore legato all'esperienza di gioco è nella capacità del gioco di far raggiungere gli obiettivi che il giocatore si pone. Due tra i software di più ampio successo (Nintendo Wii Fit, Nintendo Brain Training) fanno uso di un assistente che attraverso l'uso di frasi esortative e mostrando grafici relativi alle capacità del giocatore stimolino questo a fare di meglio e a completare le sedute di allenamento giornaliere. Il format proposto da Nintendo si è rivelato vincente facendo registrare vendite record anche per i sequel (Wii Fit Plus, Brain Training 2) segno che il modello proposto funziona. Ultimo tassello per aver una buona esperienza è dato dalla grafica che si esprime sia in buoni modelli visivi, sia in un'interazione semplice e intuitiva. Un gioco basato su modelli 3D è più complesso da realizzare ma rimane più vicino alla realtà quotidiana di chi ci gioca e aumenta il senso di compiutezza, ad oggi tutti i giochi che per decenni hanno avuto vita in un universo rigorosamente 2D sono stati portati in un universo 3D. SuperMario, Sonic, Prince of Persia sono solo alcuni dei nomi di giochi nati 2D e trasformati in 3D. 38 7.3 Fare fisioterapia Si è considerato, in primo luogo, l'ambiente in cui si pensa che il software sarà usato e sono stati trovati due ambienti nel pieno rispetto degli obiettivi posti dagli stakeholder. L'ospedale è il primo luogo considerato ed è caratterizzato dall'assicurazione di una costante assistenza ai pazienti da personale medico che mira ad accorciare quanto più possibile i tempi di recupero dei disabili rendendoli così indipendenti nel minor tempo possibile. In un ambiente dove i pazienti vengono seguiti durante i loro esercizi si può pensare che all'interno del gioco le pretese di raggiungimento della velocità e dell'ampiezza massima dei movimenti siano vicine al 100% e, anzi, lo superino cercando di spingere il giocatore a migliorarsi di seduta in seduta. In ambiente domestico invece non è possibile pretendere dal giocatore che raggiunga in ogni quadro di gioco il massimo delle sue potenzialità poichè c'è il rischio che questo stancandosi perda la concentrazione necessaria facendosi del male, anche una semplice caduta per una persona che soffre di disabilità può essere un problema grave. Questo problema non si pone in ospedale poichè li ci sono strumenti adeguate ed occhi attenti che possono sostenere il giocatore in ogni momento, in ambiente domestico non si possono aver garanzie che un disabile sia seguito, va quindi mantenuto un profilo più basso. I miglioramenti arriveranno egualmente senza forzare i tempi. 39 Figure 20 40 7.4 Obiettivi Fuzzy Per poter meglio valutare il progetto si è deciso che non ci si poteva basare sulla logica binaria considerando un progetto We-Free poichè alcuni obiettivi possono essere valutati solo da un punto di vista soggettivo. Il primo passo è stato quindi di definire per ogni goal se fosse crisp, le cui condizione devno quindi essere soddisfatte, oppure fuzzy, le cui condizione possono essere soddisfatte. L'obiettivo crisp più importante è quello che cerca di evitare gli infortuni del giocatore ed è l'unico che in ogni gioco deve essere rispettato, il non rispetto della condizione di sicurezza del giocatore porterà quindi un gioco ad essere bocciato anche se i punteggi di tutti gli altri settori fossero pieni. Per il raggiungimento dell'obiettivo "movimenti corretti" si è deciso che ogni gioco, per risultare positivo, ne deve implementare almeno uno. La funzione che descrive il requisito fuzzy sull'obiettivo potrebbe quindi essere G(exist(M1) ∨ exist(M2) ∨...∨ exist(M6)) dove la funzione exist(movimento) restituisce un valore compreso tra 0 e 1 se il movimento è definito rispettando completamente le indicazioni (1) o non è definita (0) Per quanto riguarda le ampiezze massime e le velocità massime possiamo descrivere le funzioni G(defADX = max ∧ defASX = max) G(defVDX = max ∧ defVSX = max) dove ADX e ASX rappresentano rispettivamente le ampiezze massime a destra e a sinistra, VDX e VSX rappresentano rispettivamente le ampiezze massime a destra. Per quanto riguarda il coinvolgimento del giocatore nel gioco si è deciso di utilizzare una funzione che valuti la quantità di strumenti di stimolo che il gioco mette a disposizione dell'utente affinchè questo non se ne stanchi. G((defLIV * 0,25) + (defAQ * 0,25) + (defAF * 0,25) + (defGRAPH * 0,25)) 41 dove defLIV, defAQ, defAF, defGRAPH sono variabili che possono assumere i valori da 0 a 1 e misurano rispettivamente la presenza di livelli, la presenza di uno stimolo ad un allenamento quotidiano, la presenza di un fisioterapista multimediale e la presenza di grafici che mostrino i traguardi raggiunti. L'obiettivo che riguarda il riconoscimento degli spasmi può essere descritto in modo statistico basandosi su un campione di test ed assegnando 1 se per ogni spasmo del giocatore-campione il software ha saputo riconoscere e arginare il problema, 0 se nessuno spasmo è stato correttamente gestito. Ovviamente i valori intermedi saranno dati dalla semplice relazione G(numero spasmi riconosciuti / numero spasmi avuti) L'obiettivo grafica è di valutazione soggettiva e si può pensare di sottoporre ad un campione test di giocatore un paio di domande per saggiare quanto sono soddisfatti dell'esperienza grafica del gioco. 42 7.4 Scelta del supporto di gioco. La scelta del supporto di gioco è ricaduta sulla consolle Nintendo Wii poiché questa si equipaggia, attraverso l’uso delle periferiche descritte precedentemente, di svariati strumenti per rilevare la posizione e il movimento di un corpo umano. Le altre due consolle considerate risultavano inadatte in quanto incentravano la propria esperienza ludica non sul giocatore ma sulla grafica e sulla fisica del videogioco. A differenza della Nintendo Wii, che può essere utilizzata a diversi livelli, le consolle della Sony e della Microsoft possono essere utilizzate da persone che possono muovere le dita e non possono essere utilizzate da tutte le altre, non ci sono escamotage per far giocare una persona che abbia difficoltà ad impugnare un joypad in quanto l’unico modo per giocare è premere pulsanti. La doppia veste di usabilità domestica e utilizzo medico può quindi essere garantita dallo sviluppo del progetto facendo uso dell’hardware della Nintendo Wii che ha un costo abbastanza contenuto da essere accessibile non solo alle strutture pubbliche ma anche ai privati. 43 8 Analisi dei progetti esistenti Allo stato attuale esistono due giochi completamente funzionanti nel panorama del progetto We-Free, questi giochi sono stati sviluppati con l'intento di fornire degli esercizi di riabilitazione di tipo differente. Nel primo gioco, il gioco della canoa, si è scelto di focalizzarsi sulla flessione della colonna, nel secondo gioco, il gioco dell'aereo, si esegue un esercizio di movimento delle braccia. 8.1 Gioco della canoa Questo gioco fa uso della periferica Wii Balance Board ed è incentrato sul controllo dell'equilibrio attraverso il movimento del baricentro a destra e a sinistra. Il disabile, seduto sulla Balance Board, controlla il movimento di una canoa 3D attraverso un corso d'acqua. Lo scopo del gioco è quello di incrementare il proprio punteggio raccogliendo le sorprese che il fiume riserva ed evitando le insidie che comportano perdita di punti o di vite. Figure 21 - Gioco della canoa Il gioco ha una configurazione iniziale che prevede l'inserimento dell'altezza, del peso e dell'angolo massimo di piegamento della colonna del giocatore. Questi dati iniziali servono per permettere al giocatore di muovere la propria canoa in relazione alle proprie capacità fisiche e a garantire un'esperienza di gioco adeguata. 44 8.1.1 Valutazione del gioco Il gioco rispetta il vincolo della sicurezza in quanto gli ostacoli non passano mai il margine esterno del fiume ma risultano sempre spostati verso l'interno lasciando un margine in prossimità dell'argine del fiume che rappresenta, in termini di ampiezza del movimento, il 100%. Il gioco perciò si può dire sicuro poichè spinge i pazienti a fare molti movimenti ma mai al di là delle proprie capacità. Il gioco presenta la configurazione dell'ampiezza massima e questa ampiezza è bilatera, viene cioè posta identica sia per l'inclinazione sul lato destro, sia per quella sul lato sinistro. Questo fa si che il gioco riceva un punteggio sull'obiettivo delle ampiezze tanto più vicino a 1 quanto più l'ampiezza destra è uguale all'ampiezza sinistra. I livelli che compongono in gioco sono a velocità e difficoltà crescente ma non vi è una vera e propria misurazione delle velocità massime di spostamento raggiungibili dal giocatore. La presenza di livelli fa si che al goal inerente alle motivazioni venga dato punteggio di 0,25. La grafica 3D è un punto a favore dell'obiettivo della grafica seppur non possa essere raggiunto un livello pieno dato che il gioco risulta spoglio e non eccessivamente realistico. Il movimento su cui si basa il gioco è una variante di M3 e si può dire che sull'esecuzione del movimento può essere valutato come 0,75. Non vi è però alcun sistema di riconoscimento degli spasmi che prende punteggio pari a 0. Il gioco in ultima analisi è positivo. 45 8.2 Gioco dell'aereo Questo gioco fa uso solo del Nintendo Wiimote ed il giocatore può quindi giocare mantenendo la colonna appoggiata ad uno schienale. Lo scopo del gioco è quello di pilotare il proprio aereo attraverso degli anelli fluttuanti nell'aria, il gioco termina quando l'aereo è passato attraverso tutti gli anelli o quando si precipita e viene mostrata una schermata riassuntiva del proprio tempo di gioco e del numero di anelli attraversati con l'aereo. I modelli degli aerei nel gioco possono essere pilotati attraverso il movimento e la pressione di due tasti del Wiimote che, in questo caso, funge da cloche. Figure 22 - Gioco dell'aereo 46 8.2.1 Valutazione del gioco Il gioco è pensato per essere giocato sia da qualsiasi posizione quindi anche da una persona seduta e appoggiata allo schienale. Il gioco si dimostra quindi sicuro in quanto non ci sono mosse che possono andare a sbilanciare il giocatore. Il gioco prevede sia la rotazione del Wiimote, sia la pressione di alcuni pulsanti sebbene le missioni possano essere compiute utilizzando solo le rotazioni del Wiimote rendendo però tutto molto più complesso. La pressione dei tasti non è un movimento possibile per quei disabili classificati con ASIA C che hanno delle lesioni piuttosto alte e che quindi possono muovere pochi muscoli. Gli altri due movimenti possono considerarsi una variante di M2 e M3 seppur con la schiena appoggiata. Il punteggio per la tipologia di movimenti non sarà quindi molto elevato poichè taglia fuori alcuni disabili in modo netto. Le ampiezze massime dei movimenti non sono implementate e le velocità dell'esecuzione dei movimenti dipendono unicamente dal livello scelto che può essere facile, medio e difficile. La grafica fa un buon uso del 3D e vi è uno spazio di manovra molto ampio anche se le montagne risultano un po' spoglie. I modelli degli aerei sono ben curati e sono scelti in relazione alla scelta del livello infatti nel livello facile viene presentato un piccolo aereoplano monoelica mentre nel livello difficile si utilizza un potente caccia. Oltre alla presenza di livelli che possono incentivare il giocatore a migliorarsi non ci sono altri stimoli, come accadeva nel gioco della canoa, il punteggio si ferma quindi a 0,25. Altra similitudine con il gioco della canoa è la mancanza di un riconoscitore degli spasmi. Il gioco è molto curato nella grafica ma scarseggia di giocabilità per alcune classi di disabili, i movimenti che vengono proposti prevedono che il Wiimote venga impugnato ma non sempre questa è un'operazione possibile. 47 9 Sviluppi futuri In questo progetto il linguaggio a goal è stato sfruttato fino al livello di late requirements ma si potrebbe sviluppare ulteriormente fino a definire un'interfaccia UML con le main classes indispensabili per lo sviluppo di un qualsiasi gioco che rispetti gli intenti del progetto We Free. L'estensione Fuzzy di Tropos (FLAGS) è stata sfruttata solo sulla parte statica senza considerare l'estensione temporale che viene proposta, si potrebbe quindi sviluppare il progetto in questa direzione: potrebbe essere reso fuzzy il requisito che descrive quanto il giocatore si sta avvicinando al suo limite massimo e di quanto lo sta superando in modo da tarare i parametri del gioco in modo dinamico. L'intento di questo progetto era definire dei movimenti che fossero efficaci dal punto di vista motorio e giocabili dal più ampio numero di disabili possibile, si potrebbe proseguire lo studio con progetti paralleli volti ad individuare ogni possibile movimento per ogni tipologia di disabilità creando un parco movimenti molto vasto. 48 10 Bibliografia ASIA. (2006). Standards for Neurological Classification of SCI Worksheet (Dermatomes Chart). AUS Associazione Unità Spinale Niguarda o.n.l.u.s. (s.d.). Unità Spinali Unipolari (U.S.U.). Tratto da AUS Associazione Unità Spinale Niguarda o.n.l.u.s.: http://www.ausniguarda.it/L'Unita_Spinale/LeUnitaSpinaliInItalia.kl Baresi, L., Pasquale, L., & Spoletini, P. (2009). Fuzzy Goals for Requirements-driven Adaptation. Milano. Castro, J., Kolp, M., & Mylopoulos, J. (2002). Towards requirements-driven information system engineering: the Tropos project. Friis-Christensen, A. Modeling Geographic Data Using UML. In A. FriisChristensen. Halpin, T. Entity Relationship modeling from ORM prospective: Part 2. Jorgensen, J. B., & Bossen, C. (2003). Requirements Engineering for a Pervasive Health Care System. Lee, J. C. (2008). Low-Cost Multi-point Interactive Whiteboards Using the Wiimote. Tratto da JohnnyLee.net: http://johnnylee.net/projects/wii/ Lee, J. C. (2008). Tracking Your Fingers with the Wiimote. Tratto da JohnnyLee.net: http://johnnylee.net/projects/wii/ Mylopoulos, J., Chung, L., & Yu, E. (1999). From Object-Oriented to GoalOriented Requirements Analysis. In J. Mylopoulos, L. Chung, & E. Yu. Nuseibeh, B., & Easterbrook, S. (s.d.). Requirements Engineering: A Roadmap. Sannicolò, F., Perini, A., & Giunchiglia, F. The Tropos modelling language, a user guide. van Lamsweerde, A. (2000). Requirements Engineering in the Year 00: A Research Prospective. 49 Wikipedia. (2010). History of video game consoles (seventh generation) . Tratto da Wikipedia: http://en.wikipedia.org/wiki/History_of_video_game_consoles_(seventh_gener ation) Wikipedia. (2010). PlayStation 3. Tratto da Wikipedia: http://en.wikipedia.org/wiki/PlayStation_3 Wikipedia. (2010). Spasmo. Tratto da Wikipedia: http://it.wikipedia.org/wiki/Spasmo Wikipedia. (2010). Spinal Cord injury. Tratto da Wikipedia: http://en.wikipedia.org/wiki/Spinal_cord_injury Wikipedia. (2010). Wii. Tratto da Wikipedia: http://en.wikipedia.org/wiki/Wii Wikipedia. (2010). Wii Fit. Tratto da Wikipedia: da Wikipedia: http://en.wikipedia.org/wiki/Wii_Fit Wikipedia. (2010). Xbox 360. Tratto http://en.wikipedia.org/wiki/Xbox_360 50 11 Ringraziamenti Giunto al termine di questo lavoro vorrei ringraziare ed esprimere la mia riconoscenza nei confronti di tutte le persone che, in modi diversi, mi sono state vicine e hanno permesso ed incoraggiato sia i miei studi che la realizzazione di qusta tesi. I miei più sentiti ringraziamenti vanno alla mia relatrice, Ing. Paola Spoletini per la sua disponibilità nei chiarimenti, nei suggerimenti e nelle varie revisioni che hanno coinvolto questo elaborato. Vorrei ringraziare anche il fisioterapista Dario Pometto per avermi permesso di accompagnarlo durante alcune sedute di riabilitazione dandomi modo di conoscere alcuni aspetti del suo lavoro. Ringrazio infine la mia famiglia e i miei amici che mi sono stati sempre vicini in questi anni di studi e che hanno fornito un supporto costante. 51