What means IME?
By Integrated Modelling Environment (IME), one should understand an integrated computing system (software) allowing one to perform, in a unified and self-consistent manner, the whole modelling process of the studied system, from its definition (pre-processing) to analysis of the results (post-processing). This includes the setting and the control of used simulation kernels. IMEs should not be reduced to a “common user interface”. They also provide the relevant data models and converters to transfer all needed technical data along the modelling chain. Management tools (wizards, supervisors) can complete the set to help the user to follow correctly the modelling process and control simulation kernels. In the wider understanding of the term, IMEs can include CAD-oriented platforms but also numerical toolboxes. For users, the aim is to simplify the data exchange and conversions between the various user tools (CAD tools, meshers, simulation kernels, data analysis tools) and focus on the physics aspects. The use of IMEs should reduce the risk factor in the data conversion.IMEs are well suited for multi-physics or multi-models approaches, where several simulation kernels should be interfaced in an efficient and easy-to-use manner.IMEs based on Keridwen present the advantage to follow a normalised approach with a top level design based on a modular framework. Each module (generic or tailored) is embedded into standardized containers (e.g. OSGi), like a plugin, and use normalized exchange protocols. The aim is to simplify future adaptation of the IME to new domains.IMEs may include rich pre- and post-processing tools, like CAD editors, meshers, 2D and 3D data analysis functions, etc. These components, not directly related to the targeted domain, are costly to maintain. Their maintenance cost is then shared over several communities, which is a great advantage for small scientific communities. This approach offers larger extension and adaption possibilities.
The key issuesIMEs are not a “magic solutions” and outline several key issues to be addressed to provide a relevant solution to challenges of modern scientific software and scientific users:
- Be as simple as possible: To be adopted by non-experts in software development, IMEs must be based on simple technical solution and/or presenting the shortest learning curve. Software solutions should serve the science and technics, not the reverse.
- Be the less intrusive as possible and maintain the confidence: Scientific software are the fruit of years of developments and evolutions. Their full validation was generally a very long and hard task, in some cases more costly than the development itself. Their integration into an IME should not induce errors or doubts by deep modification of the tailored components. The integration should be the safest and less intrusive as possible.
- Be light and provide good performances: Scientific software are known to be demanding in terms of resources (memory, CPU, I/O, parallelisation… ) and at the limits of the current state of the art. To address scientific challenges of today, they must be highly optimised.
Due to the normalisation constraint, the use of IME components may induces a significant overcost, especially in memory and CPU time, especially during the transfer and the conversion of data conversion and transfer.
IMEs should take into account this constraint and minimize such overcost by providing various solutions (data sharing or duplication, memory or file exchange, streaming, parallelisation of conversion processes...) to be the most adapted possible.
- Socio-cultural context: Scientific software are very specialised tools, issued from very targeted communities and handling very specific and complex concepts. This is especially true for the User Interface that should be finely adapted to the tailored use that a standardised GUI cannot provide. IME should take into account this need and offer the possibility to easily develop various tailored and adapted GUIs.