Abstract
The best-known solution to the sequential file update problem is the balanced-line algorithm. Here, the problem is solved using abstract data types and the resulting Cobol program illustrated. It is suggested that the program's modular decomposition aids in the development of the solution.
- 1 Dahl, O.J., Myhrhang, B., and Nygaard, K. The SIMULA 67 Common Base Language. Publication S-22, Norwegian Computing Centre, Oslo, Norway, 1970. SIMULA was one of the earliest languages to provide for the use of a capsule, or a "class" as it is here referred to. SIMULA has been a major influence in the design of several programming languages supporting abstract data types, such as Ada.Google Scholar
- 2 Dijkstra, E.W. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N.J., 1976, pp. 117-122. Dijkstra shows how his "guarded commands" approach can be used to develop the balanced-line algorithm. Google ScholarDigital Library
- 3 Dwyer, B. One more time--How to update a master file. Comm. ACM 24, 1 (Jan. 1981), pp. 3-8. Dwyer presents the balanced-line algorithm and an excellent discussion of the design principles in data processing applications. Google ScholarDigital Library
- 4 Goguen, J.A., Thatcher, J.W. and Wagner, E.G. An initial algebra approach to the specification, correctness and implementation of abstract data types. In Current Trends in Programming Methodology, Vol. IV: Data Structuring, R.T. Yeh, Ed., Prentice-Hall, Englewood Cliffs, N.J., 1978, pp. 80-149. The "ADJ" group's elegant and rigorous mathematical treatment of abstract data types. They develop a mathematical model for abstract data types, using a concept known as "Universal Algebra," and examine the problem of specifying abstract data types.Google Scholar
- 5 Guttag, J. Abstract data types and the development of data structures. Comm. ACM 20, 6 (June 1977), pp. 396-404. A very readable discussion of the use, specification, and implementation of abstract data types. It is much less mathematical than {4}, being more concerned with the use of abstract data types rather than their precise description. Google ScholarDigital Library
- 6 Liskov, B., et al. Abstraction mechanisms in CLU. Proc. ACM Conf. Language Design for Reliable Software, North Carolina, 1977 (published in SIGPLAN Notices 12, 3, pp. 166-178). CLU is an elegant programming language which supports encapsulation. Google ScholarDigital Library
- 7 Parnas, D.L. On the criteria to be used in decomposing systems into modules. Comm. ACM 15, 12 (Dec. 1972), pp. 1053-1058. Google ScholarDigital Library
- 8 The Programming Language Ada. Proposed Standard Document, United States Dept. of Defense, Washington, D.C. (published in Lecture Notes in Computer Science, No. 106, G. Goos and J. Hartmanis, Eds., Springer-Verlag, New York, 1981).Google Scholar
Index Terms
- Modularity and the sequential file update problem
Recommendations
Optimization of large sequential data files
ACM '77: Proceedings of the 1977 annual conferenceThe need for inexpensive data storage continues to grow and tape reels are usually used. For large data aggregations with even a few retrieval applications, it may not be as economical to store full reels as to split the data into smaller sized files. ...
Updating a master file—yet one more time
For several years I have been teaching a file updating algorithm which is essentially the same as that in Dwyer's admirable paper [1]. There is one unjustified objection to the algorithm that perceptive students and people with batch processing ...
Addressing Hadoop's Small File Problem With an Appendable Archive File Format
CF'17: Proceedings of the Computing Frontiers ConferenceHadoop has been used widely for data analytic tasks in various domains. At the same time, data volume is expected to grow even further in the next years. Hadoop recently introduced the concept Archival Storage, an automated tiered storage technique for ...
Comments