Efficient Automatic Selection of Semantically-Annotated Building Blocks for ERPs Customizing.
-
Citations (0)
-
Cited In (0)
Page 1
Efficient Automatic Selection of Semantically-Annotated
Building Blocks for ERPs Customizing
Eufemia Tinelli1,2, Tommaso Di Noia1, Eugenio Di Sciascio1,
and Francesco di Cugno1
1SisInfLab, Politecnico di Bari, Via Re David, 200, Bari, Italy
{t.dinoia,disciascio,f.dicugno}@poliba.it
2Universit` a di Bari, via Orabona 4, Bari, Italy
tinelli@di.uniba.it
Abstract. We present an approach for efficient semantic-based building-blocks
selection in the context of ERPs fast customizing, introducing Enduring Oak,
a framework that implements an optimized greedy concept covering algorithm,
able to deal with thousands of building block descriptions with reasonable com-
putational times. The proposed approach uses a Description Logics reasoning
engine in conjunction with a RDBMS to reduce the computational burden. We
motivate the approach, present the framework and algorithms and illustrate ex-
periments confirming the validity of our setting.
1Introduction
In [7,8] algorithms and a prototype system were proposed for the automated selection
of semantically-annotated building blocks in ERPs business processes customization.
The framework adopted a polynomial greedy concept-covering algorithm, exploiting
non-standard inference services named concept abduction and concept contraction [9].
The system was specifically designed to ease SAP R/3 best-practices [11] re-usability
during the so-called customizing. While effective and theoretically sound, the approach
—though based on a greedy approach— was unable to efficiently scale-up to the thou-
sands of building blocks descriptions that can be present in a real scenario deployment.
In this paper we show that by smoothly combining inference services provided by a
reasoning engine with efficient storage and retrieval of relational DBMS we are able
to drastically reduce computational times obtaining the desired scalability, with only
a limited reduction in the effectiveness of the semantic-based selection process. The
remaining of the paper is as follows: next section summarizes the domain we tackle.
Then we move on to basics of the formalisms and algorithms we use, in order to make
the paper self-contained. Section 4 presents and motivates the approach we propose; In
section 5 we briefly outline our semantic-based system and then we report on experi-
ments carried out. Conclusions close the paper.
2Application Scenario
Enterprise Resource Planning (ERPs) systems have become more and more commonin
a number of different enterprise and companies; nevertheless they are able to actually
W. Abramowicz (Ed.): BIS 2007, LNCS 4439, pp. 233–244, 2007.
c ? Springer-Verlag Berlin Heidelberg 2007
Page 2
234E. Tinelli et al.
improve the quality and efficiency of companies business processes as long as they are
properly tailored and tuned on the actual organization. To this aim they provide a huge
numberof parametric customizations in order to adapt the system to the various organi-
zational contexts. This process is often much more expensive than the actual purchase
of the ERP software [18]. To simplify this stage ERPs producers tend to offer support
methodologies and tools to rapidly re-use solutions from previous well established im-
plementations.Inparticular,forSAP R/3, suchprocessis knownas Customizing[2,13].
Customizing methodologies include: Global Accelerated SAP (GASAP), Accelerated
SAP (ASAP) and Best Practices [13,11]. Here we focus on the Best Practices method-
ology, which has —at its core— the Building Block (BB) concept [11]. The basic idea
is the modularizationof a vertical solution,i.e., in SAP terms a complete SAP R/3 solu-
tiondevelopedfora well definedorganizationscenario,identifyingandextractingall its
client independent information. BB contents in SAP Best Practices are defined consid-
ering from the start the possibility of their reuse from an implementation point of view.
Basically, the BB content is defined by the identification of which Business Process
parts can be reused within a predefinedsolution. The BB Library [16] providedby SAP
in fact aims at sharing SAP knowledge within the community of developers. It is also
possible to develop specific BBs able to provide particular solutions within a company
context. Nevertheless, because of the rapid growth of the BBs number, choosing the
correct BB in order to satisfy part of a specific Business Process, is increasingly expen-
sive in terms of time, as the selection is driven only by the developers experience. The
need to automate such a process, and similar ones, providing support in the customiza-
tion stage, is therefore increasingly acknowledged. Furthermore we note that, although
the system we developed so far —which exploits knowledge representation techniques
to automatically select annotated building blocks from available business processes to
compose new ones satisfying a given need— has been designed for SAP R/3 BBs, it is
obvious that algorithms and solutions devised are applicable to a number of different
business processes composition scenarios.
3 Framework and Basic Algorithms
Our semantic-based approach relies on Description Logics (DLs) formalization [3].
Description Logics (DLs) are a family of logic formalisms for Knowledge Representa-
tion. We briefly present introductory notions of DLs. Basic syntax elements are: con-
cept names, role names, individuals. Intuitively, concepts stand for sets of objects, and
roles link objects in different concepts. Individuals are used for special named elements
belonging to concepts. Depending on the expressivity of the language and on the al-
lowed constructors e.g., number restrictions, transitive roles, full negation, etc., differ-
ent names have been used to identify different Description Logics. Many of them are
built upon the simple AL([3]); they all define two special concept names, namely ?
and ⊥ representing respectively, all the objects within the domain and the empty set.
Concept expressions can be used in inclusion assertions, and definitions, which impose
restrictions on possible interpretations according to the knowledge elicited for a given
domain. Definitions are useful to give a meaningful name to particular combinations.
Sets of such inclusions are called TBox (Terminological Box), and amount to what
Page 3
Efficient Automatic Selection of Semantically-Annotated Building Blocks 235
is usually called an ontology. Individuals can be asserted to belong to a concept using
membershipassertions in anABox.Thesemantics ofinclusionsanddefinitionsis based
on set containment: an interpretation I satisfies an inclusion C ? D if CI⊆ DI, and
it satisfies a definition C ≡ D when CI= DI. A model of a TBox T is an interpreta-
tion satisfying all inclusions and definitions of T . DL-based systems are equipped with
inference services: logical problems whose solution can make explicit knowledge that
was implicit in the assertions. Basic inferences are:
Concept Satisfiability — T |= C ? ⊥ : given an ontology T and a concept C, does
there exist at least one model of T assigning a non-empty extension to C?
Subsumption — T |= C ? D : given an ontology T and two concepts C and D, is C
more general than D in any model of T ?
Given an ontology T modeling the investigated knowledge domain, a request de-
scription D and a resource description BB, in our setting a building block (BB), using
subsumption it is possible to evaluate either (1)if BBcompletely fulfills the request –
T |= BB ? D, full match – or (2)if they are at least compatible with each other –
T ?|= BB ? D ? ⊥, potential match – or (3)not – T |= BB ? D ? ⊥, partial match
[10]. It is easy to see that in case of full match all the information specified on BB
is expressed, explicitly or by means of the ontology T , also in D. Responses to calls
for subsumptionand satisfiability checks are obviouslyBoolean. When we need to deal
with approximation,other inferences may help. Let us consider two concepts C and D;
Fig.1. Relational structure of the database
Page 4
236E. Tinelli et al.
Fig.2. An annotated snapshot of the User Interface
if their conjunctionC?D is unsatisfiable in the TBox T representingthe ontology,i.e.,
they are not compatible with each other,we may want, as in a belief revision process, to
retract requirements in D, G (for Give up), to obtain a concept K (for Keep) such that
K ? C is satisfiable in T .
Definition 1. Let L be a DL, C, D, be two concepts in L, and T be a set of axioms in
L, where both C and D are satisfiable in T . A Concept Contraction Problem (CCP),
identified by ?L,D,C,T ?, is finding a pair of concepts ?G,K? ∈ L × L such that
T |= D ≡ G ? K, and T ?|= K ? C ? ⊥. We call K a contraction of D according to
C and T .
Q is a symbol for a CCP, and SOLCCP(Q) denotes the set of all solutions to Q.
Obviously, there is always the trivial solution ?G,K? = ?D,?? to whatever CCP, that
is give up everythingof D. When C ?D is satisfiable in T , the “best” possible solution
is ??,D?, that is, give up nothing — if possible. When subsumption does not hold i.e.,
a full match is unavailable, one may want to hypothesize some explanation on which
are the causes of this result.
Definition 2. Let C, D, be two concepts in a Description Logic L, and T be a set
of axioms, where both C and D are satisfiable in T . A Concept Abduction Problem
(CAP), denoted as ?L,C,D,T ?, is finding a concept H such that T ?|= C ? H ? ⊥,
and T |= C ? H ? D.
P is a symbol for a CAP, and SOL(P) denotes the set of all solutions to P. Given a
CAP P, if H is a conjunction of concepts and no sub-conjunctionof concepts in H is a
solution to P, then H is an irreducible solution.
Page 5
Efficient Automatic Selection of Semantically-Annotated Building Blocks237
The rankPotential algorithm [10] allows to numerically compute the length of H.
Recalling the definition, rankPotential (C,D) returns to a numerical measure of what
is still missing in C w.r.t. D. If C ≡ ? the maximum value for rankPotential (C,D) is
computed,that is the maximum(potential)mismatch of C from D. Hence, the value re-
turnedby rankPotential(?,D)amountsto how specific is a complexconceptexpression
D with respect to an ontology T , what we call the depth of D: depth(D).
Concept Covering, originally defined in [12] for a particular set of DLs with limited
expressiveness, was later extended and generalized in terms of Concept Abduction in
[5]. We recall here this definition:
Definition 3. Let D be a concept, R = {S1,..,Sk} be a set of concepts in a Descrip-
tion Logic L and T be a set of axioms, where D and Si,i = 1..k are satisfiable in T .
1. A Concept Covering Problem (CCoP), denoted as CCoP(?L,R,D,T ?), is finding,
if it exists, a set Rc ⊆ R, such that both for each Sj ∈ Rc, T ?|= ?Sj ≡ ⊥, and
H ∈ SOL(?L,?Sj,D,T ?) is such that H ?? D.
2. We call ?Rc,H? a solution for the CCoP ?L,R,D,T ?.
Intuitively, Rcis a set of concepts that completely or partially cover D w.r.t. T , while
the abduced concept H represents what is still in D and is not coveredby Rc. A greedy
approach is needed for performance reasons as also the basic set covering problem is
NP-Hard.A Concept CoveringProblemis similar, but has remarkabledifferenceswhen
comparedto classical set covering[7]. There can be severalsolutions for a single CCoP,
depending also on the strategy adopted for choosing candidate concepts in Rc. In [7]
the greedy Algorithm 1 was proposed, which we recall here for the sake of clearness.
The algorithm GsCCoP(R,BP,T ) ha as inputs BP, i.e., the concept expression rep-
resenting the required Business Process, R = {BBi},i = 1...n the set of available
Building Blocks descriptions, the reference ontology T .
The algorithm tries to cover BP description “as much as possible”, using the con-
cepts BBi∈ R. If a new building block BBican be added to the already composed set
Rc, i.e., T ?|= (?BBk∈RcBBk) ? BBi? ⊥, then an extended matchmaking process is
performed(rows 8–21).If BBiis not consistent with the uncoveredpart of the business
process BPu, the latter is contractedand subsequentlya CAP is performedbetween the
contracted uncovered part and BBi(rows 8–10). If BBiis consistent with BPu, only
a CAP is solved (rows 11–15). Based on the previously computed concepts G, K and
H a global score is computed as a metric to evaluate how good BPiis with respect
to the covering set (rows 16–21). The score is determined through Ψ function. It takes
into account what has to be given up (G), kept (K) in the uncoveredpart (BPu) of BP
in order to be compatible BBiand what has to be hypothesized (H) in order to fully
satisfy the contracted BPu, i.e., K. For ALNDL, that we adopt here the following
formula is used [6]:
Ψ(G,K,H,BBi,BPu) =
????1 −
N
N − g∗ (1 −h
k)
????
(1)
where N, k, g, h represent numerical evaluation, computed via the rankPotential
algorithm[10], for respectively: