Skip to content.

Manageability

Sections
Personal tools
You are here: Home » blog » archive » The Law of Leaky Abstractions and AOP

The Law of Leaky Abstractions and AOP

20021120082956

James Strachan points me to this essay on The Law of Leaky Abstractions.  Its an interesting read, however no solutions were provided.   I did recall though that one of the earlier motivations for Aspect Oriented Programming was precisely a way to overcome this problem.

In a paper entitled Towards a New Model of Abstraction in Software Engineering Gregor Kiczales writes:

The "abstractions" we manipulate are not, in point of fact, abstract. They are backed by real pieces of code, running on real machines, consuming real energy and taking up real space. To attempt to completely ignore the underlying implementation is like trying to completely ignore the laws of physics; it may be tempting but it won't get us very far. 

Back in 1992, the research was called "Open Implementation" a precursor to AOP.  The solution then was to provide two kinds of interfaces, a base level interface that serves as the abstraction, and a meta level interface that compensates for the "leaks".  The meta level interface that he talks about is what we call "aspects" today.

So, in conclusion The Law of Leaky Abstractions isn't anything new, furthermore, in the Java world we've got some pretty good solutions!

Created by admin
Last modified 2003-07-30 04:16 PM
 

Powered by Plone

This site conforms to the following standards: