icon 履歴書 (work in progress) | icon FPGA project blog | icon former Master research website |  Personal photo gallery | icon Personal blog
  • JORDAN Vincent
  • Florianmühlstr. 70
    80939 München, Germany
    previous addresses
  • vjp AT gmx DOT fr (mail)
  • French citizen
    Born on January 23rd, 1985
    Single, driving license

Embedded software engineer

Education

April → July 2011
(3 months)
Began Ph.D. in Computer Science at Kitagawa Data Engineering laboratoryResearch proposal: XML processing using GPGPU (improved query processing and data-mining)icon Proposalicon Presentationicon more details
at the University of Tsukuba, Japan (www.tsukuba.ac.jp)
2005 → 2010
(5 years)
icon Master of engineering from the Computer Science department with emphasis on Software and knowledge engineeringicon Research master in High efficiency algorithms and modelisation (parallel computing, geometric algorithms, multi agents systems)
icon Thesis outline: XML query processing using GPGPU
After a detailed study of NVidia GPGPU limitations, the CUDA implementation of TwigStack algorithm is introduced for XML query processing. icon Master thesis (v1.1)icon Master thesis (original)
2003 → 2005
(2 years)
Engineering foundation coursesicon Description of the attended courses, projects and results
at the University of Technology of Belfort-Montbéliard, France (www.utbm.fr)
June 2003Baccalauréat Scientifique (High School Diploma) with specialization in engineering sciences, obtained with honors.

Personal project 2017

Mar. → nowThe Legend of Ina (Munich icon) development of a tutorial/game around the GDB debugger to be used as training material in coredump analysis.

Professional Experience at Harman

Nov. 2015 → now
(1.5 year)

Harman (Garching icon) Embedded C++ devel. and debug. of a software component of the next generation navigation/entertainment unit for BMW. Crash analysis on real prototype hardware.
icon Made some CommonAPI hacking. See blog post.
icon Designed a must-have coffee mug, showing CommonAPI variadic templates. See here.
icon Created inapp, a distributed web-based tool to ease gcc errors and gdb backtraces analysis (running on a Raspberry Pi cluster). See intro. icon more details

Personal project 2015

Feb. → Apr. 2015
(3 months)

personal (Ludwigsburg icon) Product/PCB design. Designed two main PCBs (class 6) for the STM32 F405 microcontroller in TQFP-100 or TQFP-144 package (ST Microelectronics) and the Spartan-6 FPGA in TQFP-144 package (Xilinx). Aluminium-extruded enclosure and flat cable wirings are part of the final result as a standalone product.
See icon the blog of the project.
icon Created a dual board platform to leverage FPGA Live Reconfiguration possibilities.

Professional Experience at Bosch

icon

Aug. → Feb. 2015
(6 months)

(tool + A) Robert Bosch GmbH (Tamm icon) Consultant engineer in the Electric inverter design team. Designed a Jenkins-based continuous integration system.
iconCreated an all-in-one email notification for nightly build, featuring relevant information only. (overcoming limitation of the email templating of Jenkins/IBM Jazz framework)
icon Used for the embedded software of all Volkswagen electric inverters made by Bosch. icon more details

Jan. → Mar. 2014
(3 months)

(E) Robert Bosch GmbH (Abstatt icon) Consultant engineer in the Flash bootloader team. Design and development of the initial pre-version of the core bootloader software component, tailor-made to Hyundai/Kia Motors specifications. The component is made for Bosch radar products, but was designed to be generic across the whole Hyundai/Kia product line.
icon Used in radar projects for adaptive cruise control and improved emergency breakings. icon more details

Nov. → Dec. 2013
(2 months)

(D+) Robert Bosch GmbH (Abstatt icon) Extended my previous bootloader (see experience D) to upgrade it into a mainstream bootloader for Autosar 4.0 and Freescale MPC56xx implementation. Designed an integration strategy to support variants in the same project. Added support for Freescale MPC5675K.
icon Used as reference implementation for future bootloaders.

