1. Jean Claude Viens
Analyste senior informatique
viensjc@videotron.ca
7085, place Joseph-Michaud, Apt. 302
Montréal, Qc, H1E 6K8
(514) 325-0500
PROFIL
Jean Claude Viens possède plus de 15 ans d'expérience en informatique, à titre d’analyste de
programmeur et de chercheur. Il possède de l’expérience répartit principalement dans les
domaines de, l’analyse et la conception orienté-objet, des systèmes clients-serveurs supportant
des processus d’affaires complexes, des systèmes en temps réel, de contrôle et acquisition de
données, en recherche et développement de prototypes, etc.
EXPÉRIENCES
Travailleur autonome
Présent, temps partiel
• Serveur web donnant acces à l’état de différentes portes de mon garage version 1.
Le serveur web sur réseau local offre les informations, d’états des portes ouvertes ou fermées
de mon garage Basé sur un de mes mini OS a base de coroutines et tournant sur un
Atmel328p (arduino), un board éthernet Wiznet5100(arduino) et un interface fait maison
indicateurs d’état et switches etc. Le serveur se veut aussi un essai de dévelloppement de code
arduino à l’intérieur des fonctionnalitées de développement de Atmel, donc AVR studio et
utilisation d’un debuggeur en mode debugWire.
Environnement : Atmel AVR Studio Avr Dragon, C, C++, Arduino, OS maison, Gtk Python
• Interface USB CDC (émulation de port série) entre une tablette Android et un
microcontroleur PIC (en cours)
2. Prototype d’une interface USB CDC, émulation de port série, entre une tablette Android et un
microcontroller 18F2550. Le tout aurait du être facile, mais les fonctions d’interface CDC sur la
pile USB pour les processeurs 8bits n’ont pas «encore» été portées correctement vers le
compilateur XC8 de l’environnement MPLABX, il a donc été nécessaire de modifier la pile USB
pour pouvoir poursuivre le développement avec le code existant dans l’environnement MPLABX,
bref maintenant on s’échange un «Hello world» …
Environnement : Android, Java, PIC MPLABX, C, C++
• Design et début intégration d’un système répartie Le Party avec Les Amis (en cours)
L’idée de départ étant de renouveller un prototype de systéme client serveur répartie sur un
réseau local. L’utilisation d’une librairie disponible de type distribué permettant la
communication et le partage de données de facon simple à travers tout réseau local, on peut en
autre avoir differentes structures de donnée, bus d’évènements, tableau noir (blackboard),
collections génériques etc. , cette librairie sera utilisé en conjonction avec une autre librarie
d’implantation de serveur tcpip basé un sur concept d’acteur ( à la Gul Agha et Carl Hewitt, J.P.
Briot) donc utilisant un concept de parallèlisme acteur avec passage de message asynchrone
avec continuation, cette librairie est implanté sur une plateforme de machine virtuelle Java, et
est donc « transportable » sur différentes types d’architecture, pc-windows-unix, peut etre meme
android et certains micro-controleurs. Certaine sections du projet LeParty reste toutefois à
préciser comme par exemple la gestion dun maitre de cérémonie qui gère l’arrivés et les départs
des Amis (arrêt et démarrage des serveurs, et node de réseau). et … bien sur integration de
quelque autres idées … :o)
Environnement : Java, LAN, librairies Hazelcast et Vertx, plusieurs platforme pc
windoze-linux.
• Étude personelle (en cours)
Étude personnel assez vaste du monde du DIY, Arduino, et Open source, mise à jour de mes
connaissances de base en électronique, transistor, accéléromêtre, gyroscope, senseur ultrason,
registre IO, hbridge, ainsi que les differents protocoles de communication qui s’y attache, SPI,
I2C, UART, USB etc …
Environnement : Microchip Pic et Atmel Atmega 328p 2560 AVR Studio AVR Dragon etc… C,
C++, etc…
• Projet robot (en cours)
Construction d’une base roulante, moteurs, encodeurs de position, hbridge, basé sur un Atmega
2560, logiciel de commande de bas niveau et de calibration, couche logiciel de niveau 2
exécution des séquences de commande. Et encore bien de choses à intégrer !
Environnement : Avr AtMega2560 AVR Studio AVR Dragon, C, C++, OS maison
• Imprimante 3D
Construction d’une imprimante 3D Reprap, exploration et utilisation pour la réalisation de pièces
et de quelques prototypes, engrenage, support et boitier, petits bidules comme un assemblage
servant de pan et tilt pour une caméra intégrant des moteurs servo.
Environnement : Eckerbot, Prusa, plusieurs CAD et programmes de commande de
machine outils.
3. • Developpement d’un prototype de développement.
A partir du board existant à base d’un Pic, déconstruction et reconstruction d’une platforme
permettant le prototypage et incluant une horloge temps réel, registres IO, affichage a
7segments, etc..
Environnement : Pic, C
• Construction des 2 types d’horloges.
A partir d’éléments d’horloge courante conception d’une horloge 24h ainsi que d’une horloge
bizarre donnant l’heure et les minutes à heure juste mais donc les secondes sont erratiques.
J’utilise présentement une de ces horloge aux fins de test de piles de type li-ion.
Environnement : Pic, C, Li-Ion
• Analyse d’un système générique de moniteur-condition pour un système en temps réel.
Suite à la réimplémentation d’un système de moniteur dans un micro-os PIC, l’implémentation
d’un concept plus générique de moniteur (voir M. Hoare et M. Dijkstra) est réalisable, celui-ci
permettra l’utilisation de moniteur à l’intérieur de moniteur se qui serait avantageux dans le
cas de systèmes possédant des sous-systèmes complexe (ex. le sous-système de gestion de
moteurs électriques dans une machines complexe)
Environnement : C
• Développement d’un micro-os à base de coroutine pour PIC et AtMega
Ce micro noyau est simple et compacte, il offre tâche, sémaphore et moniteur – condition, ainsi
que des fonctionnalités de temporisation. Les tâches sont de type coroutine, les sémaphores
ainsi que les conditions des moniteurs offrent des services en utilisation normale et en mode
d’interruption du processeur. Ces structures du noyau sont facilement paramêtrisables et
définies de façon statique à la compilation.
Des librairies de périphériques ont été développé permettant :
La communication sérielle sur les 2 ports de communication (UART), avec tampon
d’entré-sortie et géré par interruption, ainsi qu’avec l’interface USB
La gestion de l’horloge interne en temps réel
La gestion de communication avec les senseurs externes de type SPI et I2C
Tempon circulaire d’échange de données.
Environnement : Microchip dsPIC33, AVR Atmega 328-2560, C, C++
• Différentes études et mini prototypes matériels
Étude de fonctionnement d’un mini serveur de page web basé sur microprocesseur de type
Propeller de Parallax. Intéressant ce chip fait pour le parallélisme et son intégration de
fonctionnalité, intégration avec une interface USB et une interface vidéo VGA 320x200.
4. Réalisation et intégration des quelques design de fonction logiques standards en un forme
compact dans un CPLD.
Environnement : Parallax Propeller, Circuit logique courant, Xilinx CPLD, C
• Développement multilangage de fonctionnalités de structure de données d’usages
communs, dictionnaire, vecteur et matrice.
Implémentation en 3 langages différents, Java, VisualBasic, Autoit. Ces types de structure ce
veulent cohérentes du point de vu de leur interface et facile d’utilisation du point de vue de
fonctionnalité,
Un dictionnaire est un groupement de clé-valeur, la gestion de sa taille ce fait de façon
dynamiquement.
Vecteur d’objet générique, la gestion de sa taille dynamiquement, quelques fonctions permettant
le calcul vectoriel.
Matrice d’objet générique de dimensions 1 à n, les fonctionnalités permettent :
Le redimensionnement dynamique de la grandeur de chaque dimension, ex. ajout d’une ligne à
une matrice 2D m(2,3) devient m(2,4)
Le redimensoinnement dynamique du nombre de dimension, ex ajout d’une dimension
supplémentaire à une matrice 2D m(2,3) qui devient alors 3D m(2,3,1)
La compression de dimension supporte le traitement spécifique de données affectées
(sommation, agrégation)
Fonctionnalités standard de calcul matriciel, sommation, multiplication, déterminant, etc.
Environnement : Java, VisualBasic, AutoIt
• Développement multilangage d’une interface de lecture écriture des fichiers .ini
Parce qu’avec les dll de Windoze ca ne marche pas fort ! Implémentation Java, VisualBasic,
Autoit
Environnement : Java, VisualBasic, AutoIt
• Développement multilanguage d’une interface de passage de paramètres pour programme
et script
Méthode de passages et de récupération de paramètres unifiés pour les langages C, Java,
VisualBasic, Autoit
Environnement : C, Java, VisualBasic, AutoIt
• Application de saisie des positions des icones sur le bureau de windoze.
Permet de sauvegarder les valeurs de positions des icones sur le bureau et de les repositionner
au besoin.
Environnement : AutoIt
5. • Scripts de gestion d’inventaire et de génération de page web
Environnement : AutoIt
• Application Céduleur de taches et de scripts
L’application permet le démarrage de programme et de script basé sur des paramètres de date
et temps, démarrage cyclique etc. L’application remplace les tâches de Windoze qui n’ont
jamais été fiables.
Environnement : VisualBasic, AutoIt
• Application de gestion de notes textuelles
L’application permet la prise de note texte et leur classification en arborescence ainsi que leur
sauvegarde.
Environnement : VisualBasic, AutoIt
• Conception et développement d’une application logiciel et d’une interface matérielle
permettant la gestion et le chronométrage d’épreuves de course
Application permet la gestion globale de plusieurs corridor de course, elle gère matériellement le
déclenchement des départs et la détection des faux départs, ainsi que la prise de temps de
passage et de temps d’arrivés, précis aux millièmes de secondes. L’application permet la
collection des informations concernant la configuration et la calibration des corridors, les
coureurs, leur temps aux différent épreuves et d’autres informations sur le terrain. On peut aussi
exporter ces données sous différents formats à la fin des épreuves.
Environnement : Visual Basic, interfaceTexas Instrument, Circuit logique courant et capteur,
Xilinx CPLD PAL, C
• Analyse et implantation d’un prototype d’une couche d’abstraction d’accès objet à une
base de données classique et utilisant ODBC (Object Access Broker)
Environnement : Sun JAVA J2SE
• Développement d’une interface matérielle parallèle complète permettant le prototypage de
petits systèmes électroniques.
Le but est d’offrir une interface de communication bidirectionnel entre un port de communication
parallèle de type PC et une plaque de prototypage de circuit électronique (breadboard).
L’interface implémente le protocole de communication parallèle EPP (Enhanced Parallele Port)
et offre un pilote ainsi qu’une tâche de communication écrite en Java.
Environnement : Circuit logique conventionnel, Xilinx CPLD, Sun JAVA J2SE
• Développement d’utilitaires reliés au domaine de la géo référence (GPS).
6. Développement d’un parseur de phrase NMEA permettant la communication avec un GPS.
Développement d’un utilitaire permettant l’extraction de coordonnées GPS pour des
photographies digitales, le tout basé sur l’information contenue dans les photos et les traces du
GPS.
Environnement : Sun JAVA J2SE, Outils d’automations
• Développement d’utilitaires reliés au domaine de l’aviation.
Développement et mise à jour périodique d’une base de données VFR, basé sur l’information du
CFS (Canadian Flight Supplement), offrant des points de routes pour tous les aéroports et les
aides à la navigation du Québec.
Développement de quelques petits utilitaires permettant l’accès et un traitement personnalisé
des données météorologiques provenant du site de NavCanada, script pagette METAR, script
GFA .
Environnement : Outils d’automations
• Offre des services de type technique pour matérielle haut de gamme.
Configuration matérielle et logicielle d’ordinateurs de haute gamme.
Système multi moniteur SLI, Xfire.
Étude de différent systèmes RAID 0 1 5.
Déploiement de réseau gigabit et intégration de serveur.
Étude d’intégration de ordinateur/système d’exploitation (Microsoft, Linux)
Configuration ordinateur serveur « headless » avec linux Ubuntu (intégration VNC, réseau, etc.)
Configuration réseau résistant aux pannes de courant.
• Offre des services de type technique au détail pour des clients.
Configuration matérielle et logicielle d’ordinateurs, carte-mère, système d’exploitation, disque
dur, etc.
Configuration de réseaux locaux, routers, switches, hubs, imprimantes, logiciels anti-virus, pare-
feu, etc.
Installation et configuration de logiciel d’usage courant, type Office, Simple Comptable, etc.
Informagination Inc., sous-contrat pour Les Consultants Objectiva Inc.
Client Les Systèmes Proxima
Janvier 2000 à Décembre 2002
Les Systèmes Proxima développe plusieurs logiciels donc le principal est Mystral.
7. Mystral est un logiciel de facturation multiservices orienté client offert à des opérateurs de
moyenne taille. Mystral supporte les services comme le téléphone, l’Internet, le câble, les
événements de télévision payants (Pay Per View). Il est aussi un système de facturation
complet apte à traiter les informations concernant les centres administratifs, les clients, la
facturation, les inventaires, les réseaux de distributions. Mystral est un système client-serveur
complet, ayant une conception et une implantation orienté-objet basé sur le langage IBM
Smalltalk et le serveur de données Smalltalk Gemstone.
Comme consultant senior mes rôles sont diversifiés.
• Personne ressource domaine d’affaire, les évènements de télévision payants
En charge de la connaissance et de l’interaction, de la conception et de l’implantation de cette
partie du modèle d’affaire dans Mystral.
• Autre partie du domaine d’affaire de Mystral.
Développement de fonctionnalités dans différentes parties du domaine d’affaire de Mystral,
notamment le secteur de la facturation et de la collection des données de consommation.
• Responsable de la conception et de l’implantation d’un logiciel maison permettant la gestion
des changements dans le développement du logiciel Mystral.
Le logiciel permet de conserver un registre de tous les changements effectués de manière à
résoudre une fonctionnalité ou un problème, code Smalltalk, scripts de création et de
modification des bases de données, pilotes, rapports, etc. Il conserve aussi les intervenants
pour un changement, développeur, analyste qualité, etc., l’état de déploiement de la solution,
développement, QA, certification, etc.. Chaque changement peut aussi être regroupé en
ensemble de changement pour former ainsi un registre d’implantation d’une fonctionnalité, d’une
version, etc..
• Responsable d’une équipe spéciale d’analyse qualité.
L’équipe avait pour but l’exploration de méthodes d’aide au processus de développement, nous
avions un vide entre les scénarios de test de fonctionnalités utilisés par l’assurance qualité et
l’équipe de certification et, ce qui est offert au développeur dans leur environnement de travail.
Nous avons tenté d’offrir certains scénarios d’affaire simples en guise de test de fumé, par
exemple, la création d’un client, la prise d’une commande simple, la mise en route de la
commande, la facturation de cette commande. Avec ces scénarios simples un développeur peut
à la fois tester les parties de logiciel qu’il connaît peu et utiliser les résultats obtenus pour se
constituer un jeu de test pour ces propres tests.
Nous avons aussi fait progresser un progiciel maison de validation par méthode semi-formel,
nous permettant ainsi la validation en mode d’exécution ou différé du modèle d’affaire, relation
entre les classes d’objets, cardinalités des relations, etc..
• Participation à l’équipe de création de nouvelles bases de données possédant les données
des clients.
• Formation.
8. Participation à l’élaboration de certains objectifs d’apprentissages pour l’intégration des
nouveaux employés. Supervision de nouveaux employés juniors.
Environnement: IBM Smalltalk, Serveur Gemstone Smalltalk, Outil de test TestMentor, Outil
d’automatisation AutoMate, ENVY
Informagination Inc., sous-contrat pour Lockheed Martin, Intrepid Inc et Objectimum.
Client Social Security Administration (SSA), Re-engineered Disability System Team,
Gouvernement des Etats-Unies
juillet 1996 - juin 1999
Le but de ce projet est l’informatisation du processus global de traitement des demandes d’aides
financières des citoyens des différents états des États-Unis ayant certaines incapacités.
• Membre d’une équipe visant à produire certains prototypes en Visual Basic.
Développement de quelques exemples typiques de pattern souvent utilisés lors d’implantation
de modélisations utilisant UML. En autre, schéma d’association entre objets, relation un à un,
relation un à plusieurs et relation plusieurs à plusieurs.
Développement d’un modèle simple d’héritage superposé au modèle primaire de classe de
Visual Basic, ce modèle utilise la délégation comme méthode d’implantation du mécanisme
d’héritage.
Reconstruction d’une partie du modèle d’affaire en Visual Basic, de celui existant en Smalltalk,
permettant ainsi certaines importations et exportations de données.
• Développement d’autres prototypes
Développement d’un ensemble d’exemples démontrant la construction des modules DLL, le
chargement d’un module DLL à partir d’un DLL et le chargement d’un DLL à partir d’autres
langages, Smalltalk, Visual Basic et C.
Développement d’un prototype d’une couche d’accès d’objet ODBC utilisant le langage Java.
Ce prototype peut rechercher et sauvegarder des recordset et les transformer en objets de
classes Java représentant le domaine d’affaire.
• Membre de l’équipe en charge du domaine d’affaire relié au Workload Profile
Le but de cette partie du domaine d’affaire est de collecter et de présenter de façon configurable
toutes les activités, états des différents processus d’affaire, charge de travail, cas spéciaux, etc.,
attribués à un utilisateur. Les fonctionnalités sont configurables de manière à s’adapter au
contexte de chaque classe d’utilisateurs et aux utilisateurs, elles offrent aussi la possibilité de
supervision d’équipes, de gestion des charges, etc.
Analyse, implantation et correction des différents aspects du module Workload Profil.
Adaptation aux nouveaux processus d’affaire, aux changements requis suite à la mise en
production de la première version, reconfiguration et redesign dans un but d’amélioration de
performance et maintenance.
9. Analyse et implantation d’un ensemble de scripts SQL permettant le traitement en différé de
certains aspects du module Workload Profil.
• Membre de l’équipe en charge de la configuration et du versionnement du logiciel.
Participation aux recommandations pour un nouvel environnement de configuration et de
versionnement ainsi que l’introduction de nouveaux processus de développement associés.
Développement d’un petit système maison de contrôle de versionnement de fichiers. Développé
en Perl il offre les fonctionnalisées des bases de partages de fichiers et ne requière pas de mise
en place imposante.
Développement et intégration d’un module DLL réalisé en C++ offrant l’accès à certaines
fonctionnalités de bas niveau du système d’exploitation Windows.
• Membre de l’équipe en charge du domaine d’affaire relié au processus Consultative Exam
(CE)
Améliorations, corrections et implémentation de différents aspects du module, ce processus
supporte la logistique de validation, par différents intervenants (centre hospitalier, laboratoire,
médecin, etc.), de différents aspects des réclamations d’incapacités de la part des clients du
système.
• Formation
Tâche de mentor auprès des employées du SSA pour tous ce qui touche au processus de
développement de logiciel, langages, etc.
• Membre de l’équipe d’analyse qualité.
Exécution de scénario d’affaire et validation du bon fonctionnement du logiciel.
Environnement: WindowNT, Smalltalk Object Studio, Oracle, C++, C, Visual Basic, Java,
PERL, CGI.
Groupe DMR Inc.
Client ERICSSON Canada
Mai 1995 - Juillet 1996
• A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase
“Vérification et Intégration” des systèmes de téléphonie cellulaire.
Tâches d’architecture et de conception d’une application (MSTT, Mobile Station Tone Tool) de
type client-serveur en temps réel, permettant l’acquisition, l’identification et l’émission des
différents signaux sonores que l’on retrouve en téléphonie cellulaire. Cette application s’intègre
dans un environnement d’outils de vérification et de simulateurs partagés en réseau.
10. L’application se décompose en différentes fonctionnalités dont: l’interface de communication
client-serveur (2 types de client, usager et programme) utilisant pour se faire une généralisation
des mécanismes de communication, support en autre le protocole TCP-IP, l’interface avec le
matériel (8 canaux d’acquisitions et 8 d`émissions simultanées, relais), les fonctions de
traitement de signaux (utilisant le logiciel LabVIEW), etc., le tout fonctionnant en temps réel et
intégré sous forme de démons de système.
• A titre de conseiller et d’architecte et oeuvrant au sein d’un projet pilote englobant la phase
“Vérification et Intégration” des systèmes de téléphonie cellulaire.
Tâches d’architecture d’outils supportant le processus de vérification ainsi que l’exploration de
différentes avenues de recherche se rattachant au domaine.
Et plus précisément le développement de classes d’objets permettant la manipulation
dynamique de la structure d’un document de type SGML, ainsi que la validation certaines
métriques reliées au processus de la phase de Vérification et Intégration.
Environnement: SUN SparcStation, Solaris (Unix), C++, TCP-IP, LabVIEW (National
Instrument).
Groupe DMR Inc. Le Macroscope, Groupe Planification Stratégie ( S+ )
Mars 1993 - Avril 1995
• A titre d'analyste et d'architecte pour le Groupe Stratégie.
Analyse et de modélisation de divers aspects de la méthodologie, notamment les processus
généraux de la méthodologie ainsi que de l'environnement méthodologique nécessaire au
déploiement de la méthodologie dans le cadre d'un atelier de prestation.
Tâches d'architectures, d'analyses et de conceptions de deux prototypes logiciels, le premier
supportant la consultation méthodologie sous format électronique HTML et le second étant un
atelier de prestation supportant la méthodologie.
• Analyste et d'architecte pour un groupe multidisciplinaire ayant pour le développement
d’outils pour le développement de méthodes.
Tâches d'analyse conceptuelle et fonctionnelle ayant pour but le développement de
composantes généralisées d'affichage permettant la génération contextué d'interface de type
copie-coller (Drag And Drop) et multiple documents (MDI - Multiple Document Interface). La
génération d'interface est effectuée à partir d'une modélisation de type déclarative de l'aspect
présentation d'une application et est traduite par un constructeur en une structure fonctionnelle
de composantes.
Analyse, développement et intégration de différentes composantes d'un outil d'aide à la
performance intégrant la consultation de la méthodologie ainsi que son atelier de prestation. Le
support informatique inclut les fonctionnalités d'un référentiel, supportant les méta-modèles,
modèles et instances de type Entité-Relation et DPM (Dynamic Process Modeling).
Environnement: Smalltalk (Visual Work), HTML, SGML, Visual Basic, Macro Word 6.0
11. Solutions Temps Réel Inc.
Juin 1992 à Juillet 1992
Solutions Temps Réel Inc. est une entreprise offrant des services de génies conseils et de
développement de solution à des problèmes comportant des aspects électriques,
d'automatisations et de programmations.
• Analyse un petit système en temps-réel.
Analyse conceptuelle et fonctionnelle préliminaire d'un système de commande et d'acquisition
de données en temps réel tolérant aux fautes (pannes électriques, bris de composantes, etc.),
permettant l'ouverture et la fermeture synchrone d'un disjoncteur sur une ligne électrique
triphasée haute tension. Le système est un sous-système d'un poste de contrôle central. Il
repose sur un noyau multitâche temps réel et a comme processeur central un microcontrôleur
Motorola 68HC11.
Environnement: micro-contrôleur MC68HC11, système d'exploitation en temps réel, C,
Assembleur.
Développement
Travailleur autonome
• Analyse et implantation d’un système en temps réel.
Analyse et élaboration d'un progiciel, écrit en langage C et assembleur, implantant un noyau
multitâche temps réel. Ce noyau offre la possibilité de gérer de petits processus (light weight
process) en temps réel et en temps partagé, de façon dynamique (création et destruction), il
offre les services d'un allocateur de mémoire à accès concurrent, les définitions de structures de
données et les services reliés à la gestion de sémaphores et de moniteurs, la possibilité de
communication de type Rendez-vous entre processus, un module d’entré/sortie concurrent pour
les ports séries, et l’analyste permettant le support des coprocesseurs. Le noyau est conçu de
manière modulaire et est disponible sous forme de librairie C.
Environnement: C, Assembleur, IBM PC, BIOS
• Outils de développement
Analyse et formalisation d'un standard de documentation des fichiers sources pour les langages
C et C++. Élaboration d'outils d'aides à la gestion du code source.
Environnement: C++, C, Prolog
Zuniq Corp.
Novembre 1989 à Novembre 1990
12. Zuniq Corp. est une entreprise qui a oeuvré dans des programmes de recherches et de
développements dans les domaines de la programmation orienté objet et acteur ainsi que dans
le développement de systèmes experts à base d'acteurs et d'agents. Elle a aussi développé des
produits logiciels ainsi que matériels.
• Responsable de projet et de chercheur
Recherche et analyse de différents domaines, reliés à la programmation orientée objet, dans le
but d'une intégration à une nouvelle version du gestionnaire d'application Smalltalk CodeImager
de différentes fonctionnalités dont: l'interfaçage graphique, permettant la détection et la
visualisation dynamique des collisions entre les applications, classes et méthodes, la réalisation
d'un prototype d'interpréteur de code compilé Smalltalk, permettant la validation du code
Smalltalk par des méthodes semi-formelles. L'élaboration de la partie tutoriale et révision
globale du manuel usager de la première version du logiciel.
Présentation du logiciel à la conférence SCOOP Europe 1990.
Élaboration et implantation d'une plate-forme de développement pour les langages de type
acteur dans l'environnement Smalltalk, le modèle générale de fonctionnement se veut une
extension des modèles développés par J.P. Briot, Gul Agha et Carl Hewitt et intègre, de façon
transparente au langage, différents types de messages «Past», «Future» et «Now» . La plate-
forme permet une implantation et gestion uniforme et souple de la concurrence en Smalltalk au
moyen d'acteurs et d'agents. Élaboration d'un dévermineur minimal pour la plate-forme acteur
décrite plus haut.
Environnement: Macinstosh, Smalltalk (Digitalk).
Tecrad Inc.
Janvier 1988 à Avril 1989
Tecrad Inc. est une compagnie possédant de l'expertise et oeuvrant dans le domaine de la
vérification de la qualité des matériaux par des méthodes de tests non-destructifs.
• Membre de l’équipe TOMOSCAN
Le TOMOSCAN est un appareil de test non-destructif par ultrason. Il a pour base le bus
industriel VME, est une machine configurable en mono ou multiprocesseur et possède un
système d'exploitation multitâche en temps réel. Le processeur de base est un MC68020.
Analyse, conception et intégration, d'un lien de communication parallèle haute vitesse de type
GPIB (IEEE.488) entre l'appareil TOMOSCAN et un ordinateur de type Sun. Mise en place des
mécanismes de contrôle des cartes GPIB, du protocole de communication standard (IEEE.488)
et d'un interpréteur de commande de haut niveau.
Analyse et implantation de modules de compression et extension verticale et horizontale de
données (A-Scan et B-Scan) permettant le traitement et la représentation graphique des
données échantillonnées en temps réel. Analyse et implantation d'un module d'affichage de
donnée. Ce module étant une généralisation d'un afficheur de donnée de type B-Scan en 2
dimensions. Ces modules sont implantés à l'aide d'algorithmes offrant le maximum de
performance et utilisant dans certains cas, un support matériel optimisé.
13. Environnement: Machine multitâche et multiprocesseur, Système d'exploitation en temps réel,
Bus industriel VME, Lien de communication IEEE 488, Ordinateur Sun et Unix, IBM PC, C,
Assembleur
• Logiciel TCR180
Analyse et conception du logiciel TCR180. Ce logiciel offre les fonctionnalités de calcul de
l'épaisseur d'un échantillon de matériel et le calcul de vitesse de propagation du son à l'intérieur
d'un échantillon. Il utilise pour ce faire des techniques de test non-destructif de matériaux par
des méthodes ultrasons, différentes fonctionnalités de traitement de signaux, ainsi que
d'imagerie graphique.
Environnement: Traitement de signaux, IBM PC, C, Assembleur
• Projet de fin d’étude
Analyse et développement d'un ensemble de fonctionnalités permettant l'intégration et
l'interfaçage, les transferts de données et la synchronisation, entre un ordinateur compatible
IBM, un oscilloscope numérique, pouvant effectuer des fonctions mathématiques et des
fonctions de traitement de signal, ainsi que de deux moteurs pas à pas linéaires contrôlant le
déplacement de la sonde d'échantillonnage de l'oscilloscope.
Environnement: C, IBM PC, Moteur linéaire pas à pas, Oscilloscope HP
Ville de Québec, Service de l'Organisation du Travail et de l'Informatique
Été 1987, emploi d’été
• Analyse d’un système d’inventaire.
Analyse et élaboration d'un système à base de données permettant la gestion informatisée des
requêtes et des besoins des usagers ainsi que l'inventaire des ressources matérielles du service.
Environnement: IBM PC, Base de données relationnelles (DBase).
FORMATION
Baccalauréat en Informatique de génie
Mai 1988
Université Laval
Québec, Canada, G1K 7P4
(418) 656-3333
Formation Professionnelle
• Formation générale sur CMM
• Formation en inspection sur CMM
14. Cours de niveau Baccalauréat :
• Électroacoustique (3 crédits)
• Psychologie générale (3 crédits)
• Introduction aux médias (3 crédits)
• Circuits et Systèmes Linéaires (4 crédits)
• Circuits (4 crédits)
• Électrotechnique (3 crédits)
• Résistance des matériaux (3 crédits)
• Physique des ondes (3 crédits)
• …
Autre formation
• Licence de pilote privé canadienne – avion
Tous les avions terrestres monomoteurs autres que ceux à hautes performances, dont
l’équipage minimal est d’un seul pilote.
Annotation Vol de nuit.
• Cours théorique pour l’obtention de la licence de pilote commercial.
Passe-temps
Rénovation, Travail du bois, Mécanique.