Note for French people-- vous trouverez la version française (au format PDF) ici.

Cyril ADRIAN

14, rue Beauregard
25420 Bart
tel. +33 (0)3 81 97 13 01

Age: 33

Nationality: French

 

One child

Software Consultant
Object architecture specialist
Click below for a quick access to the main topics: Home
Professional Experience Other IT Experience Publications Computer Skills Education Languages Hobbies and interests References



Professional Experience
Since November 2006

Alplog
Consultant at PSA Peugeot-Citroën (Sochaux, France)
Vehicles components traceability

PSA is a car company; as such, it owns many factories around the world. Those factories need more and more IT technology in order to ensure the tracing of their car defects.

In the context of vehicle defects management, I had to participate to many projects, some of them developed by international third parties (mainly, in Argentina and in China).

In that context, I had two roles:

  • design and develop software
  • pilot and help third-party people to design and develop software

Highlights: Java (JDK 1.4 & 5.0, JDBC...); J22E (JSP, Servlets); Design Patterns; UML; XML; Oracle; JavaCC; Eclipse; IBM Websphere; Maven
September 2002 - October 2006

Alplog
Consultant at PSA Peugeot-Citroën (Sochaux, France)
Components development

PSA is a car company; as such, it owns many factories around the world. Those factories need more and more IT technology in order to ensure the tracing of the production.

The system they built relies highly on the notion of components. Until recently they were developed in C. Two years ago, they decided to include new Java-based components. After having developed the framework and basic services, PSA needed people with enough Java and object skills to help them create brand new components. In that context, my role was twofold:

  • Develop a new component, and propose ideas to improve or extend their framework;
  • Assist people coming from the C world, as they acquire object and Java technology.

