Activity diagrams can model the dynamic aspects of a system by showing the flow of control from one activity to the next. They are essentially flowcharts that can model business workflows and operations. Activity diagrams contain activity states, action states, transitions, objects, branches, forks, joins, and swimlanes. Action states are atomic while activity states can be decomposed into further detail. Transitions show the flow of control between states. Branches specify alternate paths. Forks allow concurrent flows while joins synchronize them. Swimlanes group activities by actor or thread.