You are on page 1of 8

Computer Physics Communications 38 (1985) 301—308 301

North-Holland, Amsterdam

SOFTWARE SYSTEMS DEVELOPMENT IN PETROLEUM ENGINEERING

D.J. BROWNING, G.M. CAIN, N.P. CARMICHAEL, F.G. GOULDSTONE, A.W. WADSLEY,
S.J. WEBB and P. WINDER
IPEC International Petroleum Engineering Consultants Ltd., 18 Hanover Square, London WJA 2BB, UK

Many approaches to designing software systems have been developed for use in commercial or business environments. These
development methods and procedures have improved dramatically over the last ten years although it is only recently that these
have been employed in scientific and technological applications. Many of these implementations have been unsuccessful
because the design methodology has been divorced from the practical requirements of the industry in which the software
system is to operate. This paper discusses a modern approach to software development which directly relates to an
engineering environment and which is designed to satisfy practical criteria of acceptability of the software when delivered to
the petroleum engineer. Since all field developments nowadays rely heavily on associated software systems, the approach
presented here can lead to improved mechanical systems reliability and shorter development/design cycles.

1. Introduction and review of software development ucts. To put our approach in context we will
procedures briefly review some of the existing procedures for
software development.
This paper presents our recent developments in It is our contention that the major barrier to
the area of computer software production. In corn- successful software development is poor cornmuni-
mon with many other successful endeavours, these cation. The oft described software development
developments have come about as a result of tak- cycle can be represented as a “handling over” or
ing a fresh look at some old (and some new) translation of specifications from one stage to the
problems, producing a solution which generalised next in the production chain, culminating in a
the specifics, and then discovering that the solu- series of tests that all too frequently demonstrate
tion had much more potential than was initially that the pudding, having been eaten, is not proven.
realised. Major pioneering work by Dijkstra, Constan-
At the beginning of 1984 IPEC International tine and others in the 1960’s which defined sound
Petroleum Engineering Consultants had the rare principles for software design, have, during the
opportunity of starting with a completely “blank 70’s, been refined by others to produce a wealth of
sheet” upon which to develop software products alternatives for system and program design. Each
for the petroleum engineering Industry. From the method inevitably has strengths and weaknesses,
(large) set of published methods our choice of largely associated with the environment within
software development procedures had to relate to which is applied, be it real time systems, tradi-
the industry which we service and to the nature of tional commercial data processing, or interactive
the products that were then required and would be engineering and scientific work.
required in future. In particular, we needed to The methods of Constantine and Myers, de
meet the dual requirements of long-term economic Marco and Yourdon can broadly be grouped to-
(and hence profitable) software development to- gether in contrast with Jackson’s JSD (system de-
gether with the broader satisfaction of software- sign) and JSP (structure programming) methods.
user needs. In effect, we had to develop a con- The Structured Analysis and Design Technique
sistent and unchanging (sic) software framework (SADT) has associated with it PSL/PSA (Problem
for our interactive Petroleum Engineering prod- Statement Language/Problem Statement Analy-

0010-4655/85/$03.30 © Elsevier Science Publishers B.V.


(North-Holland Physics Publishing Division)
302 D.J. Browning et a!. / Software systems in petroleum engineering

sis). Many of these and related methods have Historically the Petroleum Industry has moved
corresponding software aids to development, pro- from an era dominated by the large (batch-on-
ject control and code generation. Whilst some of ented) mainframes of the late sixties and seventies
these methods are still evolving, we would claim such as IBM and UNIVAC, to the interactive
that all fail in one or more respects in providing mini-mainframes commonly in use now, such as
effective tools for developing software. We should, the VAX series. This change, although offering a
however, report that in order to derive our soft- wider range of service, has not necessarily been for
ware development environment, the initial product the better as far as the working engineer is con-
framework was developed using a form of JSD. cerned. Once the limitations of a batch service are
The major weakness of these methods in our well understood, the petroleum engineer usually
industry is the fundamental lack of a requirement has a consistent computer resource on which to
specification language which would enable our execute his program. Thus if the turnaround (job
engineers and users to specify their requirements submission to receiving the final output) time was
in detail and then subsequently change them known to be overnight, then the engineer would
without considerable disruption to the develop- schedule his own working day to accommodate
ment process. More importantly, the software sys- this. His main demand for increased computing
tem design or program design can be difficult to speed and memory size came, not so much from
relate to the original requirement specification requiring an instant turnaround, but more from
without an appropriate design language which is the size and nature of his petroleum engineering
understood by the engineer. Of the better known problems — this is especially so in oil reservoir
methods, we have found the Jackson methods to simulation where the CRAY and CYBER 205
have a notation which is most successful in this series of computers are now routinely used.
role. However, we believe that none of the pub- On the other hand, while the petroleum en-
lished methods provide a direct link between what gineer may be able to use a mini computer more
a customer wants and what a software develop- easily for interactive work, the low power of these
ment group might provide. machines has meant that large jobs either run
The system that is described in the following slowly or take an unknown time to complete de-
sections has a proven track record and overcomes pending on system usage, or must be run on a
many of thes’e difficulties, with added benefit. suitably powerful batch processor. This alternative
is obviously the most time and cost effective. How-
ever the environment where more than one com-
2. Petroleum engineering industry environment
puter system is being used places a new burden
The Petroleum Industry is conservative in its upon the engineer who must ensure that he not
outlook. This is not because it is opposed to in- only knows the operating systems for each type of
novation, but because the gain from such innova- computer and the communications protocols be-
tjon must be seen to be in excess of the cost of tween the computers, but also that the various
introducing and providing the new technique or programs he is using have compatible data for-
product. This conservatism has meant that the mats. Given that the petroleum engineer tradition-
introduction of computer technology itself has been ally wrote his technical engineering software him-
slow particularly regarding the use of modern self, or if not it was written for a specific computer
techniques for writing technical software. Tradi- or environment, he is rapidly finding that the
tionally, the writing of such ‘applications’ software current computer environment of micros, minis
has been the preserve of the working engineer and powerful scientific processors is not compati-
himself, and as such, many of the existing pro- ble with his existing software or concepts.
grams used by petroleum engineers are hand- While it may appear to be a truism that such
calculation methods written in FORTRAN 66 or recent innovations as local area networks (LAN’s)
BASIC and implemented on a main-frame or, improve the resource available to the user, unless
nowadays, a micro computer. he can access these effectively then the more likely
Di. Browning et a!. / Software systems in petroleum engineering 303

