Umple is a language for both object-oriented programming and modelling with class diagrams and state diagrams.The name Umple is a portmanteau of "UML", "ample" and "Simple", indicating that it is designed to provide ample features to extend programming languages with UML capabilities.