Aug. → Oct. 2013
(3 months)

(tool) Robert Bosch GmbH (Abstatt icon) Designed and developed a PC-based CAN diagnosis tool for bootloader automated tests. The C# software embeds an Autosar CanTp (C component) wrapped as a C++ DLL. Vector XL API provided the CAN network connectivity. Developed an extended knowledge of the "out-of-process" Microsoft COM interface server, DLL interaction and soft-realtime processing (to the millisecond) using the Microsoft Windows platform and Visual Studio.
icon Used as primary test tool for bootloaders at Bosch. icon more details

Mar. → Jul. 2013
(5 months)

(D) Robert Bosch GmbH (Abstatt icon) Consultant engineer in the Flash bootloader team. Managed complete bootblock project from customer specifications to release tests, targeting the Freescale MPC5643L platform. The bootblock provides diagnostic features as well as ECU reprogrammation functionalities as described in the ISO norms: ISO14229 (UDS) and ISO15765 (ISO-TP). Gained an advanced knowledge of those norms.
icon Used in DC-to-DC Power Conversion Unit (PCU) projects for new car power networks.
icon Created an original start-up sequence involving ROM compression to overcome memory limitation. icon more details

Dec. → Feb. 2013
(3 months)

(C) Robert Bosch GmbH (Leonberg icon) Consultant engineer in OS development team for the Renesas V850/Fx4 architecture. Specified (Doors), designed, implemented (mostly in assembler) and tested the Fx4 controller-specific start-up module. Also designed and implemented the corresponding Autosar-specified Mcu component responsible for the sleep/wake-up functionality. Those modules were integrated in car navigation systems.
icon Used in Jaguar-Land-Rover (JLR), Suzuki, Peugeot (PSA) and Chinese carmaker projects. icon more details

Jul. → Nov. 2012
(5 months)

(B) Robert Bosch GmbH (Leonberg icon) Consultant engineer in OS integration team. Build Autosar-compliant real-time OS with customized features depending on the projects, communication stack especially. Reached in-depth knowledge of CAN and LIN networking drivers on targets including ARM-based Zynq (Xilinx), and V850/Fx4 (Renesas) microcontrollers. Developed C debugging skills further, as well as low-level C programming down to assembly code (start-up code).
icon Used in car multimedia and navigation projects. icon more details

Feb. → June 2012
(6 months)

(A) Robert Bosch GmbH (Abstatt icon) Consultant engineer in ABS/ESP team. Improved the validation process of two components involved in the Bosch ABS/ESP products: diagnostic and sensor monitoring. Extensive working experience with Bosch processes and internal tools for embedded design such as Ascet 6. icon more details

Personal projects 2013-2014

April → May 2014
(2 months)

personal (Ludwigsburg icon) FPGA configuration using a microcontroller. Studied the low-level (bare metal) functionning of the Xilinx Spartan 6 LX9 FPGA (esp. bitstream encoding, and internal routing configuration). Written C code for the STM32 F103 microcontroller (ST Microelectronics). See icon the blog of the project.
icon Created a protocol for FPGA Live Reconfiguration. See the FLR protocol specifications.

Sept. 2013 → Feb. 2014
(6 months)

Technology&Strategy Engineering (Strasbourg icon, remotely) Proposed and supervised an internship for creating a USB/CAN tester solution. Supported the trainee in the development of a CAN driver according to the Autosar 4 specifications, and supervised the design of a USB driver for a ST Cortex-M4-based development board: Olimex STM32-P407.
icon USB High-Speed using integrated PHY. 100% open-source devel. environment: GNU GCC, OpenOCD, Eclipse.
icon Created the corresponding hardware board as a personal project. (KiCAD)

Internships and training

November 2011
(3 weeks)

Alstom SA (Belfort icon) TCMS (Train Control and Monitoring System) training at Alstom Belfort. Acquired knowledge about Alstom embedded architecture, methodology and ControlBuild experience, and Rational ClearCase/ClearQuest. icon more details

April 2010 → Sept. 2010
(6 months)

Kitagawa Data Engineering laboratory (Tsukuba icon) Performed research into XML query processing using GPGPU. Studied about low-level GPU features for general purpose computation, which involved extensive usage of the CUDA toolkit on both Windows 7 and GNU/Linux. Developed sharp debugging skills with this toolkit.
Excerpt of the abstract: The purpose of the research [..] is to evaluate the possibility of using General Purpose Graphic Processing Unit (GPGPU) to handle this task. GPGPU is a recent creation which gather research attention because of its large diffusion and cheap price. GPGPU is the result of the evolution of GPU coprocessors toward more flexibily and programable features in visual rendering. The latest features of these chips enable them to be used as stream processors.
Stream processing is a highly data parallalized task in which a series of operation is applied to each element of a data set (a stream).
icon Created a multiplatform datastructure for CUDA. icon more details

Sept. 2007 → February 2008
(6 months)

Basel-Mulhouse airport (Saint-Louis icon/icon) intern on the IT staff. Managed the whole project life cycle: design, development, software release, documentations and users’ training. The software is now used by airline companies to update information screens at the airport terminal.
icon The project made use of PHP, Apache2 and Oracle on HP-UX.
icon Created a documentation system which allows to dynamically quote the actual source code in the devel. documentation. icon more details

Languages

FrenchNative speaker
EnglishAdvanced level in written and oral English
Scored 955/990 for the TOEIC certification in January 2011.
GermanIntermediate level
Currently living in South Germany since February 2012.
JapaneseCourses in both France and Japan at beginner level
Spent two six-month periods living in Japan.
icon Currently learning the Japanese Kanjis: 400/2000

Skills

OSExtensive knowledge of GNU/Linux. Microsoft Windows, MacOS X and HP-UX
LanguagesC/Embedded-oriented C++, C#, Java, Python, Perl, PHP, PL/SQL
low-levelPPC, ARM7 and V850 assembly, VHDL (Quartus toolkit and Altera FPGA)
designUML, Merise (database)
NetworksCAN (esp. UDS diag.), LIN, Knowledge of GSM/GPRS/UMTS.
webXHTML/CSS, SVG, JavaScript, ActionScript, Semantic web (RDF/OWL)
ethernetIPv4 and IPv6, Firewall and QoS (Linux iptables), IPsec, VoIP (using Asterisk), WiFi
DatabasesGood knowledge of Oracle (setup and admin). MySQL, SQLite, XML/XPath/XQuery
Parallel computingGood knowledge of CUDA/OpenCL (Nvidia Tesla&Fermi archi.), programming experience with MPI (C/C++), RMI (Java) and Multi Agents Systems (MAS)
ToolGNU GCC compilation toolchain (including ARM cross compilation), GreenHills MULTI toolchain, iSystem WinIDEA, Eclipse, Visual Studio, Git and Subversion
embeddedAscet, ControlBuild, AutosarWorkbench, Vector Canoe, eASEE
authoringThe Gimp/Inkscape, Microsoft Office, LaTeX (+Beamer), Scribus, Flash

Major academic projects

Fake website for booking airline tickets
Specification in both UML and Merise models. Accomplished by using PL/SQL coding and Oracle database (setup using a personal computer).
icon Best database project of the semester

Simple processor in FPGA
Simple 8-bit processor designed in VHDL and simulated using Altera FPGA hardware. Simple calculator implemented with the customized assembly code of this processor and the 7-segment displays of the development board.

Example of university report
Numerical analysis (in French): icon Markov chain | icon Matrix decomposition | icon Matrix product | icon Eigenvalues and eigenvectors

Personal activities

