(PhysOrg.com) -- European researchers have created a development platform that will enable applications to tackle the enormous and increasing complexity of modern computer science. It promises better quality at a lower price.
Software development is becoming so complex that a new development paradigm is required. Already standalone applications, like word processors and operating systems require hundreds or even thousands of engineers to develop.
But that degree of complexity explodes for large computer systems like enterprise applications, or airport management. The range of tasks software is required to complete and number of functions it must include, the variety of programming languages and environments it must cope with, leads to a lengthy and expensive development process.
“Complex software systems are constantly evolving, too. It also requires considerable work to modify or adapt complex systems under traditional system of software development,” explains Dr Sébastien Praud of Thales Research and Technology, technical coordinator of the MODELPLEX project.
Even worse, the problem is getting bigger as computer scientists and engineers integrate larger applications and tackle more complex problems.
Not brand new
Enter Model Driven Engineering (MDE). MDE is not a brand new concept - it has been around for two decades - but it is currently emerging as the most promising paradigm for complex systems. It is a technique that will help Europe, and the world, meet future software engineering challenges.
MDE, as its name suggests, creates models of the required functions tied very closely to the specific domain. Domain refers to a particular field, such as a manufacturing enterprise, or a telephone network or weather monitoring.
This has many implications. First, by tying the model to the specific domain it is intended to illustrate, engineers account for industry-specific needs. Software design starts with the domain, rather than any given set of computing functions, languages or platforms.
Second, the software design is illustrated in a way that can be understood by non-experts. It refers to real-world functions, rather than computer functions or algorithms. In traditional design, a domain expert explains to the programmer what the programmer needs to do. But in the MDE paradigm, the domain expert, who may know nothing about computing, can review the model and point out missing functionality, or missing links between elements within the system.
Third, the model can go down to any level of detail. That means that one can look at an overview, then drill down to a specific area (order processing), and then drill down still further to specific data inputs, functions and outputs.
Catastrophic programming errors
The entire system is mapped and then developers can create or adapt code to tie it all together. It means faster software development because the programmers have a clear idea of all the required functionality and how it relates to other elements in the system.
There is much less risk of catastrophic programming errors, because engineers can detail the links between software elements beforehand. If something is missing or has been overlooked it can be easily added to the model in a later step.
In sum, MDE models tasks for a specific domain, like telephone switching in the telecom industry, and designs the applications around that, rather than developing the software and then fitting it to the industry and its specific needs. It is faster, cheaper and can handle complex systems much more easily.
Beyond the theory
At least, that is the theory. Up to now, several problems have held MDE back. “There are no proper tools for complex systems engineering. There are some, but there is no integrated platform for complex systems in MDE development,” explains Praud.
MODELPLEX has developed a platform to handle the entire lifecycle of development including interoperability, substitutability and traceability. So the system can help developers ensure different platforms will work together. It can identify where code can be swapped, and it can establish links between elements of a system, so if something gets changed it will show what other elements need to be changed as well.
This means it can be updated and upgraded easily, since engineers immediately see how a change in one software element relates to changes in the rest of the system.
MODELPLEX dedicated an entire innovative work package to the management and monitoring of a MDE-designed system, which is important because complex systems are not often statically defined at the beginning - they evolve.
MDE is not new, and historically has been driven by aerospace, automotive, defence, telecommunications and embedded systems - areas where complexity abounds. But MODELPLEX provides better tools, and should make the method applicable to a host of new areas, like consumer electronics.
The system of systems
Take Thales, for example, a partner in the project which developed a ‘system of systems’ to manage air traffic control in an optimal way. It was one of the test cases MODELPLEX pursued to try out its ideas and prove that MDE could handle complexity.
A ‘system of system’ ties disparate programs and computer systems together, so that they can function as a whole. It is a vastly complex task which was aided enormously by MODELPLEX’s huge research effort - a €20.2 million budget, with €11 million provided by the EU, the largest in FP6 for this domain. It gathers a who’s who of European and international software development, including Thales, SAP, IBM and Fraunhofer among many others.
Most of the work will be available for free to research, but some will remain proprietary to different partners. There will be aspects of the work commercialised, but the main aim is to create a set of tools to make MDE a viable option for industrial-strength applications. In the meantime, partners in the project hope to continue the work in a follow-on project.
But the ultimate impact of MODELPLEX’s work will be to give Europe an expertise in MDE development, and to finally make MDE a reality.
Explore further: Detecting and blocking leaky Android apps
More information: https//www.modelplex.org/