Langage ADA ADA s Objectif : aborder les concepts fondamentaux du génie logiciel (robustesse du code, modularité, réutilisabilité, portabilité, généricité
Previous PDF | Next PDF |
[PDF] Le langage Ada Introduction Ada en quelques mots Ada en - LIRMM
D efinir un sous-type d'un type r eel flottant, c'est en restreindre les bornes Exemple : subtype positive_float is float range 0 float'last Le langage Ada ISIM-
[PDF] Syntaxe de ADA - MIS
Langage ADA ADA s Objectif : aborder les concepts fondamentaux du génie logiciel (robustesse du code, modularité, réutilisabilité, portabilité, généricité
[PDF] Analyse et programmation langage ADA Informatique 1ère - grug
langage ADA Informatique Entrées–sorties telles qu'elles sont définies dans Ada 6 Exemple de chaines de caractères with Ada Text_IO; use Ada Text_IO;
[PDF] Analyse et programmation langage ADA Informatique - grug
withAda Text_IO ; use Ada Text_IO -- procedure Exemple is Original : File_Type ; -- Deux variables fichier texte Copie :
[PDF] Ada 95 pour le temps réel et les systèmes distribués - Adalog
La notion de validation est maintenant tellement liée au langage Ada qu'il n' existe plus de compilateur non validé Il est de règle, 5 ans après la parution d' une
[PDF] Introduction au langage Ada
2008 Ingénierie du logiciel avec Ada – N KERZAZI Séance 2 Introduction au langage Ada ✓ Pourquoi Ada ? ✓ Évolution des langages de programmation
[PDF] Premiers pas
with Ada Text_io; procedure exemple1 is maNote:Natural; begin Ada est une suite de caractères (texte écrit dans le langage Ada) – constitué de plusieurs
[PDF] ACCOV_01_7 annexe Ada - Département Informatique - Cnam
Claude Kaiser, octobre 2001 Annexe 1 : résumé du langage Ada ACCOV_B 2001-2002 CNAM - département informatique 7 1 option réseaux, systèmes et
[PDF] langage c pdf
[PDF] langage c somme de 2 entiers
[PDF] langage c++
[PDF] langage calculatrice ti-83 plus
[PDF] langage de programmation pdf
[PDF] langage de texto
[PDF] Langage des fonctions, algébrique et lié au graphique
[PDF] langage et mathématiques
[PDF] langage familier courant soutenu exercices
[PDF] langage javascript cours
[PDF] langage javascript debutant
[PDF] langage mathématique de base
[PDF] langage naturel maths
[PDF] langage pascal exercices corrigés pdf
1Langage ADA
ADA nObjectif : aborder les concepts fondamentaux du génie logiciel (robustesse du code, modularité, réutilisabilité, portabilité, généricité, portabilité, spécifications, sureté de fonctionnement, ...) et leur illustration dans le langage ADA nIntérêts
l sensibilisation aux bonnes pratiques de programmation et aux mécanismes intégrés aux langages permettant de "bien" programmer l ADA est utilisé dans l"industrie pour des applications nécessitant robustesse et fiabilité nRéférences
l Programmation séquentielle avec ADA95, P. Breguet & L. Zaffalon,Presses Polytechniques et Universitaires Romandes
lADA95, P. Gabrini, De Boeck University
l Méthodes de génie logiciel avec ADA95, J.P. Rosen, InterEditions2Langage ADA
Ressources en ligne sur ADA
nhttp://www.adahome.com/ : un site très complet contenant documentation, cours, tutoriels, le manuel de référence, liens vers d"autres ressources de développement (compilateurs , ...), information autour du langage et de ses applications, offres d"emploi, ... n http://www.ada-france.org/ : un site francophone du même type que adahome n http://directory.fsf.org/devel/compilers/ : page du site de la Free Sofware Fondation où on peut trouver entre autres un compilateur pour ADA95 n http://cuiwww.unige.ch/db-research/Enseignement/analyseinfo/ Ada95/ BNFindex.html#3 : un site avec les diagrammes syntaxiques de ADA95 n http://www.adaic.com/standards/05rm/html/RM-TTL.html : manuel de référence en ligne3Langage ADA
ADA et les autres langages (1/2)
nLangages de bas niveau : les langages assembleur, reflètent les instructions du processeur et leur organisation en mémoire l très peu lisible pour les programmeurs, expressivité très pauvre lles données sont des registres mémoire, pas de contrôle sur les types lorganisation du programme à base de jump (goto) source potentielle de bugs lun programme ne tourne que sur un type de processeur nLangages de haut niveau (la plupart des langages)
l introduisent une organisation du code qui facilite l"écriture, la compréhension, le contrôle des instructions, la maintenance et la réutilisation (modularité, généricité, encapsulation) lintroduisent la possibilité de vérifier voire de prouver le code sans l"exécuter (types, programmation structurée) n Langages de très haut niveau (Prolog, Lisp, langages spécialisés) l totalement indépendants du matériel et très abstraits lsouvent déclaratifs ladaptés à une tâche particulière4Langage ADA
ADA et les autres langages (2/2)
FORTRAN
(Formula Translator)1957ALGOL
(Algorithmic Language)1958BASIC
(Beginner"s All PurposeSymbolic Instruction Code)
1964PL/I (Programming Language I) 1964
PASCAL
1968SMALLTALK
1970B 1970C
1971
ADA
1979JAVA
1995SIMULA
1969COBOL
(Common BusinessOriented Language)
1960LISP (List Processing) 1958
PROLOG
(ProgrammationLogique)
1971C++
19835Langage ADA
Citations
nEdsger Wybe Dijkstra, Prix Turing de l"ACM (Association for Computing Machinery) en 1972 pour sa science et son art des langages de programmation nL"informatique n"est pas plus la science des
ordinateurs que l"astronomie n"est celle des télescopes. n Si tester un programme peut être une technique très efficace pour montrer la présence de bogues, elle est désespérément incapable d"en montrer l"absence. n La programmation par objets est une idée exceptionnellement mauvaise qui ne pouvait naître qu"en Californie.6Langage ADA
Historique de ADA
n1975 Le Département of Defense américain décide de développer un nouveau langage pour remplacer les centaines de langages utilisés jusque là dans les logiciels militaires. Ce langage devra être le plus sur possible dans son fonctionnement et faciliter au maximum la programmation pour répondre aux problèmes de qualité et de coût des logiciels. Ce langage devra aussi être le plus général possible pour remplacer la plupart des langages utilisés. Un grand concours est lancé, remporté par Honeywell-Bull à Paris pour son langage baptisé ADA n1983 Première version d"ADA (ADA83)
n1995 Deuxième version d"ADA (ADA95), avec en particulier une
évolution complète vers la technologie objet (premier langage objet normalisé)7Langage ADA
ADA, La prem ière inform aticienne
nLady Adélaide Augusta Lovelace (1815-1852), fille de Lord Byron, poête fameux. Elle étudia les mathématiques et collabora avecCharles Babbage sur sa Machine
Analytique, qui implémentait
mécaniquement les principaux mécanismes qu"on trouve dans les ordinateurs. Ada (son diminutif) est réputée avoir écrit le premier programme informatique, qui devait calculer les termes de la suite deBernoulli.
8Langage ADA
ADA dans l'industrie
nADA est largement utilisé partout où sont requis des logiciels très fiables : l transports (Airbus, Boeing, TGV, ...) lsystèmes spatiaux (ArianeV, Colombus, ...) llogiciels des systèmes bancaires lsystèmes militaires (en particulier américains à partir des années 80) l... n ADA est utilisé pour les systèmes répartis, du fait de la qualité et de la robustesse de sa gestion des processus l systèmes de télécommunication (GPS, ...) n ADA est aussi utilisé comme langage généraliste, en particulier pour les très gros logiciels du fait de sa modularité9Langage ADA
De l'intérêt de bien program m er...
10Langage ADA
Principes du génie logiciel (1/2)
nNaissance du génie logiciel (ou ingénierie des logiciels) : l première période du développement de logiciel, l" artisanat (jusque fin des années 70) : chacun écrit son code dans son coin, sans norme, sans insérer son travail dans un cycle industriel et sans trop se préoccuper de ce qui se passe une fois le logiciel écrit l deuxième période du développement de logiciel, l" industrie : un logiciel est développé en équipe, selon des spécifications pré-existantes, selon des méthodes de développement précises en tenant compte des nécessités de fiabilité, évolutivité, réutilisabilité, ... l le terme génie logiciel (software engineering) est né en octobre 1968 à l"occasion d"une conférence à Garmisch-Partenkirchen nLe génie logiciel vise
l développer les bons logiciels (correspondant aux besoins, fiables, ...) là bien développer les logiciels (facilité de développement, de maintenance et d"évolution, ...)11Langage ADA
Principes du génie logiciel (2/2)
nLe génie logiciel fournit : l des modèles de développement, permettant d"encadrer et d"assister la conception, le développement, l"évolution d"un logiciel ldes méthodes d"analyse et de conception ldes méthodes de spécification et de test ldes méthodes et outils pour évaluer la qualité des logiciels n Modèles de développement : modèle en cascade, modèle en V, modèle en spirale, ... n Méthodes d"analyse et de conception : Merise, OMT, méthodes basées sur UML, ... n Méthodes de spécification et de test : méthode VDM, langage Z et méthode B, ... n Méthodes d"évaluation de la qualité : facteurs de qualité12Langage ADA
Facteurs de qualité coté utilisateur
nFiabilité : pas de plantage, réponses correctes du logiciel lNécessite
: robustesse du langage, performance des compilateurs nIntégrité : protection des données
lNécessite
: traçage et contrôle des accès nErgonomie : facilité d"utilisation
lNécessite
: techniques de l"IHM n Efficacité : minimisation des ressources machine utilisées lNécessite
: efficacité du codage, de la compilation13Langage ADA
Facteurs de qualité coté développeur (1/2) nMaintenabilité : facilité de correction du code sans cascade de modifications ou apparition de nouvelles erreurs lNécessite
: modularité, documentation, normalisation du code n Extensibilité : possibilité de modifier et de faire évoluer facilement le logiciel, et de façon fiable lNécessite
: modularité, documentation, normalisation du code n Réutilisabilité : possibilité d"utiliser en partie le logiciel pour une autre application lNécessite
: modularité, généricité du code, langage indépendant des plateformes14Langage ADA
Facteurs de qualité coté développeur (2/2) nPortabilité : indépendance du logiciel par rapport à l"environnement matériel, au système d"exploitation, au compilateur lNécessite
: indépendance du langage par rapport aux plateformes n Lisibilité : accessibilité du code qui doit être compréhensible rapidement, documentation facile à construire lNécessite
: langage verbeux, normalisation du code, outils de documentation n Testabilité : facilité de vérification du code et de test fonctionnels lNécessite
: modularité, tracabilité, documentation15Langage ADA
La norm alisation
nUn langage est normalisé quand il répond à des règles de syntaxes formelles reconnues et imposées par une norme n Un langage normalisé assure que n"importe quel programme écrit (correctement) dans ce langage pourra être compilé par n"importe quel compilateur conforme à la norme n La plupart des langages ne sont pas normalisés : l C possède une norme mais qui n"est pas toujours respectée lJava possède une norme qui n"est pas respectée par Microsoft n ADA est un des rares langages généraliste normalisé l les compilateurs ADA sont certifiés par des tests de validité16Langage ADA
Syntaxe de base de ADA (1/3)
nLe jeu de caractères de ADA est celui de la norme ISO10646:2003
n Les identificateurs : nATTENTION
: pas de différence entre majuscule et minuscule! n Dans les chaines de caractères on peut aussi utiliser d"autres symboles de la norme n Les caractères spéciaux (délimiteurs et opérateurs) : identifier ::= letter { underline | alphanumeric } underline ::= _ alphanumeric ::= digit | letter digit ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 letter ::= A | B | ... | Z | a | b | ... | z " # & " ( ) * + , - . / : ; < > = _17Langage ADA
Syntaxe de base de ADA (2/3)
nLes délimiteurs et opérateurs longs : n Les séparateurs sont : l"espace, la tabulation, la fin de ligne n Les caractères et chaînes de caractères : n Les commentaires : débutent par -- character ::= "graphic_character" string ::= "{string_element}" string_element ::= "" | non_quotation_mark_graphic_character graphic_character ::= un des symboles de la norme ISO 10646:2003 non_quotation_mark_graphic_character ::= un graphic_character qui n"est pas "18Langage ADA
Syntaxe de base de ADA (3/3)
nLes nombres : nExemples
1_000 10E410e+4