In May 2003, my role changed a bit. I became one of the designers of a new system meant for factory monitoring, involving applets, servlets and a tool I wrote to help people design synoptics (that's a graphical tool involving Swing, but also some of my most cherished OO concepts such as design patterns).

In December 2005, my role changed again. I became involved in the development framework and tools underlying PSA's release system. I had to develop a system that was able to detect dependancies between components. Those dependancies can be hidden in many ways: Java or C code, SQL, makefiles, XML files... That system involved the creation of a whole client/server architecture, with a massively multi-threaded server. It also featured JavaCC and other syntactic analysis technics.
This tool was a real success since while it is a real help to people, it does not take too long to run (two minutes for the biggest component which contains thousands of files)

In July 2006, I was affected to yet another project: factory lines management.

Highlights: Java2 (JDK 1.4, Swing, JDBC); J22E (JSP, Servlets); Design Patterns; UML; XML; Oracle; JavaCC; Eclipse
November 2001 - August 2002
(10 months)

Alplog
Web site development

Alplog is the IT services company I belong to; one way to make it different from many others is that the experience is shared by all its consultants.

To achieve that, a brand new intranet was developed. This intranet allows people to share experiences.

Due to its dynamic nature, the site had to be developed in JSP and Java. The JSP side is very small, delegating almost everything to its Java counterpart. The data files are stored in a versioning tool.

Being an internal project, it is also used as a technology proof of concept. Aside from J2EE, many object concepts were exposed--such as a massive use of Design Patterns, showing that they may diminish the project maintenance while increasing its power of extension. The project also used components I developed, such as a logging component, a generic network server and so on.

Highlights: Java2 (JDK 1.3, Swing, JDBC); J22E (JSP, Servlets); Design Patterns; Components
February 2000 - October 2001
(21 months)

Alplog
Consultant at SchlumbergerSema (Besançon, France)

Working in the Ticket Vending Machines Server team.

A Ticket Vending Machine, as one can guess, is a device used by everybody who wants to buy, say, a bus or tram ticket.

In any mass transit network, there are usually more than one of those TVMs. The amount of sold tickets, the transactions (price, way of paying and so on) are sent back to the Server which keeps them in a database. This information is used for the accountancy and for miscellaneous statistics.

The part I designed in the server is in relation with the Bank Card medium for some of the numerous SchlumbergerSema customers (some French towns) which is bound to be put in their TVMs as one way of paying tickets.

Highlights: Java2 (JDK 1.3, Swing, JDBC); "CB2A Fichiers" format, the French banks data exchange file format.
September 1998 - January 2000
(17 months)

Alplog
Consultant at Alcatel Telecom (Strasbourg, France)

Worked in the WebTouch One project which involved a full development from the basic telephony drivers to the Graphics User Interface and the functional applications like phone, address book, e-mailer, browser and so on.

Many people were involved and different teams work on different layers of software: operating system, virtual machine, drivers, Java kernel classes, Java applications. I used to work for some months in the Java applications team, then I worked with the Java Virtual Machine people.

The software was developed on Solaris stations and cross-compiled for the WebTouch One hardware.

The WebTouch One is a Screen Phone: a phone with Internet connexion facilities, with a touch-screen, used to display information (such as dialog boxes, etc.) and active objects (such as buttons) which are activated when "touched".

It is connected to Internet via a modem and an Internet provider.

This product was a great challenge for Alcatel because then Internet was a new market.

This product is sold since mid-October, 1999.

Language: pJava; JDK 1.1 (Sun environment)
April - August 1998
(5 months)

Alcatel Telecom (Strasbourg, France)
End-of-study training period

Developed a tool using database and Intranet publication.

This application was meant to organize the test results in an efficient way to help the A4400 validation team.

The A4400 is a PABX developed by Alcatel.

The test results are generated by programs testing the functions of the PABX. Therefore, those results are very numerous, and the validation team wanted a tool to organize them in order to analyze them in the most efficient way (that is, the fastest and with a string emphasis on the most "important" ones).

Because analyzing the test results is a task performed over several days, and because the analysis results have to be kept, it was important to use a database, somewhat guiding the tool conception.

The project involved a lot of contact with the final users (i.e., the validation team) in order to know and take into account their wishes (ergonomics, functionality...)

I coded the tool alone, but left documentation enough to let them modify and/or improve the functionalities of the tool.

Language: Java (JDK 1.1.6, Swing, Symantec Visual Cafe)
October - March 1998
(6 months)

Dassault Électronique (Paris, France)
industrial project

Wrote a real-time embedded distributed operating system: proved Dassault's Specifications.

The OS had to take into account some strong security concerns involving time sharing and real-time aspects, and process communication independent from their location.

During this project I belonged to a four-student team.

The project was very technical because the specifications were provided. We had to think about some conception aspects and to code a really efficient little kernel, which we did within about four months.

This work was a part of a European project (GASCA) involving other firms than Dassault, like Sextant Avionique, Daimler-Benz...

Languages: C, C++, Eiffel
June - August 1997
(3 months)

EDF (Nancy, France)
training period

Worked on a tool helping to program electric wires protections.

Language: Visual Basic 3



Other IT Experience
SmartEiffel

I am a developer of SmartEiffel, the GNU Eiffel Compiler, developed initially by the Loria (Lorraine Inria, Nancy).

Eiffel is an object-oriented language initially developed by Bertrand Meyer in 1985. It implements some important features of object-oriented technology, not found in any other language.

SmartEiffel is the only open-source Eiffel compiler, written itself in Eiffel. More than a compiler, SmartEiffel also offers a class browser, a pretty printer, and many other tools. The compiler can create either native code (using an ANSI-C compiler) or Java-compatible bytecode.

The libraries that come with the compiler are free; you can use them in both commercial and free projects.

The compiler itself is protected by the GNU General Public Licence.

ESE: Enterprise SmartEiffel

ESE is the "enterprise" side of SmartEiffel. The aim of the project is to develop tools and libraries to make SmartEiffel useable in an industrial context.

As for SmartEiffel, the libraries are free of use and the tools code is protected by the GNU General Public Licence.

SmartFactor

SmartFactor is a tool to refactor Eiffel sources. Its design uses the most current object technics (design patterns, and so on).

Refactoring is one of the most recent IT technics that allows a developer to modify, enhance, clean, and maintain software.

This project is protected by the GNU General Public Licence and the Eiffel Forum Licence.




Publications
2005

Frederic Merizen, Dominique Colnet, Philippe Ribet and Cyril Adrian:
OOPSLA: "Non-Conforming Inheritance: the SmartEiffel Experiment of a High-Level Mechanism" (rejected). http://smarteiffel.loria.fr/papers/insert2005.pdf

2004

Philippe Ribet, Cyril Adrian, Olivier Zendra, Dominique Colnet:
"Conformance of agents in the Eiffel language",
in Journal of Object Technology, vol. 3, no. 4, April 2004, Special issue: TOOLS USA 2003, pp. 125-143. http://smarteiffel.loria.fr/papers/jot2004.pdf




Computer Skills
Object-oriented Languages

Eiffel,
Java 1.1.x, Java2

Other Languages

C, Pascal
Prolog, SML, e-Lisp, SQL
Bash (Sh, Ksh...), Csh (Tcsh)
Assembler (68000)

Web-oriented technologies

JSP, Servlets
XML, HTML

Methodology

UML, BON

Networks

OSI model
SMTP, POP3
TCP/IP, UDP, X25
PPP

Operating Systems

UNIX (HP-UX, Solaris, Linux)
Windows 3.xx, 9x, NT

Strongest skills

Object-oriented software methodology and programming
Operating Systems (including real-time oriented ones)
Language Parsing

Miscellaneous

Some Linux administration
Some Apache and Tomcat administration




Education
1995 - 1998

ESIAL: "École Supérieure d'Informatique et Applications de Lorraine" (Nancy, France)

Third level education: post-graduate degree in computer science

Major studies:

  • Software Quality
  • Artificial Intelligence
  • Algorithms
  • Data structures
  • Database (Sybase SQL server 11.0)

Minor themes:

  • Linguistics
  • Operational Research



Languages
French

Mother Tongue

English

TOEIC (November 2003): 965 points out of 990 (listening: 480; reading: 485)

Spanish

Basic knowledge




Hobbies and interests
Singer

Various choirs, Baroque quartet, chamber choir, lyric soloist (baryton-bass)

I love singing. When I am not at work, you might find me at a singing lesson, at a choir rehearsal or singing and playing the piano. Meet me at some performance!

Books

Fantasy, classic English literature

When I don't sing I take a good book. There are many good books on this planet, but those I especially appreciate are fantasy books (Terry Pratchett, John Ronald Reuel Tolkien, Robin Hobb) and science fiction books (Isaac Asimov, Franck Herbert). I also read some older English books (Charles Dickens, William Shakespeare, Daniel Defoe)




References

Some people helped me become what I am today. I may give some references, but only upon request to keep their privacy.

Last modified: Tue Jul 25 08:08:19 CEST 2006