15/1/21 · Recerca

Una nova eina permet que el disseny de 'software' sigui més ràpid i amb menys errors

Una recerca liderada per la UOC presenta una nova tècnica de verificació de models de 'software'

L'eina permet la detecció primerenca d'errors al llarg de tot el procés de modelatge i no solament al final, com fins ara
Hack Capital / Unsplash

Hack Capital / Unsplash

Abans de començar qualsevol edificació, cal dissenyar uns plànols que serveixin de base i de guia per a tot el procés. Amb el software passa una cosa semblant: més en concret, amb la modelització. «És un procés equivalent a la preparació dels plànols d'un edifici abans de construir-lo», compara Robert Clarisó, professor dels Estudis d'Informàtica, Multimèdia i Telecomunicació de la Universitat Oberta de Catalunya (UOC) i membre del grup de recerca SOM Research Lab, de l’Internet Interdisciplinary Institute (IN3).

Gràcies a la modelització, els enginyers descriuen un sistema de software des d'una perspectiva concreta, com ara les dades que farà servir, els components o el comportament que n'esperen. Si tornem a l'exemple de l'edifici, els plànols serien el que s'anomena «models», que es poden emprar com a guia durant l'etapa de desenvolupament i per fer simulacions o proves.

«El tipus de model més conegut és el diagrama de classes en notació UML (unified modeling language), que s'empra per descriure l'estructura d'un sistema de software», explica l'investigador. L'avantatge de treballar amb aquests models és que són més abstractes que el codi font, que conté molts detalls específics de la tecnologia emprada. «Els models poden ser més concisos, més fàcils de produir i de comprendre», afirma Clarisó.

Per tant, en lloc d'una alternativa al codi font, la modelització en seria més aviat un pas previ. D'una banda, els models serveixen per entendre millor el sistema que s'està desenvolupant i, de l'altra, es poden emprar per generar part de la implementació, automatitzant les parts més repetitives del procés de programació.

El paper de les eines de verificació

Per evitar errors que podrien repercutir en el codi mateix i, per tant, en la implementació final del sistema, els enginyers utilitzen eines de verificació. «És clau poder assegurar que els models són correctes per minimitzar possibles errors en el software que es produeixi a partir d'ells», recalca Clarisó.

En un estudi publicat a la revista Journal of Object Technology, Clarisó, Carlos A. González (investigador al Gran Telescopi Canàries) i Jordi Cabot (investigador ICREA) han dissenyat una nova tècnica de verificació en models UML/OCL que resol un problema molt comú. Cada cop que un dissenyador fa un canvi en el model —com ara afegir-hi, esborrar-ne o modificar-ne informació—, cal tornar a analitzar-lo completament. Per això la verificació s'acostuma a fer només al final del procés, quan ja hi ha un model definitiu.

«En l'article proposem mètodes de verificació incremental, és a dir, reduïm l'esforç necessari per verificar un model després de fer-hi canvis», assenyala Clarisó, un dels autors de l'estudi. Això permet que es pugui verificar el model no solament al final, com fins ara, sinó també a mesura que es va construint, sense haver de començar des de zero, la qual cosa facilita la detecció primerenca d'errors.

Una comunitat molt activa a escala nacional i internacional

Una altra novetat del mètode és que es basa en l'ús de certificats, que són exemples que il·lustren el funcionament correcte del model. «Quan modifiquem un model, podríem estalviar-nos verificar-lo si en tinguéssim un nou certificat», manté l'investigador.

La clau rau en el fet que adaptar un certificat és molt menys costós que repetir la verificació. L'article explica com es pot fer: en lloc de verificar el nou model, els autors proposen adaptar un certificat del model original al nou. El repte principal que tenen ara és integrar aquestes tècniques en eines i entorns de modelatge de software.

Pel que fa a la situació del sector, Clarisó, que va coordinar durant dos anys la Xarxa d'Excel·lència en Enginyeria de Software Dirigida per Models a Espanya, ressalta que «la comunitat espanyola de modelatge continua molt activa i participa en diversos projectes de recerca a escala nacional i internacional».

De fet, encara que la xarxa hagi acabat, la comunitat continua treballant i col·laborant gràcies a un congrés anual, les Jornades d'Enginyeria de Software i Bases de Dades, en què hi ha un espai dedicat a l'enginyeria del software dirigida per models.

La recerca forma part del projecte europeu «MegaM@Rt2: MegaModelling at Runtime» (2020 ECSEL Joint Undertaking Project, 737494) i del projecte «Open Data for All: an API-based infrastructure for exploiting online data sources» (TIN2016-75944-R), finançat pel Pla estatal d'R+D+I del Ministeri de Ciència i Innovació. 

Aquesta recerca de la UOC afavoreix l'objectiu de desenvolupament sostenible (ODS) 9, indústria, innovació i infraestructures.

Article de referència

Clarisó, R.; González, C. A.; Cabot, J. «Incremental Verification of UML/OCL Models». Journal of Object Technology. DOI: 10.5381/jot.2020.19.3.a7.

UOC R&I 

La recerca i innovació (R+I) de la UOC contribueix a solucionar els reptes a què s'enfronten les societats globals del segle xxi, mitjançant l'estudi de la interacció de les TIC amb l'activitat humana, amb un focus específic en l'aprenentatge en línia i la salut digital. Els més de 400 investigadors i 50 grups de recerca s'articulen entorn dels set estudis de la UOC i dos centres de recerca: l'Internet Interdisciplinary Institute (IN3) i l'eHealth Center (eHC).

Els objectius de l'Agenda 2030 de desenvolupament sostenible de les Nacions Unides i el coneixement obert són eixos estratègics de la docència, la recerca i la innovació de la UOC. Més informació research.uoc.edu #25anysUOC

Experts UOC

Contacte de premsa

També et pot interessar

Més llegits

Veure més sobre Recerca