Over 20 years of experience in product development; including over 18 years of technical leadership and as main architect. Passion for programming since kid.
Solid background in developing large frameworks used by multiple projects and APIs that resist to time. Strong ability to assimilate new technologies and resolve the more complex problems. Passion for product quality and attention to details. Main source of innovation.
Provide mentoring and training for coworkers and other technical leads.
Given the title of "guru" by my peers for the last 15 years.
iPhone/iPad Apps in the Apple App Store.
Technical lead for two products:
ARINC's AIM© Rail User Interface
ARINC is an industry leader in Rail Control Systems Integration, ARINC has been designing and building innovative, reliable rail control centers for 15 years. ARINC Dispatching and SCADA systems operate in more than 25 major transit infrastructures across North America.
ARINC delivers state-of-the-art Advanced Information Management (AIM®) rail control centers that incorporate flexibility and features for commuter, subway, light-rail, and freight railway operators. AIM© is composed of a Communication Server, Application Server, and User Interface.
SYSECA's Animator runtime
Animator is the graphical development tool SYSECA uses in various sectors including transportation, energy production and distribution, telecommunications, space and industry. With an installed based of over 1000 licenses around the world. Animator is composed of an editor and a runtime library. It is available on UNIX and Windows operating systems.
SYSECA is now Thales Information Systems (http://www.thalesonline.com).
Authorized to work in the United States and member countries of the European Union.
Principal Engineer (G6) / Technical Lead, Architect CP/EIC Project
Rockwell Colins (formerly ARINC Inc) 2015-2017
I was rehired to recover a critical project. Led a team of 8 engineers (developers, testers, and on site support) with limited previous experiences of AIM projects.
Provided innovative solutions, architecture, design, implementation, communication with the client, mentoring the team and the management.
My innovative solutions, product approach and technical leadership permits to deliver the project in a record time.
My design and implementation include:
AIM usually covers few territories (like a city metro), CP/EIC covers over 150 territories (full Canada and part of US). The usual manual display and database population was not possible.
Automatic generation of displays and database included:
- Import and normalization of existing CP data files that described rail topology and devices of Monitored (CTC) and Dark (OCS) Territories,
- Extensive data processing to prepare for export,
- Export: Automatic generation of one graphical display per each territory, including automatic track layout and devices (track, switch, signal, station, alarm, …) with different convention between OCS and CTC,
- Export: Automatic Database generation done by an AIM Project expert.
This approach (compared to the standard manual generation) reduced by years the development (about a month/man per display and database). Automatic generation was tried by other AIM projects, but never achieved.
Database records filtering for the database publishing
I improved AIM realtime Database mirroring to permit each client to register to a subset of the database (filtered by territory). This change allows AIM to mirror the database through low bandwidth network. Filtering is done with an SQL like syntax.
The standard publishing is done through IP multicast messages containing the merged update of all clients, the new mechanism uses a point to point publication for each client.
Load-balancing for AIM© Server (Smart Proxy)
Standard AIM uses a single server to publish realtime database update. This approach is not adequate for CP/EIC with 1500 clients.
I used a mix of off-the-shelf load-balancing and a Smart Proxy Server, each Smart Proxy contains a cache of the realtime database and publishes to a small group of clients through a TCP connection. This approach can scale up by adding more Smart Proxy Servers without changing the load of the AIM Server.
Provides the ability for the client to continue working when cellular connection is lost. Synchronization with server upon the reconnection.
Senior Principal Engineer / Technical Lead AIM Product
ARINC Inc (formerly GE Transportation Systems) 2001-2011
GE Transportation Systems (formerly Harmon CIS) 2001
Harmon Control & Information Systems (formerly SYSECA Inc) 1999-2001
SYSECA Inc, Marina del Rey, CA 1998-1999
Initiated and led the migration of AIM User Interface from a C/C++/ILOG Views implementation to a full object oriented framework in Java / Swing. Maintenance is minimal, ARINC Transportation Projects are developed based on this AIM Framework.
Provide training and mentoring to AIM project leads, architects, and developers. Select the technology, the design, and develop most of the code, leading a small group of engineers.
Completely redesigned the control center user interface (AIM Workstation). It is composed of dialogs, and realtime tabulars and graphical displays. The previous workstation was C, C++, ILOG Views, and Animator; the new one is based on an object oriented design, Java, Swing, and Java 2D. Designed the maintenance interface (AIM Explorer) as well.
Designed and developed a tool (AIM Demo) for quality, training and demonstration of AIM capabilities.
Designed and developed the AMTRACK CETC Train Movement Planning User Interface. Provided a string line display of trips with pan and zoom, and drag and drop capability. The UI was developed in 3 months, and made a strong impression on the customer.
Designed a graphical editor (AIM Editor) aimed at simplifying database population. The idea was to provide a graphical representation of the database, including showing a graphical representation of the track circuits topology. This provides an invaluable tool for early errors detection. AIM Editor accelerates the development, hides the complexity of our database and provides data coherency verification.
Typical Control Centers need graphical displays that show hundred trains and thousand indications simultaneously. Designed and developed a 2D graphic engine (AIM Visual) to meet this requirement. AIM Visual was developed in 3 months and saved $200k in runtime license fees on the first project. AIM Visual is based on Java 2D and offers Pan and Zoom, layer, decluttering level, flashing, and periodic refresh.
To support server realtime database mirroring to a hundred clients, designed and developed a reliable multicast protocol (AMS) on top of UDP. AMS provides encryption, compression, packet, reliability, flow control, and discovery.
For clients requiring access through firewall, designed and developed a proxy server (AIM Proxy) converting AMS multicast protocol into a point to point TCP/IP connection.
Designed and developed a network analyzer for AMS messages with export to libpcap file format.
To simplify the client-side coding, designed and implemented a publish/subscribe mechanism (AIM DataSource Server) for the AIM server realtime database (RTD). Each client gets a local copy of the server database. AMS is used to efficiently push updates. This mechanism is transaction-based to ensure the coherency of published data.
The new playback mechanism (which records and replays database changes) eliminates customized development by providing full system playback.
To simplify the creation of forms, I designed and developed a data binding framework (AIM DataBinding) between Swing objects and data stores (JDBC & DataSource Server).
Designed and developed a JEE Resource Adapter implementation that provides Enterprise Applications access to the AIM DataSource Server.
Designed and developed the Web Server for the New Jersey TMAC project that shows graphical snapshots of actual railroad displays.
Designed and developed the Mobile Web Server (MWS) for the CONRAIL project.
Software Engineer / Technical Lead Animator Product
SYSECA S.A., Montrouge, France 1995-1998
Led the Animator 98 redesign and development effort. Conducted the preliminary studies (state of the art, choice of the tools, feasibility study). Led a group of three engineers for the design, development and deployment to the first client, SYSECA Inc.
Written in C++, Animator 98 has an object-oriented design and relies on the ILOG Views class library for portable 2D-vector drawing. Animator 98 includes support for layer, decluttering level, navigation window, fast pan and zoom, and is efficient with images of more than 100,000 objects.
Software Developer Animator Product
SYSECA S.A., Buc, France 1991-1994
Within a team of ten engineers, designed and developed new functionalities for the Animator product, including: bitmap support, double buffer, graphical redraw optimization, vectorial font.
Showed initiative in the development of numerous tools. Studied X11R5 and Motif source code. Provided technical assistance for several projects including Framatome and S3C (EDF).
Compex, Pringy, France 1990
Developed a Vehicle Area Network (VAN) analyzer for the European PROMETHEUS project.
Technical adviser for the IT Medical department. Awarded "National Defence Medal" (Médaille de la Défense nationale).
Get in Touch