11institutetext: Indian Institute of Technology Ropar, Punjab, India. 11email:
<EMAIL_ADDRESS>
22institutetext: Indian Institute of Technology Jodhpur, Rajasthan, India.
22email<EMAIL_ADDRESS>
33institutetext: Birla Institute of Technology and Science Pilani, Rajasthan,
India.
33email<EMAIL_ADDRESS>
# Training Software Engineers for Qualitative Evaluation of Software
Architecture

Ritu Kapur Sumit Kalra 1122 Kamlesh Tiwari 33 Geetika Arora 33

###### Abstract

A software architect uses quality requirements to design the architecture of a
system. However, it is essential to ensure that the system’s final
architectural design achieves the standard quality requirements. The existing
architectural evaluation frameworks require basic skills and experience for
practical usage, which the novice software architects lack.

We propose a framework that enables novice software architects to infer the
system’s quality requirements and tactics using the software architectural
block-line diagram. The framework does not assume any specific type of
architectural diagrams. It takes an image as input, extracts various
components and connections, and maps them to viable architectural patterns,
followed by identifying the system’s corresponding quality attributes (QAs)
and tactics. The framework includes a specifically trained machine learning
model based on image processing and semantic similarity methods to assist
software architects in evaluating a given design by a) evaluating an input
architectural design based on the architectural patterns present in it, b)
lists out the strengths and weaknesses of the design in terms of QAs, c)
recommends the necessary architectural tactics that can be embedded in the
design to achieve the lacking QAs.

To train our framework, we developed a dataset of 2,035 architectural images
from fourteen architectural patterns such as Client-Server, Microservices, and
Model View Controller, available at
https://www.doi.org/10.6084/m9.figshare.14156408. The framework achieves a
Correct Recognition Rate of 98.71% in identifying the architectural patterns
with fourteen classes. We evaluated the proposed framework’s effectiveness and
usefulness by using controlled and experimental groups, in which the
experimental group performed approximately 150% better than the controlled
group. The experiments were performed as a part of the Masters of Computer
Science course in an Engineering Institution.

###### Keywords:

Architectural evaluation Design diagram Architectural pattern Tactics Views
Quality attributes Architectural pattern matching Software Engineering
Education Software Engineering Courses

##  1 Introduction

Software development generally begins with the specification of the functional
and non-functional requirements of the software. Both the functional and non-
functional requirements are listed in the requirements specification of
software. The inter-dependency of the functional and non-functional
requirements makes both critical for software quality. The non-functional
requirements are specified as quality attributes (QAs), such as performance,
security, and reliability. The functional requirements model the functional
correctness of a software, while the non-functional requirements capture the
degree to which a software achieves the intended functionality [10].

QAs have been termed as reusable architectural building blocks used in
developing an application architecture [22]. However, in order to embed the
QAs in software design, one implements various software tactics. For instance,
_authentication_ tactic is incorporated into a software design to attain
_security_ ; _queues_ are incorporated to attain better _performance_ , and so
on. The design choices made by software developers among various architectural
patterns and their tactics determine the software quality.

Novice software architects often lack the knowledge and expertise of using
various software tactics to embed different software patterns in an
architecture. Further, traditional teaching methods do not provide much
opportunity to teach the design essentials and their effective implementation
to the novice software architects [9, 34]. Thus, it becomes challenging to
make adequate design decisions in selecting the appropriate design
alternatives while developing a software. However, while performing a software
architecture evaluation (SoftArchEval), it becomes essential to validate if a
particular software design fulfills the required QAs and meet the necessary
quality standards.

###  1.1 Motivation

Broadly, the prime objective of our work is to develop a framework that:

  1. 1.

Given an input architectural design image, determines and lists the QAs it
meets or lacks, and

  2. 2.

Recommends the relevant software tactics to achieve the lacking QAs.

For instance, the pipe and filter architectural pattern distributes a task’s
processing into various independent sub-tasks and is thus primarily used to
attain performance, availability, and reliability. Timely detection of
software quality by analyzing its architectural design can lower the overall
defect-fixing cost [18]. Some of the critical questions in this context could
be:

  1. 1.

What are the significant QAs and tactics associated with architectural design?

  2. 2.

How to evaluate the architectural designs using QAs?

  3. 3.

What are the necessary architectural tactics to achieve various QAs?

  4. 4.

Is there any automated method to detect the standard architectural patterns
present in an architectural design?

  5. 5.

Given an input architectural design image, is it possible to detect the QAs it
captures or lacks in and the necessary tactics that can be implemented to
achieve the lacking QAs?

This paper addresses these questions via an in-depth examination of QAs
associated with various architectural design patterns and the necessary
tactics to implement them.

###  1.2 Broad Idea of our work

Figure 1: Broad idea of the proposed approach

Fig. 1 illustrates the central idea underlying our approach:

  1. 1.

Every software has an architectural design, which comprises one or more
patterns.

  2. 2.

Similar software designs can be identified using the existing Image Similarity
detection techniques.

  3. 3.

Every architectural pattern may incorporates several software tactics. For
instance, the _pipe-and-filter pattern_ incorporates _fault detection,_
_recovery,_ and _performance_ tactics by various design concepts, such as ping
(or echo), active redundancy, shadowing, spare, and so on.

  4. 4.

Successful execution of software tactics leads to the fulfillment of QAs. For
instance, the successful execution of recovery and performance tactics leads
to the _availability,_ _reliability,_ and _maintainability_ of QAs.

  5. 5.

Software quality is defined as the degree to which a system, component, or
process meets the specified requirements [11].

  6. 6.

Software QAs metrics can be used to measure software quality.

##  2 Related Work

###  2.1 Broad Categorization of SoftArchEval methods

A broad categorization of the existing evaluation methods [1, 12] is as
follows:

  1. 1.

_Questioning methods_ comprise asking qualitative questions on an architecture
derived from the software quality aspect. These can be used to evaluate the
quality of any given architecture and are classified as follows:

    1. (a)

_Scenario:_ It is a sequence of steps involving the use or modification of the
system. It provides a means to characterize how well a particular architecture
responds to the demands placed on it by those scenarios.

    2. (b)

_Questionnaire:_ It is a list of general and relatively open questions
applicable to all architectures. The questions generally cover various topics,
such as the architectural generation method or the architectural description
details.

    3. (c)

_Checklist:_ It is a detailed list of questions developed after evaluating a
domain-specific set of systems.

  2. 2.

_Measuring methods_ comprise quantitative measurements made on the
architecture by addressing specific QAs, and have the following salient types:

    1. (a)

_Experience-based methods:_ These are based on the experiential knowledge of
the experts [8].

    2. (b)

_Metrics-based methods:_ Metrics are termed as the quantitative
interpretations of some observable measurements on architectural elements,
such as the fan-in/ fan-out of various components. The metrics-based
evaluations focus on the metrics values extracted from various architectural
components while considering the assumptions involved in such metrics [37].

    3. (c)

_Mathematical modeling-based methods:_ These comprise mathematical proofs and
methods for evaluating the operational QAs, such as the performance and
reliability of architectural components [35].

    4. (d)

_Simulations, prototypes, and experiment-based methods:_ Simulations,
prototypes, and experimental results are often a part of the software
development process and play an important role in answering various questions
during software reviews. For instance, simulation results can be used to
validate specific assertions. However, this tends to be an expensive approach
if a prototype is specifically developed to perform the evaluation [5].

###  2.2 Generic SoftArchEval works

The _scenario-based Architectural Analysis method (SAAM)_ [20] was introduced
in 1993 to describe and analyze the software architecture based on various
QAs. It was stated that software architectural analysis could help detect
software defects in the early phases of software development, reducing the
overall cost. With the emphasis on different QAs, different SAAM versions were
developed. For instance, SAAM majorly focused on modifiability, while _SAAM-
founded on Complex Scenarios (SAAMCS)_ [24] which was an extension of SAAM
emphasized on flexibility. Similarly, _Extending-SAAM by Integration in the
domain (ESAAMI)_ [30] is an improved version of SAAM, which combines
analytical and reuse concepts and integrates the SAAM in the domain-specific
and reuse-based development process, and _Software Architectural Analysis
Method for Evolution and Re-usability (SAAMER)_ [27] is an extension of SAAM
emphasizing _evolution_ and _reusability_.

_The Architectural Trade-off Analysis Method (ATAM)_[21] provides a framework
for evaluating software architecture concerning multiple QAs, particularly
modifiability, performance, availability, and security. ATAM introduces the
notion of tradeoff among multiple QAs, given a software architectural
description. ATAM requires a software architectural description based on
Kruchten’s “$4+1$” views [23] and requires several views, viz., a dynamic
view, a system view, and a source view. _Quality-Driven Architecture
Derivation and Improvement (QuaDAI)_ [14] is a metrics-based method used for
derivation, evaluation, and improvement of software product architectures
obtained in Software Product Line (SPL) development processes. QuaDAI performs
the evaluations based on a) SPL viewpoints: functional, variability, quality,
transformation, and b) and a process consisting of a set of activities
conducted by model transformations to allow the automatic derivation,
evaluation, and improvement of a product architecture from the SPL
architecture.

###  2.3 Training novice software architects

Some recent works have felt the need of devising better methods for training
software engineers to improve their decision making process [33]. Automated
solutions for software design and development can help improve the decision
making process of novice software architects or undergrad students [17, 32,
18, 19]. However, the existing studies have developed solutions to facilitate
the collaborative decision making process and study the effect on cognitive
and modelling tasks [9]. In some of the existing studies proposing software
solutions for training students, it has been reported to result in a positive
boost of student’s confidence and the improvement of their technical
skills[34].

###  2.4 Recovering Architectural information from design diagrams

The Image Extractor for Architectural Views (IMEAV) [28] is proposed to
extract the architectural views from design images. However IMEAV is only
applicable to Unified Modeling Language (UML) design diagrams, and cannot be
used to detect architectural patterns in other type of design images.
Similarly, most of the other existing studies are focused on the detection of
images based on photographic scenes (based on image depths) [15], Synthetic
Aperture Radar (SAR) images (based on Intensities) [39], or on high-speed
tracking by detection [7]. However, the applications of these works and the
different image types considered differ considerably from architectural design
diagrams. However, it has been validated by some of the existing studies that
SIFT when tuned effectively, acts as an effective image detection technique
[15].

Limitations of the existing works:

  1. 1.

Most of the existing SoftArchEval works consider a subset of QAs for software
evaluations.

  2. 2.

The complexity in the existing SoftArchEval methods limit their use. Also,
there is an overhead of learning the evaluation methods and training the
novice software architect to use them.

  3. 3.

Almost all existing methods require inputs from stakeholders, software
architects, and various experts. The dependency comes with an additional cost
and limits the scope of knowledge to the involved participants’ experience.

  4. 4.

Most of the image datasets are based on photographic scenes or non-
architectural design images.

  5. 5.

To the best of our knowledge, none of the existing works recommend the
necessary software tactics to achieve various QAs. Knowledge of the essential
software tactics used for specific QAs is unexplored in the existing works.

To overcome the limitations listed above, we propose a machine-learning-based
assisting framework for software architectural evaluation that leverages the
knowledge present in architectural images and the relationship between various
architectural patterns and QAs to perform the evaluations. Using the
relationship between various software tactics and QAs, our framework also
recommends the necessary tactics to achieve specific QAs. We have not come
across any work exploring such research direction for architectural evaluation
to the best of our knowledge.

Figure 2: An overview of the proposed method

##  3 Proposed Methodology

Fig. 2 illustrates the essential stages involved in implementing our approach:

  1. 1.

Dataset development: We developed an Architectural Design Patterns dataset,
named as ArchPatterns dataset, comprising 2,035 architectural design images
from fourteen different architectural patterns viz., broker, layered, event-
bus, pipe-and-filter, repository, microkernel, microservices, model-view
controller, peer-to-peer, presentation abstraction controller, client-server,
space-based, representational state transfer (REST), and publisher-subscriber.
We considered more than 100 design images in each pattern category. The images
were collected from online sources such as official blogs and technical write-
ups with ground truth. After collecting these images, we manually filtered
them to remove the images not projecting the relevant design patterns or not
of the desired quality. Ground truth for the remaining images is manually
annotated for the training. Images are of three channels with RGB color coding
of different resolutions and sizes. We consider the QAs and sub-QAs listed by
ISO/ IEC 25010 standard as a reference point for our study. The necessary
tactics required to achieve these QAs were derived by reviewing some standard
software architectural reference books [4, 2, 36, 16, 2, 22, 25, 31, 6, 29,
38, 13, 3] and the information is stored in the form of structured tables
available at https://doi.org/10.6084/m9.figshare.14623005. Our ArchPatterns
dataset is publicly shared at https://doi.org/10.6084/m9.figshare.14156408.

  2. 2.

Image Preprocessing and Enhancement: To improve the quality of our images and
remove noise, we preprocessed all the ArchPatterns dataset images and scaled
them to same size. We considered the images of only a considerable resolution
($>=350*350$ pixels) to have an effective image detection and matching.

  3. 3.

Feature Extraction: We extract the image features, software components, their
interconnections, and component labels present in the ArchPatterns dataset. To
speed-up the image matching (or lookup) task during the evaluation stage, we
also store the similarity of an image when compared to all the rest present in
the dataset. We store these image features as a structured dataset, named as
_ImageFeatures_ dataset. We used SIFT [26], a scale-invariant interest point
detector with corner properties at different scales for feature extraction.
SIFT also devises a suitable feature descriptor to uniquely represent the
interest points.

  4. 4.

Image matching and Similarity detection: Every image has multiple and
different numbers of interest points. Interest point descriptors across
different architectural images are subjected to achieve a mutual similarity,
and then the count of matching interest points is used as a similarity measure
between the two architectural images. For instance, if the images A and B
having $N_{a}$ and $N_{b}$ number of SIFT interest points have $N_{ab}$ number
of highly correlated descriptors in common, then the match score is computed
as:

$Score=1-\frac{N_{ab}}{min(N_{a},N_{b})}$ (1)

Each image in the database is matched with all other database images to obtain
a dis-similarity score during testing. The images belonging to the same
architectural pattern are expected to have a low score, whereas those
belonging to different pattern classes have a high score value. The matching
score of every pair of images is obtained, and the score list is sorted in
increasing order of dis-similarity. Further, for a given query architectural
image, the most similar architectural image in the database is determined, and
the corresponding label is assigned to the query image. The suitability of
SIFT lies in the fact that the method builds a scale-space pyramid and only
chooses prominent feature points that appear in all scales. By this, it
achieves scale-invariance, which is a much-needed property for the
architecture images. The same is evident from the result of achieving a higher
correct recognition rate (CRR), which is defined as the percentage of images,
out of total images, for which the recognition is correct at Rank-1 retrieval.
Suppose out of $n$ test images, $x$ images are found to be true matches at
Rank-1, then:

$CRR=(x/n)\times 100$ (2)

  5. 5.

Software Architecture Design Evaluation:  When a software architect starts
evaluating an architectural design image using our framework, the steps
involved are:

    1. (a)

_Feature extraction_ of the image as described in Step 3.

    2. (b)

Using the extracted features, the _image matching and similarity detection_ is
performed to determine the top-similar match from the _ImageFeatures_ dataset.
This step provides the necessary information about the most-likely
architectural pattern prominent in the considered design image.

    3. (c)

_Architectural Evaluation:_ The software architect can then conclude about the
strengths and weaknesses of the design (in terms of QAs) using our knowledge-
based provided in the form of tables (discussed in the Section 3). The
software architect can then work in the direction of improving the design by
implementing the necessary tactics as listed by the tables.

##  4 Experimental System

The essential objective of our work lies in improving the decision making
process of software architects by improving the understanding behind software
architectural patterns, QAs, and tactics. We achieve our goal by providing a
framework for supporting the architectural design decision making process
where:

  * •

The framework’s _image detection and matching module_ helps the novice
software architects in determining the software architectural patterns in a
design, and

  * •

The framework’s _knowledge-base_ present in the form of tables provides the
necessary information of the software tactics required to embed various QAs in
the design.

The research questions that guide this study are:

  1. 1.

What is our framework’s highest CRR in identifying the software architectural
design patterns?

  2. 2.

How does our framework impact the decision making process of the software
architects?

Figure 3: Effect of the number of classes on the CRR

###  4.1 Experimental setting and results analysis for image matching

Architectural images in our database are scaled to the size $100\times 100$.
We followed the one-vs-rest matching strategy where each image in the database
is matched with all the remaining images to obtain the matching score. Since
we have 2,035 images in the database, we obtained 4133088 scores that contain
337958 genuine and 3795130 imposter matching scores. Our framework achieves a
Correct Recognition Rate (CRR) of 17.51% in identifying the architectural
patterns when all the classes have been considered. However, CRR keeps
increasing when fewer classes are considered and 75.52% when architectural
images of any two classes are compared. The highest CRR obtained with our
framework is 98.71%. The change in CRR value with a change in the number of
classes is annotated and depicted using the graph shown in the Fig. 3. Here,
the classes represent the architectural patterns (discussed in Section 3)
considered in this work.

###  4.2 Experimental setting for the experiments with software architects

As part of a post-graduate course on Software and Data Engineering, we
identified 64 suitable participants for this study such that 30 participants
were selected who were having IT industry exposure of more than one year and
rest of the 34 participants were not having any industry exposure or less than
one year experience. All the participants were taught IEC/ISO 25010 Software
Quality Models and Design Patterns through online class lectures. To conduct
the study, we divided each of this group in equal halves and formed controlled
and experimental groups as shown in Table 1. During the experiment, all the
participants were provided the access to course lectures and teaching material
on ISO 25010 and Design Patterns. However, for the experimental group, an
additional access to the image-processing tool interface and the knowledge
base was also provided. This was done to study the impact on decision making
process due to our framework’s support.

Table 1: Groups and participants

Participant Type or Group | Type of Experimental Setting
---|---
Experimental | Controlled
Without Industry Experience | 17 | 17
With Industry Experience | 15 | 15

###  4.3 Evaluation Metrics

The proposed system provides QA analysis for a given architectural diagram of
a software system. To evaluate the proposed framework’s effectiveness, we
conducted experiments by sharing the generated QA analysis with experimental
group participants and compared the performance with control group
participants. As part of the experiment, we ask the following questions:

  1. 1.

_Accuracy:_ How accurately experimental group participants performed in terms
of QA analysis’s correctness compared to the control group participants?

  2. 2.

_Time Performance:_ Is there any improvement in the time taken to analyze a
given software architectural diagram by the experimental group participants
compared to control group participants?

  3. 3.

_Explainability:_ How much appropriate reasoning/ explanation was provided for
the experimental group’s analysis compared to the control group participants?

  4. 4.

_Robustness:_ How many different architectural patterns can be processed more
accurately with the help of the proposed system by the experimental group
compared to the control group? We selected architectural diagrams from 14
categories of architectural patterns. Our framework is extendable and can
consider more categories given the corresponding data for architectural
diagrams and descriptions.

Figure 4: Performance Metrics

###  4.4 Procedure

As part of our experiments, we distributed various architectural diagrams to
the controlled group and the experimental group. Each of the participants was
given 28 architectural diagrams, two from each of the 14 categories. We asked
them to identify the significant architectural components, patterns, and
overall system properties (quality attributes and tactics) perceived by them
after analyzing the architectural diagrams without any additional documents.
The participants were free to use any other information source available to
them with appropriate citations. We manually evaluated all the assignment
responses and scored them based on the following parameters for each
architectural diagram to measure the accuracy and explainability:

  1. 1.

The number of components and their characteristics correctly identified.

  2. 2.

The number of connections and their characteristics correctly identified.

  3. 3.

The number of design patterns correctly identified with justification.

  4. 4.

The number of quality attributes correctly identified with justification.

  5. 5.

The number of architectural tactics correctly identified with justification.

We also asked each participant to share the time spent on the evaluation of
each architectural image to measure the time performance.

###  4.5 Results and Discussion

Each of the box plot graphs shown in Fig. 4 represents the distribution of
actual values at a minimum value, 25 percentile, 75 percentile, and maximum
values, respectively. The Groups of participants are annotated as:

  * •

Controlled group with Industrial Experience: Cont_With_Ind

  * •

Controlled group without Industrial Experience: Cont_WithO_Ind

  * •

Experimental group with Industrial Experience: Exp_With_Ind

  * •

Experimental group without Industrial Experience: Exp_WithO_Ind

####  4.5.1 Accuracy and Explainability

The responses of each candidate and inference outcome of the automated model
were evaluated by teaching assistants manually for their accuracy.

Salient Observations:

  1. 1.

The Controlled group without Industrial Experience, i.e., the group without
Industrial Experience and without the help of our framework performs the
worst, while the Experimental Group With Industrial Experience performs the
best achieving an highest accuracy of 94.37%.

  2. 2.

As the accuracy of Exp_With_Ind group is more than the accuracy of
Exp_WithO_Ind, and a similar trend is observed in case of controlled groups,
it can be concluded that the accuracy of the group improves with the help of
our framework.

  3. 3.

The improvement in accuracy as observed in the category of the candidates
Without Industrial experience, viz., Cont_WithO_Ind to Exp_WithO_Ind is huge
(48.9% on average). Therefore, our framework contributes significantly in
improving the design decision process of the novice software architects.

  4. 4.

The accuracy improvement in case of candidates with prior industrial
experience, viz., Cont_With_Ind to Exp_With_Ind is 8.42%, and thus is
beneficial in improving the decision process of industrial experts as well.

Inference: It is evident that the usage of our proposed model to evaluate the
architectural designs reduces the variation in the results and, at the same
time, increases the overall correctness of the responses. The explainability
score indicates that the experimental group participants are performing better
than the controlled group participants.

####  4.5.2 Time Performance

The results depicted in the time boxplots of the figure validate that the
experimental group performed far better than the controlled group and took
lesser time in evaluation the architectural designs (47.8% improvement on
average). Further, the use of the proposed approach helped speed up the
evaluation process (37.82% for novice architects and 62.2% for experienced
architects). Hence, it shows that using the proposed approach will help novice
and experienced candidates to evaluate the architectural designs in lesser
time as compared to when performed withour our framework’s support. Also, the
use of our framework leads to results with limited variation in the responses
in terms of time, efforts, and accuracy.

Critical Reasoning: The time improvement is more in case of experienced
architects, which might imply that using the proposed framework experts were
able to evaluate the design diagrams in a considerable lesser time. The
reduced variation the results leads to an increase in the certainty in effort
and time estimation for the architectural evaluation tasks, and help in better
resource and cost planning.

