**Figure 2.**

*System concept for the adaptive playout of CQs with CQPs [29].*

*Dynamic and Adaptive Playout of Competency-Based Learning Games Based on Data… DOI: http://dx.doi.org/10.5772/intechopen.105513*

plugin types, the sub-plugins, and the dependencies. In **Figure 2**, the three components, namely core, plugin, and subsystems, are represented [50]. The Moodle concept is explained in more detail in [50].

The functionality of a subsystem can be partially enabled or disabled by configuration. As an example, it serves the package CQs, which contain the functionality of the CQs. The plugin component [54] contains optional components that extend the basic functionality of Moodle. Plugins such as QBL4Moodle are optional components. The QBL4Moodle plugin contains a bidirectional communication relationship realized via core hacks [50]. To check the course prerequisites, the corresponding interfaces, described in Section 2, query the respective CQs of an individual learner from the CQP [29, 50]. To combine the dynamic outplay of courses in [24] with the learners' CQP [23], the implementation of [23, 55] has to extend the way that the just described interface is called when the CQ-checks are executed. Additionally, it has to be ensured that the checks and the interface work with the same structure of the CQs—either the one Moodle provides or the one QBL4Moodle provides [29, 50].

To export CQs from the CQP, a representational state transfer (REST) [56] interface needs to be provided. A web service called "QBL personal qualification profiles" must be added to the plugin QBL4Moodle. The web service is named "local\_qbl\_datastructures\_personal\_ profiles," according to Moodle naming conventions for web services. This provides the functions that a client can call, such as an educational game [23, 50]. To export the CQP, an IMS LIP document containing the CQs is generated from a personal CQP. As a container of all competence/qualifications instances (CQIs) [17, 18] in the CQP, it summarizes them. To import a CQ to a CQP, an xAPI statement must contain all the necessary information to generate a CQI. To identify a single learner, a personal e-mail address is used prerequisite; the address is not used in multiple user accounts. The following structure of the IRI [47] is defined for the object: "qblm://CQI/<CQF Unique identifier>>/<CQS Unique identifier>>/<PL>>." By specifying the unique identifiers for CQF and CQS and a PL, a CQI can be generated and entered in a personal CQP [23, 50].
