Ingénieur développement logiciel - Interfaces graphiques et VS code
Contract type : Fixed-term contract
Level of qualifications required : Master's or equivalent
Fonction : Temporary scientific engineer
Context
L’équipe de recherche CONVECS [L1] (INRIA, Univ. Grenoble Alpes, Grenoble INP, CNRS) étudie
la modélisation et la vérification formelle de systèmes distribués, en proposant des langages de
nouvelle génération pour décrire formellement le comportement et les propriétés de correction de ces
systèmes.
Ces langages et les outils d’analyse associés sont implémentés dans la boîte à outils CADP [L2] [L3],
qui fournit une palette complète de fonctionnalités assistant le processus de conception : compilation et
prototypage rapide, simulation interactive et guidée, vérification par équivalences et logiques
temporelles, génération de tests de conformité avec garanties de couverture, évaluation de
performances, etc.
Les outils CADP sont utilisés pour de nombreuses applications et leur développement a été salué par
plusieurs prix scientifiques, dont le prix de l’innovation de l’Académie des sciences (2021) et le
premier Test-of-Time Tool Award d’ETAPS (2023).
Le projet proposé consiste à améliorer CADP du point de vue des utilisateurs.
[L1] https://convecs.inria.fr
[L2] https://cadp.inria.fr
[L3] https://en.wikipedia.org/wiki/Construction_and_Analysis_of_Distributed_Processes
Assignment
Le projet proposé consiste à améliorer CADP du point de vue des utilisateurs. Il comporte trois parties
indépendantes.
1. Protocole de téléchargement
Actuellement, le logiciel CADP est distribué en utilisant le protocole FTP (File Transfer Protocol)
[1a], qui est ancien et de plus en plus souvent filtré par les navigateurs et les gestionnaires de réseau.
L’objectif est de proposer une solution de remplacement, basée sur le protocole HTTPS (Hypertext
Transfer Protocol Secure) [1b].
Cette solution sera implantée dans l’outil INSTALLATOR [1c] qui permet de télécharger et d’installer
automatiquement CADP sur une machine ou une grille de calcul. Il s’agira de modifier ponctuellement
le code de cet outil, écrit dans le langage de scripts Tcl/Tk [1d], afin de remplacer FTP par HTTPS.
2. Amélioration des interfaces graphiques de CADP
Les outils de base de CADP fonctionnent en ligne de commande, mais plusieurs interfaces graphiques
ont été développées pour permettre de les utiliser de manière plus conviviale : EUCALYPTUS [2a],
BCG_DRAW [2b], BCG_EDIT [2c], Distributed MONITOR [2d], INSTALLATOR [1c],
CONTRIBUTOR [2e] et OCIS [2f].
Afin d’être portables sur divers systèmes d’exploitation (Linux, macOS, Solaris, Windows), ces
interfaces ont été développées dans le langage de scripts Tcl/Tk [1d] et régulièrement maintenues au fil
du temps.
L’objectif est d’adapter ces interfaces pour permettre leur fonctionnement sur les écrans récents à haute
résolution. En effet, les fenêtres de ces interfaces ont souvent une taille fixe, qui ne permet pas
d’utiliser tous les pixels disponibles et qui conduit à des tailles de polices trop petites pour les yeux de
certains utilisateurs.
Le travail proposé consiste à faire évoluer ces interfaces par des modifications bien ciblées, afin
d’autoriser les fenêtres de taille variable et d’apporter la possibilité de zoom sur le contenu de ces
fenêtres.
3. Connexion à l’environnement VS Code
Visual Studio Code (VS Code en abrégé) [3] est un éditeur de code source très populaire. Développé
par Microsoft et disponible en code libre ouvert sous Windows, macOS et Linux, VS Code reconnaît la
plupart des langages de programmation existants.
L’objectif est d’intégrer dans VS Code les différents langages de CADP (LNT, MCL, SVL, etc.). Dans
un premier temps, le travail consistera à étudier VS Code et à comprendre ses interfaces qui permettent
de connecter de nouveaux langages.
Ensuite, il faudra réaliser des prototypes permettant de connecter un ou deux langages simples de
CADP et s’assurer que le résultat correspond aux attentes de utilisateurs.
Enfin, il faudra automatiser la production de connecteurs pour VS Code en étendant les outils SECT de
l’équipe CONVECS qui permettent déjà de connecter automatiquement les différents langages de
CADP à d’autres éditeurs : Emacs, Gnome GTK, Jedit, Nano, Notepad++, Sublime Text et Vim.
[1a] https://fr.wikipedia.org/wiki/File_Transfer_Protocol
[1b] https://fr.wikipedia.org/wiki/Hypertext_Transfer_Protocol_Secure
[1c] http://cadp.inria.fr/man/installator.html
[1d] http://www.tcl.tk/
[2a] http://cadp.inria.fr/man/xeuca.html
[2b] http://cadp.inria.fr/man/bcg_draw.html
[2c] http://cadp.inria.fr/man/bcg_edit.html
[2d] http://cadp.inria.fr/man/distributor.html
[2e] http://cadp.inria.fr/man/contributor.html
[2f] http://cadp.inria.fr/man/ocis.html
[3] https://fr.wikipedia.org/wiki/Visual_Studio_Code
Main activities
Pour tous renseignements complémentaires sur la mission confiée, il est possible de contacter cadp@inria.fr
Skills
Compétences techniques et niveau requis : formation en informatique BAC + 4 minimum
Langues : français ou anglais
Compétences additionnelles appréciées : en lien avec le travail proposé
Benefits package
- Restauration subventionnée
- Transports publics remboursés partiellement
- Congés: 7 semaines de congés annuels + 10 jours de RTT (base temps plein) + possibilité d'autorisations d'absence exceptionnelle (ex : enfants malades, déménagement)
- Possibilité de télétravail (après 6 mois d'ancienneté) et aménagement du temps de travail
- Équipements professionnels à disposition (visioconférence, prêts de matériels informatiques, etc.)
- Prestations sociales, culturelles et sportives (Association de gestion des œuvres sociales d'Inria)
- Accès à la formation professionnelle
- Sécurité sociale
General Information
- Theme/Domain :
Proofs and Verification
Software engineering (BAP E) - Town/city : Montbonnot
- Inria Center : Centre Inria de l'Université Grenoble Alpes
- Starting date : 2024-08-01
- Duration of contract : 5 months
- Deadline to apply : 2024-07-31
Warning : you must enter your e-mail address in order to save your application to Inria. Applications must be submitted online on the Inria website. Processing of applications sent from other channels is not guaranteed.
Instruction to apply
Defence Security :
This position is likely to be situated in a restricted area (ZRR), as defined in Decree No. 2011-1425 relating to the protection of national scientific and technical potential (PPST).Authorisation to enter an area is granted by the director of the unit, following a favourable Ministerial decision, as defined in the decree of 3 July 2012 relating to the PPST. An unfavourable Ministerial decision in respect of a position situated in a ZRR would result in the cancellation of the appointment.
Recruitment Policy :
As part of its diversity policy, all Inria positions are accessible to people with disabilities.
Contacts
- Inria Team : CONVECS
-
Recruiter :
Garavel Hubert / hubert.garavel@inria.fr
The keys to success
- goût pour le développement logiciel de qualité
- savoir faire évoluer un logiciel existant par des changements bien ciblés
- savoir travailler en équipe
About Inria
Inria is the French national research institute dedicated to digital science and technology. It employs 2,600 people. Its 200 agile project teams, generally run jointly with academic partners, include more than 3,500 scientists and engineers working to meet the challenges of digital technology, often at the interface with other disciplines. The Institute also employs numerous talents in over forty different professions. 900 research support staff contribute to the preparation and development of scientific and entrepreneurial projects that have a worldwide impact.