WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Projet de mise en place d'un système de sécurité biométrique basé sur la reconnaissance d'iris embarqué dans un gab.

( Télécharger le fichier original )
par Benito Lubuma
Université de Kinshasa - Lincecié en Genié Informatique 2014
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

I.5.4. Implémentation des applications de contrôle-commande

Le développement d'une application informatique selon le concept du génie logiciel peut être découpé en plusieurs activités. Ces activités constituent le cycle de vie d'une application. Il existe plusieurs méthodes et outils qui prennent en compte les aspects techniques qui sont proposés pour la maitrise du processus de développement d'un logiciel.

Le modèle en V considéré comme le plus complet des modèles de développement logiciel grâce à l'intégration des tests à chaque étape du développement. Cependant ce modèle s'avère non approprié pour le développement des applications temps réel. D'où la création du modèle W qui est en fait la combinaison de deux modèles en V qui se suivent. Le premier V consiste à mettre en place la spécification, la conception unitaire et détaillée, les codages, les tests unitaires et d'intégration et le second V décrit tout ce qui est matériel pour permettre au système développé d'interagir avec le procédé.

La notion de spécification d'une application dans un système temps réel revient à décrire comment le système doit gérer les aspects suivants:

· La concurrence

· La synchronisation

· Manipulation du temps

I.5.4.1. Inconvénients des applications de contrôle-commande

Etant donné que le développement d'une application temps réel et embarqué n'est pas assez aisé, cela pose un sérieux problème pour la maintenance des applications déjà développée : la maintenance est presque impossible et les conséquences d'une application mal développée sont souvent tragiques. C'est pourquoi l'usage d'une bonne méthode pour le développement est très important.

I.5.4.2. Les langages de développement des applications de contrôle-commande

Les langages de développement des applications contrôle-commande sont très divers et cela dépend de l'environnement d'exécution. Pour des applications temps réel, l'environnement d'exécution est le noyau temps réel qui a trois fonctionnalités (la gestion des interruptions, l'ordonnancement, relation entre les tâches). C'est par rapport à ces fonctionnalités qu'il faudra choisir un langage de programmation approprié.

a. Besoins : le langage de programmation choisi doit respecter les besoins suivants :

· Expressions des contraintes temps ;

· Expressions et gestion du parallélisme ;

· Spécification et gestion des périphériques de bas niveau (entrée/sortie) ;

· Modularité ;

· Interfaces avec d'autres langages.

T.F.E 2015 | Benito Lubuma L2 Génie info

T.F.E 2015 | Benito Lubuma L2 Génie info

18

b. Famille de langages : il est possible de décliner les langages en trois familles distinctes selon leurs spécifications ; nous avons :

? Langages assembleurs ;

? Langages séquentiels liés à des librairies système ;

? Langages concurrents de haut niveau ; cette famille de langages concurrents est subdivisé en deux groupes : langages synchrones et langages asynchrones.

Langages assembleurs : d'une manière historique, ces langages furent longtemps les seuls utilisés pour le contexte des systèmes temps réel. Ils dépendaient extrêmement de la nature de l'architecture cible (matériel et système d'exploitation) mais leurs plus grands inconvénients étaient de ne pas offrir une abstraction possible : difficulté de développement de la maintenance et l'impossibilité d'évolution. Actuellement, ces langages sont considérés comme proscrits d'une manière générale, sauf pour le développement des petites fonctionnalités très spécifique apportant des améliorations des performances.

Langages séquentiels liés à des librairies système : ce sont des langages considérés comme étant de standard tels que le C, C++, fortran... Ces langages offrent un grand pouvoir d'abstraction et une certaine indépendance du matériel mais, ils doivent faire appel à des librairies systèmes spécifiques pour une bonne manipulation des processus. Souvent ces langages posent un problème de standardisation des appels système. Le noyau temps réel qui supporte ce type des langages doit être complet car ces langages n'intègrent aucune spécificité multitâche.

Langages concurrents de haut niveau : ce sont des langages généralistes qui permettent de décrire une application en termes de tâches. Ces langages ont les avantages d'un haut pouvoir d'abstraction, d'une indépendance totale des architectures et systèmes cibles. Parmi ces langages nous pouvons citer Java et Ada qui sont les plus aboutis. Ainsi, le noyau temps réel peut être réduit en ne comportant que la partie gestion des interruptions et l'ordonnancement. Ces langages sont à privilégier lorsque d'autres contraintes ne rendent pas leurs choix impossibles.

En ce qui concerne les langages concurrents de haut niveau d'abstraction de type synchrone, nous pouvons dire que ce sont des langages qui donnent non seulement la possibilité de décrire les fonctionnalités du programme mais aussi l'enchaînement de différentes parties. Ces types de langages sont souvent associés à des langages standards pour pallier au problème de manque d'aspect fonctionnel. Pour ces langages, le noyau peut ne comporter qu'une seule couche, celle de la gestion des interruptions qui est liée du côté matériel. De ces langages nous pouvons citer Lustre, Esterel, Signal...En ce qui concerne ceux qui sont de type asynchrone nous pouvons dire que ce sont des langages qui ont la difficulté de garantir le déterminisme. Parmi ces langages nous pouvons citer SDL, UML...

T.F.E 2015 | Benito Lubuma L2 Génie info

19

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui vivent sont ceux qui luttent"   Victor Hugo