1 Introduction
Modeling is the very act of creating representational artifacts of a system or its parts, for the specific purpose of explaining it to different stakeholders. It is possible to represent the software development process and the product itself using appropriate techniques. Modeling is useful for deriving the fundamental properties of software.