Models are widely used and are one of the advanced tools of software engineering. Therefore, it is very important that the models and diagrams are well built not only considering their content, but also how they visually represent information, how they are layout. Layout is an important factor considering readability and comprehensibility of a diagram. Providing manual diagram layout is time consuming; it can also be ineffective; therefore, this paper is a research about diagram automatic layout. UML provides a variety of diagrams, which covers all of the system development life cycle steps. The most important UML diagrams are class and sequence diagrams, because they are the main diagrams to present system structure and behavior. We analyze existing layout techniques and algorithms, offer new ones and evaluate them regarding their applicability to class and sequence diagram layout in different modeling tools, how they comply with layout criteria.