An Extensible Operational Semantics for UML Activity Diagrams