Research - Software engineering
Models for professional software
Benoît Baudry - © J-M. Prima
Model engineering aims to develop abstractions in order to design software more easily. The long march towards standardisation has begun, but the edges of this field still remain to be explored, as explained by Benoît Baudry, Inria researcher within the TRISKELL project-team.
Model engineering? "A vast research field
, warns Benoît Baudry at the outset. A known aspect involves refactoring, the rewriting of software. In order to adapt a program from the 1970s to the technologies of 2010, it must be coded by hand. It is a long, complicated and expensive process.
" But there is an alternative: "first producing a model, or an abstract representation of the original software. Then, transposing this model to 2010 technology
." The advantage? "These two successive operations can be highly automated and re-used. Ultimately, a migration in two stages using a model therefore costs less.
But models also present another virtue. They make it possible to produce software directly. "For example, a model for plane software can be designed. This type of embedded system requires many verifications. When you push a button and pull the handle, the expected event must occur within the allotted time. However, it is faster to perform these verifications on the model than directly on the final software. "
It is this second aspect, the manufacturing of software through models, that is the speciality of the Triskell project-team in Rennes. "We are first working on what could be called a generic base. We are designing tools which are independent of the final applications. For example, for measuring the size of a model. Regardless of whether it represents an aeronautic computer or the information system for the French rail network ."
Models based on professions
Conversely, "another part of our activity involves producing a model based on a particular need ." Profession-oriented, this approach leads researchers to work with industry partners as part of collaborative projects. "We are working with Airbus on embedded computers. We are also beginning a collaboration with EDF to create a model on the management of professional requirements for nuclear plants. The definition of these requirements involves 300 trades: physicists, chemists, ergonomists, engineers, architects, electricians, etc. " These are all people who must synchronise. The model must capture the complexity of all of these interactions in addition to the constraints of changing regulations. "If there is a change, our industry partners want to know the impact, the cost, the time frames, etc. " Plane or construction site, some building blocks are useful for both problems. "But afterwards, the way in which we produce the model to capture the information differs depending on whether the system must react in a micro-second or measure an impact. "
Through these case studies, which appear in the trades, "we want to better understand what may be useful in one industrial context or in another, by following a clearly defined scientific line. We are interested in the fundamental aspects and methodological problems". Through the consortiums, standardisation is underway. "But there is still a lot of exploration to be done. Our research is taking place in this troubled area where a consensus has not yet been reached on the methods to be adopted. "
A trans-Atlantic team
Triskell and the computer science department of the University of Colorado are working together as part of an associate team called Mocaa. "We are working with three CSU professors, including Robert France, who spent six months at Rennes. This especially involves exchanging knowledge.
The first part of this work focuses on "the verification of no longer the model but the professional software that will be manufactured. We need to ensure that the program will behave as expected once it is launched in its true environment. Because, although its writing has been partially automated, it also includes human interventions. And, inevitably, humans introduce errors. "
The second research area is the size of systems. "The larger they are, the larger and more complex the abstract model must be. We are looking at how we could divide such models into several parts, which would be easier to manage and develop. But, at some point, these separate parts must be put together. This is what is called model composition. "
This collaboration has no specific industrial purpose. "However, it is interesting to note that at Rennes and CSU, academic prototypes constructed from research results on model composition and the automatic generation of programs will result in two start-ups. " The American company is developing information systems on tropical diseases. At Rennes, Triskell is developing Entimid, middleware that will be used by Neociti for the deployment of home care services for the sick.