effect of their use is to reduce his efficiency. It has product, particularly an interactive product, is that
been observed by some of the major oil companies it be reliable. In the petroleum industry it is not
that as their networking of computers and systems uncommon for software packages to be used at
increases, their engineers spend more and more of several different locations, some of which may be
their time attempting to solve communications and geographically distant for maintenance support.
other ‘computer’ problems rather than having more This demands that good design and thorough test-
time to solve their engineering problems. ing are highly important considerations in any
Moreover, it is no longer acceptable for the proposed new software development for the oil
engineering user to create and write his own soft- industry.
ware. This task — once seen as a mere technical Another major user requirement is that the
activity is now more complex due to the need to
— software be usable. The term ‘usuable’ is clearly
ensure portability of programs between computers, open to many interpretations, and it is not dif-
and also the need to take advantage of the interac- ficult to see that usability from an engineering
tive capability of modern computer systems such standpoint does not necessarily correspond to the
as high resolution graphics and screen addressing. definition of the term as seen from the designer’s
On the other hand, as each job or activity within or implementary viewpoint. To ensure that the
the petroleum engineering profession becomes software meets basic engineering usability require-
more specialised there is an increased demand for ments, it is crucial that the software is not devel-
software which supports each specialism and which oped in a vacuum, but that petroleum engineering
also can be used by other engineers whose own involvement exists at all stages of the develop-
expertise may lie elsewhere. The task of specifying ment, from conception, through the specification,
such programs is itself a difficult and time con- analysis, design implementation and testing phases.
suming activity. This does not reduce the role of the software
engineer, but on the contrary enhances it, as is
illustrated by considering the third major user
3. User requirements requirement, extendability.
It is not uncommon at the specification stage of
The petroleum industry has a strong need for a new software product to be presented with the
scientific applications software because it is now dilemma of knowing ‘in principle’ what the pun-
moving away from the traditional central pose the product will fulfill or what particular
mainframe and tending towards increased use of operation problems it will address, together with a
individual workstations and local area networks. It corresponding lack of clarity of the particular fea-
is pertinent to reconsider the question of what the tunes and techniques that should be incorporated.
user requirements of applications software are. Historically, this has often been facetiously stated
Having asked and answered that question we will as “The user never really knowns what he wants
discuss our formalised approach for satisfying these until he has seen what he does not want”.
requirements. Clearly the software engineer has an important
The petroleum industry has, in the past, suffered role to play in determining from the user/engineer
greatly from ill-conceived, poorly designed and what level of importance to associate with panticu-
incomprehensibly implemented software, simply lar features, and what degree of confidence to
because there was nothing else available. It is only associate with particular techniques, since he is
more recently that better quality software has come able to provide sensible measures of their impact
onto the market. However, it is our belief that the on the system development from the quantifiable
user’s requirements have never changed; these are measure of design, analysis, implementation or
predominantly reliability, usability and extendabil- testing efforts required.
ity. This list is not exhaustive, but it does cover the This stage is critical in a consulting environ-
major areas. ment where success is often achieved by quickly
A major user requirement for any software providing reliable, usable but less extensive soft-
304 Di. Browning ci a!. / Software systems in petroleum engineering

ware into a new market, whilst also ensuring that executable “process” such as one of the appli-
the software has a “strong extendability” for fu- cation-specific analysis procedures. Each process
tune upgrades. has associated with it status information and “at-
Having analysed the criteria that can have tributes” created by the execution of that process
bearing on decisions about product development, and accessibly by other processes in the system.
we will now describe more formally our software So far we have described a model of an interac-
development environment. Usability and extenda- tive application which is simply structured as a
bility will now be dropped from development tech- selection of processes. However, in general an
niques, since, although they are user requirements, interactive application has more structure than
they are satisfied by strong software engineer—pet- this. Subsets of processes frequently have a natural
roleum or reservoir engineer interaction at the sequence in which they have to be invoked and this
product specification stage and through its total structure, too, must be reflected in the model. We
development cycle, have, therefore, defined a concept of “antecedent
relationships” between processes such that one or
more processes may be specified as pre-cursors or
4. The interactive applications framework antecedents for any particular process in the sys-
tem. A trivial example of this is the need to
Given the trend in the Petroleum Engineering execute a “GET DATA” process before an “EDIT
Industry towards interactive engineering work- DATA” process can be invoked.
stations, IPEC decided at the beginning of 1984 to The user-interface system is, simply, then an
build a software framework which would be suita- interactive scheduler which enables the user to
ble for all the interactive products that it would activate any of the processes subject to the con-
develop. The specific requirements of this frame- straints defined by the antecedent relationships.
work were that it should: The resultant software framework is called the
Interactive Process Scheduler (IPS).
(i) provide the user with easy and readily under- . .
Each interactive petroleum engineering product
standable access to the application-specific
will have its own topology of menus, sub-menus
soitware, and processes, further defined by the antecedent
(ii) enhance the maintainability of the product; . .
relationships. To satisfy the requirements of IPS,
(iii) be straightforward to add new analysis meth- . . .
listed above, this topology is specified as data
ods and other modules to existing application . . .

k which is accessed by IPS to configure the specific


pac ages, . . . application software. Thus the IPS software re-
(iv) afford significant saving in cost and time of
mains unchanged from one product to the next.
developing a product; .
The general structure is shown schematically in
(v) enhance the portability of software from one . .
fig. 1. Each antecedent relationship is a sequenced
computer to another. .

set of logical AND constructs. For example,


The design of the framework broadly followed the processes A. AND B. AND C. precede process D.
Jackson System Design method. The need for the Situations in which logical ‘OR’ constructs natu-
framework to be appropriate for all interactive rally arise (e.g. A. OR B. precedes C.) are handled
applications in petroleum engineering required the by requiring A. and B. to appear in the same
formulation of a generalised model of an interac- menu. As such, the antecedent relationships im-
tive application. In any application the user may I pose a structure on the menus which has a high
have a choice of data sources, to each of which he degree of cohesion and low coupling.
may, in turn, apply a choice of analysis methods The advantages that IPS gives to the user and
and select one of a variety of means to display and to the supply and maintenance of the product are
save the results. Thus the structure of data input, many. Moreover, the structured design of IPS, and
analysis and output has a hierarchical infrastruc- the application structure being defined as data to
tune each branch of which terminates with an IPS provide what is, in effect, a software develop-
Di. Browning et a!. / Software systems in petroleum engineering 305

which is close to the “language” of the user;


