<?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">Fact-Oriented Business Rule Modeling in the Event Perspective</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Peter</forename><surname>Bollen</surname></persName>
							<email>p.bollen@os.unimaas.nl</email>
							<affiliation key="aff0">
								<orgName type="department">Department of Organization &amp; Strategy</orgName>
								<orgName type="institution">University of Maastricht</orgName>
								<address>
									<postBox>P.O. Box 616</postBox>
									<postCode>6200 MD</postCode>
									<country key="NL">the Netherlands</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Fact-Oriented Business Rule Modeling in the Event Perspective</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">3208D0ADA6E5CE073D924565E0E9C296</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T06:55+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>In this article we will focus on the business rule modeling constructs and methodology in the fact-oriented approach for the third perspective from the IFIP CRIS framework: the behaviour-oriented perspective or event perspective.</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>In order to define the fact-oriented modeling constructs for the event perspective, we will formalize the definition of derivation rules as they are currently used in factoriented modeling languages (e.g ORM <ref type="bibr" target="#b0">[1]</ref>). The derivation rules that constitute an application's process base can be fully formalized whenever an appropriate references structure for the (static) information grammar has been put in place. We note how the pre-condition references the object types that are specified in the process argument and possibly references the (ingredient) fact types that must be contained in the application information grammar. We note that the post-condition specifies what the result will be of the execution of the derivation rule, whenever the pre-condition evaluates to true. The create operator is defined as follows: a fact instance that will be 'created' has subsequently to be inserted to the application's information base. If the projected information base after the proposed insert transaction will violate the application's conceptual schema or information grammar, a created fact will not be added to the application's information base. The rule-body of the derivation rule contains the explicit derivation logic that 'computes' the value(s) for the 'derived' role for the fact instance(s) that will be created. 2 The extension of ORM with Event-Condition-Action (ECA) modeling constructs</p><p>Although the execution of the derivation rule is constrained by the pre-conditions and post-conditions, there still remain degrees of freedom with respect to when and in what sequence these derivation rules or information base update processes (IBUPs) can be executed. Therefore, an additional modeling construct is needed, to specify when the instances of derivation rules from the conceptual schema will be executed. These 'rule' executions will be triggered by events. For example the occurrence of an event instance that an insurance application is created will 'trigger' the derivation rule: derive customer credibility:</p><p>ON insurance application is created THEN derive customer credibility Definition 1. An event type is a set of events in the application subject area, each of these events can lead to the execution of one or more derivation rules. Definition 2. An event type argument set of a given event type specifies all occurrences of object types, instances of which should be supplied for an event instance of the event type.</p><p>An event can start the execution of a derivation rule or IBUP (in some cases) under (a) condition(s) on the information base. In the population constraints from the application information model we have modeled the 'invariant' business rules that must hold for every information base state. For example the business rule that states that every insurance application must state the insurance type. In the pre-condition of the derivation rule(s), the business rules are modeled that specify what ingredient fact instances should be available in order to 'compose' or 'derive' the resulting fact instance(s) in the derivation rule [2: p.1519]. In the event perspective we will model the business rules that contain the knowledge under what condition (on the application information base) an event of an event type will trigger a specific derivation rule or IBUP. An example event description for the insurance application example will look as follows: The proposition in the guard condition can contain a reference to one or more instances of the event argument.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">The Impulse Mapper</head><p>In many cases the derivation rules are executed by users from different user groups in the same organization. The external schema for the event perspective for such a user group might contain compound impulses. This means that an event will trigger two or more derivation rules at the same time. In order to abstract from externally imposed "ways of working" we will have to atomize these compound impulse types. Each atomic impulse containing exactly one (primitive) event <ref type="bibr" target="#b2">[3]</ref>, exactly one derivation rule or IBUP and the condition under which the derivation rule or IBUP will be executed. We will call the effect of an event occurence into the execution of one derivation rule or IBUP (eventually under a condition on the information base) an impulse (instance). It is this definition of an impulse that allows us to look at an impulse as a specific type of 'business constraint' (see the discussion in ) without having to worry about run-time implementation issues like code generation <ref type="bibr" target="#b4">[5]</ref>, message sending [3: p.132] and software components (e.g. event handler <ref type="bibr" target="#b5">[6]</ref>).</p><p>Algorithm 1:Fact-oriented behavioral modeling procedure BEGIN Take the first user group in application subject area WHILE still user groups left in Take the first derivation rule or IBUP from conceptual schema WHILE still derivation rules/IBUP's in conceptual schema. Ask the users in the Sphere of Influence what event type(s) invoke such a derivation rule or IBUP Check whether such an event type is already listed. IF event type not listed THEN For each event type determine the event type argument ELSE For each event type that evokes such a process: determine the condition on the IB and event argument under which the der. Rule is instantiated. IF the condition is different from an existing condition on the same event type and derivation rule/IBUP THEN Make a combined condition which contains the old condition type and the new condition type ELSE the impulse is already defined. ENDIF For each (relevant) impulse determine the impulse mapper IF parts of such an impulse mapper can not be determined THEN redefine the part of the event argument such that an impulse mapper can be defined ENDIF For each impulse define the event-condition and the condition-process trigger type (if relevant) ENDIF take next derivation rule/IBUP ENDWHILE take next user group in sphere of influence ENDWHILE END Events that do not have the potential to 'trigger' derivation rules from the application's conceptual schema or IBUP's are not relevant for the description of the behavioural perspective in a given application subject area <ref type="bibr">[7 : p.3</ref>]. We can now classify all impulses that have the same event type, the same derivation rule or IBUP and the same condition type into a set of impulse instances that belong to the same impulse type.</p><p>An impulse type contains an event type, a condition type, and a derivation rule (or a conceptual process type in general) or IBUP. Definition 4. An impulse mapper is a construct that transforms values of event type arguments and fact instances from the application information base into instantiation values for the argument set(s) for the derivation rule or IBUP. In algorithm 1 the modeling procedure for deriving the business rule model in the behaviour-oriented perspective is given.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Conclusions</head><p>In this article we have generalized the declarability of business rules in the dataoriented an process-oriented perspectives to the event perspective, by defining the basic ECA oriented modeling constructs and the concept of impulse mapper that provides the semantic connection between the model in the event perspective on one hand and the models in the process-and data-oriented perspectives on the other hand.</p><p>In addition an explicit modeling procedure was provided.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head></head><label></label><figDesc>ON E1:insurance application is created (arg1:application) THEN derive customer credibility (arg1:customer) ON E2: new day(arg1: date, arg2: month) IF C1: (E2.arg1= '1' AND E2.arg2= 'january') THEN derive customer credibility (arg1:customer) Definition 3. A guard condition is a proposition on the information base.</figDesc></figure>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<monogr>
		<title level="m" type="main">Information Modeling and Relational Databases; from conceptual analysis to logical design</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<publisher>Morgan Kaufmann</publisher>
			<pubPlace>San Francisco, California</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Conceptual process configurations in enterprise knowledge management systems</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bollen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Applied computing</title>
				<meeting><address><addrLine>Dijon, France</addrLine></address></meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2006">2006. 2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Processing production rules in DEVICE, an active knowledge base system</title>
		<author>
			<persName><forename type="first">N</forename><surname>Bassiliades</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Vlahavas</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data &amp; Knowlege Engineering</title>
		<imprint>
			<biblScope unit="volume">24</biblScope>
			<biblScope unit="page" from="117" to="155" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">On the applicability of requirements determination methods</title>
		<author>
			<persName><forename type="first">P</forename><surname>Bollen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Management and Organization</title>
				<meeting><address><addrLine>Groningen</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page">219</biblScope>
		</imprint>
		<respStmt>
			<orgName>University of Groningen</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Component adaptation for event-based application integration using active rules</title>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">W</forename><surname>Dietrich</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Systems and Software</title>
		<imprint/>
	</monogr>
	<note>in press</note>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">An ECA object service to support active distributed objects</title>
		<author>
			<persName><forename type="first">N</forename><surname>Pissinou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Makki</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Krishnamurthy</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Information Sciences</title>
		<imprint>
			<biblScope unit="volume">100</biblScope>
			<biblScope unit="page" from="63" to="104" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Active rules in database systems</title>
		<author>
			<persName><forename type="first">W</forename><surname>Paton</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Monographs in computer science</title>
				<editor>
			<persName><forename type="first">D</forename><surname>Gries</surname></persName>
		</editor>
		<meeting><address><addrLine>New-York</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

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