- #1
JC2000
- 186
- 16
- TL;DR Summary
- I am having trouble understanding why the OSI model for networks is an example of abstraction levels and not an application of modularisation. This course (https://www.coursera.org/learn/iot/lecture/3JfWa/lecture-2-2-protocols) referred to OSI as 'layers of abstraction', so did the wikipedia page on 'abstraction layer'.
I understand abstraction to be the process of representing a system, concept or process in simple terms, leaving out finer details which may obfuscate the bigger picture.
My understanding of layers of abstraction is that it refers to different depths of understanding of a concept where each 'level' of understanding helps in performing a specific task. For instance, knowing that meaning of the play and pause button in a video player application is enough for the purpose of playing a video. Whereas an understanding of how video is stored in terms of digital signals would be required if one had to design a program to compress a video.
My understanding of modularisation is that it is a concept used to break a complex process/ system into simpler chunks which can be understood and developed independently. So a software application can be split into various modules such as the GUI, data storage, plugins etc. This allows each different module to be coded separately and makes the development process simpler.
Thus, it seems to me that breaking network protocols into different parts (parts for routing, flow control, arbitration etc) is an instance of modularisation. However it seems this is not the case. I would be grateful if you could tell me where my understanding of modularisation and abstraction goes off the rails.
Thank you for your time!
My understanding of layers of abstraction is that it refers to different depths of understanding of a concept where each 'level' of understanding helps in performing a specific task. For instance, knowing that meaning of the play and pause button in a video player application is enough for the purpose of playing a video. Whereas an understanding of how video is stored in terms of digital signals would be required if one had to design a program to compress a video.
My understanding of modularisation is that it is a concept used to break a complex process/ system into simpler chunks which can be understood and developed independently. So a software application can be split into various modules such as the GUI, data storage, plugins etc. This allows each different module to be coded separately and makes the development process simpler.
Thus, it seems to me that breaking network protocols into different parts (parts for routing, flow control, arbitration etc) is an instance of modularisation. However it seems this is not the case. I would be grateful if you could tell me where my understanding of modularisation and abstraction goes off the rails.
Thank you for your time!