<!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>Towards an Approach for Orchestrating Design Space Exploration Problems to Fix Multi-Paradigm Inconsistencies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian J. I. Herzig</string-name>
          <email>sebastian.herzig@gatech.edu</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Benjamin Kruse</string-name>
          <email>bkruse@ethz.ch</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Federico Ciccozzi</string-name>
          <email>federico.ciccozzi@mdh.se</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joachim Denil</string-name>
          <email>joachim.denil@uantwerpen.be</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Rick Salay</string-name>
          <email>rsalay@cs.toronto.edu</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D´aniel Varr´o</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <fpage>61</fpage>
      <lpage>66</lpage>
      <abstract>
        <p>In model-driven engineering, the aim of design space exploration (DSE) is to generate a set of design candidates that satisfy a given set of constraints and requirements, and are optimal with respect to some criteria. In multi-paradigm modeling it is not uncommon to perform a variety of computationally expensive analyses as part of such an exploration process. However, existing DSE techniques do not take dependencies between solver operations into account, thereby failing to provide a mechanism for pruning infeasible solutions early. Motivated by this source of inefficiency, this paper discusses a conceptual approach to orchestrating solvers and design space exploration problems.</p>
      </abstract>
      <kwd-group>
        <kwd>design space exploration</kwd>
        <kwd>solver orchestration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The design of complex systems necessitates the exploration and evaluation of