Pong game for GameBoy Advance: Compilation and setup of the GCC cross compilation toolchain for ARM on GNU/Linux. Development in low-level C and experimentation with real GameBoy Advance (ARM7TDMI) using compact flash cartridge for GameBoy.

Knowledge in cartography: designed a car-embedded "moving map" software (using DirectFB C library). Submitted maps to openstreetmap.org, an open worldwide mapping project.

Active penpal: mail exchange about culture and daily life among many parts of the world (communication in English mostly) through interpals.net

People I know... and who knows me

icon Alejandra Quirós 「アリ」 | icon Sherry Morgenstern | icon Tobias Hofer | icon Narcis Ilisei | icon 彭百閃 | icon 謝宜臻 「jamie」 | icon Pierre Mauduit | icon 駒水 孝裕 「takacoma」 | icon 上江 まり子 | icon Rafael Rezende

About this website

This website is hosted on my private icon Raspberry Pi by icon www.pcextreme.nl in Amsterdam for less than 2.5W. Free SSL certificate from icon letsencrypt.org.
icon "Pixel accurate" responsive design by myself. Aller font by Dalton Maag Ltd.
eth icon   Did you know that this website is reachable in IPv6? Give a try! http://[2a00:f10:103:201:ba27:ebff:fef8:41d2]
css3 valid? xhtml1.1 valid?





⇊  Continue scrolling/sliding for further details about each experience seen above.
Quick links: #harman #perso2 #bosch7 #perso #bosch6 #bosch5 #bosch4 #bosch3 #bosch2 #bosch #alstom #kde2 #kde #eap#theOriginOfEverything
#harman

Harman International
Inatech, Garching, Germany

Nov. 2015 → now (1 year)

Engineer in the Navigation team (in collaboration with BMW CarIT).

Mission

  1. Develop software components of the navigation controller, which makes the link between the user interface (made by BMW) and the navigation core (made by Harman).
  2. Analyze (debug) malfunctions of the navigation system on tight schedule (esp., application crashes).
  3. Review software changes and support other developers (Harman and BMW).

Objectives

The navigation controller is used in different variants of the BMW navigation systems (Europe, US, Asia, ...) developed by different suppliers, therefore the controller needs to comply to BMW project architecture.

The main objectives are to develop the controller following BMW guidelines and build an overall understanding of the navigation system so as to leverage this knowledge during performance and crash analysis.

Realizations

Result

Embedded software component with tests and documentation.
Extensive experience of C++ debugging with gdb (both local and remote on virtual or real targets) as well as CommonAPI/SomeIP trace analysis.
Developer knowledge of the BMW project environment, toolchains and coding guidelines.
User knowledge of the Harman project environment, toolchains and navigation core architecture.

BMW project environment
tools
  • Yocto linux (GNU/Linux distribution generator, Open-source)
  • Jenkins (continuous integration server, Open-source)
  • git and gerrit (versioning/review tool, Open-source)
  • distcc (distributed build, Open-source)
  • CMake (build script generator, Kitware, open-source)
  • gcc and gdb (C++11 compilation/debug suite, GNU, Open-source)
  • Qt5 and Qt Creator (C++ framework and IDE, The Qt Company)
  • CommonAPI and SOME/IP (C++ communication framework and middleware, BMW, Open-source)
  • boost (C++ framework, Open-source)
  • gtest/gmock (C++ test framework, Google, Open-source)
  • DLT viewer (DLT trace, BMW, Open-source)
  • JIRA and Confluence (agile-oriented ticket and wiki system, Atlassian)
  • VMware Workstation (virtual machine, VMware)
  • Elvis (internal ticket tool, Harman)
hardware Intel 4-core Atom target running in a testbench featuring original BMW dashboard, GPS and wireless communications, custom IP network (using IPv6 and VLANs), touch screen and analog "driver jog" controller.
languagesEnglish (mostly), German

Contacts

References

#perso2

