<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Modular Representation of a Business Process Planner</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Shahab Tasharrofi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eugenia Ternovska</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Simon Fraser University</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <fpage>75</fpage>
      <lpage>88</lpage>
      <abstract>
        <p>The business process planner relies on external services for particular tasks. The tasks performed by each of the providers or the planner are often NP-complete, e.g. the Traveling Salesman Problem. Therefore, finding a combined solution is a computationally (as well as conceptually) complex task. Such a central planner could be used in business process management in e.g. logistics service provider, manufacturer supply chain management, mid-size businesses relying on external web services and cloud computing. The main challenge is a high level of uncertainty and that each module can be described in a different language. The language is determined by its suitability for the task and the expertise of the local developers. To allow for multiple languages, we approach the problem of finding combined solutions model-theoretically. We describe a knowledge representation formalism for representing such systems and then demonstrate how to use it for representing a business process planner. We prove correctness of our representation, describe general properties of modular systems and ideas for how to automate finding solutions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Formulating AI tasks as model finding has recently become very promising due to the
overwhelming success of SAT (propositional satisfiability) solvers and related
technology such as ASP (answer set programming) and SMT (satisfiability modulo theories).
In our research direction we focus on a particular kind of model finding which we call
model expansion. The task of model expansion underlies all search problems where for
an instance of a problem, which we represent as a logical structure, one needs to find
a certificate (solution) satisfying certain specification. For example, given a graph, we
are looking for its 3-colouring in a classic NP-search problem. Such search problems
occur broadly in applications; they include planning, scheduling, problems in formal
verification (where we are looking for a path to a bug), computational biology, and so
on. In addition to being quite common, the task of model expansion is generally simpler
(for the same logic) than satisfiability from the computational point of view. Indeed, for
a given logic L, we have, in terms of computational complexity,</p>
      <p>MC(L)</p>
      <p>MX(L)</p>
      <p>
        Satisfiability(L);
where MC(L) stands for model checking (structure for the entire vocabulary of the
formula in logic L is given), MX(L) stands for model expansion (structure interpreting a
part of the vocabulary is given) and Satisfiability(L) stands for satisfiability task (where
we are looking for a structure satisfying the formula). A comparison of the complexity
of the three tasks for several logics of practical interest is given in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ].
      </p>
      <p>
        The next step is to extend the framework to a modular setting. In [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ], we started
to develop a model-theoretic framework to represent search problems which consist
of several modules. In this paper, we develop our ideas further through an example of
a Business Process Planner (BPP). This planner generalizes a wide range of practical
problems. We envision such a planner used as a part of a multi-tool process management
system. The task solved by BPP is extremely complex, and doing it manually requires
significant resources. The technology is now ready to automate such computationally
complex tasks, and our effort is geared towards making the technology available to less
specialized users.
      </p>
      <p>In systems like our planner, a high level of uncertainty is present. In our framework,
we can model the following types of uncertainty.</p>
      <p>– Each agent can see only the inputs and the outputs of other modules, but not their
internals. The modules are viewed as black boxes by the outside world. Modules
communicate with each other through common vocabulary symbols.
– Modules can be represented using languages that are not known to other modules.</p>
      <p>Such languages can even be old and no longer supported, as is common for legacy
systems.
– Each module (an agent) can have multiple models (i.e., structures satisfying an
axiomatization), each representing a possible plan of an individual module. This is
a feature that generates uncertainty in planning. We view each module abstractly as
a set of structures satisfying the axioms of the module.</p>
      <p>The main challenge is that each module can be represented in a different language,
reflecting the local problem’s specifics and local expertise. Thus, the only way to
formalize such a system is model-theoretic. Our goal is not only to formalize, but to
eventually develop a method for finding solutions to complex modular systems like the BPP.
This is a computationally complex task. Our inspiration for finding solutions to such
systems comes from “combined” solvers for computationally complex tasks such as
Satisfiability Modulo Theories (SMT). There, two kinds of propagation work
interactively – propositional satisfiability (SAT) and theory propagation. In the case of modular
systems, each module will have a so-called oracle that is similar to solvers/propagators
used in SMT. If the logic language used by a module has a clear model-theoretic
semantics, such an oracle (propagator) is easy to construct, but in the most extreme cases,
derivations can be even performed by a human expert. At the level of solving, oracles
would interact using a common internal solver language with a clear formal semantics.
We believe that a formal model-theoretic approach is the right approach to
developing a general algorithm for solving modular systems such as the BPP. This is another
important motivation for developing a rigorous model-theoretic framework.</p>
      <p>In this paper, we demonstrate how to use ideas of model expansion and modular
systems together to naturally represent modular systems such as BPP. We prove
correctness of our formalization and explain how finding solutions to such systems can be
automated.</p>
    </sec>
    <sec id="sec-2">
      <title>Business Process Planner</title>
      <p>A business process planner is an entity which plans a particular task by relying on