####  4.5.3 Robustness

We included the robustness parameter to avoid bias due to candidates’ prior
experience in the control and experimental groups. Candidates might be good at
evaluating the architectural patterns that they have worked with in the past.
This parameter analyzed whether a candidate could answer with higher accuracy
across the different categories of architectural design images. To measure
this parameter, we aggregated each candidate’s score for each category and
calculated the percentage of categories for which they have scored more than
80%. As shown in the robustness boxplots, the experimental group shows a
better hold on robustness than the controlled group (158.6% average
improvement). The largest improvement was observed from the Cont_WithO_Ind
group to Exp_WithO_Ind of 1953.85%, with the respective average robustness
scores as 0.65 vs. 13.35.

Inference: A significant improvement in robustness scores for the novice
architects signifies that the framework helps them to understand and evaluate
the design diagrams from different architectural patterns effectively. It also
in a way validates that the framework is not biased to support the decision
making process of any specific architectural pattern type.

##  5 Threats to validity

Several threats affect the validity of this work. Firstly, the scope of our
work is limited only to the considered set of architectural patterns. Our
framework cannot detect the patterns not considered currently and thus does
not comment about their QAs or tactics. However, this can be overcome by
extending our study for the left-out architectural patterns by appending the
dataset with appropriate images.

Secondly, the images have been acquired from the web, which calls for many
challenges, such as size or resolution variation, illumination variation,
blurriness, noise, and color in the images, affecting the overall process;
because feature extraction is primarily dependent on the quality of the
images. Therefore, manual filtering for removing the images not projecting the
considered patterns and low quality is performed.

Further, the pre-processing of acquired images is done in order to enhance
them for better feature extraction. Another threat could be the use of OCR in
the mapping procedure. The images can have labels written in various font
styles and sizes, or it could be the case that some images may contain
handwritten labels. Many independent variables were used in these models,
which could affect the accuracy of predictions. However, we used step-wise
techniques to identify the optimum number of variables for the models and
tested multi-col-linearity models. These risks were partially mitigated using
a classic N-cross-fold validation to evaluate the models and demonstrated that
they were generalizable.

Lastly, the experiments conducted with the controlled group and experimental
group may have some limitations. We asked candidates to follow the guidelines
as much as possible to ensure that equivalence among them in terms of
resources available to them. Bigger group size should have been better to
reduce noisy and biased responses from the results. We had to discard the
three submissions from both the groups due to the lack of enough data for
estimating time performance and robustness.

##  6 Conclusion and Future Work

An automated framework to evaluate a software architecture with image
processing, and inference from the QA knowledge-base is quite helpful. It
reduces the variation among responses and increases the accuracy across the
multiple categories of architectural patterns. Further, the effectiveness of
architecture image matching could be improved by exploring graph-based
techniques on a larger image dataset that can connect vision components and
determine combinatorial similarity. Possible improvements using OCR methods
could be explored for better handling of design artifacts and handwritten
annotations. These improvements will help increase the explainability of our
framework and improve the overall model’s robustness. Developing the framework
in the form of a full-fledged automated application for community use is a
part of our future work. We are currently working on the system prototype and
are planning to add more architectural knowledge artifacts to increase the
effectiveness of this approach and provide more advanced recommendations.

## References

  * [1] Abowd, G., Bass, L., Clements, P., Kazman, R., Northrop, L.: Recommended best industrial practice for software architecture evaluation. Tech. rep., Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst (1997)
  * [2] Bachmann, F., Bass, L., Klein, M.: Deriving architectural tactics: A step toward methodical architectural design. Tech. rep., Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst (2003)
  * [3] Bachmann, F., Bass, L., Nord, R.: Modifiability tactics. Tech. rep., CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST (2007)
  * [4] Bass, L., Clements, P., Kazman, R.: Software architecture in practice. Addison-Wesley Professional (2003)
  * [5] Bengtsson, P., Bosch, J.: Scenario-based software architecture reengineering. In: Proceedings. Fifth International Conference on Software Reuse (Cat. No. 98TB100203). pp. 308–317. IEEE (1998)
  * [6] Bi, T., Liang, P., Tang, A.: Architecture patterns, quality attributes, and design contexts: How developers design with them. In: 2018 25th Asia-Pacific Software Engineering Conference (APSEC). pp. 49–58. IEEE (2018)
  * [7] Bochinski, E., Eiselein, V., Sikora, T.: High-speed tracking-by-detection without using image information. In: 2017 14th IEEE International Conference on Advanced Video and Signal Based Surveillance (AVSS). pp. 1–6. IEEE (2017)
  * [8] Bosch, J.: Design and use of software architectures: adopting and evolving a product-line approach. Pearson Education (2000)
  * [9] Capilla, R., Zimmermann, O., Carrillo, C., Astudillo, H.: Teaching students software architecture decision making. In: European Conference on Software Architecture. pp. 231–246. Springer (2020)
  * [10] Chung, L., Nixon, B.A., Yu, E., Mylopoulos, J.: Non-functional requirements in software engineering, vol. 5. Springer Science & Business Media (2012)
  * [11] Committee, I.S.C., et al.: Ieee standard glossary of software engineering terminology (ieee std 610.12-1990). los alamitos. CA: IEEE Computer Society 169 (1990)
  * [12] Dobrica, L., Niemela, E.: A survey on software architecture analysis methods. IEEE Transactions on software Engineering 28(7), 638–653 (2002)
  * [13] Fielding, R.T., Taylor, R.N.: Architectural styles and the design of network-based software architectures, vol. 7. University of California, Irvine Irvine (2000)
  * [14] González-Huerta, J., Insfrán, E., Abrahão, S.: Defining and validating a multimodel approach for product architecture derivation and improvement. In: International Conference on Model Driven Engineering Languages and Systems. pp. 388–404. Springer (2013)
  * [15] Jin, Y., Mishkin, D., Mishchuk, A., Matas, J., Fua, P., Yi, K.M., Trulls, E.: Image matching across wide baselines: From paper to practice. International Journal of Computer Vision 129(2), 517–547 (2021)
  * [16] Kalra, S., Prabhakar, T.: Towards dynamic tenant management for microservice based multi-tenant saas applications. In: Proceedings of the 11th Innovations in Software Engineering Conference. pp. 1–5 (2018)
  * [17] Kapur, R., Sodhi, B.: Towards a knowledge warehouse and expert system for the automation of sdlc tasks. In: 2019 IEEE/ACM International Conference on Software and System Processes (ICSSP). pp. 5–8. IEEE (2019)
  * [18] Kapur, R., Sodhi, B.: A defect estimator for source code: Linking defect reports with programming constructs usage metrics. ACM Transactions on Software Engineering and Methodology (TOSEM) 29(2), 1–35 (2020)
  * [19] Kapur, R., Sodhi, B., Rao, P.U., Sharma, S.: Using paragraph vectors to improve our existing code review assisting tool-cruso. In: 14th Innovations in Software Engineering Conference (formerly known as India Software Engineering Conference). pp. 1–11 (2021)
  * [20] Kazman, R., Bass, L., Abowd, G., Webb, M.: Saam: A method for analyzing the properties of software architectures. In: Proceedings of 16th International Conference on Software Engineering. pp. 81–90. IEEE (1994)
  * [21] Kazman, R., Klein, M., Barbacci, M., Longstaff, T., Lipson, H., Carriere, J.: The architecture tradeoff analysis method. In: Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No. 98EX193). pp. 68–78. IEEE (1998)
  * [22] Kim, S., Kim, D.K., Lu, L., Park, S.: Quality-driven architecture development using architectural tactics. Journal of Systems and Software 82(8), 1211–1231 (2009)
  * [23] Kruchten, P.B.: The 4+ 1 view model of architecture. IEEE software 12(6), 42–50 (1995)
  * [24] Lassing, N., Rijsenbrij, D., van Vliet, H.: On software architecture analysis of flexibility, complexity of changes: Size isn’t everything. In: Proceedings of the second Nordic Software Architecture Workshop (NOSA’99) Ronneby, Sweden, 1999 (1999)
  * [25] Li, S., Zhang, H., Jia, Z., Zhong, C., Zhang, C., Shan, Z., Shen, J., Babar, M.A.: Understanding and addressing quality attributes of microservices architecture: A systematic literature review. Information and Software Technology p. 106449 (2020)
  * [26] Lowe, D.G.: Object recognition from local scale-invariant features. In: Proceedings of the seventh IEEE international conference on computer vision. vol. 2, pp. 1150–1157. Ieee (1999)
  * [27] Lung, C.H., Bot, S., Kalaichelvan, K., Kazman, R.: An approach to software architecture analysis for evolution and reusability. In: Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research. p. 15 (1997)
  * [28] Maggiori, E., Gervasoni, L., Antúnez, M., Rago, A., Díaz Pace, J.A.: Towards recovering architectural information from images of architectural diagrams. Jornadas Argentinas de Informática e Investigación Operativa (JAIIO)(Argentina) 43 (2014)
  * [29] Mark, R.: Software architecture patterns-understanding common architecture patterns and when to use them (2015)
  * [30] Molter, G.: Integrating saam in domain-centric and reuse-based development processes. In: Proceedings of the 2nd Nordic Workshop on Software Architecture, Ronneby. pp. 1–10 (1999)
  * [31] Osses, F., Márquez, G., Astudillo, H.: Exploration of academic and industrial evidence about architectural tactics and patterns in microservices. In: Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. pp. 256–257 (2018)
  * [32] Panichella, S.: Supporting newcomers in software development projects. In: 2015 IEEE International Conference on Software Maintenance and Evolution (ICSME). pp. 586–589 (2015). https://doi.org/10.1109/ICSM.2015.7332519
  * [33] Pinto, G., Ferreira, C., Souza, C., Steinmacher, I., Meirelles, P.: Training software engineers using open-source software: the students’ perspective. In: 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering Education and Training (ICSE-SEET). pp. 147–157. IEEE (2019)
  * [34] Pinto, G.H.L., Figueira Filho, F., Steinmacher, I., Gerosa, M.A.: Training software engineers using open-source software: the professors’ perspective. In: 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE&T). pp. 117–121. IEEE (2017)
  * [35] Reussner, R.H., Schmidt, H.W., Poernomo, I.H.: Reliability prediction for component-based software architectures. Journal of systems and software 66(3), 241–252 (2003)
  * [36] Scott, J., Kazman, R.: Realizing and refining architectural tactics: Availability. Tech. rep., CARNEGIE-MELLON UNIV PITTSBURGH PA SOFTWARE ENGINEERING INST (2009)
  * [37] Selby, R.W., Reimer, R.M.: Interconnectivity analysis for large software systems. In: Proceedings of the California Software Symposium. pp. 3–17 (1995)
  * [38] Trowbridge, D.: Integration patterns. Microsoft Press (2004)
  * [39] Ye, Y., Shen, L., Hao, M., Wang, J., Xu, Z.: Robust optical-to-sar image matching based on shape properties. IEEE Geoscience and Remote Sensing Letters 14(4), 564–568 (2017)


# Esports Agents with a Theory of Mind: Towards Better Engagement, Education,
and Engineering

Murtuza N. Shergadwala<EMAIL_ADDRESS>University of California, Santa
Cruz1156 High StreetSanta CruzCalifornia95064USA and  Magy Seif El-Nasr
<EMAIL_ADDRESS>University of California, Santa Cruz1156 High StreetSanta
CruzCalifornia95064USA

(2021)

###### Abstract.

The role of AI in esports is shifting from leveraging games as a testbed for
improving AI algorithms to addressing the needs of the esports players such as
enhancing their gaming experience, esports skills, and providing coaching. For
AI to be able to effectively address such needs in esports, AI agents require
a theory of mind, that is, the ability to infer players’ tactics and intents.
To that end, in this position paper, we argue for human-in-the-loop approaches
for the discovery and computational embedding of the theory of mind within
behavioral models of esports players. We discuss that such approaches can be
enabled by player-centric investigations on situated cognition that will
expand our understanding of the cognitive and other unobservable factors that
influence esports players’ behaviors. We conclude by discussing the
implications of such a research direction in esports as well as broader
implications in engineering design and design education.

theory of mind, esports, player modeling, player cognition, human-in-the-loop

††copyright: acmcopyright††journalyear: 2021††conference: CHI 2021: ACM CHI
Conference on Human Factors in Computing Systems; May 08–13, 2021; Yokohama,
Japan††booktitle: CHI 2021: ACM CHI Conference on Human Factors in Computing
Systems, May 08–13, 2021, Yokohama, Japan††price: 15.00††ccs: Human-centered
computing User models††ccs: Human-centered computing HCI theory, concepts and
models

##  1\.  AI in esports

The use of AI technologies to enhance gaming experience of esports players is
booming (Risi and Preuss, 2020). Such technologies span player-centric use
cases such as enabling players to automatically import other expert player’s
team compositions(Senpai.gg, 2021), providing them their game play statistics,
and strategy suggestions to maximize their learning potential (Omnicoach.gg,
2021). AI agents are also being used as decision-support tools to generate
team compositions to enable players to practice with different teams as well
as predict success metrics and win probabilities (Hodge et al., 2017, 2019).

Although current AI technologies have advanced to provide game analytics (El-
Nasr et al., 2016) to esports players, the player-centric needs in esports go
beyond suggesting heuristics and enabling team compositions (Weiss and
Schiele, 2013). Such needs include gaining skills such as understanding
players’ gameplay strategies, feeling a degree of sharedness in strategy with
other team members, being able to infer opposing team’s strategic plans, and
to identify and act on opportunities within diverse situational contexts.
Currently, players hope to satisfy such needs by gaining expertise through
practice with human competitors not AI agents (Freeman and Wohn, 2017).
Freeman and Wohn (Freeman and Wohn, 2017) discuss that the desire to play with
human players by esports players stems from the technical concern of AI agents
lacking versatility. Such versatility includes the humanistic ability to
interpret others’ intentions, beliefs, knowledge, and mental states from
observable data which is referred to as the theory of mind (Premack and
Woodruff, 1978).

In the context of esports environments, typically characterized as multi-agent
environments, the theory of mind is routinely leveraged by human players to
reason about other players who may be teammates or competitors. Understanding
others’ intents and plan can be crucial to both cooperate and compete at the
same time. In order for AI agents to facilitate such understanding, they too
would require the theory of mind. Thus, developing computational esports
agents with a theory of mind has not only the potential to alleviate the
current concerns by esports players about AI agents (Freeman and Wohn, 2017)
but also has several benefits such as improving player engagement,
performance, and collaboration skills (Bard et al., 2020). Moreover, esports
agents with a theory of mind act as testbeds for broader impact in intelligent
tutoring for education (Millis et al., 2017), discovery of human expertise in
collaboration (Pluss et al., 2019) which in turn would influence collaboration
in engineering design teams (Larsson, 2003), and development of theories for
human-AI collaboration (Wang et al., 2020).

Endowing esports agents with a theory of mind is challenging due to several
reasons. First, it is challenging to make inferences on unobservable factors
such as intents and beliefs of others (Baker et al., 2009). Due to the
inherent unobservability of such aspects, there is a lack of quantitative data
as well as approaches to generate such data about player intent, beliefs, and
desires. Second, computational models of the theory of mind (Baker et al.,
2011; Yoshida et al., 2008) are in their infancy and cannot be directly
applied in the context of esports due to the sheer complexity of esports
environments. This includes players making inferences about multiple
unobservable aspects such as individual-level beliefs and intents, team-level
beliefs and intents, as well as situational inferences for opportunistic
planning. Third, there is a lack of esports player-centric investigations that
can shed light on the mental processes of players that implicitly leverage
such unobservable factors to influence players’ gameplay actions (Pedraza-
Ramirez et al., 2020). Thus, there is a need to investigate cognitive and
situational factors that influence esports players’ gameplay behaviors towards
understanding their theory of mind.

In this position paper, we argue for human-in-the-loop (HITL) approaches for
player-centric investigations towards developing computational models of
esports agents with a theory of mind. We expand on this position statement
such that we discuss (1) the current approaches for developing computational
models of esports player behaviors and the research gaps towards understanding
esports players’ situated cognition, (2) the need for HITL approaches that
integrate qualitative and quantitative inputs into the computational process
of modeling intent, strategies, and tactics as a graphical probabilistic
model, and (3) the implications of such approaches on esports and other
broader implications.

##  2\. Current approaches to modeling esports player behavior

Player modeling, also termed as opponent modeling in some contexts (van den
Herik et al., 2005), refers to the abstraction of a player’s state,
characteristics, and behaviors in the game (Machado et al., 2011a; van den
Herik et al., 2005). There also exists a taxonomy for the characteristics of
the player that are modeled which includes a player’s knowledge, position,
strategy, and satisfaction about the game (Machado et al., 2011a, b). The
emphasis of modeling such player characteristics using AI agents has primarily
been on generating believable behaviors (Afonso and Prada, 2008) towards
enabling human-AI interaction, improving player engagement, and customizing a
game to address player needs (Fürnkranz, 2007; Bakkes et al., 2012; Risi and
Preuss, 2020). However, there is a lack of focus on player models that
abstract player cognition and mental processes.

Approaches to player modeling, broadly fall under model-based, model-free, and
hybrid approaches (Yannakakis et al., 2013). Model-based approaches leverage
theory mostly pertaining to human emotions for generating believable behaviors
(Yannakakis and Togelius, 2015). Model-free approaches assume some unknown
functional mapping and leverage machine learning approaches such as
Reinforcement Learning (RL) and Neural Networks to mimic player behaviors
using data. Hybrid approaches leverage a combination of theory and data to
model player behaviors (Machado et al., 2011a). Recently, researchers extended
RL models to represent dynamic decision-making processes within complex
stochastic environments (Jaderberg et al., 2019). Further, OpenAI made great
strides in beating DotA2 human players using RL (Berner et al., 2019). Such AI
agents have been built using hybrid approaches and have been able to win games
against human players. However, esports players’ needs go beyond just winning
the game to needs such as wanting to improve their gameplay skills (Freeman
and Wohn, 2017).

Improvement in esports skills requires coaching in the form of detection and
explanation of strategies from observation of players’ gameplay. While current
advancements in player modeling can lead to complex and robust agents, they
are limited in how they can be used to detect and explain tactics and intent
from observed real-world human behaviors (Nguyen et al., 2014). This is
because such models lack representation of unobservable factors that influence
player behavior such as their cognition and prior knowledge. Model-free
approaches for player behavior do account for unobservable factors through
latent parameter modeling (Wang, 2018), such parameters are typically
arbitrary and lack physical significance to the actual gameplay to derive
meaningful explanations of player intent or strategies. Such abilities are the
core competencies of the theory of mind, which is crucial for esports players
to collaborate with team members as well as develop counter strategies to
defeat opposing teams. Moreover, such detection and explanation of strategies
is essential for esports coaching.

Existing literature in computational cognitive psychology has demonstrated the
benefits of computationally embedding the theory of mind to address topics
such as plan recognition (Baker and Tenenbaum, 2014), belief modeling (Baker,
2012), and intent recognition (Sukthankar et al., 2014). Such works
demonstrate the ability to perform mental simulations of others’ situation-
dependent activities. While such works have made progress towards enabling a
computational approach to the theory of mind, its application within esports
is limited.

Computationally embedding the theory of mind in esports agent is still
challenging due to several research gaps. First, there is a lack of player-
centric investigations on the unobservable factors that players leverage while
making decisions in esports gameplay. Such investigation will need to adopt
HITL approaches to probe the mental processes of esports players. Second, in
the context of esports, understanding intent and strategies is further
complicated as players replan, behavior correct, and adopt opportunistic
behaviors. Third, situational variations in esports environments are plenty
and there is a lack of framework that enables capturing such variations in
esports. To address such gaps, in the following section we argue for HITL
approaches and elaborate how it would enable embedding theory of mind in
esports agents.

##  3\. Towards a theory of mind in Esports: The case for human-in-the-loop
approaches

HITL approaches imply leveraging cognitive power of humans to improve
computational models (Nunes et al., 2015). Such approaches are crucial for
complex situations where human expertise is required to make inferences
(Holzinger, 2016). HITL approaches enable development of socially intelligent
agents, that is, agents with theory of mind capabilities (Dautenhahn, 1998).
HITL is also foundational in areas such as Interactive Machine Learning (Fails
and Olsen Jr, 2003) to improve algorithmic predictive accuracy. Another area
of relevance is open-learner models (Dimitrova, 2003) where learners are the
HITL who interact with computational models towards improving their
understanding, involvement, and interaction with the learning environment. We
assert that such HITL approaches can also be leveraged within esports to
develop AI agents with a theory of mind that is capable of inferring intents
and strategies of players and enabling esports coaching.

In the context of esports, we envision players would integrate qualitative and
quantitative inputs into the computational models of esports players as a
graphical probabilistic model. We argue that HITL approaches will enable
players to interactively correct the computational model’s probabilities as
well as nodes that make up the graphical model. Thus, such approaches would
enable players to computationally embed their theory of mind capabilities.
Currently, however, there is lack of frameworks, methods, and infrastructure
to enable players-in-the-loop to encapsulate their thoughts computationally.

In order to facilitate HITL approaches in esports, we require player-centric
investigations on cognitive factors and mechanisms that influence players’
gameplay. Existing literature in esports recognizes the need for such
investigations as well (Gray, 2017; Pedraza-Ramirez et al., 2020). Player-
centric cognitive investigations would enable the development of a cognitive
taxonomy of esports players. Such a taxonomy would provide different classes
of cognitive variables and situational contexts that can be leveraged as
blueprints to create a computational infrastructure for efficiently enabling
HITL approaches to infer and embed cognitive and unobservable factors. In
other words, player-centric investigations of cognitive mechanisms of their
gameplay would provide a structure for HITL approaches to efficiently embed
player’s theory of mind in AI agents.

For cognitive investigations in esports, we argue for a situated cognition
perspective. Situated cognition posits that knowing is inseparable from doing
(Brown et al., 1989) such that knowledge resides within the situations and
activities bound to social, physical and cultural contexts. In the context of
esports, such a view is relevant because leveraging the players to make
inferences about mental states would deepen our understanding of how such
players infer intent and tactics as well as improve their gameplay skills by
encountering variations in gameplay situation.

Our HITL approach for cognitive investigations of esports players is to
leverage players to label mental states of observed behaviors using
Stratmapper (Ahmad et al., 2019)\- our visualization system designed to
visualize user actions, such as moving the mouse on an interface or map.
Further, StratMapper allows us to filter events and use freeform text to label
behaviors indicating the time and spatial contexts. Using the generated
labels, we will apply a qualitative content analysis method to categorize
various cognitive and situational factors such as player attention and intent.
Moreover, expert players will be interviewed about their labeling choices to
further understand the cognitive mechanisms. We note that we do not prescribe
our approach for investigating cognitive mechanisms of player behaviors.
Rather we emphasize the need for understanding cognitive mechanisms in esports
by developing HITL approaches in esports.

We emphasize that player-centric investigations of cognitive mechanisms acts
as a stepping stone towards enabling HITL approaches for embedding theory of
mind in computational agents. Further challenges remain such as developing the
computational infrastructure to efficiently capture the intricacies of
situational contexts and behavioral variations in esports, addressing
scalability to enable a player community to contribute to the computational
models, and developing validation approaches to evaluate the impact of such
models on esports player outcomes.

##  4\. Implications of Embedding theory of mind in Esports

In this position paper, we highlight the need to embed theory of mind
capabilities of players within AI models to enable reasoning about players or
other AI agents in the game environment. We argue for HITL approaches that
combine computation and cognition such that the computational representation
of mental states is reflective of player cognition and not an arbitrary
representation of latent variables. We discuss the implications of such
research both within the context of esports and the broader implications in
serious games for education and engineering design in the context of human-AI
collaboration.

###  4.1. Within Esports

Endowing esports agents with a theory of mind will result in a paradigm-shift
in the way esports player interact with AI agents which could manifest in
novel innovative gameplay experiences. Beyond player-agent interaction, AI
agents would act as intelligent tutoring systems for esports that would
improve player expertise and skills in a personalized manner beyond simple
heuristics and other player specific strategies. Such AI agents would improve
believability of the gameplay experience, thereby, impacting game narratives
and creative story telling as well.

###  4.2. Broader Implications: Engineering Design and Design Education

While the implications of AI agents with a theory of mind on human-computer
interaction are plenty, we focus on the impact of esports research on
engineering design and design education. We highlight the similarity of
spatio-temporal interaction in esports with engineering applications such as
Computer Aided Design (CAD) as well as the similarity of esports player
behaviors to engineering designers.

In esports, players collaborate in teams, make sequential and dynamic
decisions, interact with their spatial environment, and their strategies
evolve temporally as the gameplay proceeds. Similarly, engineering design
teams collaboratively make domain-specific decisions (Hazelrigg, 1998) that
involve interacting with a design environment and their strategies evolve as
they move from conceptual design stage to the later stages of an engineering
design process (Simon, 1988). We note that domain knowledge and problem-
specific aspects of the engineering design process influence design outcomes
(Shergadwala et al., 2018b; Shergadwala et al., [n.d.]). Such aspects are
difficult to teach as a part of the engineering education curricula
(Shergadwala et al., 2018a). The understanding of the design of AI agents with
a theory of mind that would assist esports players in discovering strategies
could also be leveraged by engineering design teams. Such teams would
collaborate better by understanding individual team member’s approach towards
problem solving facilitated by the AI agent. Moreover, such agents could act
as intelligent tutors for engineering design students to enable them
explicitly understand the impact of their procedural decision making and
problem solving strategies on design outcomes.

## References

  * (1)
  * Afonso and Prada (2008) Nuno Afonso and Rui Prada. 2008.  Agents that relate: Improving the social believability of non-player characters in role-playing games. In _International Conference on Entertainment Computing_. Springer, Berlin, Heidelberg, 34–45.
  * Ahmad et al. (2019) Sabbir Ahmad, Andy Bryant, Erica Kleinman, Zhaoqing Teng, Truong-Huy D. Nguyen, and Magy Seif El-Nasr. 2019.  Modeling Individual and Team Behavior through Spatio-Temporal Analysis. In _Proceedings of the Annual Symposium on Computer-Human Interaction in Play_ (Barcelona, Spain) _(CHI PLAY ’19)_. Association for Computing Machinery, New York, NY, USA, 601–612.  https://doi.org/10.1145/3311350.3347188
  * Baker et al. (2011) Chris Baker, Rebecca Saxe, and Joshua Tenenbaum. 2011\.  Bayesian theory of mind: Modeling joint belief-desire attribution. In _Proceedings of the annual meeting of the cognitive science society_ , Vol. 33.  Retrieved from https://escholarship.org/uc/item/5rk7z59q.
  * Baker (2012) Chris Lawrence Baker. 2012\.  _Bayesian theory of mind: Modeling human reasoning about beliefs, desires, goals, and social relations_.  Ph.D. Dissertation. Massachusetts Institute of Technology.
  * Baker et al. (2009) Chris L Baker, Rebecca Saxe, and Joshua B Tenenbaum. 2009\.  Action understanding as inverse planning.  _Cognition_ 113, 3 (2009), 329–349.
  * Baker and Tenenbaum (2014) Chris L Baker and Joshua B Tenenbaum. 2014.  Modeling human plan recognition using Bayesian theory of mind.  _Plan, activity, and intent recognition: Theory and practice_ 7 (2014), 177–204.
  * Bakkes et al. (2012) Sander CJ Bakkes, Pieter HM Spronck, and Giel van Lankveld. 2012.  Player behavioural modelling for video games.  _Entertainment Computing_ 3, 3 (2012), 71–79.
  * Bard et al. (2020) Nolan Bard, Jakob N Foerster, Sarath Chandar, Neil Burch, Marc Lanctot, H Francis Song, Emilio Parisotto, Vincent Dumoulin, Subhodeep Moitra, Edward Hughes, et al. 2020\.  The hanabi challenge: A new frontier for ai research.  _Artificial Intelligence_ 280 (2020), 103216.
  * Berner et al. (2019) Christopher Berner, Greg Brockman, Brooke Chan, Vicki Cheung, Przemysław Debiak, Christy Dennison, David Farhi, Quirin Fischer, Shariq Hashme, Chris Hesse, et al. 2019\.  Dota 2 with large scale deep reinforcement learning.  _arXiv preprint arXiv:1912.06680_ (2019).
  * Brown et al. (1989) John Seely Brown, Allan Collins, and Paul Duguid. 1989\.  Situated cognition and the culture of learning.  _Educational researcher_ 18, 1 (1989), 32–42.
  * Dautenhahn (1998) Kerstin Dautenhahn. 1998\.  The art of designing socially intelligent agents: Science, fiction, and the human in the loop.  _Applied artificial intelligence_ 12, 7-8 (1998), 573–617.
  * Dimitrova (2003) Vania Dimitrova. 2003\.  STyLE-OLM: Interactive open learner modelling.  _International Journal of Artificial Intelligence in Education_ 13, 1 (2003), 35–78.
  * El-Nasr et al. (2016) Magy Seif El-Nasr, Anders Drachen, and Alessandro Canossa. 2016\.  _Game analytics_.  Springer.
  * Fails and Olsen Jr (2003) Jerry Alan Fails and Dan R Olsen Jr. 2003.  Interactive machine learning. In _Proceedings of the 8th international conference on Intelligent user interfaces_. 39–45.
  * Freeman and Wohn (2017) Guo Freeman and Donghee Yvette Wohn. 2017.  eSports as an emerging research context at CHI: Diverse perspectives on definitions. In _Proceedings of the 2017 CHI conference extended abstracts on human factors in computing systems_. 1601–1608.
  * Fürnkranz (2007) Johannes Fürnkranz. 2007\.  Recent advances in machine learning and game playing.  _ÖGAI Journal_ 26, 2 (2007), 19–28.
  * Gray (2017) Wayne D Gray. 2017\.  Game-XP: Action games as experimental paradigms for cognitive science.
  * Hazelrigg (1998) George A Hazelrigg. 1998\.  A framework for decision-based engineering design.  (1998).
  * Hodge et al. (2017) Victoria Hodge, Sam Devlin, Nick Sephton, Florian Block, Anders Drachen, and Peter Cowling. 2017\.  Win prediction in esports: Mixed-rank match prediction in multi-player online battle arena games.  _arXiv preprint arXiv:1711.06498_ (2017).
  * Hodge et al. (2019) Victoria J Hodge, Sam Michael Devlin, Nicholas John Sephton, Florian Oliver Block, Peter Ivan Cowling, and Anders Drachen. 2019\.  Win prediction in multi-player esports: Live professional match prediction.  _IEEE Transactions on Games_ (2019).
  * Holzinger (2016) Andreas Holzinger. 2016\.  Interactive machine learning for health informatics: when do we need the human-in-the-loop?  _Brain Informatics_ 3, 2 (2016), 119–131.
  * Jaderberg et al. (2019) Max Jaderberg, Wojciech M Czarnecki, Iain Dunning, Luke Marris, Guy Lever, Antonio Garcia Castaneda, Charles Beattie, Neil C Rabinowitz, Ari S Morcos, Avraham Ruderman, et al. 2019\.  Human-level performance in 3D multiplayer games with population-based reinforcement learning.  _Science_ 364, 6443 (2019), 859–865.
  * Larsson (2003) Andreas Larsson. 2003\.  Making sense of collaboration: the challenge of thinking together in global design teams. In _Proceedings of the 2003 international ACM SIGGROUP conference on Supporting group work_. 153–160.
  * Machado et al. (2011a) Marlos C Machado, Eduardo PC Fantini, and Luiz Chaimowicz. 2011a.  Player modeling: Towards a common taxonomy. In _2011 16th international conference on computer games (CGAMES)_. IEEE, 50–57.
  * Machado et al. (2011b) Marlos C Machado, Eduardo PC Fantini, and Luiz Chaimowicz. 2011b.  Player Modeling: What is it? How to do it?  _Proceedings of SBGames_ (2011).
  * Millis et al. (2017) Keith Millis, Carol Forsyth, Patricia Wallace, Arthur C Graesser, and Gary Timmins. 2017\.  The impact of game-like features on learning from an intelligent tutoring system.  _Technology, Knowledge and Learning_ 22, 1 (2017), 1–22.
  * Nguyen et al. (2014) Truong-Huy D Nguyen, Shree Subramanian, Magy Seif El-Nasr, and Alessandro Canossa. 2014.  Strategy Detection in Wuzzit: A Decision Theoretic Approach. In _International Conference on Learning ScienceWorkshop on Learning Analytics for Learning and Becoming a Practice_.
  * Nunes et al. (2015) David Sousa Nunes, Pei Zhang, and Jorge Sá Silva. 2015\.  A survey on human-in-the-loop applications towards an internet of all.  _IEEE Communications Surveys & Tutorials_ 17, 2 (2015), 944–965.
  * Omnicoach.gg (2021) Omnicoach.gg. 2021\.  Omnicoach.GG - AI Coach with Video Guides for Gaming.  https://www.omnicoach.gg/.  [Online; accessed 12-Feb-2021].
  * Pedraza-Ramirez et al. (2020) Ismael Pedraza-Ramirez, Lisa Musculus, Markus Raab, and Sylvain Laborde. 2020.  Setting the scientific stage for esports psychology: a systematic review.  _International Review of Sport and Exercise Psychology_ 13, 1 (2020), 319–352.
  * Pluss et al. (2019) Matthew A Pluss, Kyle JM Bennett, Andrew R Novak, Derek Panchuk, Aaron J Coutts, and Job Fransen. 2019\.  Esports: the chess of the 21st century.  _Frontiers in psychology_ 10 (2019), 156.
  * Premack and Woodruff (1978) David Premack and Guy Woodruff. 1978.  Does the chimpanzee have a theory of mind?  _Behavioral and brain sciences_ 1, 4 (1978), 515–526.
  * Risi and Preuss (2020) Sebastian Risi and Mike Preuss. 2020.  From chess and atari to starcraft and beyond: How game AI is driving the world of AI.  _KI-Künstliche Intelligenz_ 34, 1 (2020), 7–17.
  * Senpai.gg (2021) Senpai.gg. 2021\.  SenpAI.GG - AI Coach with Video Guides for Gaming.  https://www.senpai.gg/.  [Online; accessed 12-Feb-2021].
  * Shergadwala et al. (2018b) Murtuza Shergadwala, Ilias Bilionis, Karthik N Kannan, and Jitesh H Panchal. 2018b.  Quantifying the impact of domain knowledge and problem framing on sequential decisions in engineering design.  _Journal of Mechanical Design_ 140, 10 (2018).
  * Shergadwala et al. (2018a) Murtuza Shergadwala, Ilias Bilionis, and Jitesh H Panchal. 2018a.  Students as sequential decision-makers: Quantifying the impact of problem knowledge and process deviation on the achievement of their design problem objective. In _International Design Engineering Technical Conferences and Computers and Information in Engineering Conference_ , Vol. 51784. American Society of Mechanical Engineers, V003T04A011.
  * Shergadwala et al. ([n.d.]) Murtuza Shergadwala, Karthik N Kannan, and Jitesh H Panchal. [n.d.].  Understanding the impact of expertise on design outcome: An approach based on concept inventories and item response theory. In _ASME 2016 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference_. American Society of Mechanical Engineers Digital Collection.
  * Simon (1988) Herbert A Simon. 1988\.  The science of design: Creating the artificial.  _Design Issues_ (1988), 67–82.
  * Sukthankar et al. (2014) Gita Sukthankar, Christopher Geib, Hung Hai Bui, David Pynadath, and Robert P Goldman. 2014\.  _Plan, activity, and intent recognition: Theory and practice_.  Newnes.
  * van den Herik et al. (2005) H Jaap van den Herik, HHLM Donkers, and Pieter HM Spronck. 2005\.  Opponent modelling and commercial games.  _Proc. IEEE_ (2005), 15–25.
  * Wang et al. (2020) Dakuo Wang, Elizabeth Churchill, Pattie Maes, Xiangmin Fan, Ben Shneiderman, Yuanchun Shi, and Qianying Wang. 2020.  From Human-Human Collaboration to Human-AI Collaboration: Designing AI Systems That Can Work Together with People. In _Extended Abstracts of the 2020 CHI Conference on Human Factors in Computing Systems_. 1–6.
  * Wang (2018) Tian Wang. 2018\.  Predictive Analysis on eSports Games: A Case Study on League of Legends (LoL) eSports Tournaments.  (2018).
  * Weiss and Schiele (2013) Thomas Weiss and Sabrina Schiele. 2013.  Virtual worlds in competitive contexts: Analyzing eSports consumer needs.  _Electronic Markets_ 23, 4 (2013), 307–316.
  * Yannakakis et al. (2013) Georgios N Yannakakis, Pieter Spronck, Daniele Loiacono, and Elisabeth André. 2013.  Player modeling.  (2013).
  * Yannakakis and Togelius (2015) Georgios N Yannakakis and Julian Togelius. 2015.  Experience-driven procedural content generation. In _2015 International Conference on Affective Computing and Intelligent Interaction (ACII)_. IEEE, 519–525.
  * Yoshida et al. (2008) Wako Yoshida, Ray J Dolan, and Karl J Friston. 2008\.  Game theory of mind.  _PLoS Comput Biol_ 4, 12 (2008), e1000254.