“…[REQ1] [F] Fetch datasets from different data repositories to access heterogeneous datasets that store multimodal educational data [Di Mitri, 2020] [REQ2] [F] Unify all the datasets into a single file format [Di Mitri, 2020, Di Mitri et al, 2019a [REQ3] [F] Consider structured and organized CI in the data processing pipeline to support contextaware data processing , Shankar et al, 2019 [REQ4] [F] Process multimodal educational data using a standard data processing pipeline , Di Mitri et al, 2019a, Shankar et al, 2019, Di Mitri et al, 2019b, Hassan et al, 2021 [F] Export output data file in a set of file formats, so that stakeholders can get the data file in their required format [Di Mitri, 2020, Di Mitri et al, 2019a, Shankar et al, 2019 [REQ6] [NF] Support modularity in data processing, so that the complexity of multimodal educational data processing can be broken down [Di Mitri et al, 2019a, Shankar et al, 2019, Hassan et al, 2021, Spikol et al, 2018 [REQ7] [NF] Support modifiability in different components, so that developers do not need to develop them from scratch , Di Mitri et al, 2019a, Shankar et al, 2019 Table 1: A list of functional and non-functional requirements for CIMLA [F -Functional, NF -Non-Functional] To start with the architectural design of CIMLA, we followed a development architectural viewpoint [Woods and Rozanski, 2005] because MMLA developers are the main stakeholders to be supported by CIMLA. Moreover, we followed the Separation-of-Concerns (SoC) architectural design principle to divide the different interests involved in the challenge of developing a context-aware MMLA solution [Hürsch and Lopes, 1995].…”