• Azimeh

Abstraction

Abstraction

When we try to find some generic words with which we can explain many similar examples, we are doing abstraction. While it makes it easier for scientist, word "abstract" feels like an insult when you explain something and the response you get back is “this was too abstract for me”. He actually means, you don't make any sense!



Mathematics

I loved mathematics in schools because there were formulas that we could apply to all similar problems. A formula was a set of parameters and how they were relating to each other. Like the sum of the three angles of a triangle would always be 180 degrees regardless of how do you draw the triangle.


We all had basic and even advanced math during our education and we never complained “this is too abstract for me”. Of course after certain level, the things were getting more tricky and that explains the reason behind the branch of “applied mathematics”. Applied mathematics was making it easier to find specific real life application of advanced mathematic formulas.


In many higher education fields specially in computer science, it becomes mandatory for students to understand abstraction of concepts. When a program writes a program, specifically in object oriented languages, any object in fact is an abstraction of some concept that could be instantiated whenever it is needed.


It is an Art

The art of abstraction comes super handy when dealing with complex systems. Another way of saying; you will not be able to describe a system after certain level of complexity to be able to find a high level solutions for it, if you don’t use the abstracted view of describing the system. However while the abstraction can be a cure and very effective tool in dealing with complex systems, it can be a curse if it is not understood by the audience.


It could be very heavy to follow for someone who is not familiar with the notion of abstraction or has never made abstraction of a real system. So therefore it becomes a curse. While it brings simplicity to the system expert, it will sound like fluff when it is heard by the ones dealing with specific situation.

Is the abstraction really so alien? Everyone actually apply abstraction or relate to it in their daily life even though they may not be aware of it. Almost everyone likes quotes from famous leaders and authors. When you hear "The way to get started is to quit talking and begin doing.". you understand what it means, it certainly doesn't say to stop talking literally, but you can relate to it with a real example of your daily life. It applies to all projects that you want to start but are victim of your procrastination. Abstraction simply is a short summary of a concept that is applicable to more than one type of context.


Complex Systems

It is actually pretty tricky to find a model of a complex system that contains enough properties that is still valid for addressing any further solution or exploration and it is still brief and simple. Sometimes in system management you even have to build multiple models of the systems with different level of abstraction.


I liked the most simple example that any system can be described with: a system is a black box, with some Input coming in and some Output going out. One slightly deeper description would be a system is a black box that gets an input, and “transforms” it to an output.

Majority of the technical terms are for good or bad abstracted concepts, a “system”, a “platform”, a “service” and so on, with which you can really make buzzword compatible speeches and drive your audiences crazy.

The truth is also the combination of the technical components that have to cooperate together to make something happens are increasing and if we don’t group and wrap them under some labels, it becomes impossible to talk about anything and progress forward.


So what

While abstraction is a necessary tool for scientists and system designers, when explaining the system and solution to audiences, one needs to use specific examples. You may of course be so proud of the fancy abstraction you have made to explain a very complex system, so much so that you would like to explain the abstracted model. So the feedback you get after explaining your concept " this was too abstract for me" is actually a good feedback that tells you, please give me a familiar real life example so i can understand your concept.

To make it even easier consider to test your abstracted model with as many real life / system examples as you can, then you can use those example to explain your solution and not the model.

7 views0 comments

Recent Posts

See All