Explaining the concepts of software interfaces