external services for particular tasks. Often, in business, there are cases when one needs to
buy services from other service providers. The planner combines services provided by
different companies to minimize the cost of the enterprise. The customer needs to
allocate required services to different service providers and to ask them for their potential
plans for their share. These plans will then be used to produce the final plan, which can
be a computationally complex task. The tasks performed by each of the providers are
often NP-complete, e.g. the Traveling Salesman Problem. Therefore, finding a combined
solution is a computationally (as well as conceptually) complex task. Such a central
planner could be used in business process management in many areas such as:
– Logistics Service Provider operates on the global scale, uses contracted
carriers, local post, fleet management, driver dispatch, warehouse services,
transportation management systems, e-business services as well as local logistics service
providers with their own sub-modules.
– Manufacturer Supply Chain Management uses a supply chains planner relying
on transportation, shipping services, various providers for inventory spaces, etc.. It
uses services of third party logistics (3PL) providers, which themselves depend on
services provided by smaller local companies.
– Mid-size Businesses Relying on External Web Services and Cloud Computing
Such businesses often use data analysis services, storing, spreadsheet software
(office suite), etc.. The new cloud-based software paradigm satisfies the same need in
the domain of software systems.</p>
      <p>R
S</p>
      <p>R1 S1
Provider1
P1</p>
      <p>P1' P2' P3'</p>
      <p>Planner
R2 S2
Provider2
P2</p>
      <p>R3 S3
Provider3
P3</p>
      <p>P</p>
      <p>The business process planner in Figure 1 takes a set S of services and a set R of
