The roles of different components is quite well described on the Wiki. If you still have difficulties with that, there was a RFC presentation somewhere on the forum with some informations on each component's role, and how they are working together (otaa for instance)
on the github repo, there is also a "documents" section with an update from the 02/01 and some protocols informations but they seems outdated - or very incomplete.