<?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">Supporting Documentation and Evolution of Crosscutting Concerns in Business Processes</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Chiara</forename><forename type="middle">Di</forename><surname>Francescomarino</surname></persName>
							<email>dfmchiara@fbk.eu-fondazionebrunokessler</email>
							<affiliation key="aff0">
								<address>
									<settlement>Trento</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Supporting Documentation and Evolution of Crosscutting Concerns in Business Processes</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">9A4F7131F38D0ED87B02C101EBC6C82C</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T08:57+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>Business processes can be very large and can contain many different concerns, scattered across the process and tangled with other concerns. Crosscutting concerns are difficult to find, locate and modify in a consistent way, thus making process maintenance and reuse hard, even for business experts. In this work, we address the problem of supporting business designers when they need to document existing crosscutting concerns and when they work on their evolution. We propose to add semantic annotations from a domain ontology to BPMN process elements in order to be able, on their basis, to manually or semi-automatically mine concerns crosscutting the process. Once modularized separately from the principal process flow, we aim at supporting the consistent evolution of all the process parts they crosscut, by means of a BPMN-based rule language.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">State of the Art</head><p>Business processes can be very large and involve many different perspectives. Business process (BP) description and modelling languages provide means for describing the main views which define the principal decomposition of the business process, such as the control flow, data flow and performers. Though allowing to represent these perspectives, the available languages are not able to capture all different types of relevant features in the process, above all if scattered across the process and tangled with one another. This lacking capacity in identification and explicit representation of crosscutting concerns (CCs) results not only in difficulties during process comprehension, but also in a challenging maintenance and evolution phase.</p><p>In order to improve process flexibility, to make maintenance and evolution easier and to improve reuse, the Business Process Community made several attempts, such as flexible and dynamic processes and generic processes <ref type="bibr" target="#b0">[1,</ref><ref type="bibr" target="#b1">2]</ref>.</p><p>An aspect is a module composed by pointcut designators and advices. A pointcut provides a condition to specify a set of so called join points, i.e., precise points in the execution flow that the aspect intercepts, by means of some quantification mechanism. An advice, instead, specifies how to realize the concern and when in the join points of interest the concern execution has to be activated, thus realizing the AOP (Aspect Oriented Programming) obliviousness (the primary program ignores advices) <ref type="bibr" target="#b2">[3]</ref>.</p><p>Recently, AOP has investigated the migration of existing systems to aspects. Such transformation process involves at least two steps: (1) identification of scattered and tangled concerns (i.e. aspect mining); (2) migration of crosscutting concerns into actual aspects (i.e. aspect refactoring). A number of different techniques have been developed to (partially) automate aspect mining. Some of them rely on Formal Concept Analysis (FCA).</p><p>The AOP approach has already been applied to a specific process executable description language, BPEL (Business Process Execution Language). AO4BPEL <ref type="bibr" target="#b3">[4]</ref> is a dynamic aspect oriented extension of BPEL, enriched with concepts for describing pointcut designators (XPath expressions to locate the places where the aspect is applied) and advices (fragments of BPEL code). A similar approach, mainly differing from AO4BPEL in the advice language has been proposed by Verheecke et al. <ref type="bibr" target="#b4">[5]</ref>. Padus <ref type="bibr" target="#b5">[6]</ref> is yet another aspect-oriented BPEL extension, but without dynamic weaving and improving portability.</p><p>All the cited works mainly focus on the developers' perspective, without considering that, in practice, business designers prefer a higher level modelling notation, such as BPMN (Business Process Modelling Notation). Moreover, explicit decomposition of the process into totally separate modules for the aspects, may hinder, instead of simplifying, process design and comprehension.</p><p>In order to address the SoC (Separation of Concerns) problem in general purpose code, several tools (e.g. JQuery <ref type="bibr" target="#b6">[7]</ref>) support programmers in source code navigation and concern localization. We propose a similar approach for BPs. In order to help business experts to understand and maintain BPs, we introduce a visual language for querying BP models. However, since the raw syntactical information available in BPMN diagrams is not enough for characterizing the concerns being mined, we add semantic expressiveness to models by means of semantic annotations.</p><p>BP semantic annotation techniques have already been proposed by several authors (e.g. <ref type="bibr" target="#b7">[8]</ref>), for different process description languages and addressing different issues. The main purpose of semantic annotations in this work is another one. By allowing to manually (via the query language) or semi-automatically (via FCA) mine for business domain CCs and to reason about domain ontology concepts, they aim to support concern documentation and domain constraint compliance.</p><p>This work supports business experts in BP crosscutting concern documentation and evolution, thus contributing to process understandability, maintainability and evolvability. In order to achieve this goal, we devise a four-fold contribution to the state of the art: (1) we propose to enrich BP models with semantic annotations and suggest to support the business designer both in the annotation phase, by suggesting correct annotations or verifying user-defined ones, and in the related domain ontology building and/or enrichment activity; (2) we define an easy-to-use, visual query language for querying BPs and we support the business user in formulating queries and visualizing the results; (3) we investigate a technique for the automatic mining of candidate CCs in BPs; (4) we propose a method to document CC evolution and, whenever any CC changes, to update all modules it crosscuts, in an automatic or semi-automatic way.</p><p>The paper is organized as follows: in Section 2 we give an overview of our research directions; in Section 3 we detail one of such directions (the visual query language for exploration and documentation of CCs in BPs); finally, conclusions and future works are presented in Section 4.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Crosscutting Concern Documentation and Evolution</head><p>Although BPMN allows the explicit representation of the main views of a process, it often leaves implicit the crosscutting features. Knowledge about the crosscutting functionalities pertains to the BP semantic (vs. syntactic) description, but "BPM doesn't provide a uniform representation of an organization's process space as a whole on a semantic level which would be accessible to intelligent queries and inference" <ref type="bibr" target="#b7">[8]</ref>.</p><p>Business Process Semantic Annotation. In order to supply BPs with semantic information from the business domain, we propose to semantically annotate them with concepts taken from a business domain ontology. For the semantic annotation of BPMN elements, we use a standard BPMN textual annotation, augmented with an "@" before the semantic concept. Such annotations open to the possibility of reasoning about semantic properties, thus facilitating the compliance with possible predefined constraints, the process of manual or semi-automatic crosscutting concern mining and the consistent update of all the modules crosscut by a modified documented feature.</p><p>An example of a semantically annotated BPMN diagram is shown in Figure <ref type="figure">2</ref>. It represents a process for realizing an assembled product starting from three raw products. All the flow objects in the process are annotated with concepts taken from a "buying and selling" domain ontology. Clearly business designers need to be supported in the semantic annotation phase. On one hand they can be supplied with annotation suggestions compliant with possible predefined constraints and, on the other, mechanisms for the automatic compliance verification of user defined annotations with constraints can be provided. Moreover, they will also be supported in ontology building or enrichment by means of dedicated tools and techniques. We plan to use an ad-hoc linguistic analysis for ontology extraction from process entity labels, since available ontology learning techniques are not applicable to small textual corpora such as those represented by process labels.</p><p>BPMN Visual Query Language. In order to support crosscutting concern documentation, understanding and evolution, we propose the use of a query language able to quantify on the BP elements, thus localizing the concerns of interest. By carefully considering usability of the query language (it is supposed to be used by business designers), we chose a language as close as possible to what business experts already know: BPMN itself. We slightly extended BPMN to BPMN VQL (Visual Query Language), so as to make it usable for query purposes as well. BPMN VQL is described in more detail in Section 3.</p><p>Concern Mining. The support provided by query languages and concern browsers is of fundamental importance, but it still involves substantial effort from the users, thus breaking the ease-of-use requirement of business designers. It can be complemented by an automated concern mining tool, which automatically suggests candidate CCs to designers, both structural (e.g. workflow patterns) and business domain oriented (e.g. purchasing activities). In order to achieve this goal, we investigated novel aspect mining techniques for BPs, based on FCA (more details in <ref type="bibr" target="#b8">[9]</ref>).</p><p>Crosscutting Concern Aspectization. Once CCs are known and their existence is documented (through a collection of queries), their evolution too has to be supported and documented. Changing a crosscutting concern, due to its scattered and tangled nature, is not a trivial job. The update has to be applied in a consistent way to all the concern occurrences and the tangled subparts. Manually executing the change is a tedious and error-prone task. In order to support business designers, we propose to use a BPMN-based rule-language, that extends BPMN VQL with an "update" part in order to support BP manipulation at selected points. The rule could be either weaved and stored, in order to only document the concern changes (and potentially re-weaved whenever the designer wants) or it can be kept alive during workflow editing, in order to detect any possible violation of the rule, giving rise to a warning and a (semi-)automated fix (more details in <ref type="bibr" target="#b8">[9]</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">BPMN Visual Query Language</head><p>The exploration of large BPs and the retrieval of interesting CCs can be a difficult and time consuming task for business experts. In order to support them, we propose a query language able to quantify over the BP elements, localize interesting concerns and, once identified, present them to users by visually high-lighting their occurrences in the process diagram. Since a critical issue of the query language is usability, the proposed language is a visual language based on BPMN, the standard language business designers use for representing BPs.</p><p>The BPMN Visual Query Language (BPMN VQL) allows to formulate queries by using standard BPMN graphical notation and new specific operators. Moreover, the language provides a different notation to distinguish between the "matching" part of the query, that determines the criterion to match, and the "selection" part (characterized by darker background, thicker lines and bold font style), that allows to visualize only the selected subpart of the matching result.</p><p>In the following subsection we present some examples of uses of the BPMN VQL referring to the product assembly process shown in Figure <ref type="figure">2</ref>. In order to formalize the queries and give them a precise semantics, we provide their translation into SPARQL, an RDF-based query language More details about the language can be found in our Technical Report <ref type="bibr">([9]</ref>).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">BPMN VQL Use Cases.</head><p>The BPMN VQL can be used to query for any concern of interest that is part of the business process design. A simple example is provided in Figure <ref type="figure">2</ref>.</p><p>For particularly relevant concerns, it makes sense to store the query as part of the design artefacts and to keep it as a precise documentation of the design choices related to the specific concern. For example, the business designer, in order to be compliant with specific privacy laws or business strategies, could be interested in storing the concern related to the product supplier search management as a relevant design feature. The query is shown in Figure <ref type="figure">3</ref>.</p><p>Moreover, availability of design artefacts documenting the relevant concerns of a BP is particularly useful when the process design evolves, due to new customer requests or to environmental changes. Fig. <ref type="figure">2</ref>. Query asking for all the activities (both tasks and subprocesses) that buy something (left) and query result (right). Fig. <ref type="figure">3</ref>. Query asking for all the activities that search suppliers and, if any, the "SupplierData" data objects they produce (left). On the right the query results.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusion and future works</head><p>We aim at realizing a framework able to support business users in BP CC documentation and evolution. Up to now we have: (1) studied and partially imple-mented techniques both for semi-automatic semantic annotation of BPs and for domain ontology building and enrichment; (2) defined a BPMN VQL for querying BPs; (3) investigated, adapted and developed approaches for semi-automatic mining of business domain CCs; (4) studied rule languages for CC evolution.</p><p>In the future we will complete the implementation of tools for the user support in BP semantic annotation and domain ontology building; in the visual querying of business processes; in the semi-automatic mining of CCs; and in their evolution. Moreover, we will continue our research in the following directions: (1) linguistic analysis and normalization techniques, aimed at ontology construction; (2) ontology reasoning and constraint definition and compliance;</p><p>(3) FCA analysis criteria, to provide more automation during the identification of concern candidates; (4) new mining techniques, based on structural properties of the workflow; (5) weaving and re-weaving of aspectized concerns; (6) validation of the benefits gained by applying the suggested methodologies to case studies involving business users; <ref type="bibr" target="#b6">(7)</ref> extension to the process execution phase.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. An example of a semantically annotated BPMN process.</figDesc><graphic coords="3,134.77,504.36,353.35,131.31" type="bitmap" /></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Generic workflow models: How to handle dynamic change and capture management information?</title>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">M P</forename><surname>Van Der Aalst</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Conference on Cooperative Information Systems</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="115" to="126" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Variability mechanisms in e-business process families</title>
		<author>
			<persName><forename type="first">A</forename><surname>Schnieders</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><forename type="middle">P</forename></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">9th International Conference on Business Information Systems (BIS 2006)</title>
				<editor>
			<persName><forename type="first">W</forename><surname>Abramowicz</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Mayr</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="583" to="601" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Aspect-Oriented Software Development</title>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">E</forename><surname>Filman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Elrad</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Clarke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Aksit</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004-10-06">October 6, 2004</date>
			<publisher>Addison-Wesley</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Aspect-oriented web service composition with AO4BPEL</title>
		<author>
			<persName><forename type="first">A</forename><surname>Charfi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Mezini</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 2nd European Conf. on Web Services (ECOWS)</title>
				<meeting>the 2nd European Conf. on Web Services (ECOWS)</meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3250</biblScope>
			<biblScope unit="page" from="168" to="182" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Aspect-oriented programming for dynamic web service monitoring and selection</title>
		<author>
			<persName><forename type="first">B</forename><surname>Verheecke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">A</forename><surname>Cibràn</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Jonckers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ECOWS</title>
				<editor>
			<persName><forename type="first">L</forename><forename type="middle">J</forename><surname>Zhang</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">3250</biblScope>
			<biblScope unit="page" from="15" to="29" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Isolating process-level concerns using padus</title>
		<author>
			<persName><forename type="first">M</forename><surname>Braem</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Verlaenen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Joncheere</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Vanderperren</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><forename type="middle">V D</forename><surname>Straeten</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Truyen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Joosen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Jonckers</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Business Process Management</title>
				<editor>
			<persName><forename type="first">S</forename><surname>Dustdar</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><forename type="middle">L</forename><surname>Fiadeiro</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><forename type="middle">P</forename><surname>Sheth</surname></persName>
		</editor>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="volume">4102</biblScope>
			<biblScope unit="page" from="113" to="128" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Navigating and querying code without getting lost</title>
		<author>
			<persName><forename type="first">D</forename><surname>Janzen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>De Volder</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AOSD &apos;03: Proceedings of the 2nd int conf on Aspect-oriented sw development</title>
				<meeting><address><addrLine>New York</addrLine></address></meeting>
		<imprint>
			<publisher>ACM Press</publisher>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="178" to="187" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Semantic business process management: a vision towards using semantic web services for business process management</title>
		<author>
			<persName><forename type="first">M</forename><surname>Hepp</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Leymann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Domingue</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Wahler</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Fensel</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="page" from="535" to="540" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<monogr>
		<title level="m" type="main">Business process concern documentation and evolution</title>
		<author>
			<persName><forename type="first">P</forename><surname>Tonella</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Di Francescomarino</surname></persName>
		</author>
		<ptr target="http://se.fbk.eu" />
		<imprint>
			<date type="published" when="2008">2008</date>
			<pubPlace>Trento</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Fondazione Bruno Kessler ; FBK-IRST</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">Technical report</note>
</biblStruct>

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