A FUML-based distributed execution machine for enacting software process models

  • Authors:
  • Ralf Ellner;Samir Al-Hilank;Johannes Drexler;Martin Jung;Detlef Kips;Michael Philippsen

  • Affiliations:
  • University of Erlangen-Nuremberg, Computer Science Department, Erlangen, Germany;develop group Basys GmbH, Erlangen, Germany;develop group Basys GmbH, Erlangen, Germany;develop group Basys GmbH, Erlangen, Germany;University of Erlangen-Nuremberg, Computer Science Department, Erlangen, Germany and develop group Basys GmbH, Erlangen, Germany;University of Erlangen-Nuremberg, Computer Science Department, Erlangen, Germany

  • Venue:
  • ECMFA'11 Proceedings of the 7th European conference on Modelling foundations and applications
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

OMG's SPEM standard allows for a detailed modeling of software development processes and methods, but only a rather coarse description of their behavior. This gap can be filled by extending SPEM with a fine-grained behavior modeling concept based on UML activities and state machines. In order to gain full benefit from detailed software process models including behavior, an automated enactment of these software process models is required. In theory, the operational semantics of UML activities as defined by OMG's FUML (Semantics of a Foundational Subset for Executable UML Models) could be used to instantiate and sequentially simulate software process models on a single computer. However, FUML is insufficient to execute software process models to drive realistic projects with large and geographically spread teams. FUML lacks support for distributed execution in order to guide and support team members with their concurrent activities. FUML also does not fulfill key requirements of software processes, in particular requests for human interaction. Additionally, FUML requires explicit modeling of auxiliary user specific attributes and behavior of model elements, which is a cumbersome, repetitive and error-prone task and leads to non-reusable standard software process models. We present the required FUML extensions to support distributed execution, human interaction, and to weave in user specific extensions of the execution machine. With these FUML extensions it becomes feasible to enact reusable standard software process models in realistic projects.