Experts are working on a new tool to facilitate quicker, error-free software design.

When developing new software, engineers rely on a specific step known as modelling. 

“The process is equivalent to the production of a set of plans for a building before its construction,” says project leader Dr Robert Clarisó.

"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.

“Models can be more concise, easier to produce and understand,” Dr Clarisó says.

His research team 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 why the verification is usually only carried out once a definitive model has been produced at the end of the process.

But with the new method, rather than only being able to verify the model at the end of the process, as is currently the case, it can be verified during construction, without having to start from scratch, which facilitates the early detection of errors.

“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,” Dr Clarisó says.

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. 

They now face the challenge of integrating these techniques into existing software modelling tools and environments.

More details are available here.