Cours en pdf environnement ADA gratuit


Télécharger Cours en pdf environnement ADA gratuit

★★★★★★★★★★3.5 étoiles sur 5 basé sur 1 votes.
Votez ce document:

Télécharger aussi :


CHAPITRE 7

ENVIRONNEMENT Ada

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-1--2002-01-17-12:11

 

ENVIRONNEMENT DE SUPPORT D'Ada

Un langage est utile s'il existe de bons outils de support à l'environnement de développement

? L'importance de tels outils a été prise en compte dès les premiers développements du langage Ada

(1978) ([APSEs] Ada Programming Support Environnements)

? Le rapport STONEMAN (1980) définit les besoins d'APSE pour Ada  

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-3--2002-01-17-12:11

LE RÔLE D'UN ENVIRONNEMENT DE SUPPORT À LA PROGRAMMATION

? Un bon environnement de développement peut aider à toutes les phases du cycle de vie d'un logiciel:

– Définition des besoins

? Outils d'analyse des besoins et de gestion de projet

– Spécifications

? Outils de spécifications formelles

–   Conception (Désign)

? Outils et langage de désign

–   Codage

? Éditeurs structurés, gestionnaire de configuration de logiciel

–   Test

? Outils de tests des composantes

–   Maintenance

?  Outils de gestion et de contrôle de code source

--Ada70-4--2002-01-17-12:11

POURQUOI STANDARDISER UN PSE?

Des PSEs normés augmentent la productivité et la portabilité

?  UNIX démontre le besoin de PSEs normés et portables

?  PSEs se basent sur des environnements hôtes/cibles ? Trois niveaux d'APSEs:

–   Noyau APSE

–   APSE minimal

–   APSEs

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-5--2002-01-17-12:11

 

APSE Minimal

Tel qu'énoncé dans STONEMAN, un MAPSE inclut des outils tels que:

–   un Éditeur de texte et un PP [Pretty Printer]

–   un Compilateur et Éditeur des Liens

–   outils statiques et dynamiques d'analyse

–   gestionnaire de fichiers

–   interpréteur de commande

–   gestionnaire de configuration

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-7--2002-01-17-12:11

 

COMPILATEUR gnat

   

                                                 Aide -- Éditeurs                   

? Aide, documentation

info-- fait appel à InfoExplorer

? Éditeur

vi NomFichier

emacs & xemacs -u emacs &

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-11--2002-01-17-12:11

 

FORMATEUR DE PROGRAMMES

? afmt est un utilitaire pour formater les fichiers sources d'Ada selon certaines règles d'indentation et d'utilisation des majuscules/minuscules

? Les conventions sont des abréviations des mots suivants:

firstupper

Première lettre des identificateurs ou mots réservés en majuscule

mixed

Première lettre des identificateurs  ou partie des identificateurs précédé d'un _ ou mots réservés en majuscule

lowercase

Tout en minuscules

uppercase

Tout en majuscules

same

Mots réservés ou identificateurs non-altérés

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-13--2002-01-17-12:11

 

FORMATEUR DE PROGRAMMES

with NEW_ALERT_SYSTEM; package EMERGENCY_ALERT_SYSTEMis

afmt -i upp -r low -n 3 alert.c              type EMERGENCY_ALERTis new

NEW_ALERT_SYSTEM.ALERTwith private; procedure HANDLE ( EA : in out EMERGENCY_ALERT); procedure DISPLAY (EA : in EMERGENCY_ALERT;

ON : in NEW_ALERT_SYSTEM.DEVICE); procedure LOG ( EA : in EMERGENCY_ALERT); end  EMERGENCY_ALERT_SYSTEM;

with New_Alert_System; package EMERGENCY_Alert_System is

type Emergency_Alert is new

NEW_ALERT_SYSTEM.ALERTwith private; procedure Handlle ( EA : in out EMERGENCY_ALERT); procedure DISPLAY (EA : in EMERGENCY_ALERT; ON : in NEW_ALERT_SYSTEM.DEVICE); procedure Log ( EA : in EMERGENCY_ALERT); end  EMERGENCY_ALERT_SYSTEM;

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-15--2002-01-17-12:11



 

COMMANDE ada

Compilation & Édition des Liens

 

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-17--2002-01-17-12:11

 

COMMANDE ada

Édition des Liens

Options

Description

Défaut

-b NomUnité

Produit un module exécutable en

utilisant NomUnité comme nom d'unité principale

 

-m

Compile les fichiers sources et produit un module exécutable dont le nom est le nom de la dernière unité

 

-e

Produit un module objet si l'option -b ou -m est spécifiée.

 

-i NomFIchier

Inclure un module objet

 

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-19--2002-01-17-12:11

GESTIONNAIRE DE FICHIERS

(BIBLIOTHÈQUES)

? Une bibliothèque d'Ada est une liste de bibliothèques de programmes appelées sousbibliothèque (sous-librairie)

? Le compilateur d'Ada utilise ces sous-bibliothèques pour tenir à jour son information sur une application

? Le système Ada/9000 contient donc des commandes pour la gestion des bibliothèques de

