View-based abstraction: enhancing maintainability and modularity in the presence of implementation dependencies. - Luis H. Rodriguez (1997)