Agile: desenvolupament de programari de sistemes encastats
Responsable Tecnològic de Fagor Automation15/11/2006
Problemàtica dels sistemes encastats
• Telèfons mòbils, càmeres fotogràfiques i de vídeo.
• Caixers automàtics, terminals punt de venda, quioscos d'Internet.
• Consoles de jocs, reproductors de MP3.
• Electrodomèstics i domòtica (microones, DVD, televisions, rentadores, aire condicionat, termòstats, sistema d'alarmes).
• Equipament mèdic (microscopis, equips de ressonància magnètica, robots quirúrgics).
• Sistemes de control de vol, míssils.
• Calculadores, PDAs, impressores, mòdems, routers.
• Ordinador de bord en l'automòbil, ABS, GPS.
• Sistemes de control de trànsit, de màquines eines i robots o de cèl lules i plantes de fabricació.
El programari dels sistemes encastats és conegut habitualment amb el nom de firmware i té les següents característiques que el diferencien de les aplicacions normals:
• Interacciona directament amb els sistemes maquinari.
• Normalment té recursos limitats (poca memòria, potència de CPU ajustada, etc.) Per raons de cost, ja que molts d'ells es fabriquen en grans quantitats i els estalvis són importants.
• En alguns casos no hi ha cap interacció amb l'usuari, de manera que han de funcionar durant anys sense errors i ser capaços de recuperar per si mateixos en cas que aquests ocorrin.
• En altres casos hi ha interacció amb l'usuari, que pot anar des de l'ús d'unes poques tecles i un simple display fins a un complet interfície d'usuari basat en finestres similars a les d'un PC.
• En algunes aplicacions els sistemes encastats han de ser capaços de respondre immediatament i complir requeriments de temps real per raons de seguretat (mission critical systems). Sovint es requereixen certificacions de seguretat i conformitat amb determinats estàndards.
• Normalment els sistemes encastats necessiten ser desenvolupats per equips de diferents especialitats (programari, maquinari, mecànica, telecomunicacions, etc.).
Objectius del projecte
Una anàlisi de l'estat del desenvolupament de programari en el món mostra que la qualitat i la productivitat de la indústria no han estat capaços de mantenir-se al nivell de les necessitats de la societat, com es mostra a la figura 1.
La disciplina de l'Enginyeria del Programari ha estat intentant trobar la solució d'aquest problema des dels anys 80, però la situació no ha millorat, conduint a una escassetat de professionals de la informàtica que només la desacceleració econòmica des de finals de 2001 ha estat capaç de disfressar. El problema és estructural i es farà present de nou quan l'economia s'acabi de recuperar.
Alguns models de Desenvolupament de Software com CMM ", Spice, Personal Software Process (PSPSM) o ISO 9001:2000 estan dissenyats per solucionar aquests problemes. No obstant això, en un recent estudi de més de 200 projectes, Michael Mah (QSM Associates) fa notar que no van poder trobar ni la meitat dels plans originals contra els de mesurar els projectes. Atès de complir el pla no és ja l'objectiu principal, la satisfacció dels clients (en el lliurament, no a l'inici del projecte) s'ha convertit en prioritat.
Les metodologies tradicionals assumeixen que si el programador s'esforcés podria anticipar el conjunt complet de requisits i reduir el cost eliminant canvis, el que potser és raonable en entorns estables però no és cert en molts projectes en entorns més dinàmics. En l'entorn de canvi ràpid en què es mouen els sistemes encastats, el canvi no pot ser eliminat. El que es proposa fer és adaptar el sistema de tal manera que es redueixi el cost dels canvis però mantenint la qualitat.
Com a conseqüència de tot això, recentment han aparegut noves metodologies lleugeres o àgils amb l'objectiu de donar solució a aquestes necessitats. Entre elles es poden incloure eXtreme Programming (XP), Adaptive Software Development (ASD), Lean Development (LD), SCRUM o Crystal Methods (CM). Totes elles tenen com a objectiu la satisfacció del client, l'adaptabilitat als canvis, el lliurament de productes ràpidament i dins del pressupost estipulat. Aquestes metodologies han demostrat els seus beneficis en termes de time-to-market, adaptabilitat a l'evolució dels requisits, satisfacció del client i lliurament de productes ràpidament i dins del pressupost estipulat en un cert nombre de dominis. Són prometedores, però hi ha poca experiència, fins ara, en el món dels sistemes encastats.
L'enfocament especialitzat que es desenvoluparà en aquest projecte ajudarà als desenvolupadors de sistemes embeguts a ser més eficients en el seu treball. L'obtenció de grans millores en el desenvolupament de sistemes grans, distribuïts i generalment creats com a línies de producte, provocarà un salt qualitatiu en la capacitat de producció de programari encastat i proporcionar a la indústria europea un avantatge competitiu significativa en el mercat mundial.
![Figura 1 Figura 1](https://img.interempresas.net/fotos/122801.gif)
Participants:
• BarcoView Avionics (Bèlgica)
• E2S (Bèlgica)
• Engisud (Itàlia)
• Exoftware (Irlanda)
• European Software Institute (Espanya)
• F-Secure (Finlàndia)
• FAGOR Automation (Espanya)
• FICOSA (Espanya)
• Free University of Bolzano-Bozen (Itàlia)
• Hantro (Finlàndia)
• Kapion (Eslovènia)
• KULeuven (Bèlgica)
• medius (Eslovènia)
• Nemetschek (Bulgària)
• Nokia (Finlàndia)
• Océ (França)
• P4Q Electronics (Espanya)
• Philips (Holanda)
• SQS (Espanya)
• TCP Sistemes i Enginyeria (Espanya)
• VTT Technical Research Centre (Finlàndia)
Esforç: 170 anys-home
Data de començament: 1 abril 2004
Durada: 33 mesos
Líder: Pekka Abrahamsson, VTT (pekka.abrahamsson @ vtt.fi)
Web: http://www.agile-itea.org
Els objectius principals del projecte són:
• Dissenyar un marc de desenvolupament de programari àgil per al domini de sistemes encastats. Aquest marc inclou el propi procés de desenvolupament de programari, els processos de suport, l'arquitectura del procés i les eines per al desenvolupament de programari encastat.
• Mantenir la conformitat amb les normes existents (ISO9000, CMMITM, DO178b). El tema és molt important en el domini dels sistemes encastats.
• Desenvolupar un model d'implantació per a permetre l'ús del marc de desenvolupament Agile. El model d'implantació inclou el procés d'implantació i les directrius d'ús del marc de treball. Tot això complementat amb un entorn de treball apropiat i experiències industrials.
• Demostrar la viabilitat operativa del marc desenvolupat, del model d'implantació i de les eines en un nombre de projectes pilots de programari encastat procedents de diferents sectors industrials.
• Demostrar l'eficàcia de l'enfocament AGILE mitjançant mètriques per a, per exemple, convèncer la Direcció, incloent una anàlisi cost-benefici, una anàlisi d'impacte, etc.
Descripció del treball a realitzar
A continuació s'elaborarà el marc per al desenvolupament àgil de programari en el domini de sistemes embeguts. Basant-se en els requisits recollits, el marc Agile tindrà en compte el procés de desenvolupament àgil de programari, els processos de negoci, els processos de suport i l'arquitectura dels processos. El marc s'organitzarà per àrees tecnològiques i de gestió, incloent-hi la subcontractació àgil i les línies de producte programari. Proporcionarà els mitjans per identificar on i com es pot incrementar el nivell d'agilitat en el desenvolupament de programari encastat.
Posteriorment es procedirà a la implantació del marc Agile ia la recopilació d'experiències en les aplicacions industrials. També es desenvoluparà un procés d'implantació i un mètode de recopilació d'experiències que faciliti una recollida de dades significatives i que permeti la comparació, anàlisi i interpretació dels resultats dels projectes pilots.
El marc Agile desenvolupat, un cop personalitzat amb l'ajuda d'un entorn integrat de desenvolupament, s'aplicarà en la indústria per avaluar la seva efectivitat i validesa. Els resultats s'analitzaran i compararan entre si.
Finalment, durant el desenvolupament del projecte i especialment en la seva etapa final, es realitzaran activitats de difusió dels resultats i conclusions del projecte Agile. Aquestes activitats inclouen la publicació de resultats, organització de seminaris i workshops, desenvolupament d'una pàgina web del projecte, d'un butlletí informatiu i altre material publicitari.