<!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>Automated Design of Complex Systems with Constraint Programming Techniques</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Stefano Demarchi</string-name>
          <email>sdemarchi@uniss.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Menapace</string-name>
          <email>marco.menapace@edu.unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Armando Tacchella</string-name>
          <email>armando.tacchella@unige.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DIBRIS, Universita degli Studi di Genova Via Opera Pia</institution>
          ,
          <addr-line>13 - 16145 Genova</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Chimica e Farmacia, Universita degli Studi di Sassari Via Vienna</institution>
          ,
          <addr-line>2 - 07100 Sassari</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Automated design and con guration of complex systems is well established as a research topic, speci cally for constraint programming. In order to encode \quality of design" rules, i.e., preferences about the nal outcomes, the encoding must be completed with optimization capabilities. Based on experience in the con guration of elevator systems we present a research agenda to develop methods and tools which should be able to leverage constraint solvers in order to compute designs for complex systems that can compete with the ones produced by humans. Besides elevator systems, we propose to evaluate the methodology and the tools on other case studies, e.g., hardware con guration or heatingventilation and air conditioning systems.</p>
      </abstract>
      <kwd-group>
        <kwd>Product con guration</kwd>
        <kwd>Product design</kwd>
        <kwd>Constraint programming</kwd>
        <kwd>Computer-automated Design</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In this paper we present and discuss the intention to build a tool able to handle
both con guration and design, e.g, in the terms of \quality" of the con guration
satisfaction [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] relying on the principles of constraint programming. This tool
would automate both con guration | where given a system and associated
constraints it is produced, if possible, a feasible result | and design | the actual
step forward in the state-of-the-art. This \high-level con gurator" could help
non-programmers to experiment with a model by dynamically adding,
removing or editing con guration constraints. In order to achieve this interactivity,
a framework allowing models representation and custom con gurations is
crucial. In the end, the software ideally would not require expensive patches due
to changes in requirements but could be recon gured just by changing the
encoding. The formulation we propose in order to achieve this goal is based on
Satis ability Modulo Theories (SMT for short) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. To the extent of our
knowledge, SMT provides enough expressiveness to encode the con guration task as
the feasibility of a set of constraints. Using SMT instead of, e.g., mathematical
programming, or constraints solving, gives us more exibility in the choice of the
encodings, which can include a variety of (decidable) theories in rst order logic,
combined through a Boolean structure. SMT can be extended with theories of
cost yielding Optimization Modulo Theories (OMT for short) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Using an OMT
solver we can deal with both feasibility and optimality target at the same time,
i.e., we can handle both con guration and design tasks with a single engine. The
key idea is to encode the design problem into (i) a set of constraints on some
decision variables, and (ii) a cost function that expresses \quality-of-design"
rules.
      </p>
      <p>In Section 2, after a short context de nition, we focus on elevators domain,
which is our success story covered in Section 3. Encouraged by our results, we
propose in Section 4 a detailed roadmap for the development of an automated
con guration tool. Finally, in Section 5 we draw some conclusions on both the
work carried out until now and the methodologies for future contribution.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Motivation</title>
      <sec id="sec-2-1">
        <title>Context</title>
        <p>
          Product con guration has been a fruitful topic of research in Arti cial
Intelligence (AI) since 1970, and also became a commercially successful application of
AI techniques. In the recent past, review and survey papers have been reported.
With focus on speci c topics on product con guration, these papers provide
rich information and knowledge in the corresponding areas, such as con
guration bene ts and challenges, con guration modeling and solving, con guration
knowledge handling and industrial cases, managerial issues related to con
guration in practice and theory testing of product con guration with respect to time
and quality performance. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]
        </p>
        <p>
          Con guration problems have been treated also as a class of constraint
