From idea to platform independent, quality software code

1 min read

A major European research programme has developed a system that speeds up error-free software development, according to ICT Results.

Piotr Habela, technical coordinator for the VIDE (VIsualize all moDel drivEn programming) project, makes the point that software developers have good ideas about developing, debugging and modifying software, but the process has always been fragmented. VIDE's achievement, he says is in taking the methods for visualising and flowcharting how programs should work and enabling them to lead directly to high-quality, platform-independent code. "What we attempted that was to make the development of executable software a single process, a single tool-chain, rather than a sequence of separate activities," says Habela. That has taken two-and-a-half years, with 10 academic and industrial research partners, funded by the European Union, and the result now is a software design and development toolkit that, says Habela, promises to make creating good functional, easily-modified software significantly faster, more reliable and less expensive. Key to this is the model-driven architecture of, the Object Management Group. "Models are usually considered just documents," says Habela. "Our goal was to make the models serve as production tools." So with VIDE, much of the modelling is visual – in the form of flowcharts and diagrams that are intuitive enough for domain experts to understand, but sufficiently formalised to serve as the inputs to the next stage of any software development process. Says Habela: "We now have a kind of prototyping capability built into the development process. You can design a model, specify its behavioural details, run it with sample data to see how it behaves, and then check with the domain expert to see if it is in fact the behaviour they expected." Currently, several of the consortium members are implementing the VIDE toolkit in specific areas, he says, for example web services, database management and a variety of business processes.