Uniform modularization of workflow concerns using Unify

Onderzoeksoutput: PhD Thesis

Samenvatting

Workflow management systems have become a widely accepted technique for automating processes in many domains. A workflow is created by dividing a process into different activities, and specifying the ordering in which these activities need to be performed. This ordering is called the control flow perspective. Current workflow languages allow natively expressing a multitude of control flow patterns that are related to the fundamental concepts of sequence, parallelism, choice, or iteration. Like any realistic software application, realistic workflows consist of several concerns -- parts that are relevant to a particular concept, goal, or purpose -- which are combined in order to achieve the desired behavior. The general software engineering notion of separation of concerns refers to the ability to identify, encapsulate, and manipulate such concerns in isolation of each other. Separation of concerns is traditionally accomplished by decomposing software into modules, which is associated with benefits regarding development time, product flexibility, and comprehensibility. Current workflow languages lack the means to effectively modularize workflow concerns, especially when these concerns are crosscutting. Existing work, which includes aspect-oriented programming for workflows, offers only partial solutions to this problem. The goal of this dissertation is to improve separation of concerns in workflows by developing a novel, comprehensive approach for modularization of workflow concerns that fills the gaps left by existing work. We develop a framework named UNIFY, at the heart of which lies a base language meta-model that allows uniform modularization of all workflow concerns: all workflow concerns, regardless of whether they are regular concerns or crosscutting concerns, are independently specified using the same language construct. We propose a coherent collection of workflow-specific patterns according to which these independently specified concerns can connect to each other, and allow specifying such connections using a connector language meta-model that complements the base language meta-model. The patterns we identify correspond to more expressive, workflow-specific advice types than those supported by aspect-oriented programming languages. Additionally, UNIFY is applicable to several concrete workflow languages, and does not favor a specific implementation strategy. Because UNIFY's connector mechanism constitutes a novel workflow modularization mechanism, we ensure that the connector mechanism's semantics is precisely described, and that the way in which this semantics is specified fits into the workflow community's existing formal tradition. In order to formalize the aspect-oriented workflow concepts introduced by UNIFY, we employ two complementary formalisms. First, we augment the static description of UNIFY's workflows as provided by its base language and connector language meta-models with a static semantics for the weaving of UNIFY connectors using the Graph Transformation formalism. Second, we provide a semantics for the operational properties of workflows by proposing a translation to Petri nets, and subsequently extend this semantics to support the operational effects of connectors. Although UNIFY promotes separation of concerns in workflow languages by offering an improved modularization mechanism, the abstractions offered by existing modularization approaches for workflows, including UNIFY, typically remain at the same level as the base workflow: concerns are implemented using the constructs of the base workflow language, which may not be ideally suited to expressing the concern in questio
Originele taal-2English
Toekennende instantie
  • Vrije Universiteit Brussel
Begeleider(s)/adviseur
  • Van Der Straeten, Ragnhild, Co-Promotor
  • Jonckers, Viviane, Promotor
Plaats van publicatieBrussels
StatusPublished - 2013

Vingerafdruk

Duik in de onderzoeksthema's van 'Uniform modularization of workflow concerns using Unify'. Samen vormen ze een unieke vingerafdruk.

Citeer dit