<!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>Chatbot Design - Reasoning about design options using i* and process architecture</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zia Babar</string-name>
          <email>zia.babar@mail.utoronto.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexei Lapouchnian</string-name>
          <email>alexei@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Yu</string-name>
          <email>eric.yu@utoronto.ca</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Toronto</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Information, University of Toronto</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Software systems are often designed without considering their social intentionality and the software process changes required to accommodate them. With the rise of artificial intelligence and cognitive services-based systems, software can no longer be considered a passive participant in a domain. Structured and methodological approaches are required to study the intentions and motives of such software systems and their corresponding effect on the design of business and software processes that interact with these software systems. This paper considers chatbots as domain example for illustrating the complexities of designing such intentional and intelligent systems, and the resultant changes and reconfigurations in processes. A mechanism of associating process architecture models and actor models is presented. The modeling and analysis of two types of chatbots - retrieval-based and generative - are shown using both process architecture and actor models.</p>
      </abstract>
      <kwd-group>
        <kwd>Enterprise Modeling</kwd>
        <kwd>Goal Modeling</kwd>
        <kwd>Actor Modeling</kwd>
        <kwd>Software Processes</kwd>
        <kwd>Chatbot</kwd>
        <kwd>Adaptive Enterprise</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Rapid advancement in software and emerging technologies is influencing the
design of enterprises while promoting continuous and ongoing cycles of innovation and
transformation [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Software systems and software processes are enablers of such
enterprise transformation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] and structured methodologies need to be developed that
would aid in selection of suitable designs and configurations of such software systems
and processes. However, such investigations cannot be done from just one perspective
and process models and actor models need to be collectively aiding in the design of
enterprise software while the enterprise itself is undergoing rapid cycles of
transformation and innovation. Integrating these modeling approaches together would allow
for meaningful and multi-dimensional analysis for determining alternative
configurations of processes and the analysis of requirement satisfaction. This promotes deeper
domain reasoning and a judicious understanding of the implications of design actions.
      </p>
      <p>
        Chatbots are an appropriate selection for introducing and illustrating some of the
