Errors, inconsistences, incompletenesses and ambiguities in the requirements specification are major reasons for the failure of IT projects. Since the new major version 2 of the UML, the suitability of activity diagrams for modeling requirements has increased significantly. UML 2 activity diagrams are based upon a completely reengineered metamodel including many new features and an improved semantic precision. We provide a formal syntax and operational semantics for activity diagrams to allow for fully executable models. Inspired by the scenario-based language of live sequence charts, some extensions for activity diagrams are proposed including a distinction between possible and mandatory behavior. The proposed semantics paves the way for formal reasoning and tool development that allows for early prototyping and validation by simulation.
['Christoph Knieke', 'Michaela Huhn', 'Malte Lochau']
Executable Requirements Specification: Formal Semantics of Live Activity Diagrams