Success story at CNES (French Spatial Agency)

Interview with Jean-Jacques WASBAUER – Project Manager of the SIRIUS project

In which context do you use pxDoc?

We started to use pxDoc at the very beginning of our SIRIUS project, which aims at providing a model-driven software factory dedicated to the specification, design and production of Flight-Dynamics Software (FDS). FDS are used for the prediction of a satellite state (position, velocity, attitude…) and preparation of vehicle maneuvers to fulfill its mission and keep the vehicle safe.

Every space mission has its own and custom FDS software, depending on mission requirements (precision, orbits), vehicle geometry, thrust technologies, etc. Actually, managing software variability is the core challenge when implementing a FDS. FDS software implement advanced computations to take into account various physical models. Thus, these applications are very complex and require a huge documentation effort to provide all specifications, including requirements traceability artefacts required by space development activities.

That’s why we decided to capitalize this knowledge in a model-driven software factory. And once we had all this valuable information in our models, we definitely needed a documentation generation tool to derive all our required specification documents.


Why did you choose pxDoc?

Initially, we did not expect that much from a documentation generator: I was used to cope with boring, verbose and bad-looking documents. A comparison study of documentation generators – open source as commercial solutions, lead us to choose pxDoc: it was the only tool able to fulfill all of our very specific and custom Word documents (required by the CNES and the Space International Standards), and to mix manual and generated parts in the generated documents, in an iterative and incremental way.


Can you provide some more details about your actual use of pxDoc?

The model-driven nature of the software factory allows us to capitalize most of the FDS specification in a reusable and module oriented way. Today, almost all the specifications about a FDS are automatically generated with pxDoc, and any reused Flight-Dynamics Services provide its documentation “for almost free”.

We have implemented about 20 specification generators with pxDoc (SSS, SRS, Traceability matrices, User manuals, …) that are invoked by about 20 people upon artefacts defined in our models (e.g. any new or reused Flight-Dynamics Component, or the entire FDS Software that describes an assembly of reusable Flight-Dynamics Components).

For now, after 2 missions, we have generated about 300 specifications with pxDoc, which represent tens of thousands of pages of useful, effective, well-designed and up-to-date documentation.


Did you estimate the cost savings you have made?

It is always hard to estimate such cost savings. But going through a Model Driven approach made it necessary for us to have an efficient document generation tool. As all the specification effort has been done in the model, pxDoc freed us from the heavy work of editing documentation which has no value-added for our Business teams. For sure, hundreds of hours have been saved!

And from one mission to another, we capitalize more reusable components that will save us documentation and implementation effort for future missions.


What is your feedback, after having used pxDoc for several years?

I did not expect such good looking generated documents: they have the same quality as the documents we used to produce manually. But with the great advantage that they are always up-to-date with our FDS, since our models capitalize specifications and drive the source code generation!

Furthermore, when we had to transfer the tasks of updating the generators to a new comer, it has been done quite quickly, as pxDoc is really simple to use.

In short: pxDoc has fulfilled my expectations!