UML is a modeling language used to visualize, specify, construct, and document software systems. It provides standard graphical notations for modeling structural and behavioral aspects of a system using diagrams. The key UML diagram types are structural diagrams (e.g. class, component), behavioral diagrams (e.g. use case, activity), and interaction diagrams (e.g. sequence, communication). UML was created through the unification of several popular modeling languages in the 1990s and is now managed by the Object Management Group.