Project Description

Heterogeneous simulation models integration

ArcelorMittal R&D has developed a solution for use, share and distribute metallurgical models worldwide. The Diabolo platform is based on Scilab / Xcos and relies on three main principles:

  • A standardization of models interfaces (external function and data types),
  • A repository hosting for each model an executable library along with its technical specification and scientific documentation,
  • A simulation environment giving access to models either as an Xcos block or a Scilab gateway function.

Challenge

The objectives of these platform are:

  • Boost innovation by sharing & coupling models easily
  • Provide researchers with the most relevant technologies in scientific computation
  • Build an efficient gateway from R&D modeling to software industrialization processes

Define minimal technical standard, disseminate good practices

  • List supported compilers version by language (C, FORTRAN, Java, …)
  • Define supported function prototypes and type of parameters
  • Disseminate good practices in model coding (error management, variable and array declaration, documentation, source versioning etc …)

The purpose is to host in the same place the scientific and numerical results of R&D studies.

Solution

The Diabolo Simulation Platform is built as an external XCos module:

  • A specific docking of Scilab / XCos windows
  • A deeply lightened XCos native palette
  • A set of auto-generated super blocks of three categories:
    data source, data presentation and model blocks

Moreover, it implements a more advanced Stateflow simulator, and specific Data Port Management to enable a broad range of Design of Experiments.

Automatically generate blocks ready to use in the simulation platform

A code generator service use the Diabolo Technical Card to generate all needed files:

diabolo-generation

  • Scilab script for block function
  • ‘C’ code for simulation function
  • XML files for help (with link to scientific docs)
  • Gif and SVG images for palettes and diagrams
  • Scilab scripts for building and loading XCos blocks
  • Gateway functions for use in Scilab script

diabolo-generation3

 

Diabolo model super blocks

Diabolo standard specify 4 functions associated with XCos model block behavior:

[ Initialize ], Version, Calculate, [ ErrorMessage ]

Diabolo blocks for metallurgical models come as a super blocks containing:

  • The XCos model block built upon the executable model library
  • A Data Port Management block to manage setup of INPUT data ports
  • A Data Port Management block to manage setup of OUTPUT data ports
  • All necessary IN et OUT ports to give access to every data port from outside the super block

The whole inner schema is generated according to data port arrangement at set time by the generateInnerDiagram() Scilab function:

diabolo-superblock-code

diabolo_superblock