Part III: Foundations of Object-Oriented Modeling