Personal project, continued
 

Feb. → now (3 months)

 

Mission

Design a demonstration hardware plateform to study live FPGA reconfiguration. Show that reconfiguration can be achieved in a time window compatible with realtime usecases.

Objectives

Enable reconfigurations at the maximum clocks defined by the FPGA maker: 16-bit parallel bus at 50MHz.

Realizations

illustration

in progress

illustration

Result

PCB design skills for compact "all SMD" microcontroller and FPGA boards.
Hand soldering skills including "thin quad flat pack" (TQFP) up to 144-pin (0.5 mm pitch), SMD parts up to 0402 footprint, and track length matching.

Project environment
tools
  • KiCAD (PCB design software, Open-source)
hardware STM32F405 (ARM Cortex-M4), XCS6LX9 (Spartan-6)
languagesEnglish
#bosch7

Robert Bosch GmbH
Technology&Strategy, Tamm, Germany

Aug. → Feb. 2014 (6 months)

Engineer in Electric inverter software design team.

Mission

  1. Design a continuous integration system based on Jenkins and compatible with the IBM Jazz lifecyle management tool.
  2. Carry out runtime measurements: analyze the task scheduling, generate CPU runtime usage reports.

Objectives

Put in place a continuous integration server, targeting a move toward Scrum (agile) development methodology. The continuous integration server aims at finding any regressions (e.g., compilation errors, missing symbols, ...) as fast as possible after the developer committed changes to versionning system (enabling Scrum-style short-cycled deliveries).

Generate reports of the task scheduling and CPU load during runtime in realistic drive cycles in order to validate the hard realtime constrains are always met when the software is delivered to the customer.

Realizations

illustration

Result

Solution for an all automated build of the inverter software and first steps of automated tests on real hardware.
Experience of the Scrum development methodology in embedded environment.
Knowledge of each step of the complete build sequence from ASCET model files to running automated basic functionality tests on the prototype hardware in a Labcar environment.
On-site support of the customer (BMW) in its integration of the Bosch inverter.

Project environment
tools
  • Jenkins (continuous integration server, Open-source)
  • IBM Jazz (application lifecycle management tool, IBM), especially Rational Team Concert (aka RTC).
  • ASCET (software design tool, ETAS)
  • INCA (calibration, memory monitoring tool, ETAS)
  • Experiment Environment with Bosch custom simulation of an electric car (testbench configuration and control tool, ETAS)
  • ECU.Worx (internal configuration tool, Bosch)
  • QA·C (static C code analysis tool, Programming Research)
  • UDE (debugger tool, PLS)
  • SMART (internal static&dynamic memory analysis tool, Bosch)
hardware Infineon TriCore Aurix (3-cores RISC architecture with silicon-level safety features), ETAS Labcar testbench for hardware in the loop (aka HiL) system, as well as Bosch inverter prototype hardware (excluding hardware related to high voltage management).
languagesGerman (mostly), English

Contacts

References

#perso

Personal project
 

Apr. → Jun. 2014 (3 months)

 

Mission

Evaluate the possibility of dynamic partial reconfiguration of the Xilinx Spartan-6 FPGA, in other words, the possibility of changing the look-up tables, interconnection matrixes or multiplexers while the FPGA is active.

Objectives

The Spartan-6 internal configuration memory is not documented by Xilinx. The main goal was to understand this native bitstream. This capability enables a microcontroller to read-back the FPGA configuration, to change its content (LUT, routing, ...) and write it back to the FPGA (without stopping it).

The proprietary Xilinx ISE design suite is never involved in this sequence.

Achievements

Results

Documentation of Spartan-6 internal configuration bits.
A Reconfiguration protocol specification and corresponding implementation.
An embedded solution for dynamic partial reconfiguration of the Spartan-6 LX9 FPGA.
Gained interest to FPGA reconfiguration with a good positioning in Google search results of the blog. Try this search: "Spartan6 configuration".

