a machine or assembly b logical or abstract c application or
a) machine (or assembly)
b) logical (or abstract)
c) application (or user, client)
d) primitive (or language dependent)
e) implementation (or concrete)
Solution
Abstract Data Type: To manage the complexity of problems, we use abstractions to allow them to focus on the “big picture” without getting lost in the details.
ADT is a logical description of how we view the data and the operations that are allowed without regard to how they will be implemented. This means that we are concerned only with what the data is representing and not with how it will eventually be constructed.
a) Machine: abstraction is data hiding or information hiding. In machines we need to hide the functionality of a machine. Only the physical touch of machine should be known. how this machine works internally must ne hidden.
b) Logical: we need to hide the logic for any particular function that how it is working, only the result that function gives should be known not how that function has been implemented.
c) Application: In appilication only user interface is visible to user. from where data comes and where it get stored should be hidden. how the application is working is something that user should not be aware of.
d) abstraction is language independent.
e)Implementation: abstraction is implementation independent. implementation independence allows the programmer to switch the details of the implementation without changing the way the user of the data interacts with it.

