Examen DEA-ENSERB option parallélisme Environnements de programmation pour le parallélisme Serge Chaumette 6 mars 2000 Durée 1 heure Tous documents autorisés I. Exercices ============= 1. Outils pour la mise au point -------------------------------- Expliquer le principe de représentation de traces d'exécutions d'applications parallèles utilisé dans le diagramme de Kiviat, par exemple pour montrer la charge des processeurs d'une machine. 2. Gamma --------- Etant donné un ensemble de nombre, on souhaite en calculer la somme. Déduire un programme Gamma qui réalise cette opération. 3. Java -------- Quels sont selon vous les avantages du langage Java par rapport au langage C dans le cadre de la programmation parallèle et/ou distribuée ? (on présentera la réponse sous la forme de deux colonnes, une par langage) 4. CCS ------- Proposez une équivalence plus faible que la bisimulation faible (plus faible = moins fine = qui confond plus de processus). II. Problème ============= On s'intéresse aux agents mobiles 1. Proposer une architecture logicielle pour un système d'agents mobiles. On indiquera en particulier les démons mis en oeuvre et les APIs. 2. A titre d'exemple, on vous demande de développer une application qui calcule le produit scalaire de deux vecteurs, en découpant cette opération entre plusieurs agents qui se répartissent sur plusieurs machines du réseau. 3. Pourquoi CCS n'est-il pas adapté à la modélisation des agents mobiles ? 4. Décrivez ce que devrait être selon vous un environnement complet pour le développement et la mise au point d'applications à base d'agents mobiles.