G.Chiozzi - My job at IBM (1990-1994)

Index:

Summary:

Software Engineer
I.B.M. Semea, Segrate, Milan, Italy

From 1990 to 1992 I have worked as Software Engineer at the I.B.M. Scientific and Technical Research Solution Center of Milan.

My activity has been mainly focused on image processing and on the study of techniques for recognition and interpretation of raster images to perform raster to vector conversion. The aim of the project was the development of software tools for automatic interpretation of technological maps, able to recognize not only lines and text, but high level, complex entities and to fill-in a technical data base with all the data found on the raster image.
During 1990 I have also been involved in the development of a prototypal system for colorimetric analysis of non uniform, extended surfaces.
From 1991 I've been working on effective user interfaces' development techniques and on interactive user interface generators. In particular we have developed a C++ application framework to integrate X-Windows and PHIGS in a coherent object oriented programming environment. This system has been used to develop raster to vector applications.
From July 1992 I have coordinated the project of an interactive system to manage failures on a medium tension electric grid for ENEL (National Agency for Electrical Energy in Italy). As a group of 3 I.B.M. consultants, we were working directly at ENEL premises in tight contact with the local software development team. This job was of great interest in the application of Object Oriented techniques and required a user friendly interface with high graphic performances.
A relevant part of this application involved the interaction between a small local data base and the host-based DBMS with all the data describing the national electric grid.

In January 1993 the Milan Research Center has been restructured and absorbed by the Technical and Scientific Solution Unit, where I was responsible for the scientific visualization software.

In April 1993 I moved to the Solution Unit responsible for big institutional customers (National Agency for Electrical Energy, Railways and similar), where I have continued the activity started in 1992 and where I have worked as a consultant on other projects.

From September to November 1993 I have been involved in a task force for the design and prototype's implementation of a system for railway traffic management for FFSS (National Railways Company of Italy).

From December 1993 to February 1994 I have worked as a consultant for the analysis and design of the user interface software for highway traffic control system.

Projects:

For an overview of my years at IBM, you can have a look at the Gannt diagram.

The following table provides a more detailed description of the projects I have been involved in and of my contribution. The period(s) and the amount of time (as a percentage of my full time) I have worked on a project is showed on the left column, while the work performed in that period is described on the right column. Projects are sorted in a sort of arbitrary descending "importance" order, i.e. bigger and more important projects are on top, giving higher priority to more recent projects.

Raster to Vector conversion applications 

Jun 90 - Dec 92 (70%)The main activity of the IBM Research Center in Milano was focused on image processing and in the study of techniques for recognition and interpretation of raster images to perform raster to vector conversion. 

In the case, for example, of a technological network, the system must have been able not only of vectorise lines, curves and text composing the drawing, but also to recognize higher level entities, like a whole electrical cabin, and to associate it to all corresponding data, like power, building materials and so on, interpreting the text on the document, associating it to the proper drawing elements and filling a complete relational database. 

 When I started to work in the group, the development of an Interpretation System for Land Register Maps (paper abstract) for IBM Mainframe was in a very advanced state. 

During the first months of my activity in the group, I have worked to the optimization and porting of the system under the Unix operating system and from Fortran to C language. 

 After that I have worked on a redesign of the engine and on generalizations of the recognition algorithms with the objective of building a general purpose framework. It should have been usable not only for Land Register Maps but also for the development of applications analysing other types of technological maps. Typical examples are electrical networks, telephone net maps, building pipe system drawings, mechanical drawings and similar. 

 A number of prototype applications have been developed. 

 I have also worked on the development of basic libraries for the development of the application's graphical user interfaces.

Interactive system to manage failures on a medium tension electric grid 

Jul 92 - Apr 93 (30%)In July 1992 I have started to work as a consultant on the project of an interactive system to manage failures on a medium tension electric grid for ENEL (National Agency for Electrical Energy in Italy). 