illustration
  1. a FLR client sends requests to the FLR server over a serial connection: read_target, set_LUT, set_routing, ...
  2. the FLR server listens for requests, works on its buffer copy of the FPGA configuration, and then generates a valid bitstream so as to apply those changes to the FPGA.
  3. the FPGA remains active and is controlled by its JTAG port.

Note: the microcontroller can also be autonomous and generate its own requests, hence removing the FLR client, and achieving a real embedded solution.

Project environment
tools
  • GNU GCC (compilation suite, Open-source)
  • OpenOCD (debugger software, Open-source)
  • git (versioning tool, Open-source)
hardware STM32F3 (ARM Cortex-M3), XCS6LX9 (Spartan-6)
languagesEnglish

References

#bosch6

Robert Bosch GmbH
Technology&Strategy, Abstatt, Germany

Jan. → Mar. 2014 (3 months)

Engineer in Flash bootloader team.

Mission

  1. Develop the core generic bootloader component for the Hyundai/Kai Motors product line.
  2. Build the project development environment for early simulation and tests of the bootloader.

Objectives

The bootloader software is tailor-made for each customer according to their very own specifications for diagnostic communication and flash software, but the bootloader team is also expected to provide the customer with improvements and suggestions concerning any missing features or recommended behaviours based on Bosch extensive experience in this field. The core bootloader component is meant to be used for all the projects of one customer, which are based on the same specification, but run on different ECUs. Please refer to my previous experiences for a description of the features provided by the bootloader.

Realizations

illustration

Result

Initial bootloader core component (preview) matching Hyundai/Kia specifications (initially targeting radar ECU)
Understanding of a simulation layer architecture for embedded software
Knowledge of customer specifications analysis

Project environment
tools
  • Eclipse (integrated development environment, Open-source)
  • MinGW GCC (compiler, Open-source)
  • git (versioning tool, Open-source)
languagesGerman, English (mostly)

Contacts

References

#bosch5

Robert Bosch GmbH
Technology&Strategy, Abstatt, Germany

Aug. → Oct. 2013 (3 months)

Engineer in Flash bootloader team.

Mission

  1. Design a PC-based tool for testing requests sent over CAN network
  2. Integrate this tool to the Bosch integrated test framework

Objectives

The main aims was to design a simple tool, easy to automate, and with better performances than the previous one. Additional goals were to output a detailed error description when request failed, and to design a flexible interface to handle more complex tests.

Realizations

illustration

Challenge and solution

Microsoft Windows Seven is no real-time operating system, and time critical operations cannot be guaranteed in C#. This flaw could produce misleading test failures related to response timeout on the tester side. Customized low-level task and process priorities, as well as garbage collector monitoring are used to leverage this issue and achieve soft real-time performances under Windows. In critical load conditions, delays might still appear and would be reported to the test logs (clearly showing that the tester is in fault, rather than the ECU).

Result

Test tool which outperforms the previous tool and reaches maximal CAN performances (approx. 250µs per frame @ 500Kbps)
Experience of C# development in the .NET framework
Experience of Microsoft COM interfaces and DLL

Project environment
tools
languagesGerman, English (mostly)

Contacts

References

#bosch4

Robert Bosch GmbH
Technology&Strategy, Abstatt, Germany

Mar. → Jul. 2013 (5 months)

Engineer in Flash bootloader team.

Mission

  1. Build from scratch a complete bootloader project using AR4.0 software components from Bosch's collection
  2. Pass all automated test for Bosch generic specification (application download, diagnosis requests)

Objectives

The bootloader software is real-time operating system with strong ROM size requirements. It features a communication stack, as well as a flash memory stack, but those components have to be heavily tweaked so as to save ROM space. The bootloader implements the diagnosis interface over CAN, providing the functionality of flashing a new application in a embedded device.

Realizations

illustration

Unexpected challenge and solution