design alternatives from different perspectives leveraging multi-paradigm modeling
languages and tools. Different functionally equivalent design candidates need to
be systematically sought out and derived by Design Space Exploration (DSE)
techniques [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. These candidates must simultaneously (i) conform to syntactic
constraints and (ii) satisfy requirements defined as semantic properties
(uniformly called multi-paradigm consistency criteria). Violating these constraints
and consistency criteria can result in inconsistencies. Such inconsistencies can
be resolved by changing the underlying model through fix operations [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Validating static well-formedness constraints, assuring semantic properties
(e.g., correctness, completeness, determinacy) and evaluating extra-functional
properties (e.g., availability, throughput) requires complex analysis techniques
which exploit fundamentally different abstractions and solver technologies.
Existing DSE techniques are limited to sequentially calling independently operating
solvers. For instance, the generic DSE framework presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] supports
arbitrary analysis tools, but requires a predefined workflow. Similarly, Phoenix
Integration ModelCenter [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is a framework enabling DSE of a variety of
parameterized models by calling external solvers in a pre-determined sequence. Both
approaches are limited in that explicit dependencies between solvers cannot be
specified. Therefore, violations to constraints imposed by a previously called
solver cannot be detected by subsequently called solvers, thereby potentially
carrying forward and further exploring infeasible solutions.
      </p>
      <p>This paper proposes an alternative approach based on performing semantic
fixes to resolve diverse, multi-paradigm inconsistencies through semi-automated
orchestration of existing checker and solver tools that are driven by a guided
DSE process. The paper is a result of a collaborative effort of the authors at
the 2014 Computer Automated Multi-Paradigm Modelling (CAMPaM)
workshop. Our hypothesis is that focusing on orchestration and decomposition of
the overall design space exploration problem (DSEP) is a necessary step towards
managing the complexity associated with running expensive analyses in
scenarios where multiple DSEPs must be solved simultaneously. Our proposed solution
is an orchestration strategy that uses heuristics to define the data and control
flow between the different analysis and exploration phases to call the
appropriate off-the-shelf solvers as needed. Core is the idea of back-tracking solutions
automatically by exploiting the dependencies of underlying solvers, the
multiparadigm consistency criteria, and the orchestration strategy.</p>
      <p>The paper is organized as follows: we introduce our view on DSE and develop
our conceptual idea through application to an example problem in Section 2. Our
proposed approach is discussed in further detail in Section 3.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Orchestrating Design Space Exploration Problems</title>
      <p>
        DSE is the process of generating and analyzing a set of design alternatives for
the purpose of finding the most preferred configuration. In our framework we
consider a guided incremental approach to exploration, in which potential
design candidates (alternatives) must meet a set of constraints. Constraints can
apply to both numerical and structural attributes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Design candidates are
evaluated based on quality metrics such as cost or dependability (optimality
criteria). Hints are provided in the form of heuristics to guide the design process,
which mitigates the prominent issue of most DSE approaches: their inefficiency
in handling structural constraints and dynamic manipulation of elements due
to the use of model checking in conjunction with exhaustive state space
exploration [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Hints represent expert knowledge (i.e., heuristics ) that can guide the
exploration process by detecting dead ends or unpromising paths early.
      </p>
      <sec id="sec-2-1">
        <title>2.1 Semantic Inconsistency Fixing as a DSEP</title>
        <p>Within the context of our work, we view the constraints typically used for
identifying feasible solutions in a DSE as semantic consistency constraints. A
violation of these is indicative of an inconsistency. We say that semantic
consistency constraints belong to either the class of solution or path constraints. One
prime example of solution constraints are constraints used to ensure adherence
to language syntax and structural semantics. Path constraints represent a set of
conditions that valid exploration paths must fulfill; they are used to determine
whether, as a result of applying an operation, the intended model functionality
is preserved. Through path constraints, pruning of exploration paths enables to
focus on optimizing only valid paths.</p>
        <p>
          Semantic inconsistencies can be identified by specifying paradigm-specific
solution and path constraints. Given a graph-based model representation,
negative graph constraints can be used for the purpose of checking static semantics
[
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. In our framework, we associate these negative constraints with one or more
fixing operations that can be used to alleviate the respective semantic
inconsistency. Each fix is performed in two steps: first, an analysis is performed by
a checker, which looks for the existence of possible inconsistencies with respect
to desired characteristics. In a second step, the identified inconsistencies are
resolved. The resolution is performed based on a set of given model transformation
operations and is guided by i) a given optimality criteria, and ii) heuristics and
hints. Dependencies between fixing operations are provided in the form of
(formally captured) hints. These dependencies can then be used for early pruning
of non-optimal solutions. For instance, if the optimization criteria implies a
solution with the smallest difference to the original model, a dependency analysis
of the model operations allows an a-priori determination of which combination
of operations should be applied in what particular sequence [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Illustrative Example</title>
        <p>
          In the following, we illustrate how different DSEPs can be orchestrated to find
and resolve multi-paradigm semantic inconsistencies. For this purpose, a process
model – more specifically, a business process model (conforming to the Business
Process Model and Notation (BPMN) [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]) – is used. A business process model
describes the set of activities that an organization should implement and execute
to provide a particular service or product.
        </p>
        <p>Figure 1 illustrates an example BMPN model for a card delivery process of a
service company (only one lane is shown due to space constraints). The company
checks if the client filled out the forms correctly and continues to process the
order until the card is delivered. Because of production constraints or malformed
requests, the order can be rejected.</p>
        <p>
          When modeling this process, it is possible for a number of syntactic and
semantic inconsistencies to be introduced. For example, one well-formedness
constraint of BPMN2 states that a diverging OR-gate has to be preceded by
a single decision activity to specify what gate has to be taken [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. Additionally, a
deadlock can be introduced if two processes in different lanes are each waiting for
messages that are only sent after the respective waiting tasks have terminated.
Both the detection and the fixing of these types of inconsistencies is non-trivial.
        </p>
        <p>In addition to these inconsistencies, it is often desired to optimize business
processes. This requires exploration of the design-space of possible alternative
processes that result in the same service or product (i.e., that are functionally
equivalent). One possible optimization is the redistribution of resources to reduce
the expected waiting times at some of the activities.</p>
        <p>Exploring the design space requires all of these inconsistencies to be identified
and fixed – ideally, in an automated fashion. Figure 2 illustrates one possible
orchestration of solvers that check and fix the aforementioned inconsistencies. The
first of the three DSEPs manages conformance to language well-formedness
constraints, the second DSEP optimizes the performance of the model. Finally, the
third DSEP performs a formal verification through model checking to check that
deadlocks cannot occur. Inconsistencies are checked for by evaluating constraints
(Cx) and fixed using a particular transformation operation (Ox).</p>
        <p>
          In our example, the performance fixing DSEP is performed by first
transforming the BPMN model to an extended queuing network [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The following
types of performance fix operations are possible: (1) Resource Distribution:
Resources are redistributed to each of the activities resulting in shorter or longer
service times. (2) Parallelization: Activities that are executed in sequence can
be parallelized. (3) Serialization and Deserialization: An activity is divided into
multiple activities or merged into a single activity.
        </p>
        <p>When executing different DSEPs sequentially, inconsistencies may be
introduced. For instance, when a parallelization rule of the performance fixer is
executed, a violation of a well-formedness constraint may occur: e.g., the activities
check performance and make decision should not be parallelized because a
diverging OR-node is connected to the decision activity. Therefore, if the rule is
applied for either activities, the model violates the constraints checked by the first
solver. Capturing such dependencies among fix operations formally as heuristics
(Hx) across different solvers enables automated backtracking to previous DSEPs
whenever necessary.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Discussion</title>
      <p>Our illustrative example revealed several general aspects of the DSEP
orchestration problem for inconsistency fixing. First, it highlighted the fact that DSE
orchestration can be viewed as a decomposition problem: how to split a DSEP
into a set of sequential and parallel smaller DSEP steps that, together, are less
expensive than the original DSEP? Second, the ability to backtrack within an
orchestration is essential. Third, an orchestration can be modeled using a modeling
language with specialized semantics.</p>
      <sec id="sec-3-1">
        <title>3.1 Decomposition of a DSEP</title>
        <p>
          There are several dimensions along which a DSEP decomposition can occur.
Submodel decomposition. The model being fixed can be decomposed into
submodels and thus the DSEP is split into an orchestration of a set of DSEP’s
over the submodels. For instance, in our example we could have decomposed
the card delivery system model into separate submodels for each lane.
Nonoverlapping submodel DSEP’s could then be executed in parallel in the
orchestration. For overlapping models, interface automata [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] could be defined.
Abstraction decomposition. If there is a natural way to create abstractions
of the model being fixed, the DSEP can be orchestrated into a sequence of
increasingly refined DSEP’s. For example, BPMN models can be abstracted by
collapsing a portion of the model into a single Activity thus producing a more
abstract model. A solution to the DSEP for the abstract model can be used to
constrain the DSEP for the original model by limiting its search to a subspace. If
no solution is found in the subspace, backtracking occurs to the abstract DSEP
to find another abstract solution.
        </p>
        <p>Constraint decomposition. Decomposing the set of solution constraints yields
an orchestration into a sequence of DSEP’s, each using a subset of the
constraints. This is the kind of decomposition we used in the card delivery system
example. If a solution is found in one step, it is passed as the initial model to
the next DSEP step and so on. This kind decomposition is most effective if the
fix operations of each step cannot cause a violation of the constraints in any of
the previous steps. If this condition cannot be guaranteed, then the constraints
of the first DSEP must be rechecked on a solution to the second DSEP and
if a violation occurs, backtracking must be performed. Constraint
decomposition is particularly useful when different subsets of constraints require different
solvers (as is the case in our example). In this case, the constraints requiring
more expensive solvers can be put later in the sequence.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Backtracking</title>
        <p>As discussed above, some decomposition approaches require support for
backtracking. This is required to ensure that the orchestration is complete - i.e., that
every solution of the original DSEP is reachable by the orchestration.</p>
        <p>
          In contrast to the related work discussed in the introduction that define
specialized and explicit backtracking mechanisms for their DSE problems, we
propose a general automated and implicit backtracking strategy. This is possible
because we are restricting our attention to the problem of fixing inconsistencies
and all DSEPs in an orchestration have a set of fix operations. An automated
analysis of the dependencies among fix operations in the different DSEP’s can
determine the points at which backtracking is necessary. This is similar to what
is known as dependency-directed back-tracking [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] in artificial intelligence. In
our case, this entails the ability to automatically backtrack by exploiting known
dependencies among underlying solvers and multi-paradigm consistency criteria.
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Towards an orchestration modeling language</title>
        <p>Our goal with this work is to implement automated backtracking semantics on
top of an orchestration modeling language used for defining the forward flow
of the orchestration. For example, a designer may use a language such as UML
activity diagrams to define the forward flow orchestration of a set of DSEP’s.
Automated dependency analysis would be used to discover dependencies between
these DSEP’s and then when the orchestration is executed, this would the trigger
automatic backtracking where necessary.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Conclusions &amp; Future Work</title>
      <p>This paper introduces a conceptual basis for orchestrating multi-paradigm design
space exploration problems (DSEPs). A core idea is the decomposition of the
overall DSEP by exploiting dependencies between model operations. By allowing
for backtracking, the overall cost of multi-paradigm DSEPs can be decreased
significantly. However, in our approach, this is a conclusion that can only be
reached under the assumption that dependencies among model operations can be
established – i.e, under the assumption that a common formalism for representing
and manipulating models can be identified.</p>
      <p>We believe that the semi-automation of the described solution is technically
viable, and, for achieving it, further research will be carried out. Future work
should include the development of a language for modeling DSEP
orchestrations. Additionally, the concepts discussed in this paper could be extended to
a dynamic orchestration where, similar to co-simulation, a control component
manages interactions between DSEPs rather than relying on manually defined
backtracking paths.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Abel</given-names>
            <surname>Hegedus</surname>
          </string-name>
          ,
          <article-title>Akos Horva´th, Istva´n Ra´th, and Da´niel Varro´. A Model-Driven Framework for Guided Design Space Exploration</article-title>
          .
          <source>In Procs of ASE</source>
          , pages
          <fpage>173</fpage>
          -
          <lpage>182</lpage>
          . IEEE Computer Society,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Hegedus</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Horva´th, I. Ra´th,</article-title>
          <string-name>
            <surname>M. C. Branco</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <article-title>Varro´. Quick Fix Generation for DSMLs</article-title>
          .
          <source>In Procs of VL/HCC</source>
          , pages
          <fpage>17</fpage>
          -
          <lpage>24</lpage>
          . IEEE,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>T.</given-names>
            <surname>Saxena</surname>
          </string-name>
          and
          <string-name>
            <surname>G. Karsai.</surname>
          </string-name>
          <article-title>MDE-Based Approach for Generalizing Design Space Exploration</article-title>
          .
          <source>In Procs of MODELS</source>
          , pages
          <fpage>46</fpage>
          -
          <lpage>60</lpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Phoenix Integration ModelCenter. http://phoenix-int.
          <source>com.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Business</given-names>
            <surname>Process Model And</surname>
          </string-name>
          <article-title>Notation (BPMN) Version 2</article-title>
          .0,
          <string-name>
            <surname>January</surname>
          </string-name>
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P.</given-names>
            <surname>Bocciarelli</surname>
          </string-name>
          and
          <string-name>
            <surname>A. D'Ambrogio</surname>
          </string-name>
          .
          <source>Automated Performance Analysis of Business Processes. In Procs of TMS/DEVS</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. L. De Alfaro and
          <string-name>
            <given-names>T. A.</given-names>
            <surname>Henzinger</surname>
          </string-name>
          . Interface Automata.
          <source>ACM SIGSOFT Software Engineering Notes</source>
          ,
          <volume>26</volume>
          (
          <issue>5</issue>
          ):
          <fpage>109</fpage>
          -
          <lpage>120</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>R.M.</given-names>
            <surname>Stallman</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.J.</given-names>
            <surname>Sussman</surname>
          </string-name>
          .
          <article-title>Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>9</volume>
          (
          <issue>2</issue>
          ):
          <fpage>135</fpage>
          -
          <lpage>196</lpage>
          ,
          <year>1977</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>