INTRODUCTION

I did my internship in COGEMA-La Hague from 08/27/2001 to 12/21/2001. During this four months, I had to correct some CML2 application components.
In the original internship subject, I had to correct “MAP EDV” and “Incohérence Bailey”, but in fact, I corrected “MAP EDV”, translated it from VMS into Windows NT, and created a utility to check the coherence between the “État CML” and the “differentiation files” for MZR and MZJ regulation cards.

I) PRESENTATION OF COGEMA

1) GENERAL DESCRIPTION OF COGEMA-LA HAGUE

The COGEMA-La Hague industrial complex occupies a 300-hectare (740-acre) site 25 kilometers (15 ½ miles) west of Cherbourg on the tip of the Cotentin peninsula. Some 6,000 people work at the site full-time, including 3,000 COGEMA employees.
The mission of the COGEMA-La Hague plant, which entered service in 1966, is to reprocess spent nuclear fuel. This is an industry that provides an answer for a number of energy and environmental considerations. It is these considerations that have prompted many power companies to reprocess their fuel at the world's largest commercial reprocessing site, COGEMA-La Hague.
The COGEMA-La Hague plant reprocesses spent nuclear fuel from reactors operated by French, European and Asian power companies.

2) NUCLEAR FUEL REPROCESSING

Reprocessing is a commercial service provided to electric power companies that operate nuclear reactors. It consists of separating and conditioning the various components of the spent fuel so that they can be recycled, as for uranium and plutonium, or disposed of permanently, as for non-reusable materials referred to as final waste. Almost the spent fuel’s entire radioactivity is contained in the final waste.

The nuclear fuel cycle

3) COGEMA ORGANIZATION, T/TD/AIM SECTION

The service where I worked in is T/TD/AIM. It depends on Technical direction (T), Technology & Development service (TD). AIM is for “Automatisme, Informatique industrielle, Mesures”, and works in:

II) PRESENTATION OF THE SOFTWARE

1) THE CML

The CML is the “Centre de Maintenance des Logiciels”: Software maintenance center. It is used for management of all the embarked software on the site.
It controls the “life cycle” of the software and enables to make some “VLE” (Embarked Software Verification) to check that software configurations don’t change.

2) MAP EDV

MAP EDV is a software which makes a map of the “EDV” (Visualization’s Elements) for the SMC 600 automate.
The “EDVs” are variables that enable the communication between the “drive post” and any component of the “control-command” system (in this case with the SMC 600). It must display it in tabs of 16 lines like this:

      +-------+-------+-------+-------+------------------------------------------+
      |BIT EDV|  Cde  |  REC. |  DEF. |           LIBELLE                        |
      +-------+-------+-------+-------+------------------------------------------+
      |   1   | R288  | B528  | R304  | BIT DE COMMANDE CHAUFFE GENERALE         |
      +-------+-------+-------+-------+------------------------------------------+
      |   2   | R289  | B529  | R305  | BIT DE COMMANDE GRADATEUR IND 2          |
      +-------+-------+-------+-------+------------------------------------------+
					[…]
      +-------+-------+-------+-------+------------------------------------------+
      |   16  | R303  | B543  | R319  | 6312 RRO 27.2A      RELAIS DE COMMANDE   |
      +-------+-------+-------+-------+------------------------------------------+

At the start of the internship, MAP EDV could not print the result and could not display the command bit’s commentary (“LIBELLE”). It existed under VMS in text mode.

3) UTILITY OF COHERENCE VERIFICATION BETWEEN THE “ÉTAT CML” AND THE “DIFFERENTIATION FILES”

Every night, the CML launches a “VLE” on all the MZR and MZJ component on the site, and make a database with all the results: it’s the “État CML”. The goal of this utility is the checking of this “État CML”.
Each “VLE” produces a differentiation file, which displays all the differences between the embarked version and the reference version of the software. Then, the result (on the form “NDIS”, “DISC” or “NCTL” ), the same checks are carried out for the RAM. With these files the utility must recalculate the result of the “VLE” to compare with the “État CML”.
At the start of the internship, this utility didn’t exist; I had to create it.

III) MAP EDV

1) CORRECTION OF MAP EDV

The first job I started with was to correct MAP EDV; it took me six weeks (a chart is on the next page).
First, I had to debug and correct the existing software. I solved some bugs I found in the code while I was trying to correct the print problem; for example MAP EDV could not understand direct address like “M24<-V3”, but only immediate address like “M24<-170”.
When printing and commentary problems had been solved, I tried to add some amelioration to MAP EDV; for example the commentaries were displayed on only 16 characters, but the system allows programmers to use 40. The UP3 standard says only 16 characters may be used, so MAP EDV used only 16. But most of the automates had been programmed before this standard came up, and the 16 characters were not enough. Then I made tables with 40 characters for the commentaries.

2) TRANSLATING OF MAP EDV TO WINDOWS NT

Then, I started to translate MAP EDV from VMS into Windows NT.
I did this graphical interface, where you can choose “Local” or “CML” mode. Only “Local” mode can be used. In this mode you enter input (where are the automate program files) and output folders, and a MAP EDV is written in the output folder. In the “CML” mode, you can choose the automate you want to use, from the list, to make the MAP EDV, then the operation is made by the CML server; but it is not made.
The translation has the same possibilities as the original software, and a “view” module, which allows to view and print calculated maps without any other programs.

IV) UTILITY OF COHERENCE VERIFICATION BETWEEN THE “ETAT CML” AND THE “DIFFERENTIATION FILES”

The last job I started was to do this utility; it was not really difficult.
The program first loads the “État CML”, then for each component load the “differentiation files”. After recalculating his state, it writes a line displaying all information on the component and eventual incoherence between the “État CML” state and the calculated state.
After testing all the components, the output file resembles this:
M542R004;NCTL;RNDI;N;X;NCTL;RNDI;N;X;X;X; ;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;5;0;
M542R005;NDIS;RDIS;X; ;NDIS;RNDI;X; ;X;X;X;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;2;
M542R008;DISC;RDIS; ; ;DISC;RNDI;X; ; ;X; ;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;3;

For each component, you can see the name; calculated state (program and RAM); the coherence between calculated and read states; and other information from input files.

PLANNING

Here you can see my planning:
Planning

CONCLUSION


At the end of the internship, one of the three software I had to develop is not carried out; but it’s not really a negative point because it has been replaced by a fourth program.
I enjoyed this training course which was very enriching, it allowed me to put in use my knowledge in C/Unix acquired in first EPITECH year in real conditions in the professional environment.
It also allowed me to learn a new way of programming with C++ and the object oriented programming.