European software developers have to stay technologically up-to-date if they are to maintain their competitive edge on world markets. Now an IST-sponsored research project has constructed a platform to help them deliver state-of-the-art software systems to end-users faster.
European software designers, often working in university laboratories, create some of the world's most sophisticated and reliable software systems. However, it usually falls to industrial software developers to incorporate these technological advances into marketable products. In fact, due to the growing complexity of software systems, developers find it increasingly difficult to keep pace with end-user demand for updated tools.
The IST-sponsored MODELWARE project has developed a platform that employs the scientific and technical advances of Model-Driven Development (MDD) to significantly reduce the complexity of engineering software systems.
"MDD improves developers' productivity by automating production of most software artefacts, such as tests, documentation and code," says project coordinator Philippe Millot of Palaiseau-based Thales Research & Technology in France. MODELWARE, which began in mid-2004 and ends in September 2006, combined innovations in modelling, tool development, methodologies and standardisation into a platform for large-scale deployment of model-driven development.
Software developers have to design their products to deal with a range of different environments, hardware systems, languages, country-specific standards and other specifications such as safety. "Until now, re-engineering for a particular platform, such as Windows or Linux, required working in the low-level code of that platform. This required specialisation, adding to costs and production time," explains Millot.
"MODELWARE takes the low-level code of an environment and draws a model that employs a much higher level of specification and design abstractions. In other words, the developer can work in the domain language he knows best," he says.
With model in hand, developers can discuss what the new system should do, and test their ideas with advanced simulation tools early in the design process. "The models are visual representations, but they are also machine readable and executable. So developers can just push a button that converts their models into system code, based on the transformation rules."
As most new software systems today reuse components of existing systems and undergo major changes throughout their lifetimes, initial development often accounts for less than 25% of the total design effort. Such complex systems tend to require much more focus on quality-of-service aspects such as safety and reliability. "MODELWARE saves time and allows better capitalisation of technical know-how because developers work with up-to-date models of existing systems, instead of outdated documents," Millot says.
The MODELWARE team has also defined a method that organisations can use to manage major technological changes of tools, techniques or skills. According to Millot, "The method lays out steps for assessing the organisation before undertaking the change, then defining the levels it must pass through in order to reach capability and maturity for that particular change."
MODELWARE's 19 partners, including leaders of software-intensive industries, tool vendors, academia and consultancy companies in eight European countries, are ensuring that the project's tools and methods are adopted by industry. WesternGeco for example, focusing on on-time delivery, is experimenting with MODELWARE's techniques to design and update critical systems and load new applications onto its seismic acquisition platform."
Another partner, France Telecom, is using the platform to test a voice application employing 3G telephones to make remote repairs. While Thales is testing the MDD approach for redesigning air-traffic management systems, and is also applying MODELWARE results to business applications for SMEs.
The MODELWARE platform and many of its components, libraries and adapters are open-source, and available free on the project website. However, "high-powered uses will require purchase of proprietary modelling tools," says Millot.
MODELWARE finishes on 30th September 2006, and the project team are conducting a presentation workshop in Brussels on 26th September. A follow-up project, MODELPLEX, is already starting up and applying MODELWARE's methods and tools to complex and mission-critical systems such as the internet, major transportation and security systems.
And interest in this area remains very high. "More and more tool vendors and industrials are using our techniques. We have more than 5,000 people worldwide connect to our website every day."