programmes Ada

? Il est fortement recommander de ne pas utiliser les commandes de UNIX telles : rm, mv cp pour la gestion de fichiers sources

--Ada70-20--2002-01-17-12:11

GESTIONNAIRE DE FICHIERS

(BIBLIOTHÈQUES)

? Les principales commandes pour la gestion des bibliothèques sont:

afilemv

Renomme le fichier source compilé dans la bibliothèque

alibinit

Initialise une sous-bibliothèque

alibchk

Vérifie une sous-bibliothèque

alibmv

Renomme une sous-bibliothèque

alibcp

Copie une sous-bibliothèque dans une autre

alibrm

Élimine une sous-bibliothèque

aunitmv

Renomme ou déplace des unités de compilation d'une sous-bibliothèque à une autre

aunitcp

Copie une ou plusieurs unités de compilation d'une sous-bibliothèque à une autre

aunitrm

Élimine une ou plusieurs unités de compilation d'une sous-bibliothèque

areport

Affiche l'information au sujet des unités compilées

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-21--2002-01-17-12:11

 

GESTIONNAIRE DE BIBLIOTHÈQUE DE GESTIONNAIRE DE BIBLIOTHÈQUE DE

PROGRAMMES ET CONFIGURATIONSPROGRAMMES ET CONFIGURATIONS

La plupart des gros systèmes logiciels évoluent dans le temps en une "famille arborescente" de versions

? Les outils nécessaires:

–   outils d'archivage de version (e.g. UNIX rcs)

–   compilation automatisée (e.g. UNIX make)

? Ada spécifie quand une recompilation est nécessaire, mais ne spécifie pas comment les implantations des autres bibliothèques sont gérés

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-23--2002-01-17-12:11

Outils de Développement - MAKE

? make est un utilitaire de UNIX, qui à partir d'un fichier de commandes makefile fait appel au compilateur approprié pour compiler des fichiers sources et ensuite, s'il y a lieu effectuer l'édition des liens.

? La commande amakedep produit un fichier makefile qui peut être utilisé par la commande make en tenant compte des dépendances des différents fichiers sources contenant des programmes Ada.

--Ada70-24--2002-01-17-12:11

Outils de Développement - MAKE

– h



Aide

Fichiers

Balaye tous ces fichiers pour créer les dépendances

– F

Indique d'écraser un fichier makefile existant

– a

Indique d'ajouter les Fichiers au makefile

– i

Ignorer certaines dépendances provenant du pragma INLINE

– g

Ignorer certaines dépendances provenant d'unités génériques

– b Nom

Spécifie le nom de l'unité principale pour l'édition des liens

– o Nom

Spécifie le nom du module exécutable contenant l'unité principale

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-25--2002-01-17-12:11

Outils de Développement - MAKE

? La compilation est lancée par la commande make

$ amakedep

$ make

$ make -f MonMakefile

$ make -f MonMakefile

? Symboles spéciaux (Variables d'environnement)

ADAFLAGS             Chaîne de caractères contenant les options de compilation

ADABINDFLAGS      Chaîne de caractères contenant les options d'édition des liens

              ADAINITFLAGS      Options de alibinit

ADARESOLVE        =no ne regarde pas les dépendances dans les sous-librairies

--Ada70-26--2002-01-17-12:11

Ada COMME un langage PDL

[PDL : Program Design Language] est un outil pour développer, raffiner et concevoir les documents d'un logiciel. De tels outils sont:

–   diagrammes structurés

–   pseudo-code

–   organigrammes

? Idéalement, la conception d'un programme devrait être suffisamment complète de sorte que la codage dans un langage approprié ne devrait requérir aucun changement.

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-27--2002-01-17-12:11

 

OUTILS DE TESTS ET DÉBOGUAGE

Ces outils incluent

–   compilateurs incrémentaux / interpréteur

–   profileurs

–   débogueurs statique et dynamique

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-29--2002-01-17-12:11

 

Débogueur statique

Les débogueurs statiques analysent le code source et détectent les bogues potentiels tels que:

–   les variables inutilisées ou non-initialisées

–   les violations de contraintes

–   les verrous mortels dans les tâches

? L'efficacité des débogueurs statiques peut grandement augmenter l'efficacité en incorporant dans le programme des assertions que le débogueur peut vérifier

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-31--2002-01-17-12:11

 

DÉBOGUEUR dynamique

   

RÉFÉRENCES CROISÉES

Produire une liste des symboles et leurs références dans les différentes unités d'Ada ? Utilisation: axref Unité

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-35--2002-01-17-12:11

 

COMPILATEURS CROISÉS ET SYSTÈMES

EMBARQUÉS

? Les compilateurs Ada et les outils de développement peuvent être trop complexes pour être installés et exécutés dans les systèmes cibles embarqués.

? Il existe des compilateurs croisés (cross-compiler), et des simulateurs de systèmes cibles pour développer et tester sans le système cible

Ingénierie du Logiciel avec Ada --? Louis Granger --Ada70-37--2002-01-17-12:11



148