<!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>Composition of Nondeterministic Services for LTL Task Specification</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Giuseppe De Giacomo</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Favorito</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luciana Silo</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Banca d'Italia</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Camera dei Deputati</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Sapienza University of Rome</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>University of Oxford</institution>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper, we study the composition of services so as to obtain runs satisfying a task specification in Linear Temporal Logic on finite traces ( ltl ). We study the problem in the case services are nondeterministic and the ltl specification can be exactly met. To do so, we combine techniques from ltl synthesis, service composition à la Roman Model and reactive synthesis.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Service Composition</kwd>
        <kwd>Linear Temporal Logic on finite traces</kwd>
        <kwd>LTL  Synthesis</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The service-oriented computing (SOC) paradigm uses services to support the development
of rapid, low-cost, interoperable, evolvable, and massively distributed applications. Services
are considered autonomous, platform-independent entities that can be described, published,
discovered, and loosely coupled in novel ways [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Service composition, i.e. the ability to
generate new, more useful services from existing ones, is an active field of research in the
SOC area and has been actively investigated for over a decade. Particularly interesting in this
context is the so-called Roman Model [
        <xref ref-type="bibr" rid="ref2 ref3 ref4 ref5">2, 3, 4, 5</xref>
        ] where services are conversational, i.e., have an
internal state and are modeled as finite state machines (FSM), where at each state the service
ofers a certain set of actions, and each action changes the state of the service in some way.
The designer is interested in generating a new service, called target, from the set of existing
services specified using an FSM, too. The goal is to see whether the target can be satisfied by
properly orchestrating the work of the component service and building a scheduler called the
orchestrator that will use actions provided by existing services to implement action requests.
      </p>
      <p>
        In this paper, we consider a variant of the Roman Model where the composition is
taskoriented, and this makes it more similar to Planning in AI [
        <xref ref-type="bibr" rid="ref6 ref7 ref8">6, 7, 8</xref>
        ]. Specifically, we are given
a task, and we want to synthesize an orchestrator that, on the one hand, reactively chooses
actions to form a sequence that satisfies the task and, on the other hand, delegates each action
to an available service in such a way that at the end of the sequence, all services are in their
ifnal states. We consider the available services as nondeterministic, in the sense that when the
orchestrator delegates to them an action, they will change state in a nondeterministic (devilish
vs. angelic) way, as studied, e.g. in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We draw from the work on declarative process modeling
in Business Process Management (BPM) in which the task specification is expressed in Linear
Temporal Logic on finite traces ( ltl ) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] with the so-called declare assumption that only one
action can be selected at each point in time [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. This gives us a rich way to specify dynamic
tasks that extend over time. We give a formal definition of composition and a provably correct
technique to actually solve the composition problem and obtain the orchestrator. The technique
is readily implementable. The solution technique is based on finding a winning strategy for
a two-player game over a particular dfa game, as done, for example, in ltl synthesis [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Although this paper has a foundational nature, we observe that these kinds of task-oriented
compositions are increasingly becoming important in smart manufacturing [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
2. Composition of Nondeterministic Services for LTL Tasks
In this section we present our service composition in the case the available service are
nondeterministic. Unlike the classical Roman model, we do not have an explicit specification of the
target service to realize, but rather, a high-level specification of a task to accomplish expressed
as an ltl formula.
      </p>
      <sec id="sec-1-1">
        <title>2.1. Nondeterministic Services Framework</title>
        <p>
          In the Roman Model [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], each (available) service is defined as a tuple  = ⟨Σ , ,  0, ,  ⟩
formed respectively by: a finite set Σ of service states, a finite set  of services’ actions, an
initial state  0, a set of final states  (i.e., states in which the computation may stop, but does
not necessarily have to), and a transition relation  ⊆ Σ ×  × Σ . For convenience, we define
 (,  ) = { ′ | (, ,  ′) ∈  }, and we assume that for each state  ∈ Σ and each action  ∈ ,
there exist  ′ ∈ Σ such that (, ,  ′) ∈  (possibly  ′ is an error state   that will never reach
a final state). Actions in  denote interactions between service and clients. The behaviour of
each available service is described in terms of a finite transition system that uses only actions
from . Consider a task specification  expressed in ltl over the set of propositions , and
consider a community of  services  = {1, . . . , }. An infinite trace of  is an infinite
alternating sequence of the form  = ( 10 . . .  0), (1, 1), ( 11 . . .  1), (2, 2) . . . where
for every 0 ≤ , we have (i)   ∈ Σ  for all  ∈ {1, . . . , }, (ii)  ∈ {1, . . . , }, (iii)  ∈ ,
and (iv) for all ,  ,+1 =  ( , +1) if +1 = , and  ,+1 =   otherwise. A history of
 is a finite prefix of a trace of . Given a trace , we call states() sequence of states of , i.e.
states() = ( 10 . . .  0), ( 11 . . .  1), · · · . The choices of a trace , denoted with choices(),
is the sequence of actions in , i.e. choices() = (1, 1), (, ), . . . . Moreover, we define
the action run of a trace , denoted with actions(), the projection of choices() only to the
components in . Due to nondeterminism, there might be many traces of  associated with the
same action run. states, choices and actions are defined also on history ℎ, in a similar way.
        </p>
        <p>An orchestrator is a function  : (Σ 1 × · · · × Σ )* →  × { 1 . . . } that, given a sequence
of states, returns the action to perform, and the service (actually the service index) that will
perform it. Given a trace , with histories(), we denote the set of prefixes of the trace  that
ends with a services state configuration. A trace  is an execution of an orchestrator  over
 if for all  ≥ 0, we have (+1, +1) =  (( 10 . . .  0) . . . ( 1 . . .  )). If we consider
,  be the set of such executions we can have many executions for the same orchestrator,
despite the orchestrator being a deterministic function (due nondeterminism of the services). If
ℎ ∈ histories() for some (infinite) execution  ∈ , , we call ℎ a finite execution of  over .
We say that some finite execution ℎ is successful, denoted with successful(ℎ), if the following
two conditions hold: (1) actions(ℎ) |=  , and (2) all service state   ∈ last(states(ℎ)) are such
that   ∈ . If for execution  ∈ ,  there exist a finite prefix history ℎ ∈ histories() such
that successful(ℎ), we say that  is successful. Finally, we say that an orchestrator  realizes the
ltl specification  with  if, for all traces  ∈ , ,  is successful. Since the orchestrator at
every step chooses the action and the (index of the) service to which the action is delegated, it
guarantees the (complete) sequence of actions that satisfy the ltl task specification. Hence,
when the orchestrator stops, all services are left in their final states.</p>
        <p>The composition problem is: given the pair (,  ), where  is an ltl task specification over
the set of propositions , and  is a community of  services  = {1, . . . , }, compute, if it
exists, an orchestrator  that realizes  .</p>
      </sec>
      <sec id="sec-1-2">
        <title>2.2. Nondeterministic Services Solution Technique</title>
        <p>To synthesize the orchestrator we rely on a game-theoretic technique: (i) we build a game
arena where the controller (the orchestrator) and the environment (the service community) play
as adversaries; (ii) we synthesize a strategy for the controller to win the game whatever the
environment does; (iii) from this strategy we will build the actual orchestrator. Specifically, we
proceed according to the following steps.</p>
        <p>
          Step (1) First, from the ltl task specification we compute the equivalent Nondeterministic
Finite Automaton (nfa) of an ltl formula  = (, , 0, ,  ) using the ltl 2nfa algorithm
[
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Only one action is executed at each time instant.
        </p>
        <p>Step (2) From this nfa we define a controllable Deterministic Finite Automaton (dfa) on the
alphabet  × , act = ( × , , 0, ,  act), where everything is as in  except  act, with
which can give the control of the transition to the controller. This means that for every sequence
of actions 1, . . . ,  accepted by the nfa  , there exists a corresponding alternating sequence
0, 1, . . . ,  accepted by the dfa act, and viceversa. In other words, when we project out the
-component from the accepted sequences of act, we get a sequence of actions satisfying  .</p>
        <p>Step (3) Then, we compute the product of such dfa act with the services, obtaining the
composition dfa ,  again extending the alphabet with new symbols, which this time are
under the control of the environment. Intuitively, the dfa ,  over alphabet ′ is a
synchronous cartesian product between the nfa  and the service  chosen by the current
symbol (, , ,  ) ∈ ′. The “angelic” nondeterminism of  and the “devilish”
nondeterminism coming from the services is cancelled by moving the choice of the next nfa state and the
next system service state in the alphabet ′. It can be shown that there is a relationship between
the accepting runs of the dfa ,  and the set of successful executions of some orchestrator 
over community  for the specification  .</p>
        <p>
          Step (4) The dfa obtained is the arena over which we play the so-called dfa game [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. It is
a game between two players: the environment and the controller.  is the set of uncontrollable
symbols (under the control of the environment),  is the set of controllable symbols (under
the control of the controller). This is a classical problem and can be solved as follows. First,
we define the controllable preimage  (ℰ ) of a set ℰ of states of  as the set of states 
s.t. there exists a choice for symbols  s.t. for all choices of symbols  , game  progresses
to states in ℰ . Then, we define the set Win() of winning states of a dfa game , i.e., the
set formed by the states from which the controller can win the DFA game . Specifically,
Win() is defined as the least-fixpoint, making use of approximates Win() denoting all
states where the controller wins in at most  steps: (1) Win0() =  (the final states of );
and (2) Win+1() = Win() ∪ PreC (Win()). Then, Win() = ⋃︀ Win().
Computing Win() requires linear time in the number of states in . Indeed, after at most a
linear number of steps Win+1() = Win() = Win(). It can be shown that a DFA
game  admits a winning strategy if 0 ∈ Win(), and the resulting strategy is a transducer
 = ( ×  , ′, 0′,   ,   ) formed by: the input alphabet  ×  , the set of states ′, the
initial state 0′, the transition function   : ′ ×  → ′ s.t.   (, ) =  ′(, (,  ()), and
  :  →  is the output function defined as   () =  s.t. if  ∈ Win+1() ∖ Win()
then ∀. (, (,  )) ∈ Win() [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. Given a strategy in the form of a transducer  ,
we can obtain an orchestrator that realizes the specification as follows. Let the extended
transition function  * of  is  * (, ) =  and  * (, ) =   ( * (, ), ). Then, for
every sequence  of length  ≥ 0  = (1, 1) . . . (, ), where for each index ,
 and  are of the form (, , ) and  , respectively, we define the orchestrator
  (( 10 . . .  0), ( 11 . . .  1,1 . . .  1), . . . ( 1 . . .  , . . .  )) = (+1, +1), where
(+1, +1, +1) =   ( * (0, )). We can reduce the problem of service composition
for ltl task specifications to solving the dfa game over ,  with uncontrollable symbols
 = ⋃︀ Σ  and controllable symbols  =  ×  × { 1, . . . , }. It can be shown that the
service composition realizability problem with community  for the satisfaction of an ltl task
specification  can be solved by checking whether 0′ ∈ Win(, ), and that the problem can
be solved in at most exponential time in the size of the formula, in at most exponential time in
the number of services, and in polynomial time in the size of the services.
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>3. Conclusion and Future Works</title>
      <p>
        In this paper, we have studied an advanced form of task-oriented compositions of
nondeterministic services. In future works, we want to analyze the composition in stochastic settings.
In this case, we will model nondeterminism using probability distributions over the services’
successor states by considering the objective of maximizing the satisfaction probability of the
specification. The services will be considered stochastic, in the sense that delegated actions
change the service state according to a probability distribution, as studied, e.g., in [
        <xref ref-type="bibr" rid="ref14 ref4">14, 4</xref>
        ]. The
solution technique will solve a bi-objective lexicographic optimization [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] over a special Markov
Decision Process [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], allowing to minimize the services’ utilization costs while guaranteeing
maximum probability of task satisfaction. Moreover, since service composition has become very
relevant in smart manufacturing [
        <xref ref-type="bibr" rid="ref17 ref18">17, 18</xref>
        ], we want to expand the use of it in a Digital Twins
(DT) scenario as in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
This work has been partially supported by the EU H2020 project AIPlan4EU (No. 101016442),
the ERC-ADG White- Mech (No. 834228), the EU ICT-48 2020 project TAILOR (No. 952215), the
PRIN project RIPER (No. 20203FFYLK), and the PNRR MUR project FAIR (No. PE0000013).
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Papazoglou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dustdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Leymann</surname>
          </string-name>
          ,
          <article-title>Service-oriented computing: State of the art and research challenges</article-title>
          ,
          <source>Computer</source>
          <volume>40</volume>
          (
          <year>2007</year>
          )
          <fpage>38</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          ,
          <article-title>Automatic composition of e-services that export their behavior</article-title>
          ,
          <source>in: ICSOC</source>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Berardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          ,
          <article-title>Composition of services with nondeterministic observable behavior</article-title>
          ,
          <source>in: ICSOC</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>R. I.</given-names>
            <surname>Brafman</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sardina</surname>
          </string-name>
          ,
          <article-title>Service composition in stochastic settings</article-title>
          , in: AIxIA,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>G.</given-names>
            <surname>De Giacomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mecella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Patrizi</surname>
          </string-name>
          ,
          <article-title>Automated service composition based on behaviors: The Roman model</article-title>
          , in: Web services foundations,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>H.</given-names>
            <surname>Gefner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Bonet</surname>
          </string-name>
          ,
          <string-name>
            <surname>A Concise</surname>
          </string-name>
          <article-title>Introduction to Models and Methods for Automated Planning</article-title>
          , Morgan &amp; Claypool Publishers,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S. A.</given-names>
            <surname>McIlraith</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. C.</given-names>
            <surname>Son</surname>
          </string-name>
          ,
          <article-title>Adapting golog for composition of semantic web services</article-title>
          , in: KR, Morgan Kaufmann,
          <year>2002</year>
          , pp.
          <fpage>482</fpage>
          -
          <lpage>496</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Marconi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Bertoli</surname>
          </string-name>
          , P. Traverso,
          <article-title>Automated composition of web services by planning at the knowledge level</article-title>
          ,
          <source>in: IJCAI</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>1252</fpage>
          -
          <lpage>1259</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>G.</given-names>
            <surname>De Giacomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Linear temporal logic and linear dynamic logic on finite traces</article-title>
          ,
          <source>in: IJCAI</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Pesic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Schonenberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>W. M. Van der Aalst</surname>
          </string-name>
          ,
          <article-title>Declare: Full support for loosely-structured processes</article-title>
          ,
          <source>in: EDOC</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>M. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Vardi</surname>
          </string-name>
          ,
          <article-title>Synthesis for LTL and LDL on finite traces</article-title>
          ,
          <source>in: IJCAI</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Favorito</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Leotta</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Mecella</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Silo</surname>
          </string-name>
          ,
          <article-title>Digital twin composition in smart manufacturing via markov decision processes, Comput</article-title>
          . Ind.
          <volume>149</volume>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R. I.</given-names>
            <surname>Brafman</surname>
          </string-name>
          ,
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Patrizi</surname>
          </string-name>
          ,
          <article-title>Ltlf/ldlf non-markovian rewards</article-title>
          ,
          <source>in: AAAI</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>N.</given-names>
            <surname>Yadav</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sardina</surname>
          </string-name>
          ,
          <article-title>Decision theoretic behavior composition</article-title>
          ,
          <source>in: AAMAS</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Busatto-Gaston</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chakraborty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Majumdar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Mukherjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G. A.</given-names>
            <surname>Pérez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-F.</given-names>
            <surname>Raskin</surname>
          </string-name>
          ,
          <article-title>Biobjective lexicographic optimization in markov decision processes with related objectives</article-title>
          ,
          <source>arXiv preprint arXiv:2305.09634</source>
          (
          <year>2023</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>M. L. Puterman</surname>
          </string-name>
          , Markov Decision Processes,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Felli</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Logan</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Patrizi</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Sardiña</surname>
          </string-name>
          ,
          <article-title>Situation calculus for controller synthesis in manufacturing systems with first-order state representation</article-title>
          ,
          <source>Artif. Intell</source>
          .
          <volume>302</volume>
          (
          <year>2022</year>
          )
          <fpage>103598</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>G. De Giacomo</surname>
            ,
            <given-names>M. Y.</given-names>
          </string-name>
          <string-name>
            <surname>Vardi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Felli</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Alechina</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Logan</surname>
          </string-name>
          ,
          <article-title>Synthesis of orchestrations of transducers for manufacturing</article-title>
          ,
          <source>in: AAAI</source>
          ,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>