=Paper=
{{Paper
|id=Vol-365/paper-14
|storemode=property
|title=Fact Oriented Business Service Modeling
|pdfUrl=https://ceur-ws.org/Vol-365/paper14.pdf
|volume=Vol-365
|dblpUrl=https://dblp.org/rec/conf/emmsad/Bollen07a
}}
==Fact Oriented Business Service Modeling==
Fact Oriented Business Service Modeling
Peter Bollen
Department of Organization and Strategy
Faculty of Economics and Business Administration
University of Maastricht
6200 MD Maastricht, the Netherlands
p.bollen@os.unimaas.nl
Abstract. In this paper we will present the results of research into fact-
oriented business service modeling. The set of modeling constructs that are
defined in this paper are fully ‘compatible’ with the models in the data-
oriented perspective in the fact oriented school of conceptual modeling.
Keywords: Business Process Modeling and Improvement, modelling
Languages, Business Rules, Process Models.
1 Introduction
Most enterprises today can be considered service providers in one way or other. Many
of these service providing enterprises deliver end-products or services to their
customers that are the result of some kind of informational activity, e.g. the booking of
a holiday at a travel-agency, the preparation of a company’s balance sheet by an
independent accountant or the development of a supply chain management system.
Two important schools in the conceptual modeling of informational activity
are the (extended) entity relationship (E)E-R approach [1,18] and the fact-oriented
approach: NIAM [19] and ORM [6]. Most research in the (E)E-R and fact-oriented
approaches has been directed towards the data-oriented perspective from the IFIP-
CRIS framework [12]. In the eighties a number of system development methodologies
were proposed that covered both the data-oriented, process-oriented and behaviour-
oriented perspectives [5,11,14]. In the nineties a research school on ‘workflow
management’ emerged within the information systems research community (see for a
good literature review [15]). Around that time the business process reengineering
‘paradigm’ [3,7] in combination with the increasing popularity of Enterprise Resource
Planning packages (e.g. SAP, see [2]), lead to the development of domain-oriented
analysis methods of which the ARIS-based Business Process Modeling [16] and BML
[8] are examples.
1.1 Related work
In figure 1 we have given the necessary documents for the three perspectives in the
IFIP-CRIS architecture (based on [9]). In this paper we will focus on the documents in
the middle column of figure 1 that represent the process-oriented perspective. The
documents in the left-hand column of figure 1 refer to the data-oriented perspective
(an example can be found in [10]). The documents in the right-hand column in figure
1 refer to the behaviour-oriented perspective. The definition of the modeling
constructs and methodology for the ‘behaviour-oriented’ perspective will be subject of
another paper. In [9] the union of the meta process model and meta behaviour model
is put into the architecure as ‘program grammar’.
Meta
Meta Meta
model
process behaviour
fact oriented
model model
approach
Enterprise Enterprise Enterprise
data Process Impulse
model Base Base
Enterprise
data
base
Fig. 1. Documents in the data-, process- and behaviour-oriented perspectives
In analogy to the Conceptual Schema Design Procedure (CSDP) in [10] for the data-
oriented perspective, we will give an outline of a ‘CSDP’ in this paper for the process-
oriented perspective, that specifies how a business analyst can create the enterprise
process base as a declarative representation for the processes in an enterprise subject
area. The possible ‘process-oriented’ models that can exist for the application area and
respecting the borders of the application that are imposed by the Universe of
Discourse (UoD) in the ‘data-oriented’ perspective.
The remainder of this paper is organized as follows: in section 2 the focus will be on
the constructs in the process-oriented perspective, in section 3 the methodology for
instantiating these constructs in a specific application area will be given, in section 4
some conclusions will be given.
2 The constructs for the process-oriented perspective
The process perspective in an enterprise subject area is concerned with ‘how’ fact
instances can be composed from other fact instances. In enterprises we can consider
facts as either an outcome of an enterprise activity or an ingredient for an enterprise
activity. Enterprise activities are executed under the responsibility of a user from a
user group. We will call a user that creates facts, an active user. Users that ‘consume’
instances of fact types in their daily activities are called passive users. The border
concept in the process perspective will show what user groups can be held responsible
for the creation of fact instances in the UoD. We will call this border concept: the
Sphere of Influence (SoI)[13: 116].
2.1 Definition of conceptual process types
Consider two different examples of billing, for example, in a bistro and in a fast-food
restaurant. Although the spheres of influence are different in these examples, the
description of the informational activity that creates the order total on each order
receipt in terms of instances of fact types in the application data model is identical (i.e.
it is ‘organization independent’, see [4]). This indicates the need for a theoretical
construct that abstracts from the concrete way in which a fact-creating activity is
performed (e.g. performed manually by a bistro waiter or automatically under the
responsibility of a fast-food restaurant counter employee). This theoretical construct is
the conceptual process instance.
Definition 1. A conceptual process instance is the abstraction of an organizational
activity that is responsible for the creation of (a) fact instance(s) by an active user.
Definition 2. A conceptual process type is the intension of a subset of the conceptual
process instances that are responsible for the creation of fact instances of the same (set
of) fact type(s) by active users in one or more user groups.
2.1.1 Derivation process types
The fact type(s) of the fact instances created in (an) instance(s) of a conceptual
process type will be referred to as the resulting fact type(s) for the conceptual process
type. An (the) ingredient fact type(s) of a conceptual process type specifies what the
fact type(s) is (are) for the fact instances that serve as an input for the creation of a fact
in a process instance of a given conceptual process type.
Legend Ft4 Ingredient fact type(s)
Derivation
Declarative rule
document Conceptual derivation
process type
Prescriptive
Dr2 Pt1
document
Ft5
Resulting fact type(s)
Fig. 2. Conceptual derivation process type
The ‘underlying mechanism’ that creates fact instance fact 1 is a function defined on
the ingredient fact instances fact 2, fact 3 and fact 4. In case the ‘underlying
mechanism’ is a procedure or a derivation rule that specifies for all instances of the
conceptual process type how the resulting fact instance(s) can be derived from the
ingredient fact instances we will call such a conceptual process type a derivation
process type (see figure 2).
Definition 3. A derivation process type is a conceptual process type whose process
instances create fact instances by applying the same derivation rule on instances of the
same ingredient fact type(s) (that are contained in the application’s data model).
The specification of a derivation rule for a given conceptual process type can be
considered another semantic bridge in the process-oriented perspective. In this
specification process the variables in the derivation rules are assigned specific
semantics in terms of roles of the application data model and the arguments in the
process type argument set (see section 2.2).
2.1.2 Determination process types
Ingredient Ft4 Conceptual
fact type(s) strict-determination
Conceptual process type
mixed-determination Pt3
process type
(a) Pt2 (b)
Ft5
Ft5
Resulting Resulting fact type(s)
fact type(s)
Fig.3. Conceptual determination process types
Some facts will be created without a known (or existing) derivation rule. For example
the creation of the Christian name of a new-born. However, in many cases the creation
of such a fact is subject to constraints. In the example of the name assignment for a
newborn, the following constraint exists: a baby of the female sex must be assigned a
girl’s name and a baby of the male sex must be assigned a boy’s name (eventually
from a predefined list of names). We will call the process instances that create these
facts, determination process instances.
The first group of determination process types is the group of mixed-determination
process types. The availability of ingredient fact instances is necessary here. However,
the derivation rule is not known (at least at this moment (see figure 3a)).
Definition 4. A mixed determination process type is a conceptual process type in
which the active user uses instances of the same ingredient fact types (that are
contained in the application’s data model) for all process instances.
The conceptual process that creates the names of a newborn baby: We have decided
to call you John. We have decided to call you Alice. These examples do not involve
any derivation rule or (formal) procedure, but it is assumed that ingredient fact
instances exist, for example: John is the name for a boy, Alice is the name for a girl,
The child that should be named is a girl must be known, before a name can be created
for a specific child. The way in which a name is assigned in a specific instance,
however, can not be determined in advance. Some people might select the name of
their own father or mother for their child. Others might choose the name of their
favourite rock star. On a ‘process type’ level, however, we can never know what
selection criterion (or derivation rule), will be applied in a specific process instance.
The same parent will probably use, if at all, different criteria for every newborn.
In addition to derivation and mixed-determination process types we can distinguish
conceptual process types which have no known and fixed set of ingredient fact type(s)
and derivation rules: strict-determination process types (see figure 3b). This type of
proces is used in managerial decision making, for which, in some cases, decision
support systems are employed: “The user may only need 40-100 data variables, but
they must be the right ones; and what is right may change from day to day and week to
week.” [17: 21].
Definition 5. A strict-determination process type is a conceptual process type in which
the active user does not use a known derivation rule all the time and the active user
does not use instances of the same ingredient fact types (that are contained in the
application’s data model) in all process instances.
2.2 The instantiation of conceptual process types.
We now take the enterprise data base as a starting point and subsequently apply
definitions 4 and 5 that tells us that every fact instance is created in a conceptual
process instance. The collection of conceptual process types that are relevant for the
enterprise subject area are recorded in the enterprise process base (see figure 1).
Now we must take the existence of a conceptual process type as a starting point
and ask ourselves how a conceptual process type instance is created. For this
instantiation we, generally, need parameters that tell us what fact instances will be the
'tangible' end results of the execution of a conceptual process and what other values
are needed for such a process execution. We will call such a set of parameters: the
conceptual process type argument (see figure 4a).
Definition 6. A conceptual process type argument specifies the types of values that
must be specified for instantiating a conceptual process.
If we consider the derivation process type create-order-total in figure 4, it will only
create (a) fact instance(s) of fact type FT5 when at least one fact instance of fact type
FT4 exists in the application data base (see figure 4a) in which the value for the role
‘order code’ is equal to the value for the process argument ‘arg1’. If we inspect the
derivation rule for this conceptual process type and the instantiation values for the
process type argument it should be clear whether the execution of the process will
lead to a result before the derivation rule is actually executed or fact instance(s) are
determined by a active user).
Pre-condition: Ft4
(a) There exist at least one fact instance of fact type Ft4
in the information base for this specific order
Application Dr2: Create Order
Ft5.:= Total (arg1:order)
Data SUM(FT4.)
Base
Post-condition:
Ft5
(b) Specifies what specific fact instance(s) of
fact type Ft5 should be created
Fig. 4. Conceptual process execution: (a) pre-condition, (b) post-condition
The pre-condition for a conceptual process type serves as checking mechanism for the
instantiation of a process type. If the pre-condition is violated by the actual content of
the enterprise data base, the process will not be executed and (a) resulting fact
instance(s) will not be created.
Definition 7. A precondition in a conceptual process type checks whether the required
input fact instances for the derivation process or the mixed determination process
exists in the enterprise data base.
The post-condition specifies what the fact argument is for the facts that will be created
in the conceptual process (see figure 4b). Furthermore, it is specified how the fact
values will be created in the conceptual process will be obtained. In case of a
derivation process a reference is given to a derivation rule. In case of a mixed- or
strict- determination process, it is stated that (a) fact(s) has (have) to be created (by a
active user). This post-condition specifies how the resulting fact type(s) of the process
type, must be instantiated as a function of the values for the process argument.
Definition 8. A post-condition of a conceptual process type specifies (parts of) the fact
argument for the instances of the resulting fact type for the conceptual process. A
post-condition in a conceptual process indicates that (a) fact value(s) ha(s)ve to be
determined. A post-condition in a derivation process type specifies what derivation
rule is used for the creation of the resulting fact instance(s).
Example 1:
P1 create order total<{(arg1,order)}>
IF there exist an instance of FT4
SUCH THAT FT4.=arg1 {pre-condition}
THEN create an instance of fact type FT5
SUCH THAT FT5.:= arg1 {post condition}
FT5.:=DR2
DR2:= Σ FT4. [where FT4.=’arg1’] {der.rule}
ENDIF
In example 1 we have given a complete specification of the pre-condition, post-
condition and derivation rule and how they are related. We will now simplify the
specification of a conceptual process type by dividing such a specification in (at most)
3 parts. In the case of a derivation process type we will specify a precondition, a
postcondition and a derivation rule. In case of a mixed-determination process type we
will specify the precondition and postcondition and, finally, in case of a strict-
determination process type we will only specify the postcondition.
3 The modelling methodology for the process-oriented perspective
In order to be able to model the process-oriented features for fact types that are
contained in the application’s data model but that are created in conceptual process
instances that are executed by active users outside the focal SoI we need to introduce a
fourth conceptual process configuration: the enter process type.
Definition 9. An enter process type models the process-oriented characteristics for
those fact instances of fact types that are contained in the enterprise data model but
that are ‘created’ in conceptual processes by active users outside the SoI of the
enterprise subject area.
We will illustrate the application of the process modelling constructs using the ABC
payroll case study
Example 2: The ABC payroll business service example:
The users in the user groups of the payroll department of branch X of the ABC
company, ‘decide’ how many hours an employee has worked in a given week by
inspecting work-order documents and taking additional information into account, e.g.
traveling time and information that was obtained in personal contact with the
employees. For some employees no work-order documents exist, and therefore the
determination of their work-hours is entirely based upon facts that are not contained in
the current UoD of the ABC example. The active users in this department furthermore
decide upon the gross salaries for the employees that are directly recruited. Although
the criteria that determine the salary for each employee are known, the facts that are
needed for applying these criteria are not available in the current UoD. The net salary
is calculated outside the payroll’s enterprise area by a payroll service provider. The
gross-to-net calculation rules are applied by this outside service-agency, and therefore
are not accessible by the active users payroll department of the ABC company. Under
some conditions it is possible that the working hours for contractors must be recorded
although these contractors are not on the company’s payroll. In addition it is possible
that employees are on the payroll who are hired under the responsibility of a temping-
agency. The users in the user groups of the payroll department of the branch X of the
ABC company, are also responsible for knowing the highest (gross) salary for an
employee at any time. The SoI consists of the users in the user group of the payroll
department of branch X. The content of the fact-oriented data model in figure 9 can be
summarized as follows. There exists fact types that declare the existence of a person
(Ft9), that declare that a person earns a gross salary (Ft7), that a person has worked a
specific number of hours in a week (Ft8), that there is a highest (gross) salary for an
employee (Ft10), and that a person earns a net salary (Ft11). The resulting fact-
oriented data model for this example is given in figure 5.
Salary
Ft11 (natural number)
Person
Person4 Salary3
(person ID)
.... Net ........
Ft7
Person2 Salary1
.... earns gross ....
Ft10
Person1
Ft9
Salary2
There is a .... Number of hours The highest salary for an employee is..
(natural number)
Ft8
Person3 Hours
...worked...in a week
Fig.5. Fact oriented application data model for the payroll example
3.1 A procedure for deriving the process base
In figure 6 we have given a summary of the design procedure for creatuing an
application’s process base.
Facts of fact type in Application Data Model
created in a known derivation rule ?
yes no
Derivation rule accessible Input
by users within sphere Input fact types
of influence ? yes fact types known ?
no known ?
yes no no yes
Enter Derivation Strict Mixed
Process Process Determination Determination
Type Type Process Type Process Type
Fig. 6. Procedure for the determination of process type signature for given UoD and SoI
It should be noted that the enter process types never have a process type argument,
because instances of such a conceptual process type do not have to be instantiated
within the SoI under consideration.We can now easily derive an application process
base for a given UoD and SoI by applying the decision tree from figure 6. The
interaction between the UoD (what fact types are relevant for the enterprise subject
area) and the SoI (what active users are contained in the enterprise subject area) if not
properly managed can be a risk resulting in project delays and project cost overruns in
the development life cycle of business information systems. In figure 7 we have given
the complete ‘as-is’process base for the payroll business service example.
Fig. 7.‘As-is’ application process base for the payroll business service example
We note that for each fact type from the models in the data-perspective at least one
process configuration must be contained in the application’s process base. To
determine to what process type a process instance belongs, that creates an instance of
a fact type (that can be created in 2 or more process types), we need an enterprise
impulse base, that specifies under what conditions a specific process type will be
instantiated to create an instance of such a fact type.
4 Conclusions
In this paper we have derived the modeling constructs and an accompanying
methodology for the creation of a process base for a given subject area. The constructs
that were introduced in section 2 of this paper allow us to describe the extent as to
which organizations have discretion with respect to the fact generating activities
within the SoI. The definition of three different conceptual process types in
combination with the process border-concept of Sphere of Influence (SoI) has resulted
in the existence of 4 conceptual process configurations for a given enterprise subject
area with a known UoD and a known SoI. The ability to model conceptual knowledge
processes that have a ‘tacit’ nature and the extent in which the ‘codifiable’ properties
of these tacit knowledge processes can be modeled makes the constructs in the meta
process model in this paper applicable in service enterprises .The modeling constructs
also allow us to model every type of decision process in terms of its equivocality and
uncertainty. In the context of creating conceptual models in the early stages of the
Systems Development Life Cycle (SDLC), the aforementioned constructs and
methodology can be used as well. The resulting process models can be easily mapped
onto application programs that work on an application data base, by mapping the
derivation process types in a straightforward manner.
References
1. Chen, P.: The Entity-Relationship model: Towards a unified view of data. ACM TODS 1
(1) (1976) 9-36
2. Curran, T., Ladd, A.: SAP R/3 business blueprint. Prentice-Hall (2000)
3. Davenport,T., Short, J. :The new industrial engineering: Information Technology and
Business Process Redesign. Sloan management Review. Summer (1990): 11- 27.
4. Gorry,G., Scott Morton, M.: A framework for management information systems. Sloan
Management Review, Fall (1971)
5. Gustafsson,M., Karlsson, T., Bubenko J.: A declarative approach to conceptual information
modeling, in: W.Olle, H.Sol and A. Verrijn-Stuart (eds.),Information System Design
Methodologies- a comparative review, North-Holland, (1982) 93-142.
6. Halpin, T.: Information Modeling and Relational Databases, Morgan Kaufmann . (2001)
7. Hammer, M.: Reengineering work: Don't automate,obliterate. HBR.july(1990)104-112.
8. Johannesson, P., Perjons, E.: Design principles for process modelling in enterprise
application integration. Information Systems 26 (2001): 165-184
9. Nijssen,G.: An Axiom and Architecture for Information Systems. In: Falkenberg, E.,
Lindgreen, P. (eds.): Information System Concepts,North-Holland, (1989) 157- 175.
10.Nijssen, G., Halpin, T.: Conceptual schema and relational database design. Prentice-Hall,
Englewood Cliffs (1989).
11.Olivé, A.:Dades- a methodology for specification and design of information systems design
and management. in: Olle et. al. (eds.), Information System Design Methodologies- a
comparative review, North-Holland, (1982) 285-334.
12.Olle, T.W., J.Hagelstein, I.G. Macdonald, C. Rolland, H.G. Sol, F.J.M. Van Asche and A.A.
Verrijn-Stuart. Information Systems Methodologies- A Framework for Understanding,
North-Holland (1988).
13.Parker, M.: Enterprise information-analysis: Cost-benefit analysis and the data-managed
system. IBM systems journal, 21(1) (1982) 108-123.
14.Rolland, C., Richard, C.:The REMORA Methodology for Information System Design and
Management. Information System Design Methodologies- a comparative review (1982)
15.Salimifard, K., Wright, M.: Theory and Methodology: Petri net-based modelling of
workflow systems . European Journal of Operations Research 134 (2001) 664-676
16.Scheer, A.: ARIS-Business Process Modeling, 2nd edition, Springer, Berlin (1999)
17.Sprague Jr., R. : A Framework for the Development of Decision Support Systems. MIS
Quarterly. December (1980)
18.Teory, T., Yang, D., Fry, J.:A logical design methodology for relational databases using the
extended E-R model. ACM Computing Surveys, 18(2) (1986):197-222
19.Verheijen,G., van Bekkum J.: NIAM: An Information Analysis Method. In: Verrijn-
Stuart,A., Olle T., Sol H., (eds.): proceedings CRIS- 1, North-Holland (1982) 537-590.