The set of AR4.0 components required for bootloader operation exceeds greatly the ROM size requirement of the bootloader. To address this issue, the bootloader has been split into independent pieces of code, and ROM compression was used to reduce the size of unused ROM areas. A customized start-up code unpacks those areas to RAM only when they are needed.
This strategy enables the bootloader to match its two strongest requirements: fast start-up to application, and limited ROM size.

Result

Bootloader for Freescale MPC5643L with configuration options to address different customer needs
Integration documentation for Autosar 4.0 components in bootloader context
Knowledge of the international norms for diagnosis in automotive environments

Project environment
tools
languagesGerman, English (mostly)

Contacts

References

#bosch3

Robert Bosch GmbH
Technology&Strategy, Leonberg, Germany

Dec. → Fev. 2013 (3 months)

Engineer in Autosar BSW component development team.

Mission

  1. Design the Bosch-specific SysPreInit component for early clock and C runtime initialization of the Renesas V850E2/Fx4 microcontroller
  2. Develop a subset of the Mcu component from the Autosar 4.0 specifications

Objectives

Design SysPreInit and implement Mcu component together, in order to enable start-up and DeepStop sequences as well as wake-up for the Renesas FJ4 microcontroller. Those two sequences have to be highly customizable

Realizations

illustration

Result

SysPreInit+Mcu components for Renesas Fx4 microcontroller used in customer projects
Knowledge of the component development and creation process at Bosch

Project environment
tools
languagesGerman, English (mostly)

Contacts

References

#bosch2

Robert Bosch GmbH
Technology&Strategy, Leonberg, Germany

Jun. → Oct. 2012 (4.5 months)

Engineer in BSW integration team.

Mission

  1. Integration of Autosar-compliant operating systems (addressing both AR3.1 and 4.0 specifications)
  2. Support of the clients with an overall knowledge of the basis software (BSW) for further OS-level customizations

Objectives

Customize and adapt a reference platform BSW into a project-specific BSW to match the client requirements. The BSW includes the real-time operating system and a set of components integrated so as to create an abstraction of the hardware target. Test and check all the major features in order to provide the client with a software layer ready to host an application. See AUTOSAR Basic Software at the the official AUTOSAR website for further details.

Realizations

Result

Integration of the basis software layer for ARM-based Xilinx Zynq and V850-based Renesas Fx4
Knowledge of the Autosar framework as well as Bosch methods for BSW generation

Project environment
tools
  • RTA-OS (lightweight Real-Time OS generation tool, ETAS)
  • Autosar Workbench (Autosar component configuration tool, Bosch internal tool)
  • Multi IDE (C compiler and debugger, Greenhills)
  • Trace32 (C debugger, Lauterbach)
  • Scons (software construction tool, Open-source)
  • CANoe (CAN networking tool, Vector)
  • eASEE (Automotive-oriented versioning tool, Vector)
languagesGerman, English (mostly)

Contacts

#bosch

Robert Bosch GmbH
Technology&Strategy, Abstatt, Germany

Feb. → Jun. 2012 (5 months)

Mission

  1. Analyse and fix the testSuite of the diagnosis software (DSW) involved in the whole range of Bosch ABS/ESP products (from simpler ABS to full-featured ESP).
  2. Analyse and design automated tests for the model-based sensors monitoring (MonAlgSim) required by ESP decision making.

Objectives

DSW validation of the functioning: check that all failures trigger the correct fallback mode according to the five kinds of generic configurations. Those configurations are customized for each client.
MonAlgSim development of the test pool: enable the validation of all sensor error generation using a Matlab simulation of the car physics. Those tests allow PC-simulated bug findings, i.e. before running the embedded software on the real target.

Realizations

Result

Improvement of two validation processes through earlier bug finding in diagnosis and sensor monitoring
Knowledge of Bosch process for ESP software design