Menu Definition (ii) is common to all our interactive products and
(selections)
ps thus enhances the maintainability of the
Antecedent ReIatio~J ~ delivered system;
(sequences) (iii) enables the system design to be evaluated
~ against the user requirements before the pro-
cess modules are designed.
(iv) results in fast product development.
I II I • • • I
(Applications Processes) 5. Software development techniques
Fig. 1. General Structure of the interactive process scheduler.
Given the IPS system framework described
above, the primary objectives underlying our ap-
ment environment. There is also a very tight rela- proach to software design and development are:
tionship between the user specification and the
1) reliability,
application design; before any of the process
software is written, the system can be configured 2) maintainability,
3) flexibility,
according to the user-specification, executed as the
4) comprehensibility.
user interface would appear, and easily re-config-
ured if found to be inappropriate. In order to achieve these objectives, the devel-
In our experience, for interactive applications, opment of a software system is divided into six
engineers/users specify the product requirements stages:
as a set of results that they want to obtain, each 1) specification statement of the problem to
preceded by a specification of the data and meth- be solved;
ods that should be used to achieve them. This 2) analysis establishment of the tech-
specification is, then, a set of sequences of activi- niques to be used to solve the
ties or processes, each of which can be directly
mapped onto the antecedent relationships, and problem;
3) design realisation of a software struc-
from which the menus may be structured.
The separation of the application-specific ture representing
solution an optimum
to the problem;
software into individual processes which corn- 4) implementation transformation of theinto
soft-
municate only via the process data areas enforces ware design structure a
an appropriately early definition of the data struc-
tures in the design process and enable the individ- working system via a pro-
ual process design and implementation tasks to be gramming
5) testing validation language;
of a system perfor-
sensibly allocated amongst the product develop-
ment team. The antecedent relationships also pro- mance;
6) documentation accurate user and mainte-
vide a natural sequencing of process development. nance reference document.
In addition, for complex interactive applications,
these relationships can be automatically analysed Considerable effort is expended in arriving at a
to generate a development schedule and critical complete and precise specification of the problem
path for project planning. to be solved, and where appropriate, this func-
In summary, the IPS System: tional specification will contain criteria for both
intermediate and final acceptance testing, together
(i) uses a data definition to configure the appli- with specific requirements, where for example, the
cations software, which relates directly to the target hardware configuration imposes particular
user-requirement and is structured in a way constraints.
306 Di. Browning et a!. / Software systems in petroleum engineering

Where established mathematical and en- would allow us to identify whether in fact the
gineening techniques are to be employed, the anal- compiler or some other piece of the manufacturers
ysis stage is generally straightforward. However, if software was at fault if a package did not be-
new techniques are to be derived, rigorous analyses nchmark correctly at a given installation site on a
are presented where necessary. particular machine. This is important since corn-
The software systems design is accomplished pilers are just software products, and as such
using IPEC’s approach to structured system de- suffer from all the traditional design/implementa-
sign. This utilizes primarily those aspects of exist- tion flaws. However, they have been exempted
ing methods which have been found to be most from scrutiny previously due to the lack of an
applicable, independent standard syntactical definition of the
The transformation of the system design into a implementation language.
working system is performed using a high-level
programming language. In general, implementa-
tion is performed in FORTRAN 77, adhering to 6. Example: RADPAC — A Reservoir Appraisal and
the strict ANSI definition of the language in order Development Package
to ensure portability of software between different
manufacturers’ hardware. Hardware operations RADPAC is a reservoir engineering package
which are device dependent such as video terminal which enables the user to describe and evaluate the
input/output are isolated from the hardware-inde- behaviour of oil and gas reservoirs. It comprises a
pendent portions of the software in order to series of separate but logically complementary
facilitate portability by simple interchange of processes that at the lowest level describe individ-
module function libraries. ual parameters of the reservoir system for exam- —

Following implementation, and where ap- ple the pressure—volume—temperature (PVT) be-
propriate at intermediate stages during imple- haviour of the component reservoir fluids and at —

mentation, the system operation is tested. The the highest level describe reservoir performance
successful completion of acceptance testing results for varying production strategies.
in the completion of the software system develop- The processes describing the system may be
ment programme. summarised as
Documentation is performed as an integral
— reservoir fluid and rock properties including

