The degree of flexibility concerns basically the degree of liberty accorded to each agent to realise or not the different dialogue moves with which they are provided at a given stage of the interaction. Thus turn taking can be constrained or not ; the system can force the two agents to agree on each step before to perform the next one, or leave them marking agreement or disagreement only when they consider it is relevant ; the topic shifts can be constrained or not ; the system can force the two agents to come to a decision at one point before moving on to another, … and so on. The degree of flexibility is often determined by technological constraints/limitations. However, in HCCLS, ideally the degree of flexibility should be determined on pedagogical grounds. For example, a designer may decide to "script" the interaction in particular ways (e.g. forcing the student to explain each domain-level proposal) because such 'inflexibility' is viewed as potentially promoting reflection and learning.