Professional Documents
Culture Documents
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/241708880
CITATIONS
READS
16
2 AUTHORS:
Piotr Breitkopf
Gilbert Touzot
SEE PROFILE
SEE PROFILE
ABSTRACT:
1. Prliminaires
Le prsent document souligne les difficults qui apparaissent lors du
dveloppement de logiciels de modlisation, puis propose quelques remdes, certes
non dfinitifs. Aprs un bref rappel du sens donn ici au mot "modlisation" et des
particularits de ce domaine de recherche, nous dcrirons les caractristiques
a) La dfinition d'un systme physique rel dans lequel certaines grandeurs sont
inconnues a priori, et d'autres sont supposes connues (exemple: une chambre
air de bicyclette soumise une pression interne);
b) Une ou des questions (par exemple : quelle pression maximale peut-t-on
appliquer cette chambre air ?).
La premire tape de la dmarche de modlisation consiste faire une srie
d'hypothses simplificatrices qui rendent le problme "modlisable": idalisation de
la gomtrie, des conditions aux limites, des sollicitations, hypothses sur le
comportement des matriaux, sur l'amplitude des dplacements et des dformations,
isolement d'un sous-systme. Dans notre exemple, une premire approximation
grossire consiste essayer de ne modliser que la chambre air en supposant qu'elle
n'interagit pas avec la roue et le pneu :
u=0
La seconde tape consiste slectionner les relations qui rgissent le modle (loi
de comportement lastique, relations dplacements-dformations, quations
d'quilibre), liminer certaines variables entre ces relations, faire des hypothses
simplificatrices (dformations "petites" ... sans doute fausses), puis choisir des
mthodes de discrtisation des quations ainsi obtenues (lments finis, ...).
La cration d'un tel modle discrtis utilise de nombreuses connaissances explicites
et implicites de l'utilisateur : influence des conditions de symtrie du problme,
position d'ventuelles concentrations de contraintes, tailles d'lments requises,
erreurs induites par une finesse de discrtisation donne, erreurs acceptables sur les
diffrentes variables, etc ... On peut ainsi construire un systme d'quations
algbriques (ventuellement linaires) qui reprsente approximativement le
comportement du systme physique tudi. La rsolution de ce systme fournit les
inconnues, ici les dplacements des noeuds de discrtisation de la chambre air :
?
0
=
sym.
v=0
[K]
{U}
{F}
u impos
chauffage
par induction
contact
frottement
outil
rigide ou
lastique
matriau
visco-plastique
Connaissance
passive
Action
les logiciels industriels sont (ou devraient tre) bass sur des mthodes
prouves, largement testes sur de nombreuses applications. D'autre part leur
programmation est (ou devrait tre) conue pour garantir la fiabilit, faciliter la
recherche d'erreurs et les dveloppements ultrieurs, au prix ventuel d'une certaine
complexit. De plus il est clair que la qualit de l'interface logiciel-utilisateur et de la
documentation sont ici prpondrants. Un logiciel industriel peut inclure des modles
complexes, mais son utilisation doit rester simple; il doit tre efficace dans un
environnement de production. Le logiciel doit contenir des protections contre les
utilisations qui conduisent des rsultats faux; la complexit des actions que peut
entreprendre l'utilisateur est donc limite, le logiciel se prsentant alors plus ou
moins comme une bote noire ferme.
les logiciels de recherche doivent au contraire offrir un maximum de flexibilit,
encourager leurs utilisateurs faire des modifications, faciliter au maximum l'ajout
de fonctions supplmentaires tout en favorisant la rutilisation des modules existants.
Les logiciels de recherche sont, selon les cas, des botes outils de chercheurs isols
ou d'ensembles de chercheurs, ou des plateformes fdratrices au niveau de
laboratoires ou d'ensembles de laboratoires. Ces logiciels utilisent normalement des
mthodes novatrices qui ne sont pas, par nature, valides sur un large spectre
d'applications. Ils n'ont souvent t tests que sur des cas assez particuliers. Enfin la
qualit de leur programmation et de leur organisation informatique laisse souvent
dsirer, ce qui pose des problmes lors de la recherche d'erreurs ou lors de
dveloppements ultrieurs. Une autre difficult provient souvent de la faiblesse de la
documentation. Dans le meilleur des cas, ces logiciels peuvent seulement tre
considrs comme des prototypes de logiciels industriels. Vus comme tels, ils sont
prcieux comme aide l'criture des logiciels industriels, mais ne les remplacent pas.
Il faut souligner que dans certaines quipes de recherche de grandes socits, la
situation est souvent plus proche de celle d'un laboratoire de recherche que de celle
d'un bureau d'tudes. Les problmes de transferts internes de telles socits sont
aussi dlicats, si ce n'est plus, qu'entre le monde de la Recherche et l'Industrie.
Les logiciels utilisables pour l'enseignement se situent entre les logiciels de
recherche et les logiciels industriels, bien que plus proches de la recherche. Ils
rclament surtout de la simplicit, car le temps dont disposent les tudiants pour
assimiler les particularits dun logiciel est trs limit.
mise en ouvre des algorithmes
interface
metier
prototype
macro-commandes
langage
interactif
industrie
donnes manipuls
laboratoire
industriel
enseignement
objets
de conception
FORTRAN
C
recherche
industrie
laboratoire
industriel
objets
structurs
enseignement
matrices
vecteurs
recherche
logiciel
Processus
de
modlisation
de systmes
physiques
Informatique
- Langages
- Manip. donnes
- Gnie logiciel
- Graphique
- I.A.
Math. appliques
Analyse numrique
S.P.I
R.D.M
Mcanique
Thermique
...
Exprience
du systme physique
Il est clair qu'une description complte du logiciel devrait inclure l'ensemble de ces
informations, ce qui est en gnral impraticable. Le logiciel reste donc largement
inconnu de ses utilisateurs, et ceci d'autant plus qu'il est complexe. Les difficults
lies l'utilisation d'un logiciel de modlisation sont de mme nature que celles qui
apparaissent dans la communication entre deux tres logiques complexes : mauvaise
apprhension des connaissances de l'autre, mauvaise interprtation de son mode de
pense, extrapolations indues, ... Seule une organisation interne simple du logiciel et
une logique d'ensemble facile dcrire permettent de rduire la distance entre le
logiciel et l'image que s'en construit son utilisateur.
3.5 L'volution des logiciels de modlisation [DHA 84, MAC, SAM]
Les logiciels de modlisation tels que nous les connaissons aujourd'hui ont subi une
longue volution depuis les premiers programmes du dbut des annes 60 .
La structure interne d'un logiciel capable de mettre en uvre la dmarche de
modlisation traditionnelle dcrite au paragraphe 2.3 est relativement simple. De trs
nombreux logiciels organiss de cette manire ont t crits au cours des 30 dernires
annes. Il s'en crit encore dans le cadre des thses. La majorit d'entre eux
fonctionnaient (et fonctionnent encore parfois) dans un environnement de traitement
par lots. L'utilisateur prpare un fichier de donnes d'entres (autrefois une bote de
cartes perfores), puis soumet celui-ci un ordinateur. Il obtient, aprs une priode
de temps souvent difficile prvoir, un fichier de rsultats (autrefois un simple
listing).
Fichier d'entre:
Excution:
Fichier de sortie:
1 1.0 2.0
2 2.0 3.0
11 2
21 3 5
SUBMIT XX.INP XX.OUT
NOEUDS
...
ELEMENTS
...
Assemblage
!!? erreur: pivot nul
Dplacements
...
erreur
OK
Malheureusement les possibilits ainsi offertes par les logiciels augmentant, les
connaissance requises pour les utiliser augmentent galement. On peut affirmer
qu'aujourd'hui la limitation la plus critique au dveloppement de la modlisation
rside dans le volume des informations que doivent assimiler les utilisateurs pour
tirer parti des logiciels existants.
4. Des difficults, des souhaits, des solutions ?
4.1 Un logiciel, ... , des logiciels
Une solution possible consiste crer des ensembles de logiciels (ou modules) de
taille limite, qui partagent entre eux un certains nombre de sous-programmes, de
structures de donnes, et qui respectent un nombre limit de normes communes.
Deux modules peuvent ainsi communiquer ou mme tre immergs par la suite dans
un module unique pour traiter des problmes coupls. Selon l'ampleur des
similitudes, un utilisateur ou un dveloppeur peut travailler sur l'un ou l'autre des
modules avec une priode d'adaptation plus ou moins longue. Un tel ensemble de
modules "coordonns" peut tre considr, par analogie avec les ensembles
lectroniques, comme un fond de panier logique, constitu par tout ce que partagent
les modules, dans lequel viennent "s'enficher" les diffrents cartes logiques que sont
les modules. Il faut bien sr :
choisir correctement la dfinition du fond de panier. S'il est trop contreignant,
l'ensemble des logiciels capables de s'y adapter sera limit, et, ce qui est pire,
les dveloppeurs ne respecteront pas ses normes. S'il ne l'est pas assez, les
interactions possibles entre les logiciels seront limites;
s'assurer que les logiciels (ou modules) sont bien compatibles avec le fond de
panier;
dfinir correctement la taille et les fonctions des nouveaux modules. Ceux-ci
peuvent tre trs petits et correspondre une opration lmentaire (simple
modification d'une variable, construction d'un systme d'quations, excution
des oprations correspondant un pas de temps ou une itration d'quilibre,
affichage slectif d'informations, ...). Au contraire un module peut tre un
logiciel de modlisation complet correspondant une application ou un
domaine donn.
4.2 Architecture des logiciels de modlisation [FEL 80, FEL81, AUN90, BRE 91]]
L'architecture d'un logiciel est constitue par l'ensemble des rgles, normes et
techniques d'organisation que doivent respecter tous les constituants prsents et
futurs du logiciel. Ces rgles ont pour but :
de simplifier les communications entre les divers sous-ensembles du logiciel;
de donner une certaine homognit l'ensemble des modules constitutifs du
logiciel, pour en faciliter la comprhension;
d'viter une explosion de la complexit du logiciel, mesure que celui-ci se
dveloppe;
d'aider les utilisateurs et dveloppeurs du logiciel se construire rapidement une
reprsentation mentale correcte du logiciel;
L'architecture d'un logiciel devant tre connue en dtails par tous les
dveloppeurs, et dans ses grandes lignes par les utilisateurs, il importe qu'elle soit
simple, limpide, et facile dcrire.
Celle-ci est souvent dfinie par un dcoupage logique du logiciel en blocs
fonctionnels, et par des normes de passage d'informations entre ces blocs. Ce
dcoupage permet de faire ressortir les grandes fonctions du logiciel, et de modifier
ou mme remplacer globalement un bloc fonctionnel sans se soucier des autres, pour
autant que l'on respecte les normes des interfaces.
Bloc-A
Bloc-B
Bloc-1
interfaces
Bloc-C
Bloc-2
Bloc-N
opration-3
Macro (2-3-4)
opration-1
opration-2
opration-4
. . .
4.3 Normalisation
Depuis quelques annes, dans de nombreux domaines de la technologie, les
oprations et objets qui ont atteint une certaine maturit ont fait l'objet de
normalisations systmatiques. C'est en particulier le cas en informatique (langages,
systmes d'exploitation, bases de donnes, rseaux, ...). Dans le domaine de la
modlisation cette tendance ne s'est pas manifeste. Ce manque de normalisation
conduit la r-criture inlassable de sous-programmes presque identiques, et
d'importantes difficults pour rutiliser les rsultats informatiques d'une recherche
dans le cadre d'une recherche ultrieure.
Alors que des langages scientifiques de haut niveau tels que "Mathmatica" ou
"Mathlab" s'imposent graduellement, rien d'quivalent ne voit le jour en
modlisation. Il est intressant de se demander pourquoi les chercheurs en
modlisation acceptent, volontiers semble-t-il, la norme constitue par un langage
assez simple (tel que FORTRAN), mais ne dsirent pas ou n'acceptent pas de normes
de plus haut niveau; ils jugent mme utile pour la formation que les tudiants
crivent eux-mme, de manire souvent maladroite, tous les modules informatiques
dont ils ont besoin. Ceci limite fortement la complexit des modles envisageables.
Deux types de normalisation sont souhaitables :
celle des oprateurs de base de la modlisation, certains tant trs gnraux,
d'autres tant lis des domaines ou applications spcifiques. Ce type de
normalisation permet, certes, la rutilisation de sous-programmes, mais il met
galement en lumire les similitudes, les diffrences et les complmentarits
des divers domaines d'application de la modlisation; ceci conduit souvent
de fructueuses fertilisations croises entre domaines de recherche.
celle des structures de donnes manipules par les divers oprateurs de
modlisation. Ce type de normalisation permet le couplage des programmes,
ainsi que l'criture de sous-programmes de service gnraux qui se chargent
d'une part importante de la manipulation des donnes.
Oprateur
de base
(lment du
langage de
Modlisation)
Sous-programme
Fortran
ou C
Utilisation simple
Flexibilit faible
Macro-oprateur complexe
(lment de haut niveau
du langage de Modlisation)
Macro-oprateur simple
(lment intermdiaire
du langage de
Modlisation)
A titre d'exemple, les attributs d'un objet de type "Noeud" sont les suivants :
Chaque grande classe d'application (modles bass sur les lments finis,
optimisation, reprsentation de formes gomtriques) utilise un rseau d'objets
particulier adapt ses bsoins. Par exemple, le rseau destin au calcul par lments
finis est le suivant:
racine
variables relles
variables entires
liste de noeuds
noeud noeud ... noeud
sollicitation
table d'volution
cond. limite
table d'volution
matriau
table d'volution
slection
souris
ID
Numro
Matriau
Prop. gomtriques
Prop. lmentaires
Noeuds
lment
menu
L'identifieur d'un objet peut tre obtenu par slection sur la reprsentation
graphique de l'objet au moyen de la souris. L'objet ainsi slectionn devient alors
l'objet courant du navigateur et son contenu (attributs) apparat dans un menu sur
l'cran. Le comportement d'un tel menu est le suivant: la slection la souris d'un
attribut qui contient une valeur (numrique, caractres) permet d'diter cette valeur;
celle d'un attribut de type "identifieur" selectionne l'objet correspondant et affiche le
contenu de cet objet. Ainsi, en partant d'un lment fini on peut accder ses noeuds
(1, 2), ensuite aux sollicitations ou conditions aux limites affectes l'un de ces
noeuds (3) puis ventuellement modifier le niveau de chargement (4):
Elment
Numro
Matriau
Prop. gomtriques
Prop. lmentaires
Noeuds
2
3
"CLIM_XY"
Valeurs ddl
Niveau de charge
1.0e2
lecture
ou
modification
Tables d'volution
Z
Condition Limite
Sollicitation
Numros equations
couche 5: Encapsulation
Les diffrents types d'objets peuvent tre manipuls par toutes les
oprations standards du GO: cration, destruction, modification, ... . On peut
galement dfinir d'autres oprations (mthodes) spcialises qui ne s'appliquent
qu' un type d'objet particulier. Une description de type d'objet associe aux
oprations spcifiques qui s'y appliquent dfinit un service. Un des services de
SIC les plus utiliss est la "table d'volution". Ce mcanisme est particulirement
puissant car il est utilisable dans de nombreux contextes parfois trs loigns
conceptuellement les uns des autres. Une table d'volution, au sens de SIC, est un
mcanisme d'interpolation qui, partir d'un ensemble de points de contrle et
d'un algorithme d'interpolation donn, est capable de rendre une valeur interpole
en chaque point d'un domaine 1 dimension. La description de l'objet "table
d'volution" est la suivante:
Table
d'volution
X1
X2
...
Xn
Y1
Y2
Y
Y4
(interpolation
linaire)
Y2,Y3
Y1
X
...
Yn
X1 X2
X3
X4
Mthode
y = ytevcv(identifieur_table_evolution, x)
Diffrents effets peuvent tre obtenus, en fonction du type d'objet auquel on
affecte une table d'volution, . L'affectation d'une table d'volution une "condition
la limite" ou une "sollicitation concentre" permet le pilotage du niveau des charges.
Affecter une table d'volution une proprit de matriau permet par exemple de
dfinir sa dpendance vis vis de la temprature. Dans l'exemple prcdent de
coudage de tubes, le module d'Young du matriau dpend de la temprature, ellemme variable selon la position axiale "s" vis vis de l'outil. La dtermination de la
valeur du module d'Young en un point d'integration numrique passe alors par deux
"tables d'volution" qui relient l'une la temprature la position axiale, et l'autre le
module d'Young la temprature:
T
point
d'integration
C
600
chauffage
par induction
600C
PGi
Table 1
T(s)
20
Elment
E
E(PGi)
T(s)
Table 2
E(T)
s
T
Une "table d'volution" constitue de paliers peut tre affecte un objet de posttraitement graphique du champ des ractions de contact sur la face interne du tube.
Ceci permet le filtrage des iso-couleurs: les zones en contact (raction positive)
seront traces en rouge, les zones o la raction est nulle (non contact) en bleu. Une
seconde table, linaire par morceaux, permettra de dfinir la cote z des iso-surfaces
reprsentant par exemple le niveau de la contrainte de Mises :
No couleur
Table 1
bleu: 3
bleu:
pas de contact
rouge: 1
rouge:
contact
Rn
Table 2
maillage
droul
!
!pl
2"!pl
...
...
...
...
GO
...
Commande No i
lecture des
valeurs de paramtres
Objet d'appel
recherche d'informations
dans le GO,
calcul des pointeurs
Objets d'entre
Objets modifis
traitement
remise des rsultats
dans le GO
...
...
Objets de sortie
...
Les applications de la mthode des lments finis en mcanique des solides sont
caractrises par :
1) les lois constitutives utilises :
- loi lastique linaire de HOOK
- lasto-plasticit avec des diffrents schma dcrouissage
- lasto-viscoplasticit
- ...
2) les schmas cinmatiques retenus :
- grandes/petites dformations
- hypothse cinmatique sur un pas de charge
- repre dans lequel on crit la loi de comportement
- ...
3) les types d'approximation spatiale par lments finis retenus; actuellement, le
systme. SIC reconnait les types suivants:
L2
L3
H8
TH4
T3
P6
Q4
H20
T6
TH10
Q8
P15
Dans SIC, une famille lmentaire est caractrise par le triplet (loi de
comportement, schma cinmatique, type d'lment).
Dans la version actuelle de SIC, les familles lmentaires suivantes sont
disponibles :
type de modlisation
type dlment
ElAsticit Plane
T3,Q4,T6,Q8
ElAsticit Tridimensionnelle
H8,H20,TH4,TH10,P6,P15
Diffusion Thermique Plane
T3,Q4,T6,Q8
Diffusion Thermique aXi
T3,Q4,T6,Q8
Diffusion Thermique Tridimensionnelle H8,H20,TH4,TH10,P6,P15
Echange Thermique Plane
L2,L3
Echange Thermique Axisymetrique
L2,L3
Echange Thermique Tridimensionnelle
T3,Q4,T6,Q8
Coque Mince
T3
Coque Axisymetrique
L2
Coque non-lineaire
Contact Bidimensionnel
lments de liaison
PlAsticite Plane
T3,Q4,T6,Q8
PlAsticite Axisymetrique
T3,Q4,T6,Q8
PlAsticite Tridimensionnelle
H8,H20,TH4,TH10,P6,P15
Visco-plasticit Plane
T3,Q4,T6,Q8
Visco-plasticit Axisymetrique
T
3,Q4,T6,Q8
Visco-plasticit Tridimensionnelle
H8,H20,TH4,TH10,P6,P15
Visco-plasticit g-des dformations Plane
T3,Q4,T6,Q8
Visco-plasticit g-des dformations Axi.
T3,Q4,T6,Q8
Visco-plasticit g-des dformations Tridim.
H8,H20,TH4,TH10,P6,P15
...
...
F2
!u
F1
1
3
NELT
matrice lmentaire
!F1
!u1
!F1
!u2
!F1
!u3
!F2
!u1
!F2
!u2
!F2
!u3
!F3
!u1
!F3
!u2
!F3
!u3
F3
matrice globale
Pour chaque lment, on saisit ses caractristiques et les valeurs courantes de ses
degrs de libert. Ensuite, la commande standard de SIC "calcul des forces internes"
d'un lment fini est utilise pour le calcul des forces internes dans la configuration
courante et dans des configurations perturbes. Les colonnes de la matrice
lmentaire sont alors obtenues par une formule de differences finies. Une fois la
matrice tangente lmentaire value, celle-ci est assemble dans la matrice globale,
par un appel l'oprateur d'assemblage standard de SIC. Ainsi le mode stockage de
la matrice globale et les particularits des calculs lmentaires n'interviennent que
dans les oprateurs standards de SIC. On peut donc utiliser le service "calcul d'un
matrice tangente par perturbation" pour n'importe quel mode de stockage global et
n'importe quel type d'lment. Les applications de ce service sont nombreuses, tant
en mcanique non linaire qu'en optimisation.
Voici les groupes de commandes de la version standard de SIC :
rsolution directe
Commandes pour la dfinition du problme physique
Rsolution des ingalits dues au contact-frottement
Commandes d'homognisation
Gestionnaire graphique
Parametrage - Optimisation
Oprations de manipulation de la base d'objets
Gestion de l'historique des commandes excutes
Interface avec d'autres logiciels
Commandes diverses
L'objet d'appel obit aux mmes principes que tous les autres objets du GO. Il
contient un attribut qui identifie la commande excuter et ainsi que des attributs de
diffrents types pour le stockage de valeurs des paramtres de la commande. Ds
que le systme dtecte la prsence d'un nouvel "objet d'appel", la commande requise
est excute en mode synchrone ou asynchrone. Les valeurs des paramtres peuvent
tre restitues l'aide des fonctions d'accs aux attributs standards offertes par le GO.
Un "objet d'appel" correspond ainsi une commande "compile".
Une liste d'"objets d'appel" forme naturellement une macro-commande. Une telle
liste peut tre place dans un "objet macro-commande". Le systme de macrocommandes est hirarchique en ce sens que les macros peuvent tre appeles par
d'autres macros. Les services de base de ce systme offrent la possibilit de crer, de
modifier et de mettre au point pas pas des macro-commandes.
Le systme de macro-commandes hirarchiques permet de construire
progressivement un algorithme de rsolution compliqu. Par exemple la macro
"Rsolution" suivante peut tre utilise pour la rsolution du problmes linaris
interne une itration de la mthode de Newton Raphson :
CALCULER NUMEROTATION
CALCULER LARGEUR_BANDE
CALCULER FONCTIONS_INTERPOLATION
INITIALISER VECTEUR DEPLACEMENTS 'DU'
INITIALISER VECTEUR UPAS
EXECUTER MACRO 'RESOLUTION'
On peut ensuite visualiser l'tat des contraintes sur l'cran l'aide des commandes:
Sic3> ACTUALISE DEPLACEMENTS /VECTEUR='DU'
Sic3> POSTRAITE RESULTATS-ELEMENTAIRES SIGMA-MISES
Sic3>
Nous pouvons alors rutiliser la macro 'Rsolution' dans une nouvelle macro
"Itration" qui correspond une itration de rsolution d'un problme non-linaire:
Sic3> CREER MACRO/NOM=ITERATION
ITERATION> CALCULER SOMME/OBJET_1=FC/OBJET_2=R/OBJET_3=R
ITERATION> EXECUTE MACRO 'RESOLUTION'
ITERATION> CALCULER SOMME 'DU' 'UPAS' 'UPAS'/COEFFICIENT-1=BETA
ITERATION> INITIALISER VECTEUR RESIDU /NOM='R'
ITERATION> ASSEMBLER VECTEUR FORCES_INTERNES /VECTEUR='R'
ITERATION> CALCULER NORME/VECTEUR=DU VARIABLE/NOM='NMDU'
ITERATION> CALCULER NORME/VECTEUR=UPAS VARIABLE/NOM='NMU'
ITERATION> DIVISER VARIABLE 'NMDU' 'NMU' 'NMDL'
ITERATION> TERMINER
Sic3>
dsire modifier ses macros pour suivre l'volution du champ de contraintes au fil des
pas (les parties inchanges sont en pointill). Il pourra alors apporter des
modifications la macro "Pas" (en gras dans le texte) laide de lditeur de
macros, la version finale de la macro tant la suivante:
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
PAS>
Le GE gre galement des variables globales du logiciel, ainsi que des variables
locales aux macro-commandes.
Le GE offre diffrents autres services tels que :
- la sauvegarde de l'historique (la liste de commandes d'une session).
- la cration d'un fichier espion qui permet la reprise d'une session,
- l'excution de fichiers de commandes permettent d'utiliser le logiciel en mode
"traitement par lots".
Une autre particularit du GE est la possibilit offerte l'utilisateur de spcifier, de
manire dclarative, la syntaxe et la smantique du langage de commande. Celles-ci
sont en effet dfinies dans des fichiers de texte modifiables dynamiquement
(xxxx.DSC). Elles peuvent tre adaptes une application particulire pour adhrer
la terminologie propre un mtier; par exemple en mcanique on appelle
"dplacements" les degrs de libert d'un noeud alors qu'en thermique on parlera de
"tempratures"; la diffrence est purement syntaxique alors que les oprateurs
mettre en oeuvre sont identiques. La possibilit d'dition du fichier de dfinition de la
syntaxe du langage de commande facilite galement l'internationalisation du logiciel.
On peut s'en servir galement pour limiter l'accs certains oprateurs jugs