Any construction project requires the formulation of a series of initial plans before starting construction to serve as a basis and guide for the entire process. A similar procedure is followed in software development, with the inclusion of a specific step known as modeling. “The process is equivalent to producing a set of plans for a building before its construction,” explained the Universitat Oberta de Catalunya (UOC) professor at the Faculty of Computing, Multimedia and Telecommunications and member of the SOM research group Internet Research Lab. Interdisciplinary Institute (IN3), Robert ClarisÃ³.
Engineers use modeling to describe a software system from a specific point of view, such as the data it will use, its components, or how they expect it to operate. Going back to the construction project example, the blueprints would be the models, which can be used to guide during the development phase, as well as to perform simulations and tests.
According to the researcher, âthe most frequently used type of model is the Unified Modeling Language (UML) class diagram notation, which is used to describe the structure of a software system. The advantage of working with these models is that they are more abstract than the source code, which contains many specific details about the technology used. In the words of ClarisÃ³, “models can be more concise, easier to produce and easier to understand.”
As such, modeling would serve more as a preliminary step than as an alternative to source code. Templates make it easier to understand the system being developed and can also be used to generate certain elements of implementation, automating the more repetitive parts of the programming process.
The role of verification tools
Engineers use verification tools to avoid errors that could affect the code itself and, therefore, the final implementation of the system. Emphasizing the importance of this process, ClarisÃ³ said: “We have to make sure that the models are correct in order to minimize the possible errors in the software that could result from them.”
In a study published in the Journal of Object Technology, ClarisÃ³, along with his colleagues Carlos A. GonzÃ¡lez (Gran Telescopio Canarias researcher) and Jordi Cabot (ICREA researcher), developed a new verification technique for UML / OCL models that solve a common problem. Anytime a designer makes a change to the model, like adding, removing, or changing information, it means that the whole system needs to be re-analyzed, which is why verification is usually only done. ‘once a final model has been produced at the end of the process.
As ClarisÃ³ explained, “Our article describes the application of incremental verification methods, that is, we make it easier to verify a model every time changes are made.” Rather than being able to check the model only at the end of the process, as is currently the case, this allows it to be checked during construction, without having to start from scratch, making it easier to spot errors early.
An active community, both nationally and internationally
This method is also innovative as regards its use of certificates, examples which illustrate the correct functioning of the model. As the researcher pointed out, âwhen we change a template, having a new certificate would remove the need for its verification.
It is much cheaper to adapt a certificate than to restart the verification process. Explaining the process, the authors suggest that, rather than verifying the new model, a certificate of the original model could be adapted to the new one. The challenge they now face is to integrate these techniques into existing software modeling tools and environments.
Commenting on the sector in general, ClarisÃ³, who acted as the coordinator of the Spanish network of excellence in software engineering focused on models, stressed that âthe Spanish modeling community is always very active and participates in a variety of projects. national and international research. . “
Indeed, although the network is no longer operational, the community still works together and collaborates within the framework of the annual Software and Database Engineering conference, which has a space dedicated to Model-driven Software Engineering.
A tool to automate device programming for IoT applications
Robert ClarisÃ³ et al. Incremental verification of UML / OCL models., The Journal of Object Technology (2020). DOI: 10.5381 / jot.200.19.3.a7
Provided by Universitat Oberta de Catalunya
Quote: A new tool to facilitate fast and error-free software design (2021, January 15) retrieved September 23, 2021 from https://techxplore.com/news/2021-01-tool-fast-error-free- software.html
This document is subject to copyright. Other than fair use for private study or research purposes, no part may be reproduced without written permission. The content is provided for information only.