Project environment
tools
  • MTC (MakeToolChain, Bosch internal tool)
  • SharCC IDE (for C/C++ dev, Eclipse-base Bosch internal tool)
  • DiamantPro (diagnosis configuration tool, Bosch internal tool)
  • TCM (versioning tool)
  • Ascet 6 (Model-based design environment for automotive embedded software, ETAS)
  • Matlab + Simulink with Bosch model of the car physics (simulation software, Mathworks)
languagesGerman, English (mostly)

Contacts

#alstom

Alstom transport
Alten, Belfort, France

Nov. → Dec. 2011 (3 weeks)

Engineer in Train Control and Monitoring System team (aka TCMS team).

Mission:

Get developer-level knowledge of the TCMS platform.

Objectives:

Develop and train Russian developers (in English) at TRTrans, a joint-venture between Alstom transport (France) and Transmash holding (Russia). The JV is located near Rostov-na-Donau, Russia.

Training topics:

Result:

Knowledge acquired about Alstom embedded architecture and generic knowledge about trains
Experience with ControlBuild 2010

Project environment
toolsEmbedded software designed through:
  • Logical diagrams
  • Ladder diagrams
  • Sequential function charts
  • Low voltage diagrams
  • Structured texts
languagesFrench (mostly), English

Contacts

#kde2

Kitagawa Data Engineering laboratory
University of Tsukuba, Tsukuba, Japan

Feb. → Jun. 2011 (5 months)

Ph.D. candidate in Computer Science

Mission:

  1. Explore non-uniform parallelism on GPGPU
  2. Design an algorithm for XML query processing that better fits GPU/DSP architectures

Objective:

Get faster queries/data-mining processing times over large XML documents through massively parallel execution using dedicated hardware.

Realizations:

Result:

Implementation of Staircase algorithm customized for parallel processors such as GPGPU.

Project environment
technologiesExperimental parallel algorithm implemented using OpenCL (C/C++ language extension for massively parallel processing using GPU/DSP coprocessors)
languagesJapanese, English (mostly)

Contacts

#kde

Kitagawa Data Engineering laboratory
University of Tsukuba, Tsukuba, Japan

Apr. → Sep. 2010 (6 months)

Researcher in data engineering using low-level GPU computing

Mission:

Carry out research during final project assignment in a research laboratory

Objectives:

Develop and evaluate the performance of GPGPU for query processing on XML documents

Realizations:

Results:

Reusable library for memory management and dynamic array allocation using customized datastructure
Design solution for non-uniform threads execution using GPGPU and my library
Implementation of a parallel algorithm for XML query processing with balancing feature for scattering workload on multiple NVidia GPUs and CPUs (hybrid execution)
Debugging method through CPU and GPU in-memory comparison after an identic execution
Master thesis (icon Master thesis)

Project environment
toolsExperimental parallel algorithms implemented using CUDA (C language extension for massively parallel processing using NVidia coprocessors boards based on GPU design). GNU/Linux and Microsoft Windows platforms were used.
languagesJapanese, English (mostly)

Contacts

#eap

Basel-Mulhouse airport
EuroAirport, St Louis, France/Switzerland

Sep. 2007→ Feb. 2008 (6 months)

Engineer assistant on the IT staff managing the airport’s computer facilities

Mission:

Manage an upgrade project (whole “V” lifecycle) during a six-month internship

Objective:

A reliable PHP5 upgrade of the software interface for information screens in terminals (software dedicated to airline companies) and seamless transition from previous to new version

Realizations:

Results:

Software upgrade ready on schedule (Dec. 2007) and still in use now at EuroAirport (2011)
Safe transition from 1.0 to 2.0 version thanks to an incremental development planning
Documentation aiming developers of future updates

Project environment
toolsOracle, PHP5, Apache2 and HP-UX
languagesFrench (mostly), English, German

Contacts

#theOriginOfEverything

Mario Paint

around 1995 (for years)

Childhood, Heidwiller, France