<!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>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Chamath Palihawadana</string-name>
          <email>c.palihawadana@rgu.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ikechukwu Nkisi-Orji</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>NirmalieWiratunga</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Corsar</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Anjana Wijekoon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Robert Gordon University</institution>
          ,
          <addr-line>Aberdeen, Scotland</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <abstract>
        <p>CBR applications have been deployed in a wide range of sectors, from pharmaceuticals; to defence and aerospace to IoT and transportation, to poetry and music generation; for example. However, a majority of applications have been built using monolithic architectures which impose size and complexity constraints. Such applications have a barrier to adopting new technologies and remain prohibitively expensive in both time and cost because changes in frameworks or languages afect the application directly. To address this challenge, we introduce a distributed and highly scalable generic CBR framewColroko,d, which is based on a microservices architecture. Microservices architecture splits the application into a set of smaller, interconnected services that scale to meet varying demands. Experimental results show that our Clood implementation retrieves cases at a fairly consistent rate as the casebase grows by several orders of magnitude and was over 3,700 times faster than a comparable monolithic CBR system when retrieving from half a million cases. Microservices are cloud-native architectures and with the rapid increase in cloud-computing adoption, it is timely for the CBR community to have access to such a framework.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Clood CBR System</title>
    </sec>
    <sec id="sec-2">
      <title>Overview</title>
      <p>Introduced in 1[], Clood is the first cloud-based generic CBR framework developed for
scalability using a microservices-oriented design. PriorCtloood, CBR frameworks were based
on monolithic architecture which is restrictive for applications that require high scalability.
Clood opened up a new avenue in the CBR landscape by enabling CBR applications (including
case-based recommenders) to reach higher levels of scale. An empirical study showed that
Clood can scale extensively without compromising performance (e.g. retrieval from a casebase
of half a million cases was over 3,700 times faster thacnojlibri). Further, limited integration
support (e.g. APIs) in the previous CBR frameworks has been an obstacle for adopting CBR
for some real-world applications. The extensible and open source naturCelofod has
facilitated its improvement and enhancement over time. Implementation using the microservices
paradigm makesClood more sustainable considering the rapid adoption of cloud computing
and serverless computing, particularly in enterprise settings.</p>
      <p>A completeClood based implementation consists of the following:
CEUR
Chamath Palihawadana et al.
• Casebase contains the cases of a CBR application and is implemented using a full-text
search engine (e.g. Elasticsearch, OpenSearch).
• CBR Functions consists of the CBR cycle operations (retrieve, reuse, revise, retain),
which were implemented using Serverless functions.
• Similarity Functions provides the mechanism to match and rank cases during case
retrieval. The microservices based architectureCilnood is advantageous for extending
similarity functions.
• External Access consists of a set of HTTP API endpoints that trigger the CBR functions.</p>
      <p>This external interface is implemented using cloud-native microservices that is available
on most cloud service providers (e.g. AWS API gateway, Google API Gateway).
• Data sources are the persistence tools where applications store their data (e.g. MySQL,
MongoDB) and these data sources can be synchronised with the Casebase through the
external access APIs.
• Client applications are front facing components of any system such as theClood
dashboard. Client applications on any platform can use the external APIs to achieve CBR
integration.</p>
      <p>As an alternative to deployment on cloud-based services, an instanceColfood can be
deployed in a containerised environment using docker. Docker is a software platform that
allows you to build, test, and deploy applications quickly. The use of containerised deployment
simplifies development and testing when using the Clood framework.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Clood CBR Demonstration</title>
      <p>The video presents a complete system overview oCflood and demonstrates how to create a
sample project using theClood dashboard. The sample project is based on a sample casebase
that uses a pizza dataset and can determine the price of pizza.</p>
      <p>The following parts are covered in the video demonstration.</p>
      <p>• New Project: Create a new CBR application/project.
• Configuration : Each attribute of the case representation is configured and setup with
local similarity metric and attribute weight.
• Data Import: CSV based sample cases are pre-loaded to the casebase.
• Retrieval: Demonstrates how to perform case retrieval and change attribute weight
parameters at retrieve time.</p>
      <p>• Retain: A recommended or revised case is retained in the casebase.</p>
      <p>More information onClood can be obtained by visitingcloodcbr.comand project source
code is available ahtttps://github.com/rgu-computing/clood</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>I.</given-names>
            <surname>Nkisi-Orji</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Wiratunga</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Palihawadana</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Recio-García</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Corsar</surname>
          </string-name>
          ,
          <string-name>
            <surname>Clood</surname>
            <given-names>CBR</given-names>
          </string-name>
          :
          <article-title>Towards microservices oriented case-based reasoning</article-title>
          ,
          <source>in: International Conference on Case-Based Reasoning</source>
          , Springer,
          <year>2020</year>
          , pp.
          <fpage>129</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>