restrictions (such as service dependencies or deadlines) and generates plan P . Each
“Provideri” takes a subset of services Si and their restrictions Ri. Provideri generates
a potential plan Pi for subset Si of services and returns it to “Planner”. Planner takes
all these partial plans and, if not satisfied with them, reconsiders service allocations or
providers. However, if satisfied, it outputs plan P by combining partial plans Pi.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Background: Model Expansion Task</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], the authors formalize combinatorial search problems as the task of model
expansion (MX), the logical task of expanding a given (mathematical) structure with new
relations. Formally, the user axiomatizes their problem in some logic L. This
axiomatization relates an instance of the problem (a finite structure, i.e., a universe together
with some relations and functions), and its solutions (certain expansions of that
structure with new relations or functions). Logic L corresponds to a specification/modelling
language. It could be an extension of first-order logic, or an ASP language, or a
modelling language from the Constraint Programming (CP) community such as ESSENCE
[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. MX task underlies many practical approaches to declarative problem solving.
      </p>
      <p>Recall that a vocabulary is a set of non-logical (predicate and function) symbols. An
interpretation for a vocabulary is provided by a structure, which consists of a set, called
the domain or universe and denoted by dom(:), together with a collection of relations
and (total) functions over the universe. A structure can be viewed as an assignment to
the elements of the vocabulary. An expansion of a structure A is a structure B with the
same universe, and which has all the relations and functions of A, plus some additional
relations or functions. The task of model expansion for an arbitrary logic L (abbreviated
L-MX), is:</p>
      <sec id="sec-3-1">
        <title>Model Expansion for logic L</title>
        <p>Given: (1) An L-formula</p>
        <p>(2) A structure A for
Find: an expansion of A, to
with vocabulary</p>
        <p>[ " and
[ ", that satisfies .</p>
        <p>We call , the vocabulary of A, the instance vocabulary, and " := vocab( ) n
expansion vocabulary1.
the
Example 1. The following formula in the language of logic programming under
answer set semantics constitutes an MX specification for Graph 3-colouring.
?
?
?</p>
        <p>V (x):
An instance is a structure for vocabulary = fEg, i.e., a graph A = G = (V ; E).
The task is to find an interpretation for the symbols of the expansion vocabulary " =
fR; B; Gg such that the expansion of A with these is a model of :
1 By “:=” we mean “is by definition” or “denotes”.</p>
        <p>Given a specification, we can talk about a set (class) of ["-structures which satisfy
the specification. Alternatively, we can simply talk about a set (class) of [ "-structures
as an MX-task, without mentioning a particular specification the structures satisfy.
Example 2 (BPP as Model Expansion). In Figure 1, both the planner box and the
provider boxes can be viewed as model expansion tasks. For example, the box labeled
with “Provider1” can be abstractly viewed as an MX task with instance vocabulary
= fS1; R1g and expansion vocabulary " = fP1g. The task is: given some services
S1 and some restrictions R1, find a plan P1 to deliver services in S1 such that all
restrictions in R1 are satisfied.</p>
        <p>Moreover, in Figure 1, the bigger box with dashed borders can also be viewed as an
MX task with instance vocabulary 0 = fS; Rg and expansion vocabulary "0 = fP g.
This task is a compound MX task whose result depends on the internal work of all the
providers and the planner.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Modular Systems</title>
      <p>This section presents the main concepts of modular systems.</p>
      <sec id="sec-4-1">
        <title>Definition 1 (Primitive Module). A primitive module M is a set (class) of M [ "M</title>
        <p>structures, where M is the instance vocabulary, "M is the expansion vocabulary.
Each module can be axiomatized in a different logic. However, we can abstract away
from the logics and study modular systems entirely model-theoretically.</p>
        <p>
          A modular system is formally described as a set of primitive modules (individual
sets of structures) combined using the operations of:
1. Projection( (M )) to restrict a module’s vocabulary,
2. Composition(M1 B M2) to connect outputs of M1 to M2,
3. Intersection(M1 \ M2),
4. Union(M1 [ M2),
5. Feedback(M [R = S]) which connects output S of M to its inputs R.
Formal definitions of these operations were introduces in [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] and are given below.
        </p>
        <p>
          The initial development of of our algebraic approach was inspired by [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. In
contrast to that work, our contribution was to use a model-theoretic setting, simplify the
framework and add a loop operator which increases the expressive power significantly,
by one level in the polynomial time hierarchy. Here, we only consider modular systems
that do not use the union operator.
        </p>
        <sec id="sec-4-1-1">
          <title>Operations for Combining Modules</title>
        </sec>
        <sec id="sec-4-1-2">
          <title>Definition 2 (Composable, Independent [14]). Modules M1 and M2 are composable</title>
          <p>if "M1 \ "M2 = ; (no output interference). Module M1 is independent from M2 if</p>
          <p>M1 \ "M2 = ; (no cyclic module dependencies).</p>
          <p>Definition 3 (Modular Systems). Modular systems are built inductively from
constraint modules using projection, composition, union and feedback operators:
Base Case A primitive module is a modular system.</p>
          <p>Projection For modular system M and M [ "M , modular system (M ) is
defined such that (a) (M) = M \ , (b) " (M) = "M \ , and (c) B 2 (M )
iff there is a structure B0 2 M with B0j = B.</p>
          <p>Composition For composable modular systems M and M 0 (no output interference)
with M independent from M 0 (no cyclic module dependencies), M B M 0 is a
modular system such that (a)</p>
          <p>MBM0 = M [ ( M0 n "M ), (b) "MBM0 = "M [ "M0 ,
and (c) B 2 (M B M 0) iff Bjvocab(M) 2 M and Bjvocab(M0) 2 M 0.</p>
          <p>Union For modular systems M1 and M2 with M1 \ M2 = M1 \"M2 = "M1 \ M2 =
;, the expression M1 [ M2 defines a modular system such that (a) M1[M2 =</p>
          <p>M1 [ M2 , (b) "M1[M2 = "M1 ["M2 , and (c) B 2 (M1[M2) iff Bjvocab(M1) 2 M1
or Bjvocab(M2) 2 M2.</p>
          <p>Feedback For modular system M and R 2 M and S 2 "M being two symbols of
similar type (i.e., either both function symbols or both predicate symbols) and of the
same arities; expression M [R = S] is a modular system such that (a) M[R=S] =</p>
          <p>M n fRg, (b) "M[R=S] = "M [ fRg, and (c) B 2 M [R = S] iff B 2 M and
RB = SB.</p>
          <p>
            M1 \ "M2 =
Further operators for combining modules can be defined as combinations of basic
operators above. For instance, [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ] introduced M1 I M2 (composition with projection
operator) as M1 ["M2 (M1 B M2). Also, M1 \ M2 is defined to be equivalent to M1 B M2
(or M2 B M1) when
          </p>
          <p>M2 \ "M1 = "M1 \ "M2 = ;.</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>Definition 4 (Models/Solutions of Modular Systems). For a modular system M , a</title>
          <p>( M [ "M )-structure B is a model of M if B 2 M .</p>
          <p>Since each modular system is a set of structures, we call the structures in a modular
system models of that system.</p>
          <p>Example 3 (Stable Model Semantics). Let P be a normal logic program. We know S is
a stable model for P iff S = Dcl(P S ) where P S is the reduct of P under set S of atoms
(a positive program) and Dcl computes the deductive closure of a positive program, i.e.,
the smallest set of atoms satisfying it. Now, let M1(S; P; Q) be the module that given
a set of atoms S and ASP program P computes the reduct Q of P under S. Also, let
M2(Q; S0) be a module that, given a positive logic program Q, returns the smallest set
of atoms S0 satisfying Q. Now define M as follows:</p>
          <p>M :=</p>
          <p>fP;Sg((M1 B M2)[S = S0]):
Then, M represents a module which takes a ground ASP program P and returns all and
only its stable models. Figure 2 shows the corresponding diagram of M .
L
Dcl</p>
          <p>P’
Reduct
L’</p>
          <p>P</p>
          <p>On a model-theoretic level, this module represents all possible ASP programs and
all their solutions, where programs are encoded by structures. While such a module is
certainly possible, a more practical use would be where one module corresponds to a
particular ASP program such as the one for graph 3-colouring in Example 1.
Nevertheless, the Example 3 is useful because it represents a well-known construction and
illustrates several concepts associated with modular systems.</p>
          <p>Example 4 (BPP as a Modular System). Figure 1 can be viewed as a modular
representation of the business process planner. There, each primitive module is represented
by a box with solid borders and our module of interest is the compound module which
is shown by the box with dotted borders. This module is specified by the following
formula:</p>
          <p>BP P :=
fS;R;P g(Planner B ((Provider1 \ Provider2\
Provider3)[P10 = P1][P20 = P2][P30 = P3])):
(1)
As in Figure 1, the only vocabulary symbols which are important outside the big box
with dashed borders are S, R and P . There are also three feedbacks from P1 to P10, P2
to P20, and P3 to P30.
5</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Details of the Business Process Planner</title>
      <p>In this section we give a detailed description of one of the many kinds of business
process planners, i.e., a logistics service provider on the global scale which hires
local carriers and warehouses. So, in Figure 1, “Planner” refers to the global entity and
“Provider” refers to local entities.</p>
      <p>The logistics provider need a plan to execute the services so that all restrictions
are met. Some sample restrictions are: (1) latest delivery time (e.g., Halloween masks
should be in stores before Halloween), (2) type of carrying vehicles (perishable products
need refrigerator trucks), and (3) level of care needed (glass-works should be carried
carefully).</p>
      <p>We say that a plan P is good for a set of services S and restrictions R
(Good(P; S; R)) if P does all services in S and satisfies all restrictions in R. For
simplicity, here, we only consider time restrictions, i.e., the value of t(i) is the (latest)
delivery time for item i. There are also functions s(:) and d(:) to indicate the source
and the destination of an item. For an item i, a plan is a sequence of cities hc1;
along with its pickup times pt(i; j) and arrival time at(i; j). So, we have that2:
; cni
8i 2 Items (P (i) = hc0; ; cni</p>
      <p>c0 = s(i) ^ cn = d(i));
8i 2 Items (P (i) = hc0; ; cni
8i 2 Items (P (i) = hc0; ; cni</p>
      <p>8j 2 [1; n] (connected(cj 1; cj ));
8i 2 Items (P (i) = hc0; ; cni</p>
      <p>8j 2 [0; n] (pt(i; j) at(i; j)));
8i 2 Items (P (i) = hc0; ; cni
8j 2 [1; n] (at(i; j) = pt(i; j
at(i; n)</p>
      <p>t(i));
1) + time(cj 1; cj ))):
Intuitively, these axioms tell us that a plan for each item should: (1) start at the source
and end at the destination, (2) arrive at the destination sooner than their latest delivery
time, (3) pass through cities which are connected to each other, (4) respect time
constraints, i.e., be picked up at a city after they have arrived at that city, and (5) respect
the distance between cities. Certainly, a good plan needs to satisfy all these conditions,
but, of course, this does not give us a full axiomatization of the problem. Here, we do
not even intend to do that, because we believe that this is enough for the reader to have
a good idea on how such full axiomatizatins look like.</p>
      <p>Given a definition of a good plan, one can define the intended solutions of a business
process planner as below:
Definition 5 (Intended Solutions). Let BP P be a business process planner with
access to n providers. Structure B is an intended solution of BP P if:
1. P B is good for SB and RB, i.e., B j= Good(P; S; R),
2. All atomic actions A of P B (here, moving items between different cities) are doable
by one of the n providers.</p>
      <p>So, by Definition 5, if some set of services cannot be executed under some restrictions,
there should not exist any solution for the whole modular system which interprets S by
those services and R by those restrictions.</p>
      <p>Now, to ensure that the intended solutions of modular system in Figure 1
coincide with the models of this modular system under our modular semantics, we use the
declarative representations below for the modules:
2 We slightly abuse logic notations here to keep the axiomatization simpler. For example, we use
the notation P (i) = hc0; ; cni to denote that item i takes a path starting at city c0 and then
going to city c1 and so on until it getting to city cn. In practice, such a specification can be
realized using two expansion function “len(:)” (to show the length of the path of an item) and
“loc(:; :)” (to show its location). As an example, this is how the first axiom above is rewritten
in terms of “len” and “loc”:</p>
      <p>8i 2 Items (loc(i; 0) = s(i) ^ loc(i; len(i)) = d(i)):</p>
      <p>Module “Planner” is the set of structures over vocabulary
and " = fP; S1; ; Sn; R1; ; Rng which satisfies:
= fR; S; P1;
; Png
Good(P; S; R) ,</p>
      <p>i2f1; ;ng
P is a join of sub-plans Pi(for i 2 f1;
^</p>
      <p>Good(Pi; Si; Ri);
; ng):
This module is easily specifiable in extended FO.</p>
      <p>Module “Provideri” is the set of structures over vocabulary = fRi; Sig and " =
fPig which satisfy Good(Pi; Si; Ri). Each such module “Provideri” can be specified
using mixed integer linear programming. Also, in practice, many such modules are
realized using special purpose programs (so, no standard language). Our framework
enables us to deal with such programs in a unified way.</p>
      <p>Proposition 1 (Correctness). Structure B is in modular system BP P :=
fS;R;P g(Planner B ((Provider1 \ \ Providern)[P10 = P1] [Pn0 = Pn])) (where
“Planner” and “Provideri”s are defined as above) iff B is an intended solution of BP P
(according to Definition 5).</p>
      <p>Proof. (1) Take B which satisfies all modules, each PiB has to be good for SiB and RB.
i
Therefore, P B is good for SB and RB. Thus, B is an intended solution of BP P . (2)
Conversely, take an intended solution B. P B should be such that P B is good for SB
and RB. So, set B0 to be an expansion of B such that PiB0 is the parts of P B which
are executed by i-th provider. Also, SiB0 is those services that PiB0 executes and RiB0 is
those restrictions satisfied by PiB0 , e.g., the latest delivery time of item a is the delivery
time of a according to PiB0 . Now, PiB0 is good for SiB0 and RiB0 . So, B 2 BP P .
6</p>
    </sec>
    <sec id="sec-6">
      <title>The Bigger Picture</title>
      <p>
        Complexity of the modular framework In this subsection, we summarize one of
our important results about the modular framework from [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. In order to do so, we first
have to introduce the concepts of totality, determinacy, monotonicity, anti-monotonicity,
etc. For lack of space, we do this through examples. The exact definitions can be found
in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
(2)
(3)
=
(4)
Example 5 (Reachability). Consider the following model expansion task with
fS; E; Bg and " = fRg:
      </p>
      <p>R(v)
R(v)</p>
      <p>S(v):</p>
      <p>R(u); E(u; v); not B(u):
where S represents a set of source vertices of a graph, E represents the edges of the
graph, B represents a set of blocked vertices of the graph and R represents a set of
vertices which can be reached from a source vertex without passing any blocked vertices.</p>
      <p>Through this section, let MR denote a primitive module which represents the MX
task of Example 5. Obviously, MR = fS; E; Bg and "MR = fRg: Then, we have:
Totality: Module MR is fS; E; Bg-fRg-total because for every interpretation of S, E
and B, there is an interpretation for R which is a stable model of program 4.
Determinacy: Module MR is fS; E; Bg-fRg-deterministic because for every
interpretation of S, E and B, there is at most one interpretation for R which satisfies
(4).</p>
      <p>Monotonicity: Module MR is fEg-fS; Bg-fRg-monotone because if we fix the
interpretation of symbols S and B and increase the set of edges E, then the
interpretation of R (reachable vertices) increases.</p>
      <p>Anti-monotonicity: Module MR is fEg-fS; Bg-fRg-anti-monotone because if we fix
the interpretation of S and E and increase the set of blocked vertices (B), then, the
set R of reachable vertices decreases.</p>
      <p>Polytime Checkability/Solvability: Module MR is both polytime checkable (because
one can check in polynomial time if a structure B belongs to MR) and polytime
solvable (because, given interpretations to S, E and B, one can compute the only
valid interpretation for R in polynomial time). However, the module MC which
corresponds to the graph 3-coloring (Example 1) is polytime checkable but not
polytime solvable (unless P=NP).</p>
      <p>
        Now, we are ready to restate our main theorem from [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. We should however point
out one difference to the readers who are not accustomed to the logical approach to
complexity: In theoretical computing science, a problem is a subset of f0; 1g .
However, in descriptive complexity, the equivalent definition of a problem being a set of
structures is adopted. The following theorem gives a capturing result for complexity
class NP:
      </p>
      <sec id="sec-6-1">
        <title>Theorem 1 (Capturing NP over Finite Structures). Let K be a problem over the</title>
        <p>class of finite structures closed under isomorphism. Then, the following are equivalent:
1. K is in NP,
2. K is the models of a modular system where all primitive modules M are M -"M
deterministic, M -total, M -vocab(K)-"M -anti-monotone, and polytime solvable,
3. K is the models of a modular system with polytime checkable primitive modules.</p>
        <p>Note that Theorem 1 shows that when basic modules are restricted to polytime
checkable modules, the modular system’s expressive power is limited to NP. Without
this restriction, the modular framework can represent Turing-complete problems. As an
example, one can encode Turing machines as finite structures and have modules that
accept a finite structure iff it corresponds to a halting Turing machine.</p>
        <p>Theorem 1 shows that the feedback operator causes a jump in expressive power
from P to NP (or, more generally, from kP to kP+1).</p>
        <p>Example 6 (Stable Model Semantics). In Example 3, firstly, note that primitive module
M1 is fSg-total and fSg-fP g-fQg-anti-monotone, and also polytime solvable.
Secondly, module M2 is fQg-total, fQg-fg-fS0g-monotone and, again, polytime solvable.
However, the module M := fP;Sg((M1 B M2)[S = S0]) is neither total nor
monotone or anti-monotone. Moreover, M represents the NP-complete problem of finding a
stable model for a normal logic program. This shows how, in the modular framework,
one can describe a complex modular system in terms of very simple primitive modules.
Solving modular systems We would like to find a method for solving complex tasks
such as the application in this paper, without limiting to the particular structure of Figure
1, and without committing to a particular language. The language is determined by its
suitability for the task and the expertise of the local developers. For example, the planner
module is more easily specified as a SAT (propositional satisfiability) problem, while
some provider modules are most easily specified using MILP (mixed integer linear
programming), and global constraints with CP (constraint programming). A module
performing scheduling with exceptions is more easily specified with ASP (answer set
programming).</p>
        <p>In our research, we focus on the central aspect of this challenging task, namely on
solving the underlying computationally complex task, for arbitrary modular systems and
arbitrary languages suitable for specifying combinatorially hard search/optimization
problems. Our approach is model-theoretic. We aim at finding structures satisfying
multi-language constraints of the modular system, where the system is viewed as a
function of individual modules. Our main goal is to develop and implement an algorithm
that takes a modular system as its input and generates its solutions. Such a prototype
system should treat each primitive module as a black-box (i.e., should not assume
access to a complete axiomatization of the module). Not assuming complete knowledge
is essential in solving problems like business process planning.</p>
        <p>
          We take our inspiration in how “combined” solvers are constructed in the general
field of declarative problem solving. The field consists of many areas such as MILP, CP,
ASP, SAT, and each of these areas has many solvers, including powerful “combined”
solvers such as SMT, ASP-CP solvers. There are several methods e.g. cutting plain
techniques of ILP, the formal interaction between SAT and theory solvers in SMT, etc.
used in different communities. We made the fundamental observation [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] that while
different on the surface, the techniques are similar when looked at model-theoretically.
We proposed that those general principles can be used to develop a new method of
solving modular systems as in the example above.
7
        </p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>Related Work</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],we continued the line of research initiated in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. We introduced MX-based
modular systems and extended the previous work in several ways such as adding the
feedback (loop) operator, thus drastically increasing the expressive power. The current
paper shows one of the important real-world applications of systems with loops. In
our modelling of the business process planner, we use the language independence of
modular systems in an essential way. This is an essential property because, in practice,
providers use domain-specific software which may not belong to a well-studied logic.
This property separates the modular framework of [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] from many other languages
which support modularity such as modular logic programs [
        <xref ref-type="bibr" rid="ref13 ref18 ref7">7, 18, 13</xref>
        ], and frameworks
with multiple languages [
        <xref ref-type="bibr" rid="ref10 ref19">19, 10</xref>
        ].
      </p>
      <p>
        An early work on adding modularity to logic programs is [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. There, the authors
derive a semantics for modular logic programs by viewing a logic program as a
generalized quantifier. This work is continued by [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] to introduce modular equivalence
in normal logic programs under the stable model semantics. That work, in turn, is
extended to define modularity for disjunctive programs in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. The last two papers focus
on introducing modular programming in logic programs and dealing with difficulties
that arise there.
      </p>
      <p>
        Applications such as business process planning need an abstract notion of a module,
independent from the languages used. Our MX-based modular framework is well-suited
for this purpose. That cannot be said about many other approaches of adding modularity
to ASP languages and FO(ID) (such as those described in [
        <xref ref-type="bibr" rid="ref1 ref2 ref6">2, 1, 6</xref>
        ]) because they address
different goals.
      </p>
      <p>
        Modular programming enables ASP languages to be extended by constraints or
other external relations. This view is explored in [
        <xref ref-type="bibr" rid="ref16 ref20 ref3 ref8 ref9">8, 9, 20, 3, 16</xref>
        ]. While this view is
advantageous in its own right, we needed an approach that is completely model-theoretic.
Also, some practical modelling languages incorporate other modelling languages. For
example, X-ASP [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and ASP-PROLOG [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] extend prolog with ASP. Also ESRA
[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], ESSENCE [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and Zinc [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] are CP languages extended with features from other
languages. Such practical modelling languages are further proof that combining
different languages is extremely important for practitioners. We take this view to its extreme
by looking at modules as only sets of structures and, thus, having no dependency on
the language they are described in. The existing practical languages with support for
specific languages could not have been applied to our task.
      </p>
      <p>
        Yet another direction to modularity is the multi-context systems. In [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the authors
introduced non-monotonic bridge rules to the contextual reasoning and originated an
interesting and active line of research followed by many others for solving or
explaining inconsistencies in non-monotonic multi-context systems. However, we believe that
this application cannot be naturally described as a multi-context system because it is
impractical to define the concepts of a logic, a knowledge-base and an acceptability
relation (these are concepts that are essential to define in multi-context systems) for a
domain-specific application which might not use any known logical fragment.
8
      </p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion and Future Work</title>
      <p>
        In this paper, we introduced an important range of real-world applications, i.e., business
process planning. We discussed several examples of where this general scheme is used.
Then we represented this problem as a model expansion task in the modular setting
introduced in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. We gave a detailed description of the modules involved in describing
business process planning in the modular framework and proved the correctness of our
representation. Our main challenge is to devise an appropriate mathematical abstraction
of “combined” solving. Remaining particular tasks include:
Algorithm Design and Implementation We will design and implement an algorithm
that given a modular system, computes the models of that modular system
iteratively, and then extracts the solutions.
      </p>
      <p>
        Reduction in Search Space We will improve our algorithm by using approximation
methods proposed in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. These methods correspond to least fixpoint and
wellfounded model computations (but in modular setting). We will extend our algorithm
so that it prunes the search space by propagating information from the
approximation process to the solver.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Balduccini</surname>
          </string-name>
          .
          <article-title>Modules and signature declarations for a-prolog: Progress report</article-title>
          .
          <source>In Workshop on Software Engineering for Answer Set Programming (SEA</source>
          <year>2007</year>
          ), pages
          <fpage>41</fpage>
          -
          <lpage>55</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>Chitta</given-names>
            <surname>Baral</surname>
          </string-name>
          , Juraj Dzifcak, and
          <string-name>
            <given-names>Hiro</given-names>
            <surname>Takahashi</surname>
          </string-name>
          .
          <article-title>Macros, macro calls and use of ensembles in modular answer set programming</article-title>
          .
          <source>In Sandro Etalle and Miroslaw Truszczynski</source>
          , editors,
          <source>Logic Programming</source>
          , volume
          <volume>4079</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>376</fpage>
          -
          <lpage>390</lpage>
          . Springer Berlin / Heidelberg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>S.</given-names>
            <surname>Baselice</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bonatti</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          .
          <article-title>Towards an integration of answer set and constraint solving</article-title>
          .
          <source>In Maurizio Gabbrielli and Gopal Gupta</source>
          , editors,
          <source>Logic Programming</source>
          , volume
          <volume>3668</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>52</fpage>
          -
          <lpage>66</lpage>
          . Springer Berlin / Heidelberg,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Gerhard</given-names>
            <surname>Brewka</surname>
          </string-name>
          and
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Eiter</surname>
          </string-name>
          .
          <article-title>Equilibria in heterogeneous nonmonotonic multi-context systems</article-title>
          .
          <source>In Proceedings of the 22nd national conference on Artificial intelligence -</source>
          Volume
          <volume>1</volume>
          , pages
          <fpage>385</fpage>
          -
          <lpage>390</lpage>
          . AAAI Press,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Maria de la Banda, Kim Marriott, Reza Rafeh, and
          <string-name>
            <given-names>Mark</given-names>
            <surname>Wallace</surname>
          </string-name>
          .
          <article-title>The modelling language zinc</article-title>
          . In Fre´de´ric Benhamou, editor,
          <source>Principles and Practice of Constraint Programming - CP</source>
          <year>2006</year>
          , volume
          <volume>4204</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>700</fpage>
          -
          <lpage>705</lpage>
          . Springer Berlin / Heidelberg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>M.</given-names>
            <surname>Denecker</surname>
          </string-name>
          and
          <string-name>
            <surname>E. Ternovska.</surname>
          </string-name>
          <article-title>A logic of non-monotone inductive definitions</article-title>
          .
          <source>Transactions on Computational Logic</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <fpage>1</fpage>
          -
          <lpage>51</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Eiter</surname>
          </string-name>
          , Georg Gottlob, and
          <string-name>
            <given-names>Helmut</given-names>
            <surname>Veith</surname>
          </string-name>
          .
          <article-title>Modular logic programming and generalized quantifiers</article-title>
          .
          <source>In Ju¨rgen Dix</source>
          , Ulrich Furbach, and Anil Nerode, editors,
          <source>Logic Programming And Nonmonotonic Reasoning</source>
          , volume
          <volume>1265</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>289</fpage>
          -
          <lpage>308</lpage>
          . Springer Berlin / Heidelberg,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Thomas</given-names>
            <surname>Eiter</surname>
          </string-name>
          , Giovambattista Ianni, Roman Schindlauer, and
          <string-name>
            <given-names>Hans</given-names>
            <surname>Tompits</surname>
          </string-name>
          .
          <article-title>A uniform integration of higher-order reasoning and external evaluations in answer-set programming</article-title>
          .
          <source>In Proceedings of the 19th international joint conference on Artificial intelligence</source>
          , pages
          <fpage>90</fpage>
          -
          <lpage>96</lpage>
          , San Francisco, CA, USA,
          <year>2005</year>
          . Morgan Kaufmann Publishers Inc.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Islam</given-names>
            <surname>Elkabani</surname>
          </string-name>
          , Enrico Pontelli, and
          <string-name>
            <given-names>Tran</given-names>
            <surname>Son</surname>
          </string-name>
          .
          <article-title>Smodels A - a system for computing answer sets of logic programs with aggregates</article-title>
          .
          <source>In Chitta Baral</source>
          , Gianluigi Greco, Nicola Leone, and Giorgio Terracina, editors,
          <source>Logic Programming and Nonmonotonic Reasoning</source>
          , volume
          <volume>3662</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>427</fpage>
          -
          <lpage>431</lpage>
          . Springer Berlin / Heidelberg,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>O.</given-names>
            <surname>Elkhatib</surname>
          </string-name>
          , E. Pontelli, and
          <string-name>
            <given-names>T.C.</given-names>
            <surname>Son</surname>
          </string-name>
          .
          <article-title>Asp - prolog: A system for reasoning about answer set programs in prolog</article-title>
          .
          <source>In Proc. of Practical Aspects of Declarative Languages, 6th International Symposium, (PADL</source>
          <year>2004</year>
          ), volume
          <volume>3057</volume>
          , pages
          <fpage>148</fpage>
          -
          <lpage>162</lpage>
          , Dallas, TX, USA,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Pierre</surname>
            <given-names>Flener</given-names>
          </string-name>
          , Justin Pearson, and
          <article-title>Magnus A˚gren. Introducing ESRA, a relational language for modelling combinatorial problems</article-title>
          . In Maurice Bruynooghe, editor,
          <source>Logic Based Program Synthesis and Transformation</source>
          , volume
          <volume>3018</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>214</fpage>
          -
          <lpage>232</lpage>
          . Springer Berlin / Heidelberg,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Alan M. Frisch</surname>
          </string-name>
          , Warwick Harvey, Chris Jefferson, Bernadette Mart´
          <article-title>ınez-Herna´ndez, and Ian Miguel. Essence: A constraint language for specifying combinatorial problems</article-title>
          .
          <source>Constraints</source>
          ,
          <volume>13</volume>
          :
          <fpage>268</fpage>
          -
          <lpage>306</lpage>
          ,
          <year>September 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Tomi</surname>
            <given-names>Janhunen</given-names>
          </string-name>
          , Emilia Oikarinen, Hans Tompits, and
          <string-name>
            <given-names>Stefan</given-names>
            <surname>Woltran</surname>
          </string-name>
          .
          <article-title>Modularity aspects of disjunctive stable models</article-title>
          .
          <source>Journal of Artificial Intelligence Research</source>
          ,
          <volume>35</volume>
          :
          <fpage>813</fpage>
          -
          <lpage>857</lpage>
          ,
          <year>August 2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Matti</surname>
          </string-name>
          <article-title>Ja¨rvisalo, Emilia Oikarinen, Tomi Janhunen, and Ilkka Niemela¨. A module-based framework for multi-language constraint modeling</article-title>
          .
          <source>In Esra Erdem</source>
          ,
          <string-name>
            <given-names>Fangzhen</given-names>
            <surname>Lin</surname>
          </string-name>
          , and Torsten Schaub, editors,
          <source>Logic Programming and Nonmonotonic Reasoning</source>
          , volume
          <volume>5753</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>155</fpage>
          -
          <lpage>168</lpage>
          . Springer Berlin / Heidelberg,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Antonina</surname>
            <given-names>Kolokolova</given-names>
          </string-name>
          , Yongmei Liu, David Mitchell, and
          <string-name>
            <given-names>Eugenia</given-names>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>On the complexity of model expansion</article-title>
          .
          <source>In Proceedings of the 17th international conference on Logic for programming, artificial intelligence, and reasoning</source>
          ,
          <source>LPAR'10</source>
          , pages
          <fpage>447</fpage>
          -
          <lpage>458</lpage>
          , Berlin, Heidelberg,
          <year>2010</year>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Veena</surname>
            <given-names>Mellarkod</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Michael</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and Yuanlin</given-names>
            <surname>Zhang</surname>
          </string-name>
          .
          <article-title>Integrating answer set programming and constraint logic programming</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          ,
          <volume>53</volume>
          :
          <fpage>251</fpage>
          -
          <lpage>287</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. David G. Mitchell and
          <string-name>
            <given-names>Eugenia</given-names>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>A framework for representing and solving np search problems</article-title>
          .
          <source>In Proceedings of the 20th national conference on Artificial intelligence -</source>
          Volume
          <volume>1</volume>
          , pages
          <fpage>430</fpage>
          -
          <lpage>435</lpage>
          . AAAI Press,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>Emilia</given-names>
            <surname>Oikarinen</surname>
          </string-name>
          and
          <string-name>
            <given-names>Tomi</given-names>
            <surname>Janhunen</surname>
          </string-name>
          .
          <article-title>Modular equivalence for normal logic programs</article-title>
          .
          <source>In Proceeding of the 2006 conference on ECAI 2006: 17th European Conference on Artificial Intelligence August 29 - September 1</source>
          ,
          <year>2006</year>
          ,
          <source>Riva del Garda</source>
          , Italy, pages
          <fpage>412</fpage>
          -
          <lpage>416</lpage>
          , Amsterdam, The Netherlands, The Netherlands,
          <year>2006</year>
          . IOS Press.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <given-names>T.</given-names>
            <surname>Swift</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Warren</surname>
          </string-name>
          .
          <source>The XSB System</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. L.
          <string-name>
            <surname>Tari</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Baral</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Anwar</surname>
          </string-name>
          .
          <article-title>A language for modular answer set programming: Application to ACC tournament scheduling</article-title>
          .
          <source>In Proc. of Answer Set Programming: Advances in Theory and Implementation</source>
          , CEUR-WS, pages
          <fpage>277</fpage>
          -
          <lpage>292</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>S.</given-names>
            <surname>Tasharrofi</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>A semantic account for modularity in multi-language modelling of search problems</article-title>
          . In FroCoS
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>S.</given-names>
            <surname>Tasharrofi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Wu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>E.</given-names>
            <surname>Ternovska</surname>
          </string-name>
          .
          <article-title>Solving modular model expansion tasks</article-title>
          .
          <source>In WLP/INAP</source>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>