Changes mean that you have to adapt the code, which is always written for a specific technology. Marten van Sinderen of the University of Twente and Project Leader on Freeband’s A-MUSE project: “There has never been a bridge between the initial model and the end product. Until now.” This bridge is called Model Driven Development (MDD). Its added value is that it automatically generates code. Software development can now take place at the beginning of the IT and industrialisation process, with exciting consequences.
Architecture on three levels
Object Management Group, a standardisation organisation, has defined three levels for
Model Driven Architecture (MDA), a framework for MDD. The Computational Independent Model (CIM), or domain model, is defined in line with the terminology of the application area in which the solution will be used. These descriptions can be very practical, but remain generic. If the domain were healthcare, for instance, you would not refer to ‘’patient X’’, but to “a patient’’ or ‘’a doctor’’. The next step is to create a Platform Independent Model (PIM), in which the system design can be described in a technology independent way, in general terms, such as components, services and interactions. Whether the software will eventually be build in .NET, Linux or Java doesn’t matter and will only be determined at the third level, called the Platform Specific Model (PSM). This model is close to the final solution. The (automatic) code is generated from here.
From body shop to factory
Yet another topic of discussion is the so-called industrialisation of software development. According to the Telematica Institute’s Maarten Steen, who organised the Model Driven Experience 2008: “Service providers are morphing from body shops to software factories. Instead of serving clients personally, a software production line is created to tackle client demands. Clients’ software evolves from a production line of business analysts, designers and various programmers.”
There is fast growing interest in MDD in the Netherlands. A number of organisations, such as Achmea, Ordina and Thales, are currently using MDD to develop software. They list advantages such as reduced costs and increased flexibility. The latter is especially important – when demands change it’s good to be able to meet those demands easily. Changes are implemented in the domain model (CIM), which then drips down to the underlying models. Alternatively, MDD can also be used to create a model from existing software, which in turn forms the foundation for a migration to new or different technologies.
Lex van de Geest, Head of Process Management and Architecture at De Amersfoortse Verzekeringen (a large Dutch insurance company): "Fortis Verzekeringen sees the model driven approach as one of the most promising new innovations and we are currently researching what else we can do with it. Synergy between technology and business is essential. One of the ways this is expressed can be seen in the relationship between the model driven approach and related techniques such as Business Process Management engines and the use of Business Rule Engines."
Industrialisation
At the symposium, Speaker Wim Bast talked about parallels with the industrialisation of the 19th century. Software development will eventually have automated production processes and the same advantages and disadvantages will apply as did during the industrialisation of the textile industry. Developers fear that MDD will cost them their jobs and maintain that software development is a creative process that cannot be standardised.
Steen: “People at the symposium were positive, but many people view it as a threat. Programmers fear becoming obsolete. They say that automated code generation won’t work because their jobs require intelligence and creativity.” Van Sinderen isn’t afraid: “New creative processes will develop. We will be able to shift our focus to the best part: functionality and business logic.”
But programmers don’t have to start retraining en masse. Van Sinderen: “There are still plenty of holes in the chain of tools from CIM to PSM. Conceptually it is a nice framework, but it is one that hasn’t been sufficiently filled with working solutions. Luckily we have been able to map the problem out to a large extent.” The beginnings are there. Océ has already managed to generate complete automatic codes for printer drivers - complex real-time applications, where every element has to know exactly what it needs to do. Steen: “This is tricky elsewhere, especially for administrative applications.”
Community of practice
Companies and researchers met at the symposium on June 5, 2008, to exchange ideas about MDD. Van Sinderen: “We’ve worked on MDD in A-MUSE. We wanted to compare our results with real-world business experience. It turns out that we’re already working on overcoming some of the bumps that businesses have experienced.” The symposium’s success has been reason enough for Steen and Van Sinderen to look into what they can organise next year. Van Sinderen: “We would like to create an MDA community that can answer practical questions. It could be a podium for companies and educational institutions to create synergies: they share their relevant business issues, and we share our research results.”