satisfaction problems (CSPs) | see, e.g., in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] or [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] | appearing extremely suitable
for treating a design task. In this setup, both the model and its feasibility can
be mapped with a CSP model and relative constraints. In a static con guration
problem, the decision variables, the domain and the constraints are known in
advance and xed, therefore the problem of con guration solving can be encoded
as a (standard) CSP | see, e.g., [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. In a dynamic con guration problem,
depending on the assignment to the corresponding decision variable, a component
may have a varying number of properties, whose existence is triggered by
activity constraints. Handling dynamic con guration tasks requires generative CSP
(GCSP) formulations3 introduced in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] speci cally to handle dynamic con
guration solving.
        </p>
        <p>
          Satis ability Modulo Theories is the problem of deciding the satis ability
of a rst-order formula with respect to some decidable theory T . In particular,
SMT generalizes the boolean satis ability problem (SAT) by adding background
theories such as the theory of real numbers, the theory of integers, and the
3 GCSP is also de ned as Conditional CSP in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] and Dynamic CSP in [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ].
theories of data structures (e.g., lists, arrays and bit vectors) | see, e.g., [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] for
details. To decide the satis ability of an input formula ' in conjunctive normal
form, SMT solvers typically rst build a Boolean abstraction abs(') of ' by
replacing each constraint by a fresh Boolean variable (proposition), e.g.,
' : x y ^ ( y &gt; 0 _ x &gt; 0 ) ^ y 0
abs(') : | {Az } ^ ( | {Bz } _ | {Cz } ) ^ |:{Bz}
where x and y are real-valued variables, and A, B and C are propositions. A
propositional logic solver searches for a satisfying assignment S for abs('), e.g.,
S(A) = 1, S(B) = 0, S(C) = 1 for the above example. If no such assignment
exists then the input formula ' is unsatis able. Otherwise, the consistency of the
assignment in the underlying theory is checked by a theory solver. In our example,
we check whether the set fx y; y 0; x &gt; 0g of linear inequalities is feasible,
which is the case. If the constraints are consistent then a satisfying solution
(model ) is found for '. Otherwise, the theory solver returns a theory lemma
'E giving an explanation for the con ict, e.g., the negated conjunction some
inconsistent input constraints. The explanation is used to re ne the Boolean
abstraction abs(') to abs(') ^ abs('E ). These steps are iteratively executed
until either a theory-consistent Boolean assignment is found, or no more Boolean
satisfying assignments exist.
        </p>
        <p>
          Adding theories of cost to SMT yields Optimization Modulo Theories (OMT),
an extension that nds models to optimize given objectives through a
combination of SMT and optimization procedures [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]. For example,
' : x y ^ (y &gt; 0 _ x &gt; 0) ^ y
minx;y(x + y)
0
requires all the constraints in ' to be satis ed and the additional cost x + y to
be minimized. Notice that OMT extends classical formulations in mathematical
programming, e.g., linear programming or mixed integer linear programming,
since it allows Boolean structure to be taken into account together with the
optimization target. OMT solvers have been developed for several rst-order
theories like, e.g., those of linear arithmetic over the rationals (LRA) or the
integers (LIA) or their combination (LIRA).
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>A primer on elevator systems</title>
        <p>Elevator systems are characterized by di erent lifting mechanisms, e.g., ropes
and pistons, and di erent setups, e.g., one or two pistons, presence or absence of
counterweights, and dedicated machine room versus in-plant machine room. In
our work we focused on hydraulic elevators (HEs), which operate on hydraulics,
i.e., they rely on one or more pistons to move the car. Energy is usually
provided to the hydraulic uid by an electrically driven pump, and typically no
counterweight is needed to compensate for the weight of the car. Their low
initial costs, compact footprint and ease of installation makes them a viable choice
for retro tting old residential buildings, and a cost-e ective solution for new ones
alike. The choice of HEs as a case study is thus motivated by their popularity
in low-rise applications, and by the fact that, in spite of their relative low part
count, their structure presents already most of the challenges that are to be
found in this domain.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Elevator Design</title>
      <p>3.1</p>
      <sec id="sec-3-1">
        <title>Model</title>
        <p>4 Part of the AiLift suite available upon request at http://www.ailift.it. AiLift is a
web-based application for the automated design of elevator systems.
Those components must satisfy a set of constraints that guarantee the design
compliance with respect to directive 2014/33/EU and related EN 81-20/81-50
norms. The problem of con guring this kind of system is that for both car frame
and doors are selected from a database of existing components from di erent
vendors and with di erent parameters.</p>
        <p>Feeding a constraint solver with the domain outlined before yields a feasible
con guration, if any. We may as well be interested in enumerating feasible
conwcf Distance from xcf to the left car wall
dcf External distance between car frame rails
ygear Core gear placement with respect to the car frame base point
dbr External depth of the car frame bracket from the base point
dcr Distance between car rails
maxoh Maximum car overhang that the car frame is able to sustain
opening Doors opening
lacd, racd Left and right axis size (car door)
lald, rald Left and right axis size (landing door)
stepcd Car door step
stepld Landing door step
dstep Distance between doors
wframe Landing door external frame width
gurations, or in pinpointing \optimal" con gurations, i.e., designs which have
desirable properties according to some best principles and practices in elevator
engineering. In Table 3 we show a quick summary of the combinations among
feasibility (SAT) and optimality (OPT) targets with search for a single
assignment (Search) and enumeration of con gurations (Enum). The two questions
that we found most relevant for practical purposes are feasibility and optimality
in a search context. Checking whether a feasible con guration exists is useful
in all the cases in which the size of the shaft and/or a restricted availability of
components makes the design hardly feasible. Finding an optimal con guration,
assuming that several alternative con gurations exists, is about stepping from
plain con guration problems to full- edged automated design. However, in order
to achieve optimality, we need to instruct the solver not just about what cannot
be done, but also about what should be done to obtain a \good" con guration.</p>
        <p>We encoded this con guration problem with the SMT formalism, not only
providing the feasibility constraints but also connecting the system with the
components database; in this way, the solver has the duty to select those components
(car frame and doors) whose parameters allow a feasible (possibly optimal)
design. This encoding is embedded in a Java application which orchestrates at an
higher level the components relationships | the whole problem is still bigger
than this module | and provides database transactions and drawing services.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Research roadmap</title>
      <p>In order to extend our work towards system-independent design, we need to
build a framework in which the con gurator is accompanied by another system
providing the correct interpretation and translation of a generic model in a set
of variables, constraints and cost function(s).</p>
      <p>
        Ontology-based modeling is widely used in order to build consistent models
from a structured description of a system: Ontology Web Language (OWL) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
grants the modeling capabilities to express the structure of any system [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
[
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] and should help interfacing the core con gurator with any model described
in this way. With this model interface we will build a rst prototype of the core
con gurator using our elevator con gurator as a baseline.
      </p>
      <p>As soon as the system implementation will be adequately ready, an
experimental analysis campaign will test the prototype development. The availability
of a research prototype will enable such analysis, targeted to assess the
quality of the proposed solution. We expect interactions between experimental part
and implementation part in a sense that implemented techniques may be
subject to modi cations and re nements based on the experimental ndings. From
this prototype release on, another test campaign will accurately cover the quality
and correctness of the application. The evaluation will be carried out considering
computational times as well as evaluation of the computer generated con
guration designs by human experts of the model tested, in order to also assess
the quality and correctness of the generated solutions. In order to provide
reliable benchmarks we will test the prototype on our well-known application of
elevators, but we also identi ed more uncorrelated domains like hardware
con</p>
      <p>guration and heating/ventilation systems. Hardware con guration refers to the
problem of choosing, connecting and verifying a set of components considering
multiple constraints related to physical occupancy, power consumption,
equivalent circuits and memory availability just to mention some, and the domain
also allows the re-con guration of an already con gured system where some
constraints change and some components can change their connections.
Heating/ventilation systems, on the other hand, are likely to present few constraints
related to the number of machines and their parameters but pose a more
important weight on the optimization of, e.g., number of radiators, power consumption,
overall cost.</p>
      <p>At the end of experimental analysis we expect that the prototype will be
able to produce feasible con gurations of a given system and will be comparable
with other constraint expression solutions. The ideal conclusion of the proposed
system is the implementation of an interactive interface, i.e., making possible to
interactively add, remove or edit constraints to the model in analysis. With this
feature the system would then let the user experience a complete and controlled
design process in which not only hard, model-relative feasibility constraints are
present but it is also possible to add custom re nements on the y.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In the context of our LiftCreate design automation tool, we presented a
constraint-based encoding to solve con guration and design for hydraulic
elevators, which proved successful and pushes us to continue the integration of such
methodology until the | possibly | complete design process with
constraintbased formulations.</p>
      <p>This success story leads to our agenda toward a model-independent
automated con gurator for both con guration and design targets, creating a
framework in which a generic model expressed in an almost standard language can be
interpreted, translated in the core formulation and processed in order to obtain
a design for the requested cost function.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>David</surname>
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Brown</surname>
          </string-name>
          . De ning con guring.
          <source>Arti cial Intelligence for Engineering Design, Analysis and Manufacturing</source>
          ,
          <volume>12</volume>
          (
          <issue>4</issue>
          ):
          <volume>301</volume>
          {
          <fpage>305</fpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Robert</surname>
            <given-names>Nieuwenhuis</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Albert</given-names>
            <surname>Oliveras</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Cesare</given-names>
            <surname>Tinelli</surname>
          </string-name>
          .
          <article-title>Solving sat and sat modulo theories: from an abstract davis{putnam{logemann{loveland procedure to dpll (t)</article-title>
          .
          <source>Journal of the ACM (JACM)</source>
          ,
          <volume>53</volume>
          (
          <issue>6</issue>
          ):
          <volume>937</volume>
          {
          <fpage>977</fpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Roberto</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          and
          <string-name>
            <given-names>Patrick</given-names>
            <surname>Trentin</surname>
          </string-name>
          .
          <article-title>On optimization modulo theories, maxSMT and sorting networks</article-title>
          .
          <source>In International Conference on Tools and Algorithms for the Construction and Analysis of Systems</source>
          , pages
          <fpage>231</fpage>
          {
          <fpage>248</fpage>
          . Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Linda L Zhang.
          <article-title>Product con guration: a review of the state-of-the-art and future research</article-title>
          .
          <source>International Journal of Production Research</source>
          ,
          <volume>52</volume>
          (
          <issue>21</issue>
          ):
          <volume>6381</volume>
          {
          <fpage>6398</fpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>SM</given-names>
            <surname>Fohn</surname>
          </string-name>
          ,
          <article-title>JS Liau, AR Greef, RE Young, and PJ O'grady. Con guring computer systems through constraint-based modeling and interactive constraint satisfaction</article-title>
          .
          <source>Computers in Industry</source>
          ,
          <volume>27</volume>
          (
          <issue>1</issue>
          ):3{
          <fpage>21</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Michel</given-names>
            <surname>Aldanondo</surname>
          </string-name>
          , Khaled Hadj-Hamou,
          <string-name>
            <given-names>Guillaume</given-names>
            <surname>Moynard</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Jacques</given-names>
            <surname>Lamothe</surname>
          </string-name>
          .
          <article-title>Mass customization and con guration: Requirement analysis and constraint based modeling propositions</article-title>
          . Integrated Computer-Aided Engineering,
          <volume>10</volume>
          (
          <issue>2</issue>
          ):
          <volume>177</volume>
          {
          <fpage>189</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Francesca</given-names>
            <surname>Rossi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Peter Van Beek</surname>
            ,
            <given-names>and Toby</given-names>
          </string-name>
          <string-name>
            <surname>Walsh</surname>
          </string-name>
          .
          <article-title>Handbook of constraint programming</article-title>
          .
          <source>Elsevier</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Mihaela</given-names>
            <surname>Sabin</surname>
          </string-name>
          , Eugene C Freuder, and Richard J Wallace.
          <article-title>Greater e ciency for conditional constraint satisfaction</article-title>
          .
          <source>In International Conference on Principles and Practice of Constraint Programming</source>
          , pages
          <volume>649</volume>
          {
          <fpage>663</fpage>
          . Springer,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Sanjay</given-names>
            <surname>Mittal</surname>
          </string-name>
          and
          <string-name>
            <given-names>Brian</given-names>
            <surname>Falkenhainer</surname>
          </string-name>
          .
          <article-title>Dynamic constraint satisfaction</article-title>
          .
          <source>In Proceedings eighth national conference on arti cial intelligence</source>
          , pages
          <volume>25</volume>
          {
          <fpage>32</fpage>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Clark</given-names>
            <surname>Barrett</surname>
          </string-name>
          and
          <string-name>
            <given-names>Cesare</given-names>
            <surname>Tinelli</surname>
          </string-name>
          .
          <article-title>Satis ability modulo theories</article-title>
          .
          <source>In Handbook of Model Checking</source>
          , pages
          <volume>305</volume>
          {
          <fpage>343</fpage>
          . Springer,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Arnaud</surname>
            <given-names>Hubaux</given-names>
          </string-name>
          , Dietmar Jannach, Conrad Drescher, Leonardo Murta, Tomi Mannisto, Krzysztof Czarnecki, Patrick Heymans, Tien Nguyen, and
          <string-name>
            <given-names>Markus</given-names>
            <surname>Zanker</surname>
          </string-name>
          .
          <article-title>Unifying software and product con guration: A research roadmap</article-title>
          .
          <source>Proceedings of the 2012 International Conference on Con guration -</source>
          Volume
          <volume>958</volume>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Deborah L McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <surname>Frank Van Harmelen</surname>
          </string-name>
          , et al.
          <article-title>Owl web ontology language overview</article-title>
          .
          <source>W3C recommendation</source>
          ,
          <volume>10</volume>
          (
          <issue>10</issue>
          ):
          <year>2004</year>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Liana</surname>
            <given-names>Razmerita</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Albert</given-names>
            <surname>Angehrn</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Maedche</surname>
          </string-name>
          .
          <article-title>Ontology-based user modeling for knowledge management systems</article-title>
          . In Peter Brusilovsky,
          <string-name>
            <given-names>Albert</given-names>
            <surname>Corbett</surname>
          </string-name>
          , and Fiorella de Rosis, editors,
          <source>User Modeling</source>
          <year>2003</year>
          , pages
          <fpage>213</fpage>
          {
          <fpage>217</fpage>
          , Berlin, Heidelberg,
          <year>2003</year>
          . Springer Berlin Heidelberg.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Ming</surname>
            <given-names>Dong</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Dong</given-names>
            <surname>Yang</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Liyue</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Ontology-based service product con guration system modeling and development</article-title>
          .
          <source>Expert Systems with Applications</source>
          ,
          <volume>38</volume>
          (
          <issue>9</issue>
          ):
          <volume>11770</volume>
          {
          <fpage>11786</fpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>X. H.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. Q.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , T. Gu, and
          <string-name>
            <given-names>H. K.</given-names>
            <surname>Pung</surname>
          </string-name>
          .
          <article-title>Ontology based context modeling and reasoning using owl</article-title>
          .
          <source>In IEEE Annual Conference on Pervasive Computing and Communications Workshops</source>
          ,
          <year>2004</year>
          .
          <source>Proceedings of the Second</source>
          , pages
          <volume>18</volume>
          {
          <fpage>22</fpage>
          ,
          <string-name>
            <surname>March</surname>
          </string-name>
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>