The system was meant to provide an electronic support for the operators managing emergency conditions on the national medium tension electric grid. While the high tension network is remote controlled, the medium tension one is operated manually. An operator coordinates the activity of the emergency units from a console providing graphic representations of the grid and of all the corresponding information available on the corporate databases. 

 It should have also supported a seamless transition from manual operation to remote controlled operation also for the medium tension grid. 

 Since emergency operators are subject to high stress working conditions and, in general, are not expert in operating computerized systems, the most important requirements for the system where on the user interface characteristics: easy and intuitive use, error protection, consistency, clarity and completeness of displayed information where very important. 

 In this period, working with the team responsible for the project, I have defined the general architecture of the system based on the provided specifications and functional requirements. 

 A prototype of the application has been developed and demonstrated to the customer. 

Apr 93 - Apr 94 (60%) In April 1993 I moved to the Solution Unit responsible for the project and I worked a big percentage of my time at the customer's premises coordinating the development activity or our team of 3 consultants. I also acted as a tutor, teaching to the components of the IBM and customer's mixed team Object Oriented design techniques, the C++ programming language and the usage of the MigWob application framework. This library was the corner-stone development tool. 

The development of the system followed a very successful iterative approach starting from the basic prototype and making it evolve to the final application, with bimonthly interactive sessions with customers and users that provided very good feedback. 

 The application was installed in a first set of test stations at the end of '93 and received a very good acceptance from the users. 

 This triggered the decision of implementing other related applications using the same development methodology. The group continued these developments after Apr.'94, when I left IBM. 

The MigWob graphical application framework 

Sep 91 - Apr 93 (40%)An important part of my activity consisted in the design and implementation of a C++ application framework for development of user interface programs with high end graphical requirements. 

The system, called MigWob, has been used for the development of most of the applications described in this document. 

 For this development I have coordinated a team of 3 people, including a university student working to her degree thesis at our research center. 

The system, described with much more details in some papers, is a uniform and coherent programming environment for developers who need to get the best from both X-Windows and Phigs standards. 

X-Windows power stands in its tool-kits, considered as tools to develop Graphical User Interfaces with a standard look and feel, but it lacks in pure graphical functions. 

On the other hand, Phigs is a powerful language for 2 or 3 dimensional graphic programming, but it does not make high level primitives for the user interface (buttons, menus...) readily available. X-Windows and Phigs are difficult to be mastered and are too different from each other to be integrated in a single application. 

 MigWob integrates X-Windows and Phigs in a unique framework, via a C++ hierarchy of classes. 

It provides also a complete application framework for the development of graphical applications. This means that the complete structure of typical and standardized applications is captured in C++ classes, as well as design patterns that are recurrent in these applications. 

The main benefits gained by the use of MigWob are the following: 

  • a cut off in the learning curve, thanks to the formal neatness of the library; 
  • a cut off in the development time; 
  • a significant reduction of the code size due to the reduced number of instructions; 
  • the resulting code is easy to read and to maintain; 
  • the code is also easily extensible and reusable. 

For more details on the MigWob library you can have a look at the following references: 

Colorimetric analysis of non uniform surfaces 

Feb 91 - July 91 (30%)During the first half of 1991 I have been involved in the development of a prototypal system for colorimetric analysis of non uniform, extended surfaces. 

I have worked on the first part of the project in a team of 3 people defining the basic characteristics of the system, dedicated primarily to the paving tiles production industry, and developing a first prototype. 

 We have set-up a system based on a commercial color video camera and developed acquisition and true color calibration software as well as a first version of the data analysis algorithms. 

 The second part of the project, in which I have not been directly involved, has been performed during the rest of 1991 and in 1992 mainly as a university degree final work and has produced a new prototype of the analysis software based on more advanced pattern recognition algorithms. 

For more details you can have a look at the following references: 
 

Railway traffic management system 

Sep 93 - Nov 93 (80%)During these three months I have been involved in a task force whose purpose was to prepare the I.B.M. offer for a call for tender of the Italian National Railway (FF.SS.). 