component of each of the primary development the PVT parameters;
stages and, upon completion, constitutes a corn- — description of individual areas of the reservoir
plete record of the system development, and sets of these areas in terms of their poros-
In concluding this section, we would like to
ity, permeability and flow
flow into
structures;
draw specific attention to the implementation — performance of fluid the well bore and
phase. Many design methods often define very real within the well tubing itself;
problems as ‘implementation’ problems and then — production performance and behaviour of injec-
dismiss them. Perhaps this again reflects the com- tion wells used as a strategy to increase produc-
mercial data processing origin of many of these tion;
methods. We are particularly concerned that the and finally
implementation results in a transportable product,
— estimation of recovery volumes and field decline
since this ensures primarily that multiple versions and at which point economic limitations be-
of a product do not exist, and secondly that all come a factor.
truly system dependent aspects are isolated. How-
ever, it is also imperative that a recognised stan- The package is therefore a series of data manipu-
dard (or a restricted subset of that standard) form lation and calculation procedures performed upon
the basis of such an implementation since this a clearly definable group of datasets. A process
standard becomes a measure and reference for any may require only one input dataset based perhaps
real installation difficulties. This, for example, on original experimental data, or alternatively may
Di. Browning ci a!. / Software systems in petroleum engineering 307

require a group of datasets which themselves have appropriate boundary conditions (constant termi-
been generated by one or more previous processes. nal rate). The nature of these solutions is affected
Further, several versions of a given dataset may by such factors as the proximity of faults (no flow
exist reflecting user experimentation, boundaries), or whether the drainage area is
Under IPS each category of evaluation fluid — bounded or unbounded.
and rock properties etc. becomes controlled via
— A well test interpretation package, such as
a group of linked menus with the individual calcu- WIPER, must allow the user to compare measured
lation process Gas PVT data for example as
— — pressure data with a variety of theoretical models
the lowest menu in a sequence. Once defined the and quantitatively measure the “goodness” of each
IPS antecedent definition file ensures the presence comparison.
of all required input datasets for a process and will Typically, a user will select one or more theoret-
provide diagnostic information if they are not. ical models to compare with his measured data.
Required subsidiary procedures such as editing, The software environment which IPS imposes
review or reporting of datasets are also provided in on the application is particularly appropriate for
the menu options. User selection of methods or well test analysis for two reasons. Firstly, the
parameters within a process are handled by IPS menu structure is a natural structure for this appli-
utilities and errors trapped and returned to the cation, because the application decomposes easily
user for correction. into a number of well defined processes, from
RADPAC is used in an environment where which the user may then select the processes neces-
after initial data input and build up of datasets the sary for the particular analysis required. Secondly
user will return to the package to make minor the anticedent logic present in IPS only allows the
adjustments to various values throughout the suite. user to execute a process when all its antecedent
At this time the user will have acquired some processes have been successfully completed. For
familiarity with the package, and the IPS keyword instance, an analysis is only allowed once all the
definition system enables direct transfer to any measured data has been successfully entered, hence
point in the structure by the entry of the ap- preventing the user from proceeding with data
propniate menu of process name. which is inappropriate.
As additional process requirements are defined Additionally, well test analysis, in common with
RADPAC incorporates them via simple modifi- most other analytical methods in engineering, is
cation of the hierarchy definition files in IPS. It not a stationary art. New analytical techniques are
follows from this that IPS has in no way imposed always being devised. The IPS software environ-
limitations on the RADPAC user. The user may ment allows these new processes to be added to
create, delete or modify any dataset while being WIPER simply by providing the software modules
guided by the IPS help framework or jump to any to perform the new processes and by altering the
section he requires. The individual interpretative menu definitions file to reflect the existence of
skills of the reservoir engineer are thus preserved, these new processes.

7. Example: WIPER An Interactive package for


— 8. The future
performing welt test interpretation
To date we have had eight months experience
Well testing is the measurement of reservoir with IPS and have developed a numbers of IPS-
pressure in the well either during production from based products. We can see the possibility of
a well or after production from a well has been exploiting further levels of generality of IPS as
stopped. The analysis of a well test is concerned well as a number of directions in which IPS will
with comparing this measured data with theoret- evolve.
ical pressure trends derived from solutions of the We intend to develop further the requirement-
radial flow equation in a porous medium with the specification aspects of the data definition struc-
308 Di. Browning e a!. / Software systems in petroleum engineering

ture of IPS. We wish to reduce the scope for such as reservoir simulation on remote mainframes.
ambiguity or gaps in the specification and misun- In this sense IPS can be regarded as an industry or
derstanding on the part of the system designer. application-specific, portable “operating system”.
It is a simple extension to IPS to enable it to The industry trend towards engineering work-
initiate processes on remote processors. Thus it is stations will, we believe, result in companies
possible to enhance the power of micro-computer- establishing Local Area Engineering Networks and
based Petroleum Engineering work stations by IPS is already structured to accommodate this
scheduling computationally intensive activities, development.

You might also like