<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Blackboard Architecture for Workflows</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefan Kleine Stegemann</string-name>
          <email>stefankst@uni-lueneburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Burkhardt Funk</string-name>
          <email>funk@uni-lueneburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Slotos</string-name>
          <email>slotos@uni-lueneburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universit ̈at Lu ̈neburg, Fakult ̈at III</institution>
          ,
          <addr-line>Volgershall 1 21339 Lu ̈neburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>57</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>Most of today's business applications have to deal with automated workflows. In this paper, we argue that the blackboard pattern can be used to create an architecture for the development of such workflows. We illustrate how the fundamental building parts of a workflow are addressed in such an architecture. The development of a prototypical group calendaring application verified the proposed architecture. It also served as a basis for contrasting the approach with commonly used workflow control constructs.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The work presented in this paper is motivated by the need for architectural
guidance in workflow development. We aim to provide a workflow architecture
with focus on the following aspects.</p>
      <p>
        Workflow management systems often come in an all or nothing fashion with
a variety of features [
        <xref ref-type="bibr" rid="ref7 ref8">7, 8</xref>
        ]. The heavyweight architectures of these systems makes
the integration with existing applications difficult. Consequently, software
developers are often forced to build home-made solutions [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We want to suggest an
architecture that can be used in these situations.
      </p>
      <p>
        The concept of a workflow commonly fits a model that consists of two tiers
[
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Business functionality is split into activities which reside in the work tier.
      </p>
      <p>Coordination and execution of activities is a responsibility of the flow tier. The
proposed workflow architecture must provide a solution for the implementation
of these two tiers.</p>
      <p>
        A workflow can be described from different perspectives [
        <xref ref-type="bibr" rid="ref1 ref5">5, 1</xref>
        ]. One of these
perspectives is the control flow perspective which describes the initiation,
sequence and dependencies of individual activities. In this context, van der Aalst
et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] identified a number of control flow patterns. For a workflow
architecture to be successful, it has to permit the implementation of commonly used
patterns. We therefore consider it important that a workflow architecture can at
least represent the basic control patterns [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Blackboard Architecture for Workflows</title>
      <p>
        The blackboard model emerged in the domain of artificial intelligence [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. It
is based on a metaphor where a group of specialists gathers around a
blackboard and solve a particular problem in cooperation. Our workflow architecture
leverages the blackboard model to implement business workflows. It is based
on the blackboard pattern [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and uses the elements defined by this pattern to
implement the different aspects of a workflow.
      </p>
      <p>
        The blackboard is a shared repository containing the data from various
problem solving states [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In our workflow architecture, the blackboard is used
to store the workflow data. Data on a blackboard is often organized in
elaborate structures. For business workflows, we suggest to divide the blackboard
into multiple disjunct zones where each zone holds the data from one workflow
instance.
      </p>
      <p>
        The domain knowledge is partitioned into knowledge sources which read
data from and write data to a blackboard. Knowledge sources are independent
because they don’t communicate with each other directly or know what other
sources are present [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In our approach, knowledge sources are used to implement
activities in a workflow (work tier). Because the focus in workflows is more on
task completion rather than on knowledge representation, we replace the term
knowledge source with action.
      </p>
      <p>The control is the component that rules the system. Depending on the
situation on the blackboard, it selects appropriate actions and executes them. In
a workflow architecture, the control corresponds to the flow tier. It inspects the
blackboard and decides which activities have to be executed. For each activity,
a corresponding action is selected and executed.</p>
      <p>
        A major issue of the control component, as it is suggested by the blackboard
pattern, is the intermixing of two tasks: selection of actions and tracking the flow.
The blackboard based control plan [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] addresses this problem by establishing a
clear separation of concerns. It defines a meta controller that follows steps in
control plan. In the suggested workflow architecture, a control plan specifies
the flow of work by defining the steps to be executed. A control component tries
to complete such a plan by selecting and executing the appropriate actions for
each step.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>A Prototypical System</title>
      <p>To verify the proposed architecture, a prototypical system has been implemented.
The system can be considered to be part of a fictitious larger groupware system
that provides a calendaring functionality. The scenario we have implemented
covers scheduling of meetings among a number of participants. In particular, it
provides a sophisticated conflict resolution strategy that applies in situations,
where a meeting is scheduled and one or more participants are not available at
the proposed date.</p>
      <p>
        The scheduling workflow was implemented with the blackboard architecture
as described in the previous section. For the control plan, we chose a rule-based
implementation. Each step in a plan is associated with a rule that is evaluated
against the data on a blackboard. If a rule evaluates to true, it is desirable
to perform the corresponding step. To map actions to steps, the control uses a
creditability value that expresses the ability of an action to complete a particular
step [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        The OpenBBS framework [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is an open-source project that was derived
from the prototypical system. The framework has been used to implement the
customer registration workflow in an online B2B trading application.
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Support for Control Patterns</title>
      <p>
        In section 2, support for commonly used control flow patterns has been defined as
one goal for our approach. Based on the experiences with the group calendaring
system, we evaluated if and how the five basic control flow patterns [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] are
supported in a blackboard architecture with a rule based control plan.
      </p>
      <p>Sequence: Add a step for each activity to the control plan and
implement/assign an action for each step. Associate the rule for a step S2 that follows
a step S1 with the existence of the output data of S1 on the blackboard. The
action that performs step S1 must write the required output data to the
blackboard.</p>
      <p>Exclusive Choice: One of several possible branches is chosen. For every
branch, add a step to the control plan. The rule for each step must check the
condition for the branch in such a way that no or only one step is possible for a
given situation on the blackboard.</p>
      <p>Parallel Split: Multiple activities or sequences of activities have to be
performed in parallel. Define a separate control plan for each sequence. Associate a
rule with the initial steps for each plan. The rule evaluates to true if the data that
has to be processed in parallel is written to the blackboard. For true concurrent
execution, each control plan has to be executed by a dedicated control instance in
its own thread. If concurrent execution is not required, a single control instance
that executes all plans in the same thread is an alternative.</p>
      <p>Synchronization: An activity must not be performed before multiple
parallel activities or sequences of activities are completed. Add a step S to the control
plan that represents the depending activity. The rule for S must not evaluate
to true before the steps which represent the parallel activities did complete.
Assuming that each of this steps writes a result to the blackboard, the rule that is
associated with S has to check for the existence of all results.</p>
      <p>Simple Merge: An activity is performed after one of multiple possible
branches has been executed. It is assumed that none of the alternative branches
is ever executed in parallel. The implementation in the control plan is similar
to synchronization. Define a step S for the depending activity. Associate a rule
with S that evaluates to true if the result from at least one of the branches is
present on the blackboard.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper, we introduced a blackboard architecture for the development of
workflows. We have shown how work- and flow-tier are addressed in this
approach. Practicability has been verified through the prototypical
implementation of a group calendaring system. Based on the experiences with this system,
we evaluated the implementation of commonly used workflow control flow
constructs with the proposed architecture. A complete evaluation of the full set of
control patterns remains to be done. Such a study should investigate whether
the blackboard approach is not only valuable as an architecture for the custom
development of workflows but can also serve as a foundation for the
implementation of extensible and customizable workflow management systems.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Hee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Workflow Management - Models, Method, and Systems</article-title>
          . MIT Press,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Van der Aalst</surname>
            , W. M. P.; ter Hofstede,
            <given-names>A. H. M.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A. P.</given-names>
          </string-name>
          :
          <article-title>Workflow Patterns</article-title>
          .
          <source>In: Distributed and Parallel Databases</source>
          ,
          <volume>14</volume>
          (
          <year>2003</year>
          )
          <article-title>3</article-title>
          , p.
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Buschmann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Meunier</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ; Rohnert,
          <string-name>
            <surname>H.</surname>
          </string-name>
          ; Sommerlad,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Pattern-oriented software architecture - a system of patterns</article-title>
          . Wiley, Chichester,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Corkill</surname>
          </string-name>
          , D. D.: Collaborating Software:
          <article-title>Blackboard and Multi-Agent Systems &amp; the Future</article-title>
          .
          <source>In: International Conference on Information Fusion (Fusion</source>
          <year>2005</year>
          ), Philadelphia, Pennsylvania,
          <year>2005</year>
          ,
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jablonski</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Bussler</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Workflow Management Modeling Concepts, Architecture and Implementation</article-title>
          . Thomson Computer Press,
          <year>London 1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lalanda</surname>
            ,
            <given-names>P:</given-names>
          </string-name>
          <article-title>Two complementary patterns to build multi-expert systems</article-title>
          .
          <source>In: Pattern Languages of Programs</source>
          (
          <year>1997</year>
          ), Monticello,
          <year>Illinois 1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Manolescu</surname>
            ,
            <given-names>D. A.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Micro-Workflow</surname>
          </string-name>
          :
          <article-title>A workflow architecture supporting compositional object-oriented software development</article-title>
          .
          <source>Ph.D. Thesis</source>
          . University of Illinois, Urbana,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Manolescu</surname>
            ,
            <given-names>D. A.</given-names>
          </string-name>
          ; Johnson, R. E.:
          <article-title>A micro-workflow component for federated workflow</article-title>
          .
          <source>In: OOPSLA2000 Workshop on Implementation and Application of ObjectOriented Workflow Management Systems III, Minnesota</source>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Nii</surname>
            ,
            <given-names>H. P.</given-names>
          </string-name>
          :
          <article-title>Blackboard Systems</article-title>
          . In: A. Barr; P. Cohen; E. A.
          <string-name>
            <surname>Feigebaum</surname>
          </string-name>
          (Eds.):
          <source>Handbook of Artificial Intelligence. Addison-Wesley</source>
          , Boston,
          <year>1989</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>OpenBBS</given-names>
            <surname>Framework</surname>
          </string-name>
          . Online. Available at http://openbbs.sourceforge.net/, accessed on
          <year>2007</year>
          /10/03.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>