Mise à jour du 20/12/2010 par Idelways
Une équipe de chercheurs de l'Université de l'Illinois vient de sortir un outil interactif destiné à faciliter l'écriture de programmes Java pouvant bénéficier simultanément de la puissance de calcul de plusieurs processeurs.
Il s'agit de DPJizer, un plugin pour l'IDE Eclipse. Cette même équipe avait déjà développé des extensions au langage Java destinés à prévenir les problèmes usuels du développement d'applications parallèles, des extensions rendues publiques fin octobre (lire ci-avant).
L'équipe du projet décrit ce plug-in comme étant le premier outil interactif, pratique et à effet d'inférence pour un système d'effet moderne et orienté objet.
Selon ces universitaires, un système d'effet (un système formel qui décrit les effets de calcul de programmes informatiques, tels que les effets secondaires) nécessite de la part des développeurs de nombreuses annotations.
Des annotations qu'il faut synchroniser continuellement avec son code.
Une tâche fastidieuse que DPJizer automatise en analysant l'intégralité du programme pour y inférer des annotations DPJ.
Les chercheurs trouvent même les annotations inférés par DPJizer plus précises que celles faites par les développeurs manuellement.
Pour mémoire, le projet DJP, pour Deterministic Parallell Java a pour but de fournir une sémantique « déterministe par défaut » à un langage de programmation impératif et orienté objet à vérification de type à la compilation.
Le déterminisme dont il est question signifie que le programme produit à toutes les exécutions le même résultat visible pour une même entrée donnée. A moins que le développeur en décide autrement.
Le projet, son code source et son guide de mise en route sont disponibles en téléchargement sur Github
Source : le site du projet
Et vous ?
Avez-vous essayé les exetensions Deterministic Parallell Java ? Le plugin DPJizer vous semble-t-il intéressant ?
En collaboration avec Gordon Fowler
Java : des extensions pour la programmation parallèle
imaginées par des chercheurs de l'Université de l'Illinois
Des chercheurs de l'université de l'Illinois, à Urbana-Champaign, ont développé des extensions au langage Java destinés à prévenir les problèmes usuels du développement d'applications parallèles.
Distribué sous licence open-source, Deterministic Parallel Java (DJP) aide les développeurs à prévenir les bugs dûs à la programmation parallèle, en plein essor avec le passage massif de l'informatique aux processeurs multi-coeurs.
Ce projet est le premier du genre qui garantit la sémantique déterministe sans vérification à l'exécution pour un langage orienté objet à usage général (non spécifique).
Deterministic Parallel Java est concrètement un ensemble d'extensions au langage Java sous forme de compilateurs et un moteur d'exécution (runtime) pour réaliser des programmes qui produiraient toujours le même résultat visible pour une même entrée.
C'est aussi le premier à utiliser la vérification des types à la compilation pour des opérations parallèles sur des tableaux de références (pointeurs).
Ce comportement déterministe dans DPJ fonctionne par défaut, sauf si le développeur décide explicitement que son programme fonctionnera autrement.
Le résultat est donc une variante parallèle du langage Java, sûre et modulaire, qui permettrait aux développeurs de porter des applications séquentielles vers des systèmes à cœurs multiples.
L'équipe du projet ne compte pas s'arrêter là et travaille sur un C++ parallèle.
Code source, binaires et documentation sont téléchargeable sur le site de l'Université de l'Illinois
Source : le site du projet
Et vous ?
Qu'en pensez-vous ? Ce projet a-t-il de l'avenir ?
Faites-vous du développement parallèle ? Avec quels langages ? Quels sont vos retours d'expériences ?
En collaboration avec Gordon Fowler
Java : des extensions pour la programmation parallèle
Imaginées par des chercheurs de l'Université de l'Illinois
Java : des extensions pour la programmation parallèle
Imaginées par des chercheurs de l'Université de l'Illinois
Le , par Idelways
Une erreur dans cette actualité ? Signalez-nous-la !