Introduction to algorithms
Component-based software using RESOLVE
ACM SIGSOFT Software Engineering Notes
Practical algorithms in C++
LEDA: a platform for combinatorial and geometric computing
Communications of the ACM
On the Practical Need for Abstraction Relations to Verify Abstract Data Type Representations
IEEE Transactions on Software Engineering
Object-oriented software construction (2nd ed.)
Object-oriented software construction (2nd ed.)
Reuse of algorithms: still a challenge to object-oriented programming
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Subtypes for Specifications: Predicate Subtyping in PVS
IEEE Transactions on Software Engineering
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Software Component with ADA
The STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library
The STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library
Recasting Algorithms to Encourage Reuse
IEEE Software
Layout-oblivious compiler optimization for matrix computations
ACM Transactions on Architecture and Code Optimization (TACO) - Special Issue on High-Performance Embedded Architectures and Compilers
Hi-index | 0.00 |
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.