concepts in this paper due to their apparent intentional nature. A chatbot is a software
system that converses with human users using natural language, either in verbal or
textual form [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Recent advances in cognitive services, machine learning, natural
language processing and artificial intelligence have seen chatbots become ever more
pervasive and being put to use in commercial applications [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Generally, they are
being developed as an additional (conversational) interface to existing software
applications. Chatbots work by producing a response to an inquiry from a human user.
Despite being software systems, chatbots appear to exhibit intentionality and are
active (as opposed to passive) participants in the overall domain and their interaction
with the user. They have defined functional goals, such as conversing with the user,
processing information intelligently, sourcing all available data while processing a
response, etc. These functional goals are accompanied by non-functional goals like
providing a natural conversational experience, ensuring the incorporation of
appropriate context into the response, being coherent and have sensible responses, providing a
diverse set of responses, etc. Thus, it would be appropriate to model chatbots as social
actors and utilize the i* framework [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for analyzing their strategic intentions,
rationales, and dependencies, in conjunction with the process of designing and developing
these chatbots, while considering bi-directional influences between actor and process
perspectives.
      </p>
      <p>Chatbots can be classified in one of two ways depending on their sophistication
and the complexity involved in producing the response (to the inquiry):
• Retrieval-based chatbots are simple in design and are generally used for situations
where a simple response or action is required to a user inquiry or command.
• Generative chatbots are more complex and are generally used in situations which
require the construction of a unique and contextually appropriate response to user
inquiries.
2</p>
      <p>Analyzing Social Implications of Process Architecture</p>
      <p>Reconfigurations</p>
      <p>
        The visual depiction of the social aspect is done using the i* framework while the
process related elements and activities are modeled using a process architecture model
that was previously introduced in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. A process architecture model is needed
to be able to model relationships among multiple processes, such as between software
development processes and the software usage process. The primary reason for
focusing on process architectures (and not on individual business processes) is to
investigate inter-process relationships and configurations; in particular, to identify variations
of how functionality can be distributed across processes in the enterprise, to explore
the different possible process relationships, and to model how these choices affect
enterprise objectives. Following the above-mentioned process architecture modeling
framework, Process Elements (PEs) are basic process activity units that produce some
output or outcome. A collection of PEs that are be executed collectively as part of the
same execution cycle is referred to as a Process Stage (PS).
      </p>
      <p>The two perspectives -- actor and process -- can be associated by considering
common constructs that appear in both models, represented as a process segment in
the process-based model and a task (or operationalized goal) in the actor-based model.
The models can be associated together at one of two levels,
• PS Level: PS are single-purpose process structures and are meant to accomplish
certain enterprise functional requirements (goals) while adhering to non-functional
requirements (softgoals). PS are executed by participants (or actors).
• PE Level: In an actor model, a goal is eventually achieved through some task(s),
which map to a PE in the process model (assuming both models are decomposed to
the same granularity), thus allowing for model linking at a more granular level.</p>
      <p>Thus, process goals and process activities would be mapped to actor goals and
actor tasks respectively, with mechanisms and data flows being represented as
dependent resources in the actor models. Existing actor modeling techniques (such as i*) can
be used (with extensions and annotations) to signify the association between models
from both modeling perspectives while allowing for traceability and movement of
changes in one modeling perspective to the other. A PS may have multiple associated
actors to ensure the attainment of the process stage goal. Although in simple cases,
fulfilling the goal of a process stage maybe entirely self-contained within a single
actor boundary. In general, this approach is not limited to a one-to-one mapping
between the elements of the different modeling approaches, nor are they expected to be
at the same level of granularity and abstraction.</p>
      <p>Variation points (VP) in the process architecture model can signify alternative
process configurations (also called variants). An actor model can be associated at this VP
by having alternatives shown as one of several means-to-end for an actor goal. Actor
goal satisfaction techniques will be employed to determine the optimum alternate
(based on softgoal tradeoff analysis) which maps to a process architecture
configurations. Care must be taken when proposing an alternate process configuration at a VP
as the proposed alternate should not result in goal non-satisfaction for other process
stages in other parts of the process architecture.
2.1</p>
      <p>Retrieval-Based Chatbots</p>
      <p>Retrieval-based chatbots are configured to select a response from a predefined set
of responses based on the response’s suitability to the inquiry. As the responses are
pre-constructed, there is no chance of grammatical mistakes and the primary
intelligence required on the chatbot’s side is to retrieve an appropriate response to match
the inquiry. This ensures that the chatbots are simple in nature, and as a result they are
unable to handle advanced queries from the user. There are several third-party
frameworks and solutions available that are able to provide message parsing and response
selection capabilities, thus retrieval-based chatbots are quick to construct but have
limited flexibility and use in cases where domain specific responses are required.</p>
      <p>Fig. 1 shows the dependency relationships that exist between the retrieval-based
chatbot on other actors (including the internal chatbot rationales). The i* model
allows the determination of the type of chatbot that needs to be developed, and the
nec</p>
    </sec>
    <sec id="sec-2">
      <title>Retrieval-Based</title>
    </sec>
    <sec id="sec-3">
      <title>Chatbot</title>
      <p>essary process structure that should be formed, to allow the satisfaction of various
goals. In this case, the simplicity of the intentions and motives of the retrieval-based
chatbot are reflected in a less complex process architecture (Fig. 2). The two tasks,
Understand Request and Construct Response, are attained by corresponding
process stages Understand User Request and Construct User Response.</p>
    </sec>
    <sec id="sec-4">
      <title>Third-Party</title>
    </sec>
    <sec id="sec-5">
      <title>Framework</title>
    </sec>
    <sec id="sec-6">
      <title>Provider</title>
      <p>Intent</p>
      <p>Classifier
Message</p>
      <p>Parser
Understand User Request</p>
      <p>Deconstruct
Message</p>
      <p>Classify
Message
Intent
IntenUt
Classifier</p>
      <p>Recognize
Message
Entities</p>
      <p>U
Message
Parser</p>
      <p>Understand
Context
Context</p>
      <p>Generate
Response</p>
      <p>Plan</p>
      <p>Response</p>
      <p>Plan X</p>
      <p>Generative chatbots attempt to construct a response by tracking the ongoing
conversation, utilizing the history of exchanges with the users, and by matching
appropriate responses based on a semantic understanding of the inquiry. As the responses are
constructed by the chatbot in real-time, there is a chance of the chatbot making
mistakes in sentence construction. Additionally, the responses as constructed by a
generative chatbot may be domain specific (for example, queries about medical conditions)
which require access to a domain-specific knowledge base. Due to their specialized
and complicated nature, often such chatbots have to be developed within an
organization itself without having the benefit of using pre-built third-party frameworks.</p>
    </sec>
    <sec id="sec-7">
      <title>Internal Dev</title>
    </sec>
    <sec id="sec-8">
      <title>Team</title>
    </sec>
    <sec id="sec-9">
      <title>Generative</title>
    </sec>
    <sec id="sec-10">
      <title>Chatbot</title>
      <p>Intent</p>
      <p>Classifier
Message
Parser</p>
      <p>Natural</p>
      <p>Conversation
Sensible
Response
bot on other actors with the process architecture model depicting the processes
involved in processing a user request shown Fig. 4. The generative chatbot requires an
additional level of intelligence in order to be able to carry out a natural conversation
with a human user. While the tasks (Understand Request and Construct Response)
remain the same, the softgoals Intelligent Process and Natural Conversation
indicate a different approach needs to be adopted to ensure their satisfaction. This
requires the addition/modification of new tasks decompositions and dependencies on
Internal Dev Team. The corresponding process architecture model (Fig. 4) reflects
this by including a new process stage, Classify Intent, whose output is used by the
Chatbot associated processes. While these diagrams are simplistic in nature and
illustration, they do indicate the nature of propagation and traceability analysis that can be
performed by associating actor models with process architecture models.
3</p>
      <p>Conclusions and Future Work</p>
      <p>
        The above is part of our ongoing research [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref8">8</xref>
        ][
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] for developing a framework
for characterizing fundamental types of software-enabled enterprise transformations
where we consider the upstream factors in the design of software systems and
processes which can be traced to enterprise business objectives and social contexts, and
the downstream effects of selecting alternative design and configuration options for
software systems on software processes. In this paper, actor models are shown as a
means of determining optimum process architecture configurations based on the
unique strategic motives and intentions of those actors. They extend and complement
the process architecture models by allowing for the inclusion of social and agent
relationships with the process participants (involved in the enactment of process
activities) being treated as actors from a social modeling perspective. Association points
between the models allow for navigating between the modeling notations, with the
models themselves consistently reflecting the same domain reality. In future work, we
plan to continue to explore various association points (including possible modeling
patterns) between the two kinds of models and how change on one modeling
perspective can be traced to, and be influenced by the other. Additionally, we’ll investigate
possible extensions to the i* framework for attaining the above.
4
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wilkinson</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Designing an “adaptive‟ enterprise architecture</article-title>
          .
          <source>BT Technology Journal</source>
          ,
          <volume>24</volume>
          (
          <issue>4</issue>
          ), pp.
          <fpage>81</fpage>
          -
          <lpage>92</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. The Economist:
          <article-title>Organisational Agility: How Business can Survive and Thrive in Turbulent Times</article-title>
          .
          <source>A report from The Economist Intelligence Unit</source>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Surmenok</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : Chatbot Architecture,
          <source>March</source>
          <volume>10</volume>
          ,
          <year>2017</year>
          , http://pavel.surmenok.com/
          <year>2016</year>
          /09/11/chatbot-architecture/
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Augello</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gentile</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weideveld</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dignum</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A model of a social chatbot</article-title>
          .
          <source>In Intelligent Interactive Multimedia Systems and Services</source>
          , pp.
          <fpage>637</fpage>
          -
          <lpage>647</lpage>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maiden</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
          </string-name>
          , J.:
          <article-title>Social Modeling for Requirements Engineering</article-title>
          . MIT Press (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Redesigning process architectures towards a framework of design dimensions</article-title>
          .
          <source>In 9th International RCIS Conf.</source>
          , pp.
          <fpage>205</fpage>
          -
          <lpage>210</lpage>
          , IEEE (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sturm</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Design Dimensions for Business Process Architecture</article-title>
          .
          <source>In International Conference on Conceptual Modeling</source>
          , pp.
          <fpage>276</fpage>
          -
          <lpage>284</lpage>
          , Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Exploiting emergent technologies to create systems that meet shifting expectations</article-title>
          .
          <source>In Proceedings of 24th Annual International Conference on Computer Science and Software Engineering</source>
          , pp.
          <fpage>371</fpage>
          -
          <lpage>374</lpage>
          ,
          <string-name>
            <given-names>IBM</given-names>
            <surname>Corp</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Babar</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lapouchnian</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Modeling DevOps Deployment Choices using Process Architecture Design Dimensions</article-title>
          .
          <source>In The Practice of Enterprise Modeling</source>
          , Springer (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>