Pelagicore is a startup providing software services in the domain of embedded software, with a strong focus on Linux, Qt and open source software.
During my time at Pelagicore, I have had the opportunity to work on great projects for some of the most renowned customers from the automotive industry as well as some open source projects:
Daimler next generation headunit HMI (Qt/QML)
Volvo next generation headunit HMI (Qt/QML)
Solution for application sand boxing based on Linux containers (LXC)
Some/IP communication stack
Responsible for the architecture and the development of the networking (internal IPC and external MOST/CAN/Ethernet) stacks of the next generation BMW navigation system. This system uses Linux and various open-source components (GENIVI) on its main controller, whereas an AUTOSAR implementation is used on a secondary controller.
Support of other architects in the design of their networking related modules
Virtual MOST stack maintenance
Development of an application framework for network modules
Development of various modules
Key engineer during the inception phase of the GENIVI alliance (********), which aims at defining an open source software platform for In-Vehicle Infotainment Systems. I have been in charge of various development tasks including:
Virtual MOST stack development and maintenance
Architecture document generator (LaTex, Cayenne , Hibernate, Graphviz)
Qt-based application framework
Stubs/proxies code generator for services described using a CORBA-like IDL syntax (Eclipse, Acceleo)
Development of internal prototypes
IPC technologies investigation/benchmarks (DBUS, Corba, ...)
Web browser engines investigation/benchmarks (Webkit, Gecko)
Test/validation/improvement of third party software components
Development of various tools and software components
Development of a virtual MOST stack. Including a code generator tool, this software allows a developer to easily interact with devices connected to a MOST bus, as well as to easily implement additional function blocks.
Technologies: MOST bus, C/C++, Eclipse CDT, Windriver Workbench IDE, UMLEvaluation of various Linux based open-source components, in order to know whether these are eligible for being part of the platform:
D-Bus: an Inter Process Communication framework used in KDE and GNOME environments.
G-Streamer: a multimedia framework used in many Linux multimedia applications.
Evolution Data Server: a backend for Personal Information Management applications (Address book, calendar, ...).
Gecko: a HTML engine used as the basic foundation in Firefox browser.
SDL, DirectFB: libraries which provide a Hardware Abstraction Layer for accelerated video graphic devices.
These investigations lead to the development of an infotainment head-unit demonstrator based on these technologies. Using the Adobe Flash/Flex technology for the graphic interface, this demonstrator has been shown many times to BMW representatives and convinced the management to keep on investigating the open source path, eventually leading to the creation of the GENIVI consortium in 2009.
As a software engineer consultant in BMW, I have been involved in an advance development project which aims at defining a new platform for future infotainment system. This platform should be used in the next generation of navigation systems in BMW cars.
Responsible for the design and development of an AJAX based in-car application. Using various location based web services (Yahoo Map, Google APIs, Map24), this demonstrator aims to show how web technologies could be used in connected infotainment systems in the future. This demonstrator has been shown in several public motorshows since March 2007.
Technologies: AJAX, HTML, Javascript, JAVA, CVS Siemens VDO Automotive Sophia-Antipolis, FRANCE Automotive / Telematics / Embedded Platform Sophia-Antipolis was an R&D site mainly focused on the development of the new Top Level Architecture Infotainment platform (TLA). The TLA platform is an automotive platform aimed to be the base for many customer products. Currently found in many BMW and VW cars. Other cars manufacturers are also actively showing interest in incorporating the TLA platform iResponsible for design/architecture/development of a complete software solution for developing java components based on the TLA platform. Based on the Eclipse platform, this solution is meant to be used by any developer working on TLA. It helps handling complex dependencies between components, deploying/testing/debugging code on the target hardware system.
Technologies: Java, Eclipse, OSGi, UML, ContinuusSoftware consultant for the TLA platform. Participation in several demonstrator projects based on the TLA platform.
Technologies: Java, C, Eclipse, OSGi, UMLResponsible for design, architecture and development of an application framework for TLA. This framework defines some common application behaviour regarding life-cycle, power management, interoperability between applications, and access to the TLA graphics subsystem. This framework is used by any application running on the TLA platform.
Technologies: Java, OSGi, UML, Eclipse, Continuus