## Reflections on Abstractions: Generalisation and Aggregation

Abstraction Awareness is about deeper understanding of abstraction, a concept so basic to human thinking. Subsequently abstraction is discussed by the means of basic Graph Theory.

A Component in Graph Theory is a connected subgraph ‘disconnected’ to the outside. For example, directed graph (1) consists of 3 components. This concept is basic but not very useful, since it does not allow connections among the components. For this reason, we are going to allow such connections and thus also need to generalise the notion of component, what can be done in (at least) two ways:

• Generalisation: lump together all nodes that have the same edges to the outside, as in (2) (called “Module” in graph theory).
• Aggregation: lump the nodes closely related, and losely related to the outside as in (3) (based on graph theoretical “Connectivity“).

By very simple means this provides the notion of two different kinds of abstraction: generalisational and aggregational. Whereat in aggregations all elements together make the interface (edges to/from the outside), in contrast to generalisation where one could pick any of the inside nodes to represent the interface.

Notice, as the above shows, aggregational abstraction is >not< a specialisation of generalisational abstraction, thus the existence of aggregational abstraction contradics the widespread understanding of abstraction as equivalent to generalisation.

So long
|=

Modeling Theory and Abstraction Awareness in the gap btw rigour of science and relevance to engineering.
This entry was posted in Mathematics, Reflections on Abstractions and tagged , , , , , , , , , , , , , , , . Bookmark the permalink.

### 4 Responses to Reflections on Abstractions: Generalisation and Aggregation

1. vhanniet says:

I wasn’t aware of the widespread understanding of an equivalence between abstraction and generalisation. My understanding is that abstraction and aggregation are both a form of generalisation.
On another hand, may we say that generalisation is a kind of “intersection” operation and aggregation a kind of “union” operation as in set theory?

2. Hi Vincent

Now ‘unbolded’ the last remark, since it deflects from the actual point I wanted to make: “discussing Abstraction by simple means”. Here I used graph theory, however set theory also provides very elementary means. Think this is studied by Formal Concept Analysis:

http://en.wikipedia.org/wiki/Formal_concept_analysis#Example

Think they provide pretty interesting insights, for example, an intersection on the objects (O) is a union on the attributes (A) and so on. Does this sort of analysis roughly cover what you had in mind?

So long
|=