<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2020.89001</article-id><article-id pub-id-type="publisher-id">JCC-102676</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Methodological Approach to Model CBR-Based Systems
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Eliseu</surname><given-names>M. Oliveira</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Rafael</surname><given-names>F. Reale</given-names></name><xref ref-type="aff" rid="aff2"><sup>2</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Joberto</surname><given-names>S. B. Martins</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff2"><addr-line>Instituto Federal da Bahia (IFBA), Valenca, Brazil</addr-line></aff><aff id="aff1"><addr-line>Universidade Salvador (UNIFACS), Salvador, Brazil</addr-line></aff><pub-date pub-type="epub"><day>03</day><month>09</month><year>2020</year></pub-date><volume>08</volume><issue>09</issue><fpage>1</fpage><lpage>16</lpage><history><date date-type="received"><day>22,</day>	<month>July</month>	<year>2020</year></date><date date-type="rev-recd"><day>1,</day>	<month>September</month>	<year>2020</year>	</date><date date-type="accepted"><day>4,</day>	<month>September</month>	<year>2020</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Artificial intelligence (AI) has been used in various areas to support system optimization and find solutions where the complexity makes it challenging to use algorithmic and heuristics. Case-based Reasoning (CBR) is an AI technique intensively exploited in domains like management, medicine, design, construction, retail and smart grid. CBR is a technique for problem-solving and captures new knowledge by using past experiences. One of the main CBR deployment challenges is the target system modeling process. This paper presents a straightforward methodological approach to model CBR-based applications using the concepts of abstract and concrete models. Splitting the modeling process with two models facilitates the allocation of expertise between the application domain and the CBR technology. The methodological approach intends to facilitate the CBR modeling process and to foster CBR use in various areas outside computer science.
 
</p></abstract><kwd-group><kwd>Artificial Intelligence</kwd><kwd> Case-Based Reasoning</kwd><kwd> CBR Modeling</kwd><kwd> Bandwidth  Allocation Model</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>Artificial Intelligence (AI) and Machine Learning (ML) techniques are being extensively used in an ever-increasing number of areas and systems. They provide benefits on adopting them, such as efficient optimization methods and the possibility to solve rather complex multi-objective and multi-constrained problems that were difficult or eventually impossible to solve with current algorithmic or heuristics solutions [<xref ref-type="bibr" rid="scirp.102676-ref1">1</xref>].</p><p>ML-assisted applications are a trend, and many researchers and developers are rushing to apply ML and recover their inherent potential benefits [<xref ref-type="bibr" rid="scirp.102676-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref3">3</xref>].</p><p>However, using ML techniques to solve any problem do require some previous background and expertise. For example, it is vital to choose the ML technique that better suits the target application in terms of available computational capability and expected target results. In sequence to an adequate ML technique choice, it is typically necessary to model the problem under the premises of the chosen technique. The modeling process may include, as an example, an MDP-based markovian process (Markov Decision Process) like Q-Learning or SARSA formulation for Reinforcement Learning or the definition of a neural network structure for Neural Networks (NN) [<xref ref-type="bibr" rid="scirp.102676-ref4">4</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref5">5</xref>].</p><p>Case-based Reasoning (CBR) [<xref ref-type="bibr" rid="scirp.102676-ref6">6</xref>] is a technique for problem-solving and for capturing new knowledge (learning) based on the stored knowledge of past experiences. CBR paradigm has a base of past experiences, called a case-base, and attempts to solve new problems by recovering similar solutions in this database and adapting them to new problems. CBR, to some extent, mimics the human behavior in activities like management and diagnostics in which the previous knowledge and experience is the driver in looking for the solutions for new near-equivalent problems [<xref ref-type="bibr" rid="scirp.102676-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref8">8</xref>].</p><p>CBR was proposed more than a decade ago as an AI technique [<xref ref-type="bibr" rid="scirp.102676-ref6">6</xref>], is simple to use, has minimal learning requirements, and does not typically require intensive computational resources [<xref ref-type="bibr" rid="scirp.102676-ref9">9</xref>]. More recently, CBR receives the attention from the artificial intelligence community and is gaining track in domain areas like medicine, expert systems, retail, smart grid, construction, manufacturing, design, agriculture and management [<xref ref-type="bibr" rid="scirp.102676-ref10">10</xref>] - [<xref ref-type="bibr" rid="scirp.102676-ref15">15</xref>].</p><p>Like other AI techniques, CBR requires the target system to be modeled to allow a similarity search in its database. This process is not clearly detailed or methodologically described in the literature. Our approach provides a way to methodologically model the target system. In our approach, the CBR modeling for problem-solving requires a specialized abstract model of the target system and, derived from it, a concrete CBR representation of the variables and parameters involved in the process.</p><p>The objective of this work is, in summary, to propose a methodological approach to model the CBR process based on a mapping between the abstract and concrete representations of the CBR process variables and parameters. The proposed method aims to facilitate the CBR modeling process and contribute to promoting the widespread use of CBR. We also expect the contribution can be relevant to CBR application areas where the computer science expertise of the professionals involved is less frequent or even unavailable.</p><p>The remaining of this paper is organized as follows. Section 2 presents an overview of the CBR fundamentals and section 3 discusses the related works. Sections 4 and 5 present the CBR modeling methodology and Section 7 follows with an example of how to use the approach for the cognitive management of bandwidth in network links. In Section 8, the final considerations are presented.</p></sec><sec id="s2"><title>2. Case-Based Reasoning Fundamental Aspects</title><p>In summary, in CBR, a new problem is solved through the knowledge and information available or acquired by a previous similar problem adapted to create a new solution.</p><p>The essential components used to solve a problem with CBR are a case, the case-database of past cases or past experiences, and the similarity function.</p><p>The case is the way we represent the experience we have about the target problem. All previous cases representing the acquired knowledge are stored in a database, called case-database. A case is represented by a pair problem and solution that are the fundamental aspects present in all CBR systems:</p><p>&#183; Problem: It contains all the information regarding the past event that you want to remember. That is, it describes all the essential data for the representation of knowledge in the specific domain. These data can include contextualization data, application objectives, descriptions of what happened, qualitative data, and quantitative data, among others.</p><p>&#183; Solution: It presents the necessary information to solve the problem related to the past event. This solution can be any information or action that totally or partially solves the problem presented in the case description. The representation of the solution must always take into account the application domain.</p><p>The execution of the CBR process includes 4 phases using its essential components, namely (<xref ref-type="fig" rid="fig1">Figure 1</xref>) [<xref ref-type="bibr" rid="scirp.102676-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref17">17</xref>]:</p><p>&#183; Recover: Performs the search for similar cases in the case-database. This comparison is made using the similarity function. The similarity function is responsible for comparing the base cases with the actual problem and should return the most similar cases found.</p><p>&#183; Reuse: The phase in which the description of the current problem is composed with the solution of the case recovered in the previous phase. Then the solution found is applied to the environment in question.</p><p>&#183; Revision: In the review phase, the specialist in the technological domain must assess whether the solution employed brings the expected results. The specialist has the opportunity to make fine adjustments to optimize, adjust, or adapt the recommended solution.</p><p>&#183; Retention: After making the necessary adaptations, the specialist must confirm the new case as a valid case and consequently save it in the case base for later reuse.</p><p>From the methodological point of view, the utilization CBR to solve a particular problem involves the following modeling and operational steps:</p><p>&#183; Case and Knowledge Representation: The case components and its structure embed the experience and the knowledge for a particular problem. As such, case descriptions document real experiences, and the CBR system may acquire new knowledge by retaining new cases.</p><p>&#183; Similarity Measure: A similarity function calculates the similarity measure, and it defines to what extent a case in the case-database is similar to the case being processed.</p><p>&#183; Adaptation: In CBR, the operational adaptation step takes a similar case and adapts it to the current situation. In general, adaptation uses a defined mechanism, expert knowledge, or a mix of both.</p><p>&#183; Learning: It is an operational step that allows the CBR system to memorize its successful and unsuccessful solutions, which means effectively to acquire new knowledge.</p><p>The foundation of the CBR that supports its capability to adapt, learn, and retain knowledge are the case representation and the choice of similarity measures. Accurately modeling these two elements of the CBR operation is essential.</p><p>In this paper, we present a methodological approach that addresses the representation of cases and the choice of similarity measures for the problem of resource management with CBR.</p><p>The proposed methodological approach is composed of an Abstract Model (AM) and a Concrete Model (CM). The abstract model is a high-level representation that structures the knowledge corresponding to the scope of actuation. The concrete model maps the abstract model’s representation to the set of parameters used in the CBR execution process to acquire knowledge for a set of particular cases.</p></sec><sec id="s3"><title>3. Related Work</title><p>Watson presents a discussion about the methodological approach used by CBR in [<xref ref-type="bibr" rid="scirp.102676-ref18">18</xref>]. Watson argues that CBR can be better described as a methodology for problem-solving and, as such, differs from other artificial intelligence techniques like neural networks, and genetic algorithms that use more formal mathematical methods. Watson’s paper does not discuss or propose a methodological approach to support CBR deployments.</p><p>The case representation formalism is discussed in Martines [<xref ref-type="bibr" rid="scirp.102676-ref19">19</xref>]. The authors discuss how experiences can be represented by using since simple feature vectors to representational formalisms like object-oriented, predicate-based and semantic nets, among others.</p><p>Althof discusses in [<xref ref-type="bibr" rid="scirp.102676-ref20">20</xref>] the need to develop CBR applications as a systematic engineering activity. The paper addresses the software development life-cycle targeting the development of software products that support CBR development.</p><p>A discussion about CBR modeling is presented in Krite [<xref ref-type="bibr" rid="scirp.102676-ref21">21</xref>]. The paper describes how CBR can be used to compare, reuse, and adapt inductive models that represent complex systems. The paper does not address specific cases and knowledge representations.</p></sec><sec id="s4"><title>4. Abstract Model</title><p>The proposed approach to model a CBR-based system for problem-solving has two steps:</p><p>&#183; Abstract Model (AM) definition; and</p><p>&#183; Concrete Model (CM) mapping.</p><p>The definition of the AM requires expertise in the application domain involved. The mapping to the CM from the AM requires a minimum CBR expertise.</p><p>The abstract model is a high-level representation to structure the knowledge and, as such, to define the scope of action of the problem-solving system. It requires specialist knowledge of the application domain to which a system using CBR is applied. This model aims to represent knowledge about the scope of actions for the CBR system.</p><p>The abstract model is composed by a Technological Domain (TD) with general and specific objectives, attributes, measurements, actions, and premises.</p><sec id="s4_1"><title>4.1. Technological Domain (TD)</title><p>The technological domain defines, in general, the scope of the target problem-solving or, in other words, what the problem is and how to represent it [<xref ref-type="bibr" rid="scirp.102676-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref17">17</xref>].</p><p>The representation of the TD in the proposed model is as follows:</p><p>&#183; System and problem description and objectives;</p><p>&#183; Static, contextual and dynamic attributes of the system;</p><p>&#183; Measurements; and</p><p>&#183; Actions.</p><p>This set of components adequately describes the target system for general resource management problems like virtual machine management, datacenter management, and network management to cite some application examples.</p></sec><sec id="s4_2"><title>4.2. TD Component—System and Problem Definition, General and Specific Objectives</title><p>The system and problem description is a formal or textual description of CBR problem and system.</p><p>The general objective is a high-level definition and delimitation of the target management problem. It is associated to the CBR resource management task.</p><p>The specific objectives detail the general objective of the CBR management system’s multiple possible outcomes. In effect, this corresponds to the definition of a multi-objective problem, possibly under a multi-requirement scenario.</p><p>The specific objectives specify a subset of the context, measurement, and action attributes used in the CBR decision-making and learning processes.</p></sec><sec id="s4_3"><title>4.3. TD Component—Attributes</title><p>The static attributes describe static characteristics of the target system and have, in most cases, documentary value. The CBR system operation does not index the static attributes, so they do not interfere in the problem-solving process.</p><p>The contextual attributes indicate the context of the problem and correspond to definitions and parameters that do not change frequently. From the CBR system perspective, contextual attribute modification may imply in restarting the learning process with CBR.</p><p>The dynamic attributes are the set of variables and parameters that indicate the target system’s global state. In the problem-solving context, dynamic attributes impact the target management process and are measurable.</p></sec><sec id="s4_4"><title>4.4. TD Component—Measurements, Tolerance and Actions</title><p>The measurements are, in general, the set of variables actual values acquired by a monitoring system that are relevant to the management process. The measurements, together with the context attributes, provide a snapshot of the system current state.</p><p>The measurements are instances of the system variables and aims to have a snapshot of the systems and quantify the specific objectives. In effect, the management of accepted values for measurable variables quantify, in general, the specific objectives.</p><p>Tolerance represents the accepted value for the scope of this methodology. So, in most cases, the specific objectives are represented by ranges, upper or lower limits for defined managed variables.</p><p>The actions are the operation set that is used to react upon the identification of a problem. The set of actions defined is executed on the system and are related to the defined specific objectives.</p></sec><sec id="s4_5"><title>4.5. Premisses</title><p>In the CBR abstract model, the premises are the set of problems to which a solution is known. Premises are optional and aim to facilitate knowledge acquisition by the CBR system. It is essential to highlight that the CBR system is capable of learning from scratch without any given premise.</p><p>The premises can be confirmed or not, through the acquisition of new knowledge. Wrong premises will negatively impact the learning process since the premise will be discarded to allow the acquisition of new knowledge.</p></sec></sec><sec id="s5"><title>5. Concrete Model</title><p>The concrete model corresponds to the mapping of the abstract model definitions in CBR cases, similarity function, parameters, variables, and weighting priorities of the deployed CBR system.</p><p>The mapping from the abstract model to the concrete model is achieved in the following way:</p><p>&#183; TD components like attributes, measurements, and tolerances are mapped in the CBR cases description.</p><p>&#183; General and specific objectives are mapped in similarity function and evaluation function.</p><p>&#183; Actions are mapped in solutions for the CBR cases.</p><p>&#183; Premises are mapped in the first cases for the CBR system.</p><p>The proposed sequence of steps to map from AM to CM model is as follows:</p><p>1) Mapping of attributes and measurements necessary to achieve the specific objectives;</p><p>2) CBR case description definition using the mapped set of attributes and measurements;</p><p>3) Tolerance level definition for the CBR case components;</p><p>4) Mapping of the actions for the solution of CBR cases;</p><p>5) Similarity function definition;</p><p>6) Evaluation function definition; and</p><p>7) CBR 4R cycle operation process.</p><p>The last step, the CBR 4R cycle operation process, is described in this paper as a non-exhaustive sequence of how to do it procedures and hints that can be used in the CBR 4R cycle.</p><sec id="s5_1"><title>5.1. The CBR Case</title><p>In CBR terminology a case is a problem situation composed by a set of parameters describing the problem domain and the associated solution for the problem (<xref ref-type="fig" rid="fig2">Figure 2</xref>) [<xref ref-type="bibr" rid="scirp.102676-ref22">22</xref>].</p><p>A generic CBR case is:</p><p>C j = ( p j , a j ) (1)</p><p>where,</p><p>p j = { S A j , C A j , M j , T j } (2)</p><p>a j = { a j 1 , a j 2 , ⋯ , a j x } (3)</p><p>S A j = { S A j 1 , S A j 2 , ⋯ , S A j n } (4)</p><p>C A j = { C A j 1 , C A j 2 , ⋯ , C A j k } (5)</p><p>M j = { M j 1 , M j 2 , ⋯ , M j z } (6)</p><p>T j = { T j 1 , T j 2 , ⋯ , T j y } (7)</p><p>The case C j is composed by the set of parameters p j and the associated set of actions a j . The set of parameters p j includes all the relevant static attributes ( S A j ), context attributes ( C A j ), measurements ( M j ) and tolerances ( T j ) for the problem situation being described.</p><p>The case solution is composed by the set of relevant actions a j to achieve the defined objectives. These actions allow operations or sets of operations that are used to react to a particular problem in the system.</p></sec><sec id="s5_2"><title>5.2. Similarity Function (SF)</title><p>Similarity is a crucial aspect of CBR. A similarity function is used to retrieve similar cases from the case-database when a new case or unsolved case arrives at the system. In summary, a new case or unsolved case is the description of a new problem to be solved.</p><p>Examples of similarity functions include the identification of similarity based on rules, correlation testing, K-nearest-neighbor (KNN) techniques, and the cosine similarity measure, among others [<xref ref-type="bibr" rid="scirp.102676-ref19">19</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref11">11</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref18">18</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref23">23</xref>].</p><p>The similarity function, regardless of the option, requires the definition of the evaluation indexes and their weights for the given real-world problem. The definition of the similarity measures is an actual challenging research problem and has a significant dependency on the target problem [<xref ref-type="bibr" rid="scirp.102676-ref24">24</xref>].</p><p>From the methodological point of view, the similarity function is mapped from the specific objectives and is composed of a set of attributes and measurements with weights that define their priority in the definition of the similarity.</p><p>The similarity of one case to others can, from the methodological point of view, be defined by averaging the distinct similarities of part of the case, for example, a case with three indexed attributes ( x i , x j , x l ) will be similar to another case ( y i , y j , y l ) if the attributes i, j and l of the cases x and y are similar to each other. This partial similarity, by attribute, is called local similarity.</p><p>The local similarity is calculated according to the type of attribute that defines the case, and a specific function can be used for each type of data. The functions used for calculate local similarity, as an example, are ladder function, linear function, equality function, maximum function, intersection function, and contrast function [<xref ref-type="bibr" rid="scirp.102676-ref16">16</xref>].</p><p>The global similarity determines how similar one case is to the other using the values of local similarities to which weights can also be assigned.</p><p>Attributes and measurements have direct and indirect relation with the specific objectives. Consequently, two issues arrive in terms of methodologically mapping of the similarity function parameters: 1) to consider indirect similarities; and 2) to consider similar cases in distinct contexts. Indirect relations must be indexed, and a similar case in distinct contexts must be differentiated by choosing attribute weights adequately.</p></sec><sec id="s5_3"><title>5.3. Evaluation Function (EV)</title><p>The evaluation function is an optional facility that may be included in the CBR operation process. It is not conventionally inserted in the CBR cycle but might be helpful in the CBR operation cycle. The EV is mapped from the objectives, attributes, and tolerances of the concrete model.</p><p>The fundamental idea of using an evaluation function is to interpret the state of the measurements, comparing them with the tolerances defined for the CBR system. It provides a kind of on-the-fly evaluation of the CBR system behavior.</p><p>This function can be used for two purposes: i) to generate periodic warnings and diagnoses of symptoms and alerts detected in the CBR system; and ii) to check if a solution applied to the CBR system meets the objectives (general and specific) and tolerances defined.</p></sec></sec><sec id="s6"><title>6. CBR Operation Process—Hints and How to Do It</title><p>After the mapping from the abstract model to the concrete model with the definition of objectives, attributes, measurements, actions, and cases, the CBR 4R cycle starts (Recover, Reuse, Revision and Retain).</p><p>For each of these steps, some procedures shall be executed by the CBR system. These procedures depend on the actual problem-solving issue focused on the CBR system, but there are commonalities. We explore some of these commonalities to provide a set of hints and possible how to do actions for the operation of CBR systems.</p><sec id="s6_1"><title>6.1. Recover</title><p>The Cycle 4R has as its starting point the recovery phase that retrieves a similar case and evaluates it. This task can be triggered in two different ways: reactively or proactively.</p><p>In reactive mode, an alarm requests analysis triggered by a current problem, to obtain a solution or optimize the system. In proactive mode, the CBR system is activated to check the system’s situation and occasionally propose improvements proactively or a solution.</p><p>When no case returns from the case-database, two procedures are suggested:</p><p>&#183; Use the method assisted by the manager, where he provides a new solution.</p><p>&#183; Use an automated method where the solution is automatically mapped considering the defined objectives or an arbitrary solution is attributed to the current problem. The arbitrary solution attribution corresponds to a brute force learning method.</p></sec><sec id="s6_2"><title>6.2. Revision</title><p>In the review phase, CBR assesses the efficiency of the proposed solution. For the review, it is necessary to wait a specific time until the actions take effect, and the attributes and measurements of the new state of the system are updated.</p><p>In this step, the evaluation function is used to check if the new solution presents improved performance. Without improvements, the new case is considered unsuccessful. The new case, positive or negative, is, by convention, stored in the CBR database.</p><p>After applying the solution, the current and previous attributes and measurements, cannot differ much from the previous state. With a considerable variation, it is not possible to identify whether the system has improved due to the solution adopted or simply because the state of the resources has changed. As adopted in other AI techniques, to use a discount is recommended in these cases.</p><p>Another recommendation is the creation of a configurable equivalence threshold for the cases. The aim is to avoid many very similar cases populating the case-database and contribute to its excessive growth, which results in a performance problem.</p><p>False-positive cases can be negated in the next reuse. For false-negative cases, we suggest a period of validity, both for positive and negative cases, simulating the human forgetfulness of old facts that are rarely used.</p></sec></sec><sec id="s7"><title>7. Using the Abstract and Concrete Models for an CBR-Based Application—Cognitive Management of Bandwidth in Network Links</title><p>We exemplify now how abstract and concrete models can facilitate the definition of the objectives, attributes, measurements, and tolerances to model a CBR-based application.</p><p>The target CBR-based application (BAMCBR) aims to manage bandwidth in links of an MPLS (MultiProtocol Label Switching Network). The link management is executed by a Bandwidth Allocation Model (BAM) that dynamically receives requests for link setup and grants or denies these requests based on the link bandwidth availability in the network [<xref ref-type="bibr" rid="scirp.102676-ref25">25</xref>] [<xref ref-type="bibr" rid="scirp.102676-ref26">26</xref>]. The cognitive management consists of CBR deciding when should the BAM model be changed among a set of options based on network parameters status. Oliveira in [<xref ref-type="bibr" rid="scirp.102676-ref27">27</xref>] has a detailed description of this cognitive management application, and, in this paper, we focus on illustrating how AM and CM can be used to model the CBR application.</p><p>It follows the Abstract Model definition and Concrete Model mappings.</p><sec id="s7_1"><title>7.1. BAMCBR Abstract Model</title><p>The first step in building the abstract (AM) model is the representation of the technological domain with the definition of its objectives, attributes, measurements, and tolerances.</p><sec id="s7_1_1"><title>7.1.1. BAMCBR Tecnological Domain (TD)</title><p>The CBR system’s technological domain is the cognitive management of an MPLS/DS-TE type computer network with bandwidth allocation models (BAMCBR Tool) [<xref ref-type="bibr" rid="scirp.102676-ref27">27</xref>].</p></sec><sec id="s7_1_2"><title>7.1.2. BAMCBR General and Specific Objectives</title><p>The general objective of the BAMCBR is to decide when should the BAM model be changed among a set of BAM model options available based on network link-state performance parameters and input traffic.</p><p>The specific objectives drive the BAM model reconfiguration decision process and are the following:</p><p>1) To maximize link throughput</p><p>2) To minimize link preemption; and</p><p>3) To minimize link devolution.</p><p>It is essential to highlight that only with the expertise about the application domain (BAM model operation [<xref ref-type="bibr" rid="scirp.102676-ref26">26</xref>]) it is possible to know that throughput maximization, preemption, and devolution minimization are management objectives achievable by the reconfiguration of the BAM model [<xref ref-type="bibr" rid="scirp.102676-ref28">28</xref>].</p></sec><sec id="s7_1_3"><title>7.1.3. BAMCBR Static Atributes</title><p>The static attributes are the BAM model static configuration parameters. In the BAMCBR they are the total managed link bandwidth and the configured bandwidth allocate per class of traffic in the link (BC—Bandwidth Constraint [<xref ref-type="bibr" rid="scirp.102676-ref26">26</xref>]).</p></sec><sec id="s7_1_4"><title>7.1.4. BAMCBR Contextual Atributes</title><p>The contextual attributes define the management context, and the modification of these attributes, although less frequent, does reflect the manager’s perception of what he wants from the CBR system. In BAMCBR, the adopted BAM and the tolerances for throughput, preemption, and devolution are the main contextual parameters. Any change on these attributes implies in restarting the CBR learning process.</p></sec><sec id="s7_1_5"><title>7.1.5. BAMCBR Measurement Attributes</title><p>The measurement attributes are the link variables that indicate the link’s performance and state in a given moment. These are measurable dynamic variables belonging to the target CBR system (network link). Examples of measurement attributes used by the BAMCBR tool are link preemption, link devolution, packet loss, LSP (Label Switched Path) request blocking, and link utilization [<xref ref-type="bibr" rid="scirp.102676-ref27">27</xref>].</p></sec><sec id="s7_1_6"><title>7.1.6. BAMCBR Tolerances</title><p>The tolerances represent the accepted values range for attributes in general. Their definition requires expertise in the domain area and they refines the specific objectives. In the BAMCBR, as an example, the management accepts a link utilization of 10% with a 10% tolerance.</p></sec><sec id="s7_1_7"><title>7.1.7. BAMCBR Actions</title><p>The actions correspond to the set of operations used to solve a problem for a certain case. In BAMCBR, the action is to reconfigure the current BAM model among the available options: MAM (Maximum Allocation Model), RDM (Russian Dolls Model) and ATCS (AllocTC-Sharing) models [<xref ref-type="bibr" rid="scirp.102676-ref28">28</xref>].</p></sec><sec id="s7_1_8"><title>7.1.8. BAMCBR Premises</title><p>The premises are the set of problems or states to which a solution is known. For example, when the current BAM is MAM or RDM, and the utilization is less or equal to 50%, the BAM might be reconfigured to ATCS [<xref ref-type="bibr" rid="scirp.102676-ref28">28</xref>].</p></sec></sec><sec id="s7_2"><title>7.2. BAMCBR Concrete Model</title><p>The concrete model (CM) maps the abstract model in the parameters and variables used by the CBR system.</p><sec id="s7_2_1"><title>7.2.1. BAMCBR Case Description</title><p>The case description includes the attributes, measurements and tolerances previously defined in the abstract model. In BAMCBR, it includes BAM models, measurement variables like preemption, utilization, loss, blocking and devolution, and the action options for BAM model change (<xref ref-type="fig" rid="fig3">Figure 3</xref>).</p></sec><sec id="s7_2_2"><title>7.2.2. BAMCBR Case Solution</title><p>The actions set for BAMCBR is to dynamically switch between ATCS, RDM and MAM models [<xref ref-type="bibr" rid="scirp.102676-ref28">28</xref>].</p></sec><sec id="s7_2_3"><title>7.2.3. BAMCBR Evaluation Function</title><p>The evaluation function verifies the actual state of the managed system by comparing the actual case with previous cases using measurements and tolerances defined. For example, it must also be able to verify if a solution applied to the network is closer to the objective than the solution previously adopted. BAMCBR uses the WkNN function to evaluate the current state of the network in relation to other previous states.</p><p>Weights in the evaluation function reflect management expertise. For example, BAMCBR considers that devolution generates a negative impact more significant than preemption, which, in turn, generates a more significant impact than blocking. As such, the weights for devolution, preemption, and blocking are 3, 2, and 1, respectively.</p></sec><sec id="s7_2_4"><title>7.2.4. BAMCBR Similarity Function</title><p>The functions for local and global similarity defined for the BAMCBR tool are indicated in <xref ref-type="table" rid="table1">Table 1</xref>.</p><p>The cut-off threshold is used for recovering similar solutions within similarity equal or superior to the indicated limit. The equivalence threshold limit is used to avoid storing multiple nearly identical solutions at the database and, thus, populated it excessively. In other words, solutions with similarity equal or superior to the equivalence threshold limit are not stored in the CBR database.</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> BAMCBR similarity functions</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Attribute/Measurement</th><th align="center" valign="middle" >Similarity Function</th><th align="center" valign="middle" >Weight</th></tr></thead><tr><td align="center" valign="middle" >BAM Model</td><td align="center" valign="middle" >Equal Function</td><td align="center" valign="middle" >40</td></tr><tr><td align="center" valign="middle" >Throughput</td><td align="center" valign="middle" >Linear Function</td><td align="center" valign="middle" >30</td></tr><tr><td align="center" valign="middle" >Blocking</td><td align="center" valign="middle" >Linear Function</td><td align="center" valign="middle" >30</td></tr><tr><td align="center" valign="middle" >Devolution</td><td align="center" valign="middle" >Linear Function</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle" >Preemption</td><td align="center" valign="middle" >Linear Function</td><td align="center" valign="middle" >20</td></tr><tr><td align="center" valign="middle"  colspan="3"  >Global Similarity Function: WkNN</td></tr><tr><td align="center" valign="middle"  colspan="3"  >Cut-off Threshold 96%</td></tr><tr><td align="center" valign="middle"  colspan="3"  >Equivalence Threshold 98.5%</td></tr></tbody></table></table-wrap></sec></sec></sec><sec id="s8"><title>8. Final Considerations</title><p>The methodological approach to model CBR-based applications uses the definition of an abstract model (AM) that is subsequently mapped in a concrete model (CM).</p><p>The abstract model represents the domain to which CBR is applied and its definition needs essentially the knowledge of an expert in the application domain. The concrete model corresponds to the CBR parameters whose mapping from the abstract model requires CBR expertise. The splitting in two models facilitates the model process and, in addition, allows the allocation of domain and CBR specialists to the distinct phases of the modeling process.</p><p>As such, this proposal’s inherent advantage is that it allows a task division between specialists in the domain and specialist in CBR. This facilitates the modeling process and has the potential to foster the utilization of CBR in an even large number of areas where computer science expertise is less frequent.</p></sec><sec id="s9"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s10"><title>Cite this paper</title><p>Oliveira, E.M., Reale, R.F. and Martins, J.S.B. (2020) A Methodological Approach to Model CBR-Based Systems. Journal of Computer and Communications, 8, 1-16. https://doi.org/10.4236/jcc.2020.89001</p></sec></body><back><ref-list><title>References</title><ref id="scirp.102676-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">Boutaba, R., Salahuddin, M.A., Limam, N., Ayoubi, S., Shahriar, N., Estrada-Solano, F. and Caicedo, O.M. (2018) A Comprehensive Survey on Machine Learning for Networking: Evolution, Applications and Research Opportunities. Journal of Internet Services and Applications, 9, 16. https://doi.org/10.1186/s13174-018-0087-2</mixed-citation></ref><ref id="scirp.102676-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Adadi, A. and Berrada, M. (2018) Peeking inside the Black-Box: A Survey on Explainable Artificial Intelligence (XAI). IEEE Access, 6, 52138-52160. https://doi.org/10.1109/ACCESS.2018.2870052</mixed-citation></ref><ref id="scirp.102676-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Mahdavinejad, M.S., Rezvan, M., Barekatain, M., Adibi, P., Barnaghi, P. and Sheth, A.P. (2018) Machine Learning for Internet of Things Data Analysis: A Survey. Digital Communications and Networks, 4, 161-175. https://doi.org/10.1016/j.dcan.2017.10.002</mixed-citation></ref><ref id="scirp.102676-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Sutton, R.S. and Barto, A.G. (1998) Reinforcement Learning: An Introduction. Adaptive Computation and Machine Learning. MIT Press, Cambridge.</mixed-citation></ref><ref id="scirp.102676-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Parisi, G.I., Kemker, R., Part, J.L., Kanan, C. and Wermter, S. (2019) Continual Lifelong Learning with Neural Networks: A Review. Neural Networks, 113, 54-71. https://doi.org/10.1016/j.neunet.2019.01.012</mixed-citation></ref><ref id="scirp.102676-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Aamodt, A. and Plaza, E. (1994) Case-Based Reasoning: Foundational Issues, Methodological Variations, and System Approaches. AI Communications, 7, 39-59. https://doi.org/10.3233/AIC-1994-7104</mixed-citation></ref><ref id="scirp.102676-ref7"><label>7</label><mixed-citation publication-type="book" xlink:type="simple">Perner, P. (2014) Case-Based Reasoning and the Statistical Challenges II. In: Gruca, A., Czachórski, T. and Kozielski, S., Eds., Man-Machine Interactions 3, Advances in Intelligent Systems and Computing, Springer International Publishing, Cham, 17-38. https://doi.org/10.1007/978-3-319-02309-0_2</mixed-citation></ref><ref id="scirp.102676-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Boukehila, A. and Taleb, N. (2019) Case-Based Approach to Detect Emergence. Proceedings of the 2019 3rd International Conference on Big Data Research, 98-102. https://doi.org/10.1145/3372454.3372484</mixed-citation></ref><ref id="scirp.102676-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Khan, M.J., Hayat, H. and Awan, I. (2019) Hybrid Case-Base Maintenance Approach for Modeling Large Scale Case-Based Reasoning Systems. Human-Centric Computing and Information Sciences, 9, 9. https://doi.org/10.1186/s13673-019-0171-z</mixed-citation></ref><ref id="scirp.102676-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Weglarz, A. and Gilewski, P. (2018) Application of CBR Systems in the Process of Energy Retrofit of Single-Family Detached Houses. MATEC Web of Conferences, 196, Article ID: 02033. https://doi.org/10.1051/matecconf/201819602033</mixed-citation></ref><ref id="scirp.102676-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Osuszek, L. and Stanek, S. (2015) Case Based Reasoning as an Element of Case Processing in Adaptive Case Management Systems. Annals of Computer Science and Information Systems, 6, 217-223. https://doi.org/10.15439/2015F61</mixed-citation></ref><ref id="scirp.102676-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Su, Y.K., Yang, S.J., Liu, K.N., Hua, K.C. and Yao, Q. (2019) Developing a Case-Based Reasoning Model for Safety Accident Pre-Control and Decision Making in the Construction Industry. International Journal of Environmental Research and Public Health, 16, 1511. https://doi.org/10.3390/ijerph16091511</mixed-citation></ref><ref id="scirp.102676-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Choudhury, N. and Begum, S.A. (2016) A Survey on Case-Based Reasoning in Medicine. Proceedings of the International Journal of Advanced Computer Science and Applications, Volume 7, 136-144. https://doi.org/10.14569/IJACSA.2016.070820</mixed-citation></ref><ref id="scirp.102676-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Lopez-Fernandez, H., Riverola, F.F., Reboiro-Jato, M., Glez-Pena, D. and Mendez, J.R. (2011) Using CBR as Design Methodology for Developing Adaptable Decision Support Systems. In: Efficient Decision Support Systems—Practice and Challenges from Current to Future, IntechOpen, London. https://doi.org/10.5772/16923</mixed-citation></ref><ref id="scirp.102676-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Calhau, F.G. and Martins, J.S.B. (2019) A Electric Network Reconfiguration Strategy with Case-Based Reasoning for the Smart Grid. Proceedings of the VIII Brazilian Conference on Intelligent Systems, Salvador, October 2019, 1-6. https://doi.org/10.1109/BRACIS.2019.00116</mixed-citation></ref><ref id="scirp.102676-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Oliveira, E.M., Reale, R.F. and Martins, J.S.B. (2017) Evaluating CBR Similarity Functions for BAM Switching in Networks with Dynamic Traffic Profile. Proceedings of the V International Workshop on Advances in ICT Infrastructure and Services, Paris, January 2017, 1-7.</mixed-citation></ref><ref id="scirp.102676-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Von Wangenheim, A., von Wangenheim, C.G. and Rateke, T. (2013) Raciocínio Baseado em Casos. 2nd Edition, Revisada e Atualizada 07.</mixed-citation></ref><ref id="scirp.102676-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Watson, I. (1999) Case-Based Reasoning Is a Methodology Not a Technology. Knowledge-Based Systems, 12, 303-308. https://doi.org/10.1016/S0950-7051(99)00020-9</mixed-citation></ref><ref id="scirp.102676-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Zhai, Z.Y., Ortega, J.-F.M., Beltran, V. and Martínez, N.L. (2019) An Associated Representation Method for Defining Agricultural Cases in a Case-Based Reasoning System for Fast Case Retrieval. Sensors, 19, 5118. https://doi.org/10.3390/s19235118</mixed-citation></ref><ref id="scirp.102676-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Bergmann, R. and Althoff, K.-D. (1998) Methodology for Building CBR Applications. Case-Based Reasoning Technology, January 1998, 299-326. https://doi.org/10.1007/3-540-69351-3_12</mixed-citation></ref><ref id="scirp.102676-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Weber, R., Proctor, J.M., Waldstein, I. and Kriete, A. (2005) CBR for Modeling Complex Systems. Case-Based Reasoning Research and Development, August 2005, 625-639. https://doi.org/10.1007/11536406_47</mixed-citation></ref><ref id="scirp.102676-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Lamy, J.-B., Sekar, B., Guezennec, G., Bouaud, J. and Séroussi, B. (2019) Explainable Artificial Intelligence for Breast Cancer: A Visual Case-Based Reasoning Approach. Artificial Intelligence in Medicine, 94, 42-53. https://doi.org/10.1016/j.artmed.2019.01.001</mixed-citation></ref><ref id="scirp.102676-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">Lin, K.-S. (2020) A Case-Based Reasoning System for Interior Design Using a New Cosine Similarity Retrieval Algorithm. Journal of Information and Telecommunication, 4, 91-104. https://doi.org/10.1080/24751839.2019.1700338</mixed-citation></ref><ref id="scirp.102676-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Kwon, N., Song, K., Park, M., Jang, Y.J., Yoon, I. and Ahn, Y. (2019) Preliminary Service Life Estimation Model for MEP Components Using Case-Based Reasoning and Genetic Algorithm. Sustainability, 11, 3074. https://doi.org/10.3390/su11113074</mixed-citation></ref><ref id="scirp.102676-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Reale, R.F., da Costa Pinto Neto, W. and Martins, J.S.B. (2011) AllocTC-Sharing: A New Bandwidth Allocation Model for DS-TE Networks. Proceedings of the VII Latin American Network Operations and Management Symposium, Quito, October 2011, 1-4.</mixed-citation></ref><ref id="scirp.102676-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Martins, J., Bezerra, R., Reale, R. and Dur&amp;atilde;es, G. (2015) Uma Vis&amp;atilde;o Tutorial dos Modelos de Aloca&amp;atilde;o de Banda como Mecanismo de Provisionamento de Recursos em Redes IP/MPLS. Revista de Sistemas e Computa&amp;atilde;o, 5, 144-155.</mixed-citation></ref><ref id="scirp.102676-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">Oliveira, E.M., Reale, R.F. and Martins, J.S.B. (2018) Cognitive Management of Bandwidth Allocation Models with Case-Based Reasoning-Evidences towards Dynamic BAM Reconfiguration. Proceedings of the IEEE International Symposium on Computers and Communications, June 2018, 1-7. https://doi.org/10.1109/ISCC.2018.8538667</mixed-citation></ref><ref id="scirp.102676-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Reale, R., Bezerra, R. and Martins, J. (2014) A Preliminary Evaluation of Bandwidth Allocation Model Dynamic Switching. International Journal of Computer Networks and Communications, 6, 131-143. https://doi.org/10.5121/ijcnc.2014.6311</mixed-citation></ref></ref-list></back></article>