<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">A Blackboard Architecture for Workflows</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Stefan</forename><forename type="middle">Kleine</forename><surname>Stegemann</surname></persName>
							<email>stefankst@uni-lueneburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Fakultät III</orgName>
								<orgName type="institution">Universität Lüneburg</orgName>
								<address>
									<addrLine>Volgershall 1</addrLine>
									<postCode>21339</postCode>
									<settlement>Lüneburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Burkhardt</forename><surname>Funk</surname></persName>
							<email>funk@uni-lueneburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Fakultät III</orgName>
								<orgName type="institution">Universität Lüneburg</orgName>
								<address>
									<addrLine>Volgershall 1</addrLine>
									<postCode>21339</postCode>
									<settlement>Lüneburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Thomas</forename><surname>Slotos</surname></persName>
							<email>slotos@uni-lueneburg.de</email>
							<affiliation key="aff0">
								<orgName type="department">Fakultät III</orgName>
								<orgName type="institution">Universität Lüneburg</orgName>
								<address>
									<addrLine>Volgershall 1</addrLine>
									<postCode>21339</postCode>
									<settlement>Lüneburg</settlement>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">A Blackboard Architecture for Workflows</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">E85595BC267C4A71A1B36DBA5A4A349A</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T06:56+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Automated workflows play an important role in contemporary business applications. One option for the development of workflows is the adoption of a workflow management system. However, such systems are often hard to customize and to extend which makes integration with existing applications difficult. Custom development is a commonly chosen alternative. For these situations, we suggest that metaphor and reference architecture would be helpful. Our work shows how the blackboard pattern can be used to establish such a workflow architecture.</p><p>In this paper, we first outline our primary goals. The blackboard pattern is briefly described and we illustrate how this pattern can be used to implement the different aspects of workflows. To verify our approach, we implemented a prototypical system and evaluated how commonly used control flow constructs are supported.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Goals</head><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 <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b7">8]</ref>. The heavyweight architectures of these systems makes the integration with existing applications difficult. Consequently, software developers are often forced to build home-made solutions <ref type="bibr" target="#b7">[8]</ref>. 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 <ref type="bibr" target="#b6">[7]</ref>. 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 <ref type="bibr" target="#b4">[5,</ref><ref type="bibr" target="#b0">1]</ref>. 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. <ref type="bibr" target="#b1">[2]</ref> 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 <ref type="bibr" target="#b1">[2]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Blackboard Architecture for Workflows</head><p>The blackboard model emerged in the domain of artificial intelligence <ref type="bibr" target="#b8">[9]</ref>. 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 <ref type="bibr" target="#b2">[3]</ref> 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 <ref type="bibr" target="#b3">[4]</ref>. 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 <ref type="bibr" target="#b3">[4]</ref>. 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 <ref type="bibr" target="#b5">[6]</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">A Prototypical System</head><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 <ref type="bibr" target="#b5">[6]</ref>.</p><p>The OpenBBS framework <ref type="bibr" target="#b10">[10]</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Support for Control Patterns</head><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 <ref type="bibr" target="#b1">[2]</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><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></div>		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Workflow Management -Models, Method, and Systems</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M P</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Hee</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2002">2002</date>
			<publisher>MIT Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Workflow Patterns</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M P</forename><surname>Van Der Aalst</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">H M</forename><surname>Ter Hofstede</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Kiepuszewski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Barros</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Distributed and Parallel Databases</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="volume">14</biblScope>
			<biblScope unit="page" from="5" to="51" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Pattern-oriented software architecture -a system of patterns</title>
		<author>
			<persName><forename type="first">F</forename><surname>Buschmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Meunier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Rohnert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Sommerlad</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
			<publisher>Wiley</publisher>
			<pubPlace>Chichester</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Collaborating Software: Blackboard and Multi-Agent Systems &amp; the Future</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">D</forename><surname>Corkill</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">International Conference on Information Fusion (Fusion 2005)</title>
				<meeting><address><addrLine>Philadelphia, Pennsylvania</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2005">2005</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Workflow Management Modeling Concepts, Architecture and Implementation</title>
		<author>
			<persName><forename type="first">S</forename><surname>Jablonski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Bussler</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1996">1996</date>
			<publisher>Thomson Computer Press</publisher>
			<pubPlace>London</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Two complementary patterns to build multi-expert systems</title>
		<author>
			<persName><forename type="first">P</forename><surname>Lalanda</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Pattern Languages of Programs</title>
				<meeting><address><addrLine>Monticello, Illinois</addrLine></address></meeting>
		<imprint>
			<date type="published" when="1997">1997. 1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">A</forename><surname>Manolescu</surname></persName>
		</author>
		<title level="m">Micro-Workflow: A workflow architecture supporting compositional object-oriented software development</title>
				<imprint>
			<date type="published" when="2000">2000</date>
		</imprint>
		<respStmt>
			<orgName>University of Illinois, Urbana</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Ph.D. Thesis</note>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">A micro-workflow component for federated workflow</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">A</forename><surname>Manolescu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Johnson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">OOPSLA2000 Workshop on Implementation and Application of Object-Oriented Workflow Management Systems III</title>
				<meeting><address><addrLine>Minnesota</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">Blackboard Systems</title>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">P</forename><surname>Nii</surname></persName>
		</author>
		<editor>A. Barr</editor>
		<editor>P. Cohen</editor>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m">Handbook of Artificial Intelligence</title>
				<editor>
			<persName><forename type="first">E</forename><forename type="middle">A</forename><surname>Feigebaum</surname></persName>
		</editor>
		<meeting><address><addrLine>Boston</addrLine></address></meeting>
		<imprint>
			<publisher>Addison-Wesley</publisher>
			<date type="published" when="1989">1989</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<monogr>
		<ptr target="http://openbbs.sourceforge.net/,ac-cessedon2007/" />
		<title level="m">OpenBBS Framework</title>
				<imprint>
			<date>10/03</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
