A Sub-Process is an Activity whose internal details have been modeled using Activities, Gateways, Events, and Sequence Flows. A Sub-Process is a graphical object within a Process that can be decomposed into further sub-processes (or in graphical terms, opened up to show a lower-level Process). Sub-Processes define a contextual scope that can be used for attribute visibility, transactional scope, for the handling of exceptions.