Conception et compilation du langage AMPERE 2 : langage modulaire pour la programmation en physique

par Hafid Sidhoum

Thèse de doctorat en Informatique et Automatique Appliquées

Sous la direction de Louis Frécon.

Soutenue en 1991

à Lyon, INSA , en partenariat avec DELIA - Développements et Langages Informatiques avancés (laboratoire) .


  • Résumé

    Le langage AMPÈRE 2, à l'instar d'Ampère, est destiné à accroître la clarté et la fiabilité des programmes scientifiques à dominante physique. Pour cela, il intègre la rigueur de l'analyse dimensionnelle, la gestion automatique des unités de mesure et la puissance du calcul en intervalles. Avec l'adoption des identificateurs éclatés, AMPÈRE 2 répond au problème de l'évolution du langage face aux demandes des utilisateurs. Pour favoriser les développements logiciels importants, nous avons inclus au langage Ampère 2 la notion de composant logiciel (module) ainsi qu'une généricité des types physiques. La combinaison de ces mécanismes rend réutilisable certaines parties d'une application sous forme de bibliothèques, en garantissant la fiabilité d'appel mais sans instanciation. Enfin, nous avons retenu pour AMPERE 2 le concept des environnements, grâce auquel l'utilisateur peut enrichir le contexte local, permettant le partage inter-projets d'une application, d'où une grande clarté au niveau conceptuel. Le langage a été défini en collaboration avec des physiciens pour mieux prendre en compte leurs desiderata. Le mémoire présenté est consacré d'abord à la discussion détaillée d'AMPÈRE 2. Il traite ensuite de la réalisation sous UNIX du compilateur correspondant ; son développement en LET a surtout facilité l'analyse sémantique

  • Titre traduit

    = Design and compilation of AMPERE 2, a modular programming language for physics


  • Résumé

    AMPERE 2 is a programming language following ampere,an older language devoted to clearness and reliability of scientific programs. For that purpose, amperes integrate dimensional analysis, automatic management of physical units and powerful intervals computation. To prevent the evolution problem introduced by a stiff definition facing various users needs and requests, AMPERE 2 implements the splitted identifiers. So, to define a new procedure is actually to introduce a new instruction. To support significant software developments, we include to AMPERE 2 language the software component notion (module) as well as a genericity for physical types. Combining these mechanisms makes some parts of an application reusable as libraries, insuring the call reliability without instantiation. Finally, we retained for AMPERE 2 language an environment concept, with which the user can enlarge the local context, which permits inter-projects sharing and conceptual clarification. The language was defined with physicians, to implement their needs. The present memory is devoted, first to the language presentation and discussion, second to its associated compiler achieved under UNIX: its development in LET highly facilitated the semantic analysis.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (145 p.)
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr.

Où se trouve cette thèse ?

  • Bibliothèque : Institut national des sciences appliquées (Villeurbanne, Rhône). Service Commun de la Documentation Doc'INSA.
  • Disponible pour le PEB
  • Cote : C.83(1343)
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.