A new tool to facilitate quicker, error-free software design

January 15, 2021

Any building project requires the formulation of a series of initial plans prior to starting construction to serve as a basis and guide for the whole process. A similar procedure is followed in software development, with the inclusion of a specific step known as modelling. "The process is equivalent to the production of a set of plans for a building before its construction," explained Universitat Oberta de Catalunya (UOC) Faculty of Computer Science, Multimedia and Telecommunications professor and member of the SOM Research Lab research group -from the Internet Interdisciplinary Institute (IN3)-, Robert Clarisó.

Engineers use modelling to describe a software system from a specific perspective, such as the data it will use, its components or the way they expect it to function. Going back to the building project example, the plans would be the 'models', which can be used for guidance during the development stage, as well as for carrying out simulations and tests.

According to the researcher, "The model type most frequently used is the UML (Unified Modelling Language) 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 source code, which contains a lot of specific details about the technology being used. In the words of Clarisó, "Models can be more concise, easier to produce and understand."

As such, modelling would serve more as a preliminary step rather than an alternative to source code. The models make it easier to understand the system being developed and can also be used to generate certain implementation elements, automating the most repetitive parts of the programming process.

The role of verification tools

Engineers use verification tools to prevent errors that could affect the code itself and, therefore, the final implementation of the system. Emphasizing the importance of this process, Clarisó said, "We need to ensure the models are correct in order to minimize possible errors in the software that could occur as a result."

As part of 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), has come up with a new verification technique for UML/OCL models that solves a common problem. Every time a designer makes a change - such as adding, deleting, or modifying information - to the model it means that the whole system has to be re-analysed, which is the why verification is usually only carried out once a definitive model has been produced at the end of the process.

As Clarisó explained, "Our article outlines the application of incremental methods of verification, that is, we make it easier to verify a model any time changes are made." Rather than only being able to verify the model at the end of the process, as is currently the case, this permits it to be verified during construction, without having to start from scratch, which facilitates the early detection of errors.

An active community, both nationally and globally

This method is also innovative with regard to its use of certificates, the examples that illustrate the correct operation of the model. As the researcher pointed out, "When we modify a model, having a new certificate would remove the need for its verification.

It's far less costly to adapt a certificate than it is to rerun the verification process." Explaining the process, the authors propose that, rather than verifying the new model, a certificate from the original model could be adapted to the new one. The biggest challenge they now face is integrating these techniques into existing software modelling tools and environments.

Commenting on the sector in general, Clarisó, who acted as the coordinator of the Spanish Network of Excellence in Model-driven Software Engineering , stressed that, "the Spanish modelling community is still very active and participates in a variety of national and international research projects".

In fact, although the network is no longer operational, the community still works together and collaborates as part of the annual Software and Database Engineering Conference, which has a space dedicated to Model-driven Software Engineering.
This study is part of the "MegaM@Rt2: MegaModelling at Run-time" (2020 ECSEL Joint Undertaking Project, 737494) European project and the "Open Data for All: an API-based infrastructure for exploiting online data sources" (TIN2016- 75944-R) national project funded under the Spanish Ministry of Science and Innovation's National R&D&I Plan.

This research supports Sustainable Development Goal (SDG) 9 on industry, innovation and infrastructure.

Reference article

Clarisó, R., González, C.A., and Cabot, J. "Incremental Verification of UML/OCL Models". Journal of Object Technology. doi: 10.5381/jot.2020.19.3.a7.


The UOC's research and innovation (R&I) are helping 21st-century global societies to overcome pressing challenges by studying the interactions between ICT and human activity, with a specific focus on e-learning and e-health. Over 400 researchers and 50 research groups work among the University's seven faculties and two research centres: the Internet Interdisciplinary Institute (IN3) and the eHealth Center (eHC).

The United Nations' 2030 Agenda for Sustainable Development and open knowledge serve as strategic pillars for the UOC's teaching, research and innovation. More information:research.uoc.edu. #UOC25years

Universitat Oberta de Catalunya (UOC)

Related Software Articles from Brightsurf:

Novel software assesses phonologial awareness
Understanding sounds in language is a critical building block for child literacy, yet this skill is often overlooked.

Software of autonomous driving systems
Researchers at TU Graz and AVL focus on software systems of autonomous driving systems.

New software supports decision-making for breeding
Researchers at the University of Göttingen have developed an innovative software program for the simulation of breeding programmes.

Software updates slowing you down?
We've all shared the frustration -- software updates that are intended to make our applications run faster inadvertently end up doing just the opposite.

Where is George? Ask this software to look at the crowd
Idtracker.ai is a mix of conventional algorithms and artificial intelligence developed at the Champalimaud Centre for the Unknown.

Research finds serious problems with forensic software
New research finds significant flaws in recently released forensic software designed to assess the age of individuals based on their skeletal remains.

Beta of Neurodata Without Borders software now available
Neuroscientists can now explore a beta version of the new Neurodata Without Borders: Neurophysiology (NWB:N 2.0) software and offer input to developers before it is fully released next year.

New software speeds origami structure designs
Researchers at Georgia Institute of Technology have developed a new computer-aided approach that streamlines the design process for origami-based structures, making it easier for engineers and scientists to conceptualize new ideas graphically while simultaneously generating the underlying mathematical data needed to build the structure in the real world.

International competition benchmarks metagenomics software
Communities of bacteria live everywhere: inside our bodies, on our bodies and all around us.

Preventing software from causing injury
Workplace injuries don't just come from lifting heavy things or falling off a ladder.

Read More: Software News and Software Current Events
Brightsurf.com is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to Amazon.com.