The project consisted in a refurbishment of the railway traffic management system. 

 As part of a much wider offer (including on-field electronic components, hardware, forniture...), I have worked in a group of 4 Software Engineers at the design of the control software for the operator console, providing a detailed design of the system and a working prototype. 

 This system required access to a relational database for all the information about planned train traffic, train configuration data and rail network topology and input/output with the real-time acquisition systems and actuators for traffic control. 

 The user interface was very demanding, being based on a graphical representation of the system updated in real-time and requiring very high quality user interface. For this reason the MigWob application framework was chosen as the software development basic tool. 

Highway traffic management system 

Dic 93 - Feb 94 (20%)Given my previous experience with ENEL and the Railway Control System, I have been involved, as a consultant, in the implementation of the user stations for a highway Traffic Management System. 

The system was meant to provide the operator in the control center with a single interface to monitor traffic condition on the highway. This includes video cameras, weather conditions from sensors along the road, the location of emergency and support teams. His duty was then to coordinate their intervention or to remotely configure electronic panels and signs. 

 I have designed the basic architecture of the operator console software, based on the MigWob application framework , and trained the development team on the usage of the library and, more in general, of C++ and object oriented programming techniques. 

Other projects 

This section describes briefly other small projects I worked on or bigger projects in which I had a minor involvement. 
Graphic Conversion Tools (Jul 91 - Jan 92) 
To satisfy the continuous need of conversion routines and procedure from different graphic file formats for the projects inside the IBM research center or from other IBM units and customers, I have written a guideline document and collected/developed a set of conversion tools, working on different platforms (Dos, OS/2, Unix, Windows, CMS...). 
Dos eXpanded memory manager (Aug 90 - Oct 90) 
I have developed, in team with a colleague, a library to overcome DOS limitations regarding memory management. It was used on DOS image analysis and graphical applications. 
Systems for micro-fossil recognition and seismic map analysis (Aug 90 - Jan 92) 
These systems, developed at the Milano Research Center for the oil industry, where prototype applications for intelligent recognition software meant to help in identifying potential oil fields from geological data.
I had only a very small part on these projects. 

The research center was also often involved in small applications and feasibility studies for graphical or image analysis software. 

Didactic activity 

Jan 91 - Apr 94 (5%) During my years at IBM I have dedicated a small part of my time to didactic activities, teaching at IBM internal courses or to some external customers. I have also been responsible for tutoring of some of the students working at the Research Center for a stage or for their degree thesis. 

In particular in the Academic Year 1991-1992, Dott.ssa S.Pantarotto took her degree in Information Science at the University of Milano, after having worked with me at the Research Centre for one full year, with the following dissertation: 

  • An interactive user interface generator for applications dedicated to image analysis and elaboration. 
    Thesis responsible: Dott. G.Chiozzi, I.B.M. Semea S.p.A. 
    University responsible: Prof. G. Degli Antoni, Università Statale di Milano

 Courses:  

  • June, 24-26 1991, IBM Research Center, Pisa, IBM internal course - AIX - Programming in the graphic environment. 
  • September, 04-05 1991, IBM Research Center, Rome, IBM internal course - AIX Windows - Programming principles. 
  • February, 10-14 1992, IBM Instruction Center, Novedrate, Corso Base RS1 - Risc System 6000 and AIX - Introduction to the operating system. 
  • February, 24-26 1992, IBM Instruction Center, Novedrate, Corso Base RS1 - AIX Windows - Programming principles. 
  • February, 25-28 1993, IBM Instruction Center, Novedrate, Corso Base RS2 - Risc System 6000 and AIX - Introduction to the operating system 
  • March, 28 to April, 21 april 1994, ENEL S.p.A. Vicedirezione Specialistica Informatica - Object oriented analysis and design with applications to the MigWob graphic library. 


[ ESO | VLT software | G.Chiozzi's Home Page ]

© gchiozzi@eso.org

Last modified: Sat May 23 11:24:53 SAT 1998