During their visits to India, in the seventies, the eminent
Prof.C.A.R.Hoare
and
Prof.P.B.Hansen
informally made suggestions to the budding foundation indigenous computer industry in India, on methodologies of programming, software development and software project management. Attempts at comprehension, realisations of validity and applications of the advice, have yielded proven fruitful results in the development of moderately complex professional software, in the areas of System and Application Software, critical real-time and Communication Software, elementary Information Systems in all spheres of the industry and in education/training programs. An attempted formalisation of the advice, leads to a hypothesis, whose validity and viability is the thesis; and the proof of the thesis consists of a number of professional/experimental software development projects & empirical studies in Software Management Practices, in the areas of Information Systems, real-time and Communication Software development.
The basic Hansen
's Approach (HA) was to 'think out' the systems program in a High Level Language (HLL), preferably PASCAL or Concurrent PASCAL, verify, develop and check out the same and as a subsequent step handcode and optimise the
handcoded version. Though this methodology was strongly advocated for the COBOL-74 implementation on the indigenously developed TDC-316 (PDP-11-like) system, it was actually used with various generalisations (Hansen
's Generalised Approach (
)), to various software development projects. A first line of generalisation is to allow any initial HLL, any target HLL, or even mapping to hardware as the target implementation.
In his comments and direction to the area of Software Verification, the eminent Prof C.A.R.Hoare
suggested that academic institutions should develop correct algorithms and make them available to industry. The algorithms could be of the complexity of the Whetstone ALGOL-60 Translator, which was historically used in the TDC-316 ALGOL-60 implementation and elaborated upon as part of the proof of the thesis. The comment of
Prof.C.A.R.Hoare
is named: Hoare
's Clause (HC) (The comment was made during his visit to India). In his suggestions and direction for Software Project Management in critical software development areas,
Prof.C.A.R.Hoare
informally suggested that a viable method was for the project manager to think up the software down to the last detail; employ highly qualified, intelligent, motivated, young programmers with proven aptitude; and in the implementation of the software not to allow the slightest deviation (Hoare
's Generalised Approach (
)) In his learned assessment of the state-of-the-art of Program Verification, (circa 1977),
Prof.C.A.R.Hoare
informally opined that the area has reached a zenith and
solution in the monumental exposition: A Discipline of Programming by
Prof.E.W.Dijkstra Hence, in
, by generalisation is integrated, as an ideal requirement, the Correctness Clause (CC), that the Software Project Manager should be able to verify the software before using the same. (It is assumed that verification techniques exist and have to be merely discovered, for all the software that will be required in practice). Integrating the two definitions of
, with HC and CC, we have the final generalised
(Hoare
/Hansen
Generalised Approach (
)) as a Programming Methodology, for both individual and team programming efforts.
It is experienced that
is an ideal, (a state), and hence a model or formal standard. To practice the same, a generalisation of the advice of the eminent
Prof.D.Gries (in Compiler Construction for Digital Computers and the Science of Programming) is taken, to yield the
The process 'to think out' is modelled as zero or more applications of
, thus making
a recursive definition and process.
The thesis is that
is a viable model technique and the dissertation is towards the realisation of the same. In practice
is used with RPC. However, the slightest application of RPC, requires and expects high integrity and character in the programmer (Personnel Clause (PC)), and immediately appears the requirement for 'polymethodologies' in software development, by individual or team programmers.
As a proof of the thesis ten applications are considered and the conditions, constraints, programmer environment and basic environment of the software life cycles considered are stated. A survey of the known, available and accessible literature on related topics is included. In his valuable initiation into the fundamentals of writing a dissertation on a hypothesis in programming methodology and his constructive critique, the eminent
Prof.W.A.Wulf has suggested three questions that should be answered from the many that should arise from introspection.
These relate to the practical generality of using
as a technique, the documentation considerations when using
and thirdly the challenge to
from optimising compilers. In this context
, primarily refers to Hansen
's Approach (HA). Three appendices are included to address these three issues in detail. Apart from the above he has pointed out the necessity of making the constraints and conditions under which the programming methodology is valid and the necessity of making
the proof of the thesis unassailable.
The applicability of
with the same dfs core implementation, with suitable modifications and extensions, to generalised precedence techniques, LL(1) and to the SLR(1) and LALR(1) strategies of parsing is discussed.
The master-picture and the sub-picture are simultaneously modelled as finite sets of points, ordered finite sets of ordered pairs of polar/cartesian co- ordinates, complete polygons in the Euclidean Space (i.e each pair of points connected by a 'line'), complete graphs with the digitised points as nodes (each pair of nodes connected by an 'arc') with the graphs varying to subgraphs as the computation proceeds, collection of vectors in the Euclidean Space emanating from the nodes, strings with the lengths of the sides of the polygon and the relevant included angles, sorted and unsorted sequence of 'line' lengths.
is used to keep the above abstractions separate and used to develop the resulting algorithm. The HLL employed being a mixture of high level language features (with pictorial comments). Using
the above was first worked out mentally for 3-4 man-months, transferred using
to pencil and paper and then finally on to sequential PASCAL/C on the 286/386/486/Pentium based PC platforms, using
for each platform.
The advent of COBOL-74 made substantial applications in Information Systems possible. However, the high unreliability of the Hardware/Software combine required
, as extensive patching was required both in the source code and in the target code. (Reliability was achieved only by the mid-eighties). There have been
uses, in the sense of conversion of COBOL packages, to assembly language for efficiency. Today, however, the COBOL programmer views his
COBOL machine as being transparent (as elsewhere). The Indigenous Period of the Indian Computer Industry, built on the philosophy of self-reliance, on the TDC-platforms, came to a logical and physical end by 1990. In 1987 an Information Systems Life Cycles Audit, was initiated and undertaken by the author, to study the Product, Project and Information Systems Life Cycles on the TDC machines (about 1000 installations). The said Audit is now summarised and extrapolated, using a reverse mapping of the Industry Structure Model (ISM) of the British Computer Society (BCS), (now accepted by the European Commission), to obtain a study of the Environment under which the above Software Life Cycles involved had to operate.
The short-term future directions considered are the anticipated improvements in the capture of the Information Resource in the Indian Environment, which will enable extensions of
to more sophisticated Information Systems Life Cycles involving substantial use of the Database Specialism, extending
to 4GLs (a case in point being the ongoing use of ORACLE in front office bank computerisation efforts). At present ethical, cultural, traditional etc., constraints make the capture of the Information Resource the main bottleneck in India, in the use rather than the applicability of computers. Increased industrialisation and competition will demand more cosmetic applications, extending the use of
to the Graphics Specialism (a case in point being the ongoing cosmetics in military radar application software), with associated extensions of
to OOP. The long-term future directions are in the
applicability of
to the Knowledge Engineering Specialism (a case in point being ORACLE based Knowledge bases, in medical applications), and in the direction of the lower end of the handcoding the non-traditional non-Von Neumann Architectures (a case in point being the use of systolic arrays for Image Processing); and non-Electrical Engineering based technologies (a case in point being fingerprint processing with Optical Computers). The advent of Man Machine Interfaces (MMI), make possible studies of
in non-traditional computation specifications, at the higher end of the hand translation, i.e. here we move from the HLL specification / representation to the computation specification (cases in point are diagnostics, comments, computation specifications and results of computation representations using pictorial and audio MMI). As an indication an overdone cosmetic application, in elementary Civil Engineering: an Estimation and Costing Package, oriented to the middle class Indian housing projects, is outlined. This employs pictorial, audio and text as input/output, in the 14 major languages of India (a multi- lingual interface with a single machine translation).
The role of HLL descriptions turns out to be very crucial, and in principle the full (total) verification of the software: the key factor. However, in practice, it appears that as pointed for practical compiler writing: formal techniques need not be used directly but only help to guide one's thinking, is also generally applicable to the total verification of the HLL specifications and descriptions.
Thus in principle HLL description verifications in non- traditional computations specifications that advances in Human Machine Interfaces make possible, form a useful and crucial study. The paucity of Information Systems Audit and Quality requirements so far will, when the environment develops require major applications of verification techniques. The paucity of traditional requirements in scientific applications (Numerical Methods Software), the Electronic Design Automation (EDA) area and in the practical scientific, engineering and industrial environments, have led only to cursory studies in the area, and these are pointed out as future crucial applications of
One could take the point of view that programming in any computing environment, in non-trivial scientific and industrial applications areas, can be said to proceed in four distinct stages: starting with machine language programming with
, then on to assembly (macro-assembly) languages with
, a logical development of the next stage employing a plethora of well-understood and implementable mixture of HLL features and assembly language with
, and finally stabilising into the use of a totally relevant and accepted HLL (provided the overhead is socially, economically and technologically tolerable). Historically, computer pioneers in the West, did not have a wide access to
, as no HLL existed (it was being invented), but in developing economies and upcoming technologies, the well understood HLL area can be used, along with verification techniques, to develop the relevant software, till the relevant and acceptable HLL evolves, relevant translators
writing techniques advance, and affordability and availability of technology allow a relevant HLL to be directly used. (Two cases: CHILL for Communication Software development and ADA for real-time applications). The conclusion Dr.![]()
awn from the above is that
is a very valuable tool, not only in un-reliable computing environments, but also has applicability over a wide range of applications and platforms. Many times it is the only strategy one has access to, to think at HLL level, but the requirements of the systems program may have timing / complexity constraints, that one has to satisfy, and this involves going down to the machine level, with the relevant variations of hardware platforms, depending on available and affordable technology. The views of the pre-eminent
Prof.C.A.R.Hoare
, FRS, that the topic and methodology is absolutely uptodate and relevant for the future, lends credence to the above point of view. The opinion of the pre-eminent
Prof.E.W.Dijkstra, to the author, that the above experience in
is sufficiently extensive, varied and should (if well-written) prove instructive, establishes the validity of
as a crucial strategy and tool for quite some time to come.
The main point tried to be made is, that
in some primitive, pristine sense, allows a platform of views that dons perhaps a pretentious, illusory, but a theoretically sound and practically viable mantle, of attempted gestalt views of the computation specifications, representations and implementations over a range of abstract and real
computational technologies/platforms: as being merely transformations of representations of effective computations.
The primary acknowledgement is due to
Prof. C.A.R. Hoare
, FRS, Oxford University for his encouragement based on a draft of the synopsis of this thesis. The strong favouarble encouragement and inspiring positive comments on a preliminary outline of the work, from the point of view of exploring a general software engineering technique by
Prof. Dr.![]()
Edser W. Dijkstra and
Prof. P. B. Hansen
are gratefully acknowledged. The guidance of
Prof. W. A. Wulf on the basics of writing a thesis on programming methodology and his positive encouragement in the writing of this thesis have been invaluable. The encouragement received from a response from
Prof. Juris Hartmanis, Cornell University, on the results of the Euclidean pattern matching problem from the point of view of a general result of general applicability in Computational Geometry applications have been a primary motivating force. The motivation provided by
Prof. M. R. Williams, Professor of Computer Science and Assistant Editor-in-Chief of the Annals of Computing of IEEE, by inviting a report on the Indian ALGOL-60 implementation and the associated software engineering environmnet for publication in the reputed journal is gratefully acknowledged. Also acknowledged are the actions of Dr.![]()
William Aspray, Director of the Center for the History of Electrical Engineering of IEEE, and the custodians of the archives of the National archives of Electrical Science and Technology(NAEST) of IEE(UK) and the Babbage Institute for the History of Information Processing for recording the said software engineering environment which initiated the study and applications of the Hoare
/Hansen
Generalised Approach(
) in the indigenous environment. Grateful acknowledgement is made to
Prof. David Gries for posing the implementation problem of the incorporation of automatic error-correction into the Transition Matrix syntax analysis technique which is a relatively unexplored technique of general practical applicability in compiler construction and compiler-compilers.
The fundamental guiding philosophy of
Prof. J. Das, DSc, FNA, formerly of the Indian Institutes of Technology, Kharagpur and Delhi, that software without hardware should not be considered is acknowledged and has been one of the motivating forces for generalising the approach suggested by
Prof. P. B. Hansen
The guidance of
Prof. John E. Hopcroft,
Prof. R. W. Constable,
Prof. Gerard Salton,
Prof. Ellis Horowitz,
Prof. Alan C. Shaw,
Prof. David Gries,
Prof. J. J. More,
Prof. R. Williams and
Prof. R. W. Conway for inculcating and instructing me in the principles of computer science is acknowledged.
The invaluable comments, of
Prof. J. Saltzer of MIT,
Prof. John W. Carr III of the University of Pennsylvania,
Prof. C. A. R. Hoare
of Oxford,
Prof. P. B. Hansen
then at Cal Tech and
Prof. R. W. Burstall, on computer science during their visits to India which played a guiding role in the development of this thesis are acknowledged.
The comments of
Prof. S. K. Sahni, FIEEE, of the University of Minnesota, on the algorithm dealing with the connectivity of dynamically varying graphs, which arose in the context of triggering a real-life nuclear reactor, are greatfully acknowledged. The inculcation in the early seventies into good programming principles by
Prof. Bernd Krieg of Germany,
Prof. Donald Johnson,
Prof. Steven Muchnick and Dr.![]()
N. Gehani of Bell Labs is gratefully recalled.
The constructive discussions in the early seventies on Computability with
Prof. Harry Hunt III of Harvard, Prof Kurt Mehlorn of Germany, Prof Janos Simon of the University of Brazil, and
Prof. Thomas Szymanski of Princeton are gatefully recalled and acknowledged. The encouragement and opprotunity provided to write this thesis by
Prof. Dr.![]()
I. Gopal Reddy, Vice-Chancellor of the Jawaharlal Nehru Technological University, is respectfully acknowledged.
The guidance and comments on this work by Dr.![]()
S. Ramani of NCST, India,
Prof. P. V. S. Rao
of the Tata Institute of Fundamental Research,
Prof. D. V. R. Vittal of Osmania University and
Prof. M. N. Seetaramanath of Andhra University have been basic guiding and motivating factors. The strong motivation and environment provided by Dr.![]()
S. Srikantan, PhD(Moore School), FCSI has made the work reported in this thesis possible. The motivation provided by the International Federation of Training and Development Orgainisations (IFTDO) in inviting an article on the Information Systems Life Cycles Audit outlined, along with Sri.
Reggie Thomas, BTech(IIT), FGTS (Chief Manager, State Bank of India) and Sri.
A. Vijaya Kumar, BTech(IIT), FGTS (Additional General Manager, State Bank of India), is acknowledged. In this connection the help of Sri.
P. V. L. N. Murthy (Chief Manager, New South Wales Bank of Australia), Sri.
Ch Sreenivasa Rao
(Chief Design Engineer, SGS Thompson, Singapore), Sri.
Subrata Sen Gupta (Chief General Manager, Philips India Ltd.), Sri.
T. Ramamurty (General Manager, Nizam Sugars) and Sri.
T. V. Subba Rao
(Director, Finance, Sringareni Colleries) is acknowledged.
The constructive comments of Sri.
T. K. S. Murthy, formerly Group Director, Bhabha Atomic Research Center and
Prof. P. Narayanan of Bombay University on the thesis have been invaluable.
The motivation, guidance and encouragement to complete the work due to Dr.![]()
C. Rao
Kasarbada, Chairman and Managing Director, Electronics Corporation of India Limited(ECIL) and Dr.![]()
E. V. R. Rao
, Director(Technical), ECIL are acknowledged.
Sri.
V. H. Ron, General Manager, ECIL has provided the environment and motivation to complete the work and his encouragement has been invaluable.
The strong continuous enouragement of Sri.
Dilip Kumar, Additional General Manager, ECIL is acknowledged.
The formal critical guidance of Dr.![]()
G Ramakrishna, PhD(Saha Institute of Nuclear Physics) is acknowledged.
The driving force of
Prof. G. R. Babu, Director, JNTU has been one of the main forces behind undertaking the completion of this thesis.
The motivation, help and constant envouragement provided by Sri.
M. Ramakrishna Rao
, Chief Legal Adviser, Central Bureau of Investigation, India is acknowledged. The Euclildean pattern matching problem was first brought to my attention by Sri.
D. V. Rama Murthy, BTech, and Sri.
R. Raghuveera, BTech, from the forensic area. Thanks are due to them. The problem with its applicability in Geographic Information Systems was highlighted by the valuable discussions with Sri.
P. Dharm Veer (Senior Scientist, Survey of India) and the applicability of the same for missile guidance was understood by valuable discussions with Sri.
S. Sridharan (Chief Scientist, Defence Research Development Labs) and due acknowledgements are made to them.
The guidance, motivation and help in the applications of the algorithms by Sri.
T. Sri.
Ram, General Manager, Indian Space Research Organisation(ISRO), India is gratefully acknowledged. The help of the Library and Information Science Officers to study the control point matching problem in the areas of computational geometry, tomography, cartography, remote sensing, molecular chemistry, biology, robot vision and guidance, bio-metrics in the forensic area, signature verification etc., at the library and information centers at the Indian Institutes of Technology ( Kharagpur, Delhi, Bombay and Madras), Nizam Institute of Medical Sciences, Survey of India, National Remote Sensing Agency, Indian Institute of Chemical Technology, Center for Cellular and Molecular Biology, Center for Artificial Intelligence (University of Hyderabad), National Police Academy and the State Bank Computer and Communication Institute, respectively, are gratefully acknowledged. Special thanks are to Ms. T. Swarna, Information Officer of the Bhabha Atomic Research Center Library for providing a large number of articles.
Acknowledged are the strong encouragements of Sri.
S. R. Vijayakar (former Secretary, Department of Electronics, Government of India(GOI)), Sri.
S. V. Kasargod (former Director, Electronics Corporation of India(ECIL)), Dr.![]()
R. Narayanasamy (former Executive Director,ECIL), Dr.![]()
N. V. Koteswara Rao
(Additional Director-General, National Informatics Center, GOI), Sri.
G. R. Pai(former General Manager, ECIL),
Prof. R. V. S. S. Avadhanlu (Professor, Nizam Institute of Medical Sciences), Dr.![]()
B. R. Sastry (Professor and Director, Board of Studies, Siddhartha Engineering College), Dr.![]()
Sridhar Mitta (Vice-President, Wipro Information Systems), Sri.
V. K. Premchand (Chairman and Managing Director, Frontier Information Systems Ltd.), Dr.![]()
A. Lakshman Rao
(Vice-President, Wipro Information Technology), Col. V. S. M. Sharma(former General Manager, ECIL), Col. B. S. NagenDr.![]()
a Rao
(former Director ECIL), Dr.![]()
B. G. Siddharth (Director, B.M. Birla Science Center).
The guidance and motivation of
Prof. L. C. Siva Reddy (Department of Computer Science, Osmania University),
Prof. Dr.![]()
P. G. Reddy (former Dean, Hyderabad Central University),
Prof. P. Subba Reddy (Director, Computer Center, Osmania University) and
Prof. M. R. K. Reddy (Director, JNTU) are acknowledged.
I would be failing in my duty if I do not convey that the principal driving forces to see me through throughout my career has been my wish to live upto the expectations of my father the late Sri.
Tenneti Krishna Rao
, IOFS, as also my esteemed Professor, Dr.![]()
Juris Hartmanis of Cornell University who continuously inspired me and goaded me towards achievement. The opportunity to experiment with
educationally due to Sri.
V. Premsagar Rao
, FIETE and Sri.
M. Madan Mohan, Disg. FIETE at the Institution of Electronics and Communication Engineers(IETE) is acknowledged.
The strong motivation to proceed with the work given by the late
Prof. S. V. C. Aiya, FNA, FNAE, CEng, FIEE and the late
Prof. K. Sreenivasan, FNA, FNAE, CEng, FIEE (both formerly of the Indian Institute of Science, Bangalore, India) is gratefully acknowledged. Thanks are due to a host of colleagues, students and trainees for well-meaning advice and motivation in carrying out this work. Among these Sri.
P. Appaji Rao
(Head, Telecommunications Division, ECIL), Sri.
B. Ram Prasad, Sri.
M. Hariprasad Rao
, Sri.
N. R. Krishnan (Senior Manager of Engineers India Limited), Sri.
N. Renukachary and Dr.![]()
D. Nagaraja are specially mentioned.
Thanks are also due to my daughter Ms. Suchaita aged seven and Ms. T. Jyoti my wife for putting up with the one year tantrums associated with the writing of this thesis.
Thanks are due to the advice and help of Sri.
V. Kim Reddy (Senior Documentation Officer, ECIL) and Mr. Samuel Raj (of ECIL) for the preparation of the thesis.
NOTES ON THE INDIAN ALGOL-60 EFFORT
COMMENTS OF PROF. CA R HOARE,FRS

COMMENTS OF PROF. E W DIJKSTRA

COMMENTS OF PROF. JURIS HARTMANIS

COMMENTS OF EDITOR, ANNALS COMPUTING OF IEEE
COMMENTS BY DIRECTOR OF THE CENTER FOR THE HISTORY OF ELECTRICAL ENGINEERING OF THE IEEE

PUBLICITY MATERIAL ON ALGOL-60