A Data Abstraction Alternative to Data Structure/Algorithm Modularization
Modularization along the boundaries of data structures and algorithms is a commonly-used software decomposition technique in computer science research and practice. When applied, however, it results in incomplete segregation of data structure handling and algorithm code into separate modules. The resulting tight coupling between modules makes it difficult to develop these modules independently, difficult to understand them independently, and difficult to change them independently. Object-oriented computing has maintained the traditional dichotomy between data structures and algorithms by encapsulating only data structures as objects, leaving algorithms to be encapsulated as single procedures whose parameters are such objects. For the full software engineering benefits of the information hiding principle to be realized, data abstractions that encapsulate data structures and algorithms together are essential.
KeywordsShort Path Data Abstraction Short Path Problem Information Hiding Calling Module
Unable to display preview. Download preview PDF.
- 3.Flamig, B.: Practical Algorithms in C++. Coriolis Group Book (1995).Google Scholar
- 4.Heym, W.D., Long, T.J., Ogden, W.F., Weide, B.W.: Mathematical Foundations and Notation of RESOLVE, Technical Report OSU-CISRC-8/94-TR45, Dept. of Computer and Information Science, The Ohio State University, Columbus, OH, Aug 1994.Google Scholar
- 7.Musser, D. R., Saini, A.: STLT utorial and Reference Guide. Addison-Wesley Publishing Company (1995).Google Scholar
- 10.Sitaraman, M., Weide, B.W. (eds.): “Special Feature: Component-Based Software Using RESOLVE.” ACM SIGSOFT Software Engineering Notes 19, No. 4, October 1994, 21–67.Google Scholar
- 14.Weihe, K.: “Reuse of Algorithms: Still A Challenge to Object-Oriented Programming,” ACM SIGPLAN OOPSLA Proceedings, 1997, 34–46.Google Scholar