Simulation softwares currently used in the oil industry have generally suffered from a lack of maintainability that has often led to a periodic complete rewriting of the codes, resulting in inefficiencies in the software development cycle. Generally, these problems have their origin in either an absence of long-term specifications for the applications, a lack of adoption of software engineering principles to help upgrade the codes, or the involvement of various teams in the development of different phases of the product.

However, the advent of Ada is changing the software cycle with a number of features that permit a smooth evolution of the softwares; these features include the object-oriented development of modules, and both the reusability and a high level of data abstraction for the associated components. The modularity of the codes is enhanced by the hierarchy of the processes used. Communication between different development teams and protection of the code are handled by the information hiding process.

A series of Ada-based portable softwares has been developed using this methodology: their primary application is in fracturing and cementing; however, similar development strategies can be easily transposed to other applications. The main engine is a data structure handling system associated with different numerical and processing tools. The first system relates to the types of variables and their representation, while the latter consists of general tools for finite elements and finite difference discretization. Applications based on these concepts are described in detail.

You can access this article if you purchase or spend a download.