Is there a way communicate or measure levels of abstraction?

Posted by hydroparadise on Programmers See other posts from Programmers or by hydroparadise
Published on 2012-11-21T19:49:34Z Indexed on 2012/11/21 23:11 UTC
Read the original article Hit count: 468

Filed under:
|

I'll be the first to say that this question is a bit... out there. But here are a couple questions I bear in mind :

Is abstraction continuous or discrete?

Is there a single unit of abstraction?

But I'm not sure those questions are truly answerable or even really makes sence. My naive answer would be something along the lines of abitrarily discrete but not necescarily having a single unit measure. Here's what I mean...

Take a Black Labrador; an abstraction that could be made is that a Black Lab is a type of animal.

[Animal]<--[Black Lab]

A Black Lab is also a type of Dog.

[Dog]<--[Black Lab]

One way to establish a degree of abstraction is by comparing the two the abstractions. We could say that [Animal] is more abstract than [Dog] in respect to a Black Lab. It just so happens [Animal] can also be used as an abstraction of [Dog] So, we might end up with something like

[Animal]<--[Dog]<--[Black Lab]

With the model above, one might be inclined to say that there's two hops of abstraction to get from [Black Lab] to [Animal]. But you can't exactly tell somebody they need one level abstraction and reasonalby expect they will come up with [Dog] given they aren't explicity given the options above.

If I needed to tell someobody in a single email that they needed an abstract class with out knowing what that abstract class is, is there a way to communaticate a degree of abstraction such that they might end up on Dog instead of Animal? As a side note, what area of study might this type of analysis fall under?

© Programmers or respective owner

Related posts about modeling

Related posts about abstraction