According to [3], the privacy control is strongly related to intelligible explanations. Therefore, it is necessary to explain system processes and data usage, to help users to understand the current situation [1]. Context-aware systems are used to support personalization with regard to the current situation of related users. These kinds of systems can be used to provide personalized explanations too. But this is no easy task, because different situations require different explanations which should be made available to the users in the specific situation. This makes it comprehensible for the individual user to understand what has happened in the application and why certain actions are not carried out or lead to an unexpected result, e.g., a common workspace is not created if there are aversions between participants, or an agreement to the data processing is missing that declares an explanation with agreement function. Other situations where the individual characteristics and abilities of the users must be taken into account are may be differences in language style and level of difficulty (e.g., simple language). Also the usage of jargon in notes and help texts for the respective target group is important as well as the provision of data usage reports in accordance with § 15 of the General Data Protection Regulation (GDPR). The challenge of context-based systems is to support the many different situations with personalized explanations. In this paper, we address this challenge. For that, we explain our context-based adaptive system approach and our work in a nutshell. Based on this, we introduce sample scenarios in section 3 to illustrate our approach on how to handle different situations with suitable explanations. In section 4 we describe our explanation building components and process. After the presentation of related work in section 5, we discuss our approach (cf. section 6) and finish with conclusions and future work in section 7. 2 Background We develop an extendable context-based adaptive system environment (eCBASE) as a basis system for the development and integration of domain-specific context-based adaptive applications. eCBASE is designed to support users of the platform and domain-specific applications in a situation-specific way. In addition to the support for the use of the application or the processing of artifacts, the environment should also highlight the legal regulations that apply when using the application and explain the consequences for its use. 2.1 Context-based Adaptive Approach We define a context-based adaptive approach as the provision of an environment that is able to perceive a situation, recognize the need for action and make an adequate adaptation of the system. This should support users in specific situations. In doing so, we address the individual needs of the users through personalized adaptations. In a group or collaboration situation, the system has to find a consent that takes into account the situation and circumstances of the individual group members. Our context-based adaptive system is based on a formal model that we model using an ontology. We developed a core model with all necessary concepts and relationships which represents objects and functionalities within every supported application domain. This model will be extended for different scenarios and application domains at so-called extension points. It provides the basis to represent the context at runtime. For context modelling we use the OWL 2 Web Ontology Language and the generic four-layer framework for modelling context in a collaboration environment and the related collaboration domain model presented in [8]. 2.2 Extendable context-based adaptive system environment eCBASE is a common platform of functions and technologies for providing context-based adaptive and person- alized software applications that can be made available for different domains. In the so-called core system, we model domain-independent and domain-specific objects and relationships as well as fundamental legal aspects, which must be considered in all future domain-specific applications. The design of the legal requirements is passed on to the responsible legal professional of the operating organization or the provider of a domain-specific application. eCBASE provides the necessary formal concepts and basic functions for this which are represented in a legal domain model (cf. [5]). The application domain is the real-world environment and provides the setting in which a software application is used, e.g., online learning platforms (cf. [6]), community applications (cf. [5]), software development tools. Each of these domains (e.g., education, healthcare, software development) has special characteristics that do not exist in other areas. However, they also share a common basis which is necessary for IT-based support, e.g., recording, processing and changing data of objects or persons. Due to that, we call any application domain environment or system and the related requirements as domain-specific application or requirement. 3 Explanations in eCBASE We explain our approach to generating personalized explanations in eCBASE in the following sections. We start with the introduction of a collaboration situation in which users can be supported by personalized explanations. 3.1 Why do we need personalized explanations? A domain-specific context-based adaptive application senses the current situation and decides on the basis of the current available and related instances of the context which adaptation rule should be executed. Due to the adaptations in the applications by the adaptation rules, situations can occur in which the expectations of the users are not fulfilled (e.g., known action-response patterns do not occur, changes cannot be traced or reasons of the behavior are unknown). Therefore, it is necessary to explain system processes and data usage, to help users understand the current situation [1]. ”The dynamic aspect of context implies that it is not possible to plan in advance the whole explanatory dialogue” [1, p. 123]. Therefore, the explanations must be generated in the specific situation. With our context-based approach it is possible to personalize the explanations, because we can gather all information of the users about the current situation through the context model. The personalized explanations shall ”serve to clarify and make something understandable” [7, p. 498] to the user in a specific situation. (1) Situation: (2) Situation: (3) Situation: Fred has situation not confirmed Bob will not work with John Fred will not work with Steve (vice versa) -> ApprovalRequest -> ask Bob for exception -> no collaboration possible Bob Bob Steve Alice Alice Alice Fred John Fred Figure 1: Scenarios Our scenario takes place in an adaptive personalized learning environment (APLE) in which the instructor has specified that groups of three students each have to solve certain course tasks. In our scenario, we assume that a groupspace gets created as soon as three students access the same artifact (i.e. Task A). Figure 1 illustrates three situations in which three users each access the same artifact, what could potentially lead to the creation of a groupspace. Each of these users has personal preferences as shown in Figure 2, which can concern, e.g.,, the type of collaboration (i.e. a shared groupspace; cf. Figure 2, dm:ApplicationFunctionality) and the collaboration partners (cf. Figure 2, dm:GreyList, dm:BlackList). These preferences should be taken into account for ethical and legal reasons when creating the groupspace. … … … … … dm:User = Alice dm:User = Bob dm:User = Fred dm:User = John dm:User = Steve dm:Application = APLE dm:Application = APLE dm:Application = APLE dm:Application = APLE dm:Application = APLE dm:ApplicationFunctionality = dm:ApplicationFunctionality = dm:ApplicationFunctionality = dm:ApplicationFunctionality = dm:ApplicationFunctionality = SharedGroupspace SharedGroupspace ContentRecommendation SharedGroupspace SharedGroupspace dm:Approval = permanent dm:Approval = once dm:Approval = permanent dm:Approval = permanent dm:Approval = permanent Created on: 12.12.2019 18:04 Created on: 12.02.2020 08:29 Created on: 08.02.2020 18:19 Created on: 05.01.2020 16:34 Created on: 01.02.2020 20:34 Limitation: none Limitation: Task_A Limitation: none Limitation: Task_A Limitation: Task_A … dm:GreyList: John, Steve dm:BlackList: Steve … dm:BlackList: Fred … … … Figure 2: Preferences Before the groupspace gets created, the sensing engine gathers information about the current collaboration situation. The adaptation engine uses this information to create the context. It checks whether an adaption is possible or not. Therefore, it evaluates all realted adaptation policies (cf. Figure 3). An adaptation policy consists of a condition (WHEN to DO) and an action block (DO to END). As soon as the condition block evaluates to non null results, the action block gets executed. In [6] we have described how the use of the function for recommending suitable group members is determined by the data processing preferences of the users. As shown in Figure 3 (1), we retrieve all users within the current collaboration situation, the context. We iterate over all users to apply the rule ”Compliance by Design”, i.e. we retrieve the application (getApplica- tionInContext) and the related requirement from the users context (getRequirementInContext) and request an approval for this specific setting (requestApproval ). As soon as the user approves the request, we call create- OrUpdateAcceptedApproval to store the decision in the context and notify the user about this operation. The adaption policy (2) in Figure 3 takes the second scenario (cf. Figure 1 (2)) into account. Therefore we use the context, i.e. the current collaboration situation, to get relevant users (getUsersInContext), retrieve the related task they are working on (getTaskInContext) and retrieve the approvals and preferences. The function getPreferences enables us to retrieve specific context concepts from a users profile, in our sample dm:GreyList. The function getTeam uses the above context concepts and relations to check whether a team can be build or not. In the second scenario we are able to build a team. This leads to the execution of the action block, where related explanations will be created, before we check whether we need an additional confirmation or not (because of the grey list). When no confirmation is required we can open the shared groupspace for this team. To support the third scenario (cf. Figure 1 (3)), we use the adaptation policy (3) in Figure 3. The condition block is similar to adaptation policy (2), despite the retrieval of the concepts dm:BlackList from users preferences. Instances of these concepts indicate that users do not want to collaborate with specific persons. Therefore we have to take care of it. The function getTeam checks whether there are users present in related black lists of other users that should form this team (cf. third scenario). If this is the case, the action block gets triggered. We do not create a team, but we explain the current collaboration situation and create related personalized explanations so that users get aware of it. Scenario 1: The first scenario (cf. Figure 1 (1)) illustrates the situation when Alice and Bob already approved the usage of the SharedGroupspace (an application functionality) for Task A. The third possible group member Fred has no approval for the usage of a SharedGroupspace, what leads to a situation that the adaptation rule ”Compliance by Design” (cf. [5]) creates an approval request (cf. Figure 1, (1)) to notify Fred and to ask him for permission. If Fred allows APLE to use his data for a shared groupspace in this situation, a shared groupspace will be created, otherwise this group cannot collaborate together. The situation can be explained as illustrated in Figure 4, the requested approval and its explanation is on the left of Figure 4. (1) users = getUsersInContext("dm:User") FOREACH user IN users DO (2) WHEN users = getUsersInContext("dm:User") (3) WHEN users = getUsersInContext("dm:User") # rule "Compliance by Design" task = getTaskInContext(users) task = getTaskInContext(users) WHEN apprs = getApprovalsInContext(users, apprs = getApprovalsInContext(users, app = getApplicationInContext(user, "dm:Approval") "dm:Approval") "dm:Application") prefs = getPreferences(users, "dm:GreyList") prefs = getPreferences(users, "dm:BlackList") req = getRequirementInContext(app, team = getTeam(users, apprs, prefs, task) team = getTeam(users, apprs, prefs, task) "dm:Requirement") DO DO appr = requestApproval(user, app, req) expls = createExplanations(team) expls = createExplanations(team) DO IF requiresConfirmation(team) THEN notify(team, expls) createOrUpdateAcceptedApproval(appr) requestConfirmation(team, expls) END notify(user, appr) ELSE END openSharedGroupspace(team, expls) END END END Figure 3: Adaptation Policies Scenario 2: The second scenario illustrate the case, that the user preference of Bob prevents the collaboration between Alice, Bob and John. Bob had a bad experience with John and prefers to not work together with him again (cf. Figure 1, (2) exclamation mark). For that Bob has put John on his grey list (cf. Figure 2, dm:GreyList), which is used to indicate reservations about other users. But the grey list does not express a strict aversion. Therefore, Bob is told that a group could be identified for the group task, but John would be involved. Bob is asked if he would like to work with John to complete the group task this time (cf. Figure 4, center). Scenario 3: This time the users Alice, Steve and Fred are possible group members, but Steve and Fred listed each other on their blacklist (cf. Figure 2, dm:BlackList). This expresses a strict aversion what makes it impossible to create shared groupspace for them (cf. Figure 1, (3)). Alice, Steve and Fred get a notification that currently no collaboration is possible (cf. Figure 4, right). 4 Explanation Builder Components With the generic process presented in [5], we get the relevant information to create the explanations from the context. Figure 4: Samples of personalized explanations Figure 5: Explanation Builder In Figure 5 we show the required components to generate situation-specific personalized explanations for the users. The Adaptation Runtime Environment (ARE) contains the sensing and adaptation engine to apply suitable adaptation policies (AP). Based on the domain model (DM), the sensing rules (SR) are used to generate the state. Applying the contextualization strategies (CS) to the state creates the contextualized state, i.e. the context of the current situation. The contextualized state is used to evaluation the condition blocks of adaptation policies. As soon as an action block can be executed, this is done through the Adaptation Component. To generate personalized explanations, the contextualized state and suitable predefined templates are given to the Explanation Builder. It generates situation-specific explanations which are transferred to the Adaptation Component to create and display a user interface artifact. In Figure 6 we present a rough domain model which contains concepts and relationships to create a contex- tualized state according to the above introduced scenario. The prefix dm is used for common core concepts in eCBASE. For concepts and relationships of the learning management domain, we use the prefix lms. Does the concepts belong to legal regulations domain we use lr . The important core concepts dm:Requirement, dm:Condition and dm:Declaration and their dependen- cies are used to support user control and intelligible explanations. Requirements (dm:Requirement) are conditions for applications and define what an application (dm:Application) or application functionality (dm:ApplicationFunctionality) must check and take into account during processing. The requirements are not stored as a fixed set of rules. Requirements can be related to technical conditions (dm:Technical ), content definition (dm:Content) and/or legal regulations (dm:Legal ). Conditions (dm:Condition) determine what an application (dm:Application) or an application functionality (dm:ApplicationFunctionality) has to consider at runtime and how it should deal with certain situations. The Figure 6: Domain Model set of rules for the conditions is derived from the requirements, who are defined by the experts. Declarations (dm:Declaration) are the interfaces to users which can support comprehensibility and user control. In [6] we illustrated how legal professionals and domain experts can provide explanations for the declarations. Instances of the concept dm:Declaration will be created by the Explanation Builder which conducts the structure of the explanatory dialog and the related information of the specific situation. The purpose of these concepts is to explain What happened? (dm:Requirement), Why did it happened? (dm:Condition) and What kind of explanation should be provided? (dm:Declaration). During application runtime, all of the aforementioned concepts are instantiated for a specific situation, i.e. the context. Using the instances from the current context makes it possible to explain the situations to the users as illustrated in our sample scenario. The extensions in Figure 6 belongs to our scenarios we described above. The students (instances of dm:User ) are present in an online course (lms:Course) with learning material (lms:LearningMaterial ). They do learn- ing activities (lms:LearningActivity) and e.g., work on Task A (instance of lms:Taks), which are artifacts (dm:Artifact) and belong to the passive resources (dm:PassiveResource subclass of dm:Resource) within the application APLE. For that, they use a shared groupspace (lms:SharedGroupspace) that must be created (lms:CreateSharedGroupspace) through an action (dm:Action). The shared groupspace uses personal data (dm:Sensitive) of the students (instances of dm:User ). Due to that, they have to decide (dm:Decision) and approve (dm:Approval ) the data usage before accessing the collaboration situation. If a situation requires an approval, as illustrated with Fred, the lr:ApproveDataUsage action is triggered and provides an explanation as lr:ApprovalRequest. The preferences (dm:Preferences) of the students for the assembling of workgroups are represented as black list (dm:BlackList) and grey list (dm:GreyList). 5 Related Work Supporting intelligibility of complex context-aware systems is the approach of [10]. They point out that intelligi- bility must be accompanied by a control function for the user. Their work focus on an extension of the Context Toolkit. ”The Context Toolkit aims at facilitating the development and deployment of context-aware applica- tions.”1 The extension supports developers and designers who use the Context Toolkit to integrate intelligible explanations and user control while building a context-aware application. For that, they integrate meaningful explanations in the application ”Situation” by exposing the internal processing of context-aware applications. 1 http://contexttoolkit.sourceforge.net Enhancements to the explanation component in the Context Toolkit are presented in [11]. They generate expla- nations of the behavior of more popular machine learning techniques and enriched explanations for user control [10, 11]. It is not known to us that the Context Toolkit supports context-based collaborative environments as well as legal regulations. [8] present a generic four-layer framework for modelling context in a collaboration environment, a generic adaptation process, and a collaboration domain model for describing collaboration environments and collabora- tion situations. [12] implements the framework, using an extended domain model and the related adaptation process. The resulting CONTact platform is able to sense and formalize users’ interaction with the system at runtime, and to adapt according to the user’s current collaboration situation. The adaptation process may confuse users. Therefore, [9] enhanced the platform with context enriched explanations to help them understand the adaptation behavior. The explanations are applied on executed adaptation rules to support the user’s un- derstanding on the intention, terminology and the consequences of the related adaptation rule. For that, [9] use bound variables which are integrated in static explanation blocks of the adaptation rule to add situation-specific information (e.g., time and user) from the context to the explanations. The explanations are available on demand by pushing a button. For further information about the situation possible communication partners are identified and recommended in a buddy list. The provided explanations are tailored to a situation when the adaptation rule gets executed and explain more general aspects of the situation. The explanations are neither personalized to the users circumstances nor support different kinds of explanations. Additionally, the platform does neither support legal regulation nor its integration or explanations about legal conditions. So far, there are no known context-based collaborative systems that support intelligibility for users and legal compliance as our presented approach. 6 Discussion We presented an approach on how to support users with personalized explanations within a context-based adaptive system environment. Our sample scenario used a context-based adaptive learning environment APLE to illustrate how we deal with different collaboratin situations. These situations demand adaptation. We showed related adaptation policies that are capable of recognizing specific collaboration situations motivated by ethical or legal aspects. In our sample scenario, we used different preferences of the involved users and the legal requirements to illustrate it. These constraints can delay or prevent collaboration. Depending on the context, an appropriate strategy for handling the situation through the context-based application must be applied. In the presented approach, we address this challenge with generic adaptation policies and the Explanation Builder. Based on CONTact, our starting platform, eCBASE allows us to handle different collaboration situations, which has already been demonstrated by [12]. The Explanation Builder will use context information to personalize explanations. By integrating legal, content-related and technical requirements into our domain model, we can respond to these requirements (e.g., § 15 GDPR). Descriptions contained in the requirements can be used to create personalized explanations (cf. [5]). 7 Conclusion and Future Work In this paper we presented an approach for collaboration support and personalized explanations in context-based adaptive systems based on the CONTact platform (cf. [12]). For this purpose, we extended the existing domain model of the CONTact platform with concepts and relationships which are needed to support a collaboration situation in APLE. Additionally, we briefly described an explanation building process and the related components to the Explanation Builder. Thereby we haven taken into account the legal requirements and integrated them into the adaptation rules and explanations of eCBASE. To address the introduced challenge about the support of many different situations with personalized expla- nations, we combine the adaptation runtime environment of CONTact with the Explanation Builder to support personalization with regard to the current situation of related users. We illustrated the usage and creation of personalized explanations in our sample scenarios and the related adaptation rules. We described how to create personalized explanations, but we also need to provide intelligible explanations what is a challenging task. To address the intelligibility of explanations a series of user studies needs to be done for each application domain which should be supported by eCBASE. Additionally, we have to find out, when and what is the right situation to provide explanations. Due to that, future work will focus on user interaction design and the way in which texts are formulated. Both must be integrated in eCBASE. Acknowledgements This work was supported by the Research Cluster ”Digitalization, Diversity and Lifelong Learning. Consequences for Higher Education” (D2 L2 ) of the FernUniversität in Hagen funded by the Ministry of Culture and Science of the German State of North Rhine-Westphalia. References [1] Patrick Brezillon, ‘Contextualized explanations’, in Proceedings of International Conference on Expert Sys- tems for Development, pp. 119–124. IEEE, (1994). [2] Anind K Dey, ‘Understanding and using context’, Personal and ubiquitous computing, 5(1), 4–7, (2001). [3] Anind K Dey and Alan Newberger, ‘Support for context-aware intelligibility and control’, in Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, pp. 859–868, (2009). [4] Virginia Dignum, Matteo Baldoni, Cristina Baroglio, Maurizio Caon, Raja Chatila, Louise Dennis, Gonzalo Génova, Galit Haim, Malte S Kließ, Maite Lopez-Sanchez, et al., ‘Ethics by design: necessity or curse?’, in Proceedings of the 2018 AAAI/ACM Conference on AI, Ethics, and Society, pp. 60–66, (2018). [5] Mandy Goram and Dirk Veiel, ‘Supporting privacy control and personalized data usage explanations in a context-based adaptive collaboration environment’, in 11th International and Interdisciplinary Conference, CONTEXT 2019, Trento, Italy, November 20–22, 2019, Proceedings, eds., Gábor Bella and Paolo Bouquet, volume 11939. Springer International Publishing, (2019). [6] Mandy Goram and Dirk Veiel, ‘Linking legal and domain-specific requirements in a context-based adap- tive personalized learning environment’, Procedia Computer Science, 170, 995 – 1002, (2020). The 11th International Conference on Ambient Systems, Networks and Technologies (ANT) / The 3rd International Conference on Emerging Data and Industry 4.0 (EDI40) / Affiliated Workshops. [7] Shirley Gregor and Izak Benbasat, ‘Explanations from intelligent systems: Theoretical foundations and implications for practice’, MIS quarterly, 497–530, (1999). [8] Joerg M. Haake, Tim Hussein, Björn Joop, Stephan Lukosch, Dirk Veiel, and Jürgen Ziegler, ‘Modeling and exploiting context for adaptive collaboration’, International Journal of Cooperative Information Systems (IJCIS), 19(1-2), 71 – 120, (2010). [9] Syed Sajid Hussain, Dirk Veiel, Joerg M. Haake, and Stephan Lukosch, ‘Facilitating understanding team- based adaptation policies’, in The 6th International Conference on Collaborative Computing: Networking, Applications and Worksharing, CollaborateCom 2010, Chicago, IL, USA, 9-12 October 2010, pp. 1–8. IEEE, (2010). [10] Brian Y Lim and Anind K Dey, ‘Toolkit to support intelligibility in context-aware applications’, in Proceed- ings of the 12th ACM international conference on Ubiquitous computing, pp. 13–22, (2010). [11] Brian Y Lim and Anind K Dey, ‘Design of an intelligible mobile context-aware application’, in Proceedings of the 13th international conference on human computer interaction with mobile devices and services, pp. 157–166, (2011). [12] Dirk Veiel, Joerg M. Haake, Stephan Lukosch, and Gwendolyn Kolfschoten, ‘On the acceptance of automatic facilitation in a context-adaptive group support system’, in 46th Hawaii International Conference on System Sciences (HICSS), pp. 509–518. IEEE Computer Society, (1 2013).