domain: math shs

text:
Alejandro S González-Martín
email: gonzalez-martin@umontreal.ca

Irene Biza
email: i.biza@uea.ac.uk

Jason Cooper

Imène Ghedamsi
email: ighedamsi@yahoo.fr

Thomas Hausberger
email: thomas.hausberger@umontpellier.fr

Alon Pinto

Fabrice Vandebrouck
email: fvandebrouck@irem.univ-paris-diderot.fr

Olov Viirman
email: olov.viirman@uia.no

Introduction to the papers of TWG14: University mathematics education

Keywords: University mathematics education, service courses, transition to and from university, mathematics in non-mathematics disciplines, university

Introduction

TWG14 (University Mathematics Education, hereafter UME) was launched in CERME7 [START_REF] Nardi | University Mathematics Education[END_REF] in recognition of the growing area of research in university mathematics education research. This area, although sharing in many cases approaches, methods and research topics with other areas in mathematics education research, has its own distinctiveness: the institutional characteristics at university (or postsecondary education in general) are usually quite different from those in compulsory education and do not always follow national curricular guidelines; the training of teachers (when existing) is also different from the training followed by primary and secondary teachers; there are many cases of classes with a large number of students, and teaching approaches are usually differentthe amount of personal work expected from the students is also much higher; students' personal experience and aims are different than in compulsory education; very often mathematical notions and reasoning are dealt with at a higher level of complexity and abstraction; etc.. The fast growth of this research area, both outside and inside CERME, is evident in the breadth of research publications in this field and was recognized by the ERME community, in inviting the three-year leader of this TWG to present a summary of UME research as a CERME10 plenary lecture [START_REF] Nardi | From advanced mathematical thinking to university mathematics education: a story of emancipation and enrichment[END_REF].

Within CERME, the number of papers submitted to TWG14 has been increasing steadily since its inception. This year, we received a record number of 64 papers, with 47 getting accepted for presentation (of which, 41 are published in the proceedings, together with 17 short contributions). This indicates a substantial increase in comparison to the 31 full and 14 short contributions in TWG14 in CERME9 proceedings [START_REF] Nardi | Introduction to the papers of TWG14: University mathematics education[END_REF]. Additionally, the substantial number of papers led to the split of TWG14 into two isomorphic groups (TWG14A: 23 accepted papers and TWG14B: accepted 24 papers) which ran in parallel and common sessions during the conference. This introductory paper summarises the works presented in both groups, as well as our common discussions.

Outside of CERME, the number of handbook chapters focusing on UME or dedicating some sections to it (from the pioneering [START_REF] Artigue | Mathematics thinking and learning at post-secondary level[END_REF], to the most recent [START_REF] Coupland | Tertiary Mathematics Education[END_REF]Larsen, Marrongelle, Bressoud, & Graham, in press;Rasmussen & Wawro, in press) acknowledges the recognition of this research area for its specificities, as does the launching of the International Journal of Research in Undergraduate Mathematics Education. Moreover, the activities of TWG14 have also led to two major contributions: the creation of the International Network for Didactic Research in University Mathematics (INDRUM) with a bi-year ERME topic conference (see INDRUM2016 andINDRUM2018); and, the publication of a Research in Mathematics Education special issue summarising some of the works presented during CERME7 and CERME8, and discussing the use of institutional, sociocultural and discursive approaches to research in university mathematics education [START_REF] Nardi | Institutional, sociocultural and discursive approaches to research in university mathematics education[END_REF].

In CERME10 we intended to cement and expand further this work, as well as welcoming contributions from across the board of research approaches and topics: the teaching and learning of advanced university mathematics topics (including proof); transition issues "at the entrance" to university mathematics, or beyond; the training of university mathematics teachers; challenges for, and novel approaches to, teaching mathematics at university level (including the teaching of students in non-mathematics degrees); the role of ICT tools and other resources (e.g. textbooks, books and other materials) in the teaching and learning of university mathematics; assessing the learning and teaching of mathematics at university level; collaborative research between university mathematics teachers and researchers in mathematics education; and, theoretical and methodological approaches to research into the teaching and learning of university mathematics.

In the large number of papers received, we identified some continuities, but also some ruptures, with previous iterations of TWG14. For instance, there is still a large number of papers following sociocultural, discursive, and institutional approaches, although a considerable number of papers using cognitive approaches was also present. Moreover, among the papers focusing on a specific mathematical notion, calculus and analysis are still predominant, although we also received papers discussing other topics (such as group theory, linear algebra, or logic). There is also a small but growing number of papers addressing the teaching and learning of more advanced topics, such as algebraic topology, ring theory, and quantum mechanics. The number of papers addressing the use of mathematics as a service course (i.e., mathematical course offered to non mathematics specialists) is still growing, and papers focusing on engineering were again predominant, although we also received papers addressing the use of mathematics by biologists, economists, and physicists. The number of papers addressing teachers' practice, training, and knowledge has also grown considerably, showing the increasing interest that this area of research is gaining. Conversely, papers proposing experimental interventions (in particular, using technology) are still rare in the group. Finally, we note that a larger number of quantitative studies were presented at CERME10 in comparison to previous CERMEs. Among the accepted papers, we could identify six main themes (although we are aware that some papers fit in more than one theme): students' learning of specific topics; students' experience and affective issues; interventions; didactical transposition and use of resources; mathematics for non-mathematicians; and, teachers' practices and knowledge. In what follows, we follow the structure of these themes to summarise the main results presented during the conference. Due to the large number of papers and to space limitation, we have not included the content of the short contributions in the summary.

Themes and paper contributions

Students' learning of specific topics

Nine papers can be seen as contributing to this theme. Aaten, Deprez, Roorda and Goedhart show the difficulties with applying Lithner's framework in order to analyze 'hybrid' types of students' reasoning when solving integration tasks in undergraduate calculus; the authors argue that this framework may need the addition of reasoning types that make use of some kinds of recall. Biza employs Sfard's commognitive framework to investigate first-year students' meaning-making of the tangent line, finding that they engage with analytical, geometrical and algebraic discourses in their substantiations about tangents, sometimes engaging with more than one discourse in the same response, and sometimes separating them across different responses. Chellougui uses Copi's system of natural deduction as a frame to investigate students' difficulties in producing a valid proof in mathematical contexts that involve multiply-quantified statements (e.g. the definition of an order relation in elementary set theory). Hanke and Schäfer use eight categories of mental images of continuity to show that students' mental images of real-valued continuous functions can be expressed by different forms of communication, which, in turn, depend on whether mental images are used or are explicitly verbalized. Juter investigates how students understand continuity and differentiability (and their links) during and after a calculus course, with a focus on students' choices of representations, both espoused and enacted; her study identifies that only students who preferred formal theoretical representations were able to produce formal proofs, as well as a strong coherence between students' espoused and enacted preferences of representations. Mai, Feudel and Biehler study first-year university students' personal concept definition of a vector; they identify several misconceptions and note that a vast majority of students state geometrical concept definitions that are not fully adequate and may cause conflicts in their learning of linear algebra. Ovodenko and Tsamir describe students' grasp of the notion of inflection point, and offer a detailed classification of reasons students offer to identify a point as an inflection point, and a point as a non-inflection point. In the field of abstract algebra, Ioannou studies discursive shifts in year-2 mathematics students' learning of group theory, drawing attention to some commognitive conflicts between the new discourse and other mathematical discourses, including advanced mathematics (e.g. set theory) and high school mathematics. Thoma and Nardi, also taking a commognitive approach, study first-year students' learning of the notion of variable, drawing attention to commognitive conflicts between the notion of variable, and even the notion of number, between school and university mathematics. Both these papers show that university instructors are aware of common student errors, yet they may not be aware of the conflicts that underlie these errors.

Students' experience and affective issues

Eight papers can be seen as contributing to this theme. Using data from questionnaires and exploratory factor analysis (EFA), Anastasakis produces a typology of seven different types of resources that engineering undergraduates use; he refers to the role of tools within Activity Theory and uses also Wartofsky's categorization of artefacts to propose an interpretation of these resources as seven different modes of action in students when studying mathematics, concluding that the way we usually classify resources does not necessarily reflect the way these resources are used by students. In a study of first-year engineering students' note-taking, Andrà uses a narrative approach where students' notes are seen as re-tellings of a story told by the teacher; she focuses on how the students condense the mathematical content in their notes, and what conditions might prompt students to act as 'scribblers' or 'thinkers'. Bampili, Zachariades and Sakonidis conduct an in-depth analysis of one student's process of transition from secondary to tertiary mathematics studies; they consider this transition from a rite of passage perspective, finding connections between the social, academic and mathematical dimensions of the transition, for instance, an interaction between emotions and the student's reconstruction of her mathematical thinking. Griese and Kallweit report on a quantitative analysis of the relationship between patterns of learning behaviour and examination outcome in first-year engineering courses. Kaspersen, Pepin and Sikko describe a quantitative analytical tool for evaluating students' mathematical identities and investigate the relationships between mathematical identities and grades in university mathematical courses. Kürten reports on a preliminary course for engineering students, and shows how this course can be designed to influence students' self-efficacy. Liebendörfer, Hochmuth, Biehler, Schaper, Kuklinski, Khellaf, Colberg, Schürmann and Rothe propose a taxonomy of the goals of 44 mathematical learning support services offered by universities in Germany; the taxonomy suggests a range of educational goals (e.g. learning the language of mathematics or strategies for studying) and system related goals (e.g. reduce dropout rates or increase passing rates). Marmur and Koichu investigate the relationships between key affective events and the mathematical discourse in two university mathematics lessons where two similar problems were considered.

Interventions

Five papers can be seen as contributing to this theme. Fredriksen, Hadjerrouit, Monaghan and Rensaa study the introduction of a flipped classroom approach in an engineering course at a Norwegian university, focusing on the emerging tensions when students are introduced to a novel approach with videos and quizzes; using the Cultural Historical Activity Theory (CHAT) approach, they identify some tensions attributed to the changes of rules and expectations, as well as the lack of shared understanding in the community of students about the mathematical topic, their preparation for and participation in the sessions. Hogstad and Isabwe describe the use of a digital tool that combines mathematics and kinematics aiming to help students to better grasp integrals; using the theory of instrumental genesis, they investigate the activity of two groups of students with the tool, and identify the pragmatic and epistemic values of students' techniques for solving some given tasks. Kondratieva and Winsløw develop activities dedicated to helping students relate familiar practical tasks from calculus with theoretical ideas of more advanced courses in analysis; their approach is based on a theoretical model of the calculus-analysis transition, using the notion of praxeology from the anthropological theory of the didactic (ATD), and the associated strategies from Klein, to deal with students' challenges in this transition. Lecorre uses the scientific debate methodology developed by Legrand to design and implement, at the transition between high-school and university, specific tasks on double-quantified statements (the Q 2 -game) that may raise the need for conventions of interpretations before they are introduced through mathematical formalism.

Schmitz and Schäfer investigate the potential of designing a course in linear algebra and in analysis using the Abstraction in Context framework to increase students' motivation and ability to engage in concept construction; their results indicate that the new courses seem to help students in the transition from school to university mathematics.

Didactical transposition and use of resources

Two papers can be seen as contributing to this theme. Ghedamsi investigates the mathematical organization of complex numbers in the official textbook in Tunisia at upper secondary level; mainly building on Sfard's three stages of cognitive development and on Duval's theory of semiotic representations, she identifies three didactical variables that can be used to efficiently influence students' activities and learning process of complex numbers when they enter tertiary levels. Jovignot, Hausberger and Durand-Guerrier analyze the implicit complexity of a proof presented in a textbook, which involves the concept of ideal in ring theory; using ATD's construct of praxeology, the mathematical organization related to abstract algebra is modeled into structuralist praxeologies, highlighting the intertwined relationships between algebraic, set-theoretic and logical praxeologies and, as a consequence, the inadequacy of such proof for students' self-learning.

Mathematics for non-mathematicians

Seven papers can be seen as contributing to this theme. Feudel analyses the use of derivatives in economics to introduce cost functions and marginal cost; his data indicate that many of the students participating in his study, after their calculus course, just identified the derivative as an amount of change, without showing a clear understanding of the differences and connections between the derivative in mathematics and in economics contexts. González-Martín and Hernandes Gomes analyse the use of integrals in the Strength of Materials for Civil Engineering course to introduce the notion of bending moment in the study of beams; using tools from ATD, their analyses show that, even if bending moments are introduced as an integral, the proposed tasks do not mobilise elements related to integrals from a calculus course. Kortemeyer and Biehler investigate the mathematical skills and knowledge required in undergraduate engineering using quantitative and qualitative analytical tools developed particularly for this study. Quéré uses tools from ATD to study French engineers' mathematical needs in the workplace; using data from 237 French engineers, he identifies mathematical notions they use, but also the need of 'mathematical abilities' that allow them to use mathematics not only as a tool. Rensaa uses grounded theory techniques to investigate engineering students' own descriptions of what they mean by 'learning linear algebra'; she identifies an apparent contradiction: to describe what they have learned, students emphasize conceptual more than procedural approaches, but in order to know that they have learned something they refer to solving specific tasks in the discipline. Viirman and Nardi describe a series of activities designed for Norwegian students of biology on biology-related mathematical modeling, and follow the learners' path from ritualized participation in mathematical routines towards more explorative participation; they suggest that highly scaffolded tasks, that explicitly state which routines students should invoke, may inadvertently contribute to students' ritualized participation in mathematical discourse. Wawro, Watson and Christensen analyze one student's meta-representational competence as he engages in solving a quantum mechanics problem involving concepts from linear algebra; they correlate this type of competence with abilities to solve tasks that require thinking in, using, and relating different notation systems from physics to mathematics.

Teachers' practices and knowledge

Ten papers can be seen as contributing to this theme. Branchetti analyses the resources, orientation and goals in the intended practices of a high school mathematics teacher with a PhD in mathematics, in relation to the topic of real numbers; the analysis indicates that orientations concerning the epistemology of real numbers, the goals of mathematics education in the high school and students' conceptions and difficulties lead the teacher to choose a very intuitive approach, missing the opportunity to benefit from his knowledge and expertise as a research mathematician. Cooper and Zaslavsky analyse a case of a mathematician/mathematics educator co-teaching partnership in an undergraduate course on Mathematical Proof and Proving; they find that the mathematician's main concern was with the written proof and its "correctness", whereas the mathematics educator showed a sensitivity to the person behind the proof, and to pedagogical aspects of proof and proving, suggesting that this type of co-teaching might be a way of achieving relevance for teaching in mathematics courses. Farah combines an ATD perspective with a sociocultural approach to identify institutional features that influence and transform the working habits of students in the context of French preparatory classes for business schools; she finds a great stability among the teachers' practices she investigates, these practices being strongly linked to the specific institution in which they occur. Fernández-León, Toscano-Barragán and Gavilán-Izquierdo use the horizontal and vertical mathematisation to study the conjecturing and proving approaches of a research mathematician working in a Spanish university; the analysis suggests that these practices (both in a horizontal and a vertical way) interact with each other when mathematicians create new knowledge. Florensa, Bosch, Gascón and Ruiz-Munzon report on a professional development course for mathematics lecturers in engineering; using tools from ATD and the construct of study and research path, they carried out modelling activities with a group of lecturers, allowing the introduction of some ATD notions to empower lecturers to question and put under vigilance the dominant epistemology at university. Jaworski, Potari and Petropoulou draw on their previous research to theorise and characterise university mathematics teaching within an Activity Theory perspective, developing an example concerning a lecture course in calculus with first year undergraduates; the Teaching Triad at the micro level of goals and actions, together with Activity Theory at the macro level, are used together to capture the complexity of the teaching situation, addressing for instance the ways the lecturer engages his students and provides for their needs. Meehan, O'Shea and Breen examine 'brief but vivid' accounts of their lectures they wrote during a first-year undergraduate calculus course, and investigate the kinds of decision points they faced and how these decisions were triggered. Pinto observes and analyses the decision making and the shift of choices of an experienced mathematics teacher (Alan Schoenfeld) while he teaches a mathematical problem solving course; the Teaching for Robust Understanding of Mathematics framework (TRUmath) is used to unpack the conflicts that may underlie teachers' dilemmas and to explain their decisions. Püschl investigates the discussion patterns of teaching assistants in Germany with specific focus on how they work on tasks in small group tutorials, suggesting a typology of five discussion patterns of tasks: heuristic, pragmatic, student-oriented, problemoriented, and minimalistic. Stewart, Thompson and Brady examine one mathematician's thought processes as he taught a course on algebraic topology; adopting the perspective of Tall's three worlds, they investigate how the teacher moves between the formal, symbolic and embodied worlds, and how he uses written handouts to ease students' movement between the worlds, particularly from the embodied to the formal, which he sees as the most challenging for students.

Current developments in TWG14

As we mentioned earlier, one of the themes that has grown considerably in this CERME10 concerns teachers' practices and knowledge. The presented papers offer a variety of theoretical and methodological approaches to study teachers' practices and decision making in the preparation of their teaching as well as during their actual teaching. As evident in the papers discussed in the conference, the investigation of teaching in its complexity seems to demand the use of more than one theoretical perspective. Moreover, some of the papers have proposed ways of collaboration between researchers and teachers towards better research insight as well as further development of teaching through a research-based reflection of teachers on their practice. These works have facilitated the discussion on teacher education and professional development at university level; an area of significant teaching interest that seeks further research.

Regarding students' learning of specific topics, CERME10 contributions continue to deepen our understanding of aspects of students' learning. This year there was more interest in how learning of specific topics can be seen also in relation to students' studying practices that go beyond these topics and specific courses. For example, students' learning can be seen in relation to how they use resources, take notes or experience transition issues.

Furthermore, this year we discussed five papers proposing interventions and reporting on the evaluation of the implementation of these interventions. Also, there were studies of tensions between innovative approaches and students' experiences, especially when these approaches contradict students' expectations. As in previous CERMEs, the number of papers proposing interventions is not high (Winsløw, Gueudet, Hochmuth, & Nardi, in press), and the account of experimental uses of digital technologies is still low. Although a range of studies proposes innovative approaches, more research is needed in this area, particularly studies that go beyond specific contexts and groups of students.

Finally, another growing area in TWG14 concerns mathematics for non-mathematicians. The papers presented this year show different degrees of collaboration with experts from other disciplines, as well as the importance of understanding the needs of these disciplines and their use of mathematical notions. From research about the learning of specific topics that happens to be conducted, for instance, with engineering students, the field has moved to study specific uses of mathematics by professionals (this year from biology, economics, engineering, and physics). We believe that this is an important shift of focus, and we expect to see in the future more papers studying the use of mathematics (and the professional needs) of several categories of professionals, as well as how mathematics can be taught by targeting these professional needs.

Reflection and ways forward

In this concluding section we reflect on the research in UME so far and suggest ways forward in terms of two directions: general questions about teaching and learning at university level; and, the role of mathematics as a service subject.

Regarding the first direction, general questions about teaching and learning at university level, we have noticed that research in UME usually reports on studies conducted in a specific educational context. As a research community, we would like to see more research conducted in joint efforts by colleagues from different countries. Strengthening communication between mathematics educators and mathematicians is also necessary towards collaborative research projects that engage mathematicians and suggest innovative approaches for future practice. There are more occasions recently where researchers in mathematics education are invited by mathematics teachers to share experiences and views and to contribute to curricular development decisions; collaborations of this type are very welcomed by our community, Furthermore, although there is a considerable number of studies connecting students with mathematics, as well as teachers with mathematics, we would like to see more studies connecting teachers and students (teaching with learning). Aiming towards this connection may lead to new theoretical and methodological developments. Finally, we also discussed that there is a growing body of research about mathematicians teaching non-mathematics students, but there is still little research on how non-mathematicians teach mathematics as a service subject.

Regarding the second direction, the role of mathematics as a service subject, we would like to see more research on the different challenges and priorities that may occur in service courses. To name some examples, in service courses teachers may encounter large and heterogeneous groups; the content is not necessarily in the teacher's research area; there can be consequences for teachers' promotions (between giving a course of his/her specialty or a general course), which may have an impact on their motivation and practices; etc.. There is also little research on the epistemological analyses of what it means to teach mathematics to other disciplines; what makes the use of mathematics necessary in other disciplines; and, why mathematics is used as it is used in other fields. These investigations may lead to the identification of possible rupturesand conflicts for the studentswith how the content is presented in the mathematics courses. Another way forward can come from the use of discursive approaches, which would allow studying the discursive difference between communities. In most of these cases, we see the value of the collaboration of UME researchers with experts of other disciplines towards a research agenda that can address these questions.

Finally, in a general way, we would like to see more research that goes beyond single case studies, as well as research projects that expand small-scale studies to a bigger scale. We also notice that most of the papers in our group address mainly one of the themes we listed earlier, but we see the benefit of research that connects these themes by addressing the complexity of the teaching and learning of mathematics at university level. In all these scenarios, it is possible that mixed-methods studies will become more necessary. Regarding contributions to practice, the accumulated body of research results in UME should contribute to the development of research-based teacher training programmes for university teachers. Furthermore, there is a growth in the amount of mathematics learning support, and institutions are developing mechanisms to better guide and support students' learning of mathematics; we need to develop research about these new mechanisms offered to students, as well as about their impact and connections to what students learn in lectures. This brief account of the presentations and discussions held in TWG14 during CERME10 aims to summarise our activities during the conference, as well as to invite the reader to explore the papers (long and short contributions) included in these proceedings. Our exchanges will continue in

Proceedings of CERME10

different fora and we hope to meet again the participants to pursue our discussions and reflections, and to foster collaboration. Until we meet again in CERME11, the next meeting will take place in April 2018; we invite all participants (as well as newcomers) to join us in INDRUM2018.


Ye Xia
email: ye.xia@orange.com

Adrien Lebre
email: adrien.lebre@inria.fr

Xavier Etchevers
email: xavier.etchevers@orange.com

Thierry Coupaye
email: thierry.coupaye@orange.com

Loïc Letondeur
email: loic.letondeur@orange.com

Frédéric Desprez
email: frederic.desprez@inria.fr

Combining Heuristics to Optimize and Scale the Placement of IoT Applications in the Fog

Keywords: placement, heuristics, fog computing, IoT

As fog computing brings processing and storage resources to the edge of the network, there is an increasing need of automated placement (i.e., host selection) to deploy distributed applications. Such a placement must conform to applications' resource requirements in a heterogeneous fog infrastructure, and deal with the complexity brought by Internet of Things (IoT) applications tied to sensors and actuators. This paper presents four heuristics to address the problem of placing distributed IoT applications in the fog. By combining proposed heuristics, our approach is able to deal with large scale problems, and to efficiently make placement decisions fitting the objective: minimizing placed applications' average response time. The proposed approach is validated through comparative simulation of different heuristic combinations with varying sizes of infrastructures and applications.

I. INTRODUCTION

After a decade of continuous growth of cloud computing, which concentrates processing and storage resources for hosting on-demand enterprise and web applications, we can now witness the emergence of more distributed paradigms, such as fog computing [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF], [START_REF] Luis | Finding your way in the fog: Towards a comprehensive definition of fog computing[END_REF]. Motivated by Internet of Things (IoT) applications that require low response times, data privacy enforcement, and the control over the amount of data commuting by the core network, fog computing makes use of devices in the edge of the network, and provides processing, storage, and network resources close to sensors and actuators. To take advantages of local resources provided by the fog, a proper decision of where to place distributed applications (i.e., how to select applications' hosts) must be made. Such placement decisions impact both applications' performance and hardware resource consumption. However, known to be an NP-hard problem [START_REF] Cardellini | Optimal operator placement for distributed stream processing applications[END_REF], [START_REF] Brogi | How to best deploy your fog applications, probably[END_REF], applications' placement decision-making in the context of IoT and fog exhibits the following challenges:

• Heterogeneity: a fog infrastructure contains a large number of heterogeneous devices connected to various networks. These devices' resource capacities, network positions, and privacy / hardware / software features strongly differ. • Constraint diversity: to be executed properly, IoT applications must conform to many kinds of constraints, which can be related to consumable resources (e.g., processing and bandwidth capacities), non-consumable properties (e.g., network latency, privacy), and different entities (e.g., software elements and communication channels composing applications). • Locality and geo-distribution: as sensors / actuators are spread over different geographical locations, an IoT application, which is by definition tied to sensors / actuators, can span multiple localization areas. • Scalability: to be reactive to applications' deployment requests, placement decisions must be made time-efficiently. However, the complexity of the placement problem dramatically increases with the infrastructure's and applications' sizes, which makes it hard to deal with large-scale problems.

This work proposes a set of heuristics to overcome aforementioned challenges. In particular, the combination of proposed heuristics highly improve: i) the placement algorithm's scalability by accelerating the placement decision-making process; ii) the placement result quality by better fitting the objective-minimizing applications' response times. Leveraging our previous work [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF] (more details are given in Section II), this paper makes the following contributions:

• Four heuristics that can be combined to each other.

Compared with [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], heuristics proposed in this work allow the placement approach to deal with even larger problems and to make placement decisions leading to even lower response times. • A simulation-based evaluation that compares different heuristic combinations from two aspects: i) scalability in terms of the problem scale that an algorithm can deal with within a timeout; ii) result quality in terms of placed applications' average response time.

The rest of this paper is organized as follows. Section II reminds our previous work [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF]'s proposal. Section III proposes new heuristics. These heuristics are evaluated in Section IV. Section V discusses related works. Section VI concludes and discusses future works.

II. BACKGROUND

This section reminds the model, the naive placement algorithm, and heuristics proposed in [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF].

A. Model and Problem Formulation

A fog infrastructure contains two kinds of devices: i) fog nodes (e.g., cloud, edge server), which provide processing and storage resources; ii) appliances (e.g., sensor, actuator), which provide sensing / actuating services. Only fog nodes can be used as hosting devices. Appliances do not provide resources to host applications. A fog infrastructure also consists of links, which connect devices and provide network resources.

An IoT application is composed of components, bindings, and appliances 1 . A component is a software element that can be executed on one fog node. A binding is a communication channel that connects a couple of components or a component and an appliance. A placement maps each component onto a fog node. A solution to a problem is a placement that satisfies the following constraints: i) each component is placed in its DZ; ii) required CPU, RAM, and DISK in each fog node do not exceed the fog node's capacities; iii) required bandwidth in each link does not exceed the link's capacity; iv) each binding's latency does not exceed the binding's requirement.

A placement problem can have multiple solutions, among which only one can be selected as the placement decision. To fit the objective of minimizing considered applications' response times2 , the following objective function is applied:

min : W AL = ∑ bind ∈ Apps bind.ReqBW total BW × bind.Lat total BW = ∑ bind ∈ Apps bind.ReqBW
total BW is the total bandwidth requirement of all bindings. bind.Lat is bind's latency regarding the evaluated solution 3 . The objective function is to minimize Weighted Average Latency (WAL) of Apps. Considering that a binding with a high ReqBW can strongly impact an application's response time, each binding's latency is weighted by a proportion of its ReqBW regarding total BW . Through minimizing WAL, latencies of bindings, especially of the bindings with high ReqBW s, are minimized, which helps to decrease applications' response times. Ideally, given a placement problem, the solution with minimal WAL should be selected as the placement decision.

B. FirstFit Backtrack Search

Based on depth-first search, a FirstFit backtrack algorithm is implemented to find solutions. As named, FirstFit returns the first solution found. It deals with a set of applications: components of all considered applications are mixed and placed one by one. When FirstFit tries to place a component comp, all kinds of constraints are verified for comp and components already placed. As depicted in Figure 1, when a constraint verification is passed, FirstFit continues with the next component. Once all the components are successfully placed, it implies that a solution is found. If a constraint verification fails, FirstFit tests the next fog node to place comp. If all possible fog nodes are tested, and no suitable fog node is found, FirstFit backtracks to the previous component and changes its host. When FirstFit backtracks from the first component, it implies that the search space has been traversed, and no solution exists. By continuing the search until a solution is found, FirstFit guarantees to find a solution, if any exists. A number of tests must be carried out before FirstFit returns (e.g., there are five tests in Figure 1). To reduce the number of tests (i.e., to accelerate the search), when trying to place a component comp, fog nodes out of comp's DZ are not tested (because a component must be placed in its DZ).

∅ ( comp 1 , node 2 ) ( comp 1 , node 2 comp 2 , node 2 ) ( comp 1 , node 2 comp 2 , node 1 ) ( comp 1 , node 1 ) ( comp 1 , node 1 comp 2 , node 2 ) ( comp 1 , node 1 comp 2 ,
FirstFit has no guarantee on WAL values of returned solutions or needed numbers of tests, which can incur low result quality and high execution times.

C. Previously Proposed Heuristics

To overcome FirstFit's drawbacks, two heuristics have been proposed in [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], which respectively manipulate two test orders of FirstFit: fog nodes' order and components' order.

The heuristic Anchor-based Fog Nodes Ordering (AFNO) calculates each component's anchor (i.e., the fog node that best localizes 4 the component in terms of minimizing WAL) with an iterative algorithm. With fewer constraints taken into account (i.e., constraints ii, iii, and iv stated in Section II-A are not considered), anchors' calculation has a lower complexity than the placement problem. Before testing fog nodes to place a component comp, AFNO sorts fog nodes in ascending order of network latency to comp's anchor. Therefore, the first solution found must be close to the anchors and thus helps to minimize WAL. Moreover, by minimizing WAL, anchors help to minimize bindings' latencies, which makes bindings' requirements on maximal latency prone to be satisfied. Thus, AFNO also guides components to network positions close to a solution, and thereby accelerates the search.

The other heuristic, Dynamic Components Ordering (DCO(1), more details are given in Section III-B), dynamically adjusts components' order to accelerate the search. When FirstFit fails to place a component comp and backtracks, because changing any placed component's host to any fog node is possible to solve the failure of placing comp, FirstFit tests all the possibilities one by one in a random manner, which can lead to a huge amount of tests. To avoid such cases, instead of backtracking, DCO(1) set comp as the first component to place (hence, no other component can constrain it), and redoes the search all over again under the new component order.

Although these two heuristics highly improve First-Fit according to [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF]'s evaluation, they can be further enhanced. Regarding anchor's definition, a component comp's anchor depends on locations of components that comp communicates with. When AFNO calculates comp's anchor, other components are considered to be located on their anchors. However, during the search, in which all constraints must be taken into account, a component's host can be different from its anchor, which can make other anchors outdated. With outdated anchors, the search is no longer guided properly. For DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF], after reordering a component to the head, all the hosts found under the previous component order can not be reused (because such a reordering changes available resources in the infrastructure for all components). Moreover, DCO(1) only reorders components dynamically without handling the initial component order. To solve these problems, this work enhances AFNO and DCO(1) with new heuristics, which are detailed in Section III.

III. PLACEMENT HEURISTICS

To enhance heuristics proposed in our previous work [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF] (and discussed in Section II-C), four new heuristics are introduced in this section. Section III-A introduces a heuristic based on fog nodes ordering. Two other heuristics based on components ordering are proposed in Section III-B. Section III-C presents the last heuristic, which avoids meaningless tests of fog nodes. The combination of these heuristics is discussed in Section III-D.

A. Fog Nodes Ordering-Based Heuristic

When FirstFit tries to place a component, fog nodes are tested one by one, which implies an order of fog nodes. Different fog node orders can result in different solutions and different numbers of tests. For example, given the placement problem in Figure 1, if node 2 is tested first, as depicted in Figure 2, another solution is found with only two tests.

∅ ( comp 1 , node 2 ) ( comp 1 , node 2 comp 2 , node 2 ) Figure 2: Fog Node Order Impact.
As discussed in Section II-C, such fog node orders are taken care of by the heuristic AFNO. Before testing fog nodes to place a component comp, AFNO sorts fog nodes in ascending order of network latency to comp's anchor. However, anchors calculated / initialized by AFNO can be outdated. In order to guide the search with up-to-date anchors, Dynamic Anchor-based Fog Nodes Ordering (DAFNO) extends AFNO by updating anchors dynamically.

Dynamic Anchor-based Fog Nodes Ordering: During the search, each time when a component is placed in a fog node other than its anchor, DAFNO updates anchors with Algorithm 1. Algorithm 1's inputs contain the infrastructure inf ra, the table for storing anchors ancs, the component that is not placed in its anchor placedComp, and placedComp's application app. Algorithm 1 updates anchors of components in compList one by one until no further update is possible (i.e., when compList is empty). In line 1, compList, which stores components to get anchor-update tests, is initialized as placedComp's bound components (i.e., components that placedComp communicates with). The anchor-update tests are carried out iteratively, at each iteration (line 3-9), one component comp is selected and removed from compList (line 3-4). Because anchor-updates only help for components not placed yet, only if comp is not placed (line 5), comp is tested to update its anchor (line 6-9). If comp's anchor is updated (line 7-8), anchors of components bound with comp can change with it, hence these bound components are added into compList again to get tests later (line 9).

According to WAL's definition (see Section II-A), if a component comp has a new anchor leading to a lower WAL, the new anchor must be closer to one of the components and appliances comp communicates with. Therefore, in each test to update an anchor (line 6), calculateAnc() evaluates fog nodes between comp and comp's bound components5 / appliances. Finally, calculateAnc() returns the fog node that minimizes WAL6 among evaluated ones.

With Algorithm 1, DAFNO dynamically sorts fog nodes according to dynamically updated anchors. Impacts of anchors with / without dynamic updates are compared in Section IV.

B. Components Ordering-Based Heuristics

In FirstFit, components are placed one by one, which implies a component order. This order's impacts are depicted in the following two examples.

Given the placement problem in Figure 1, if comp 2 is placed first, as in Figure 3, only three tests are needed. Besides the impact on number of tests, different component orders can lead to different solutions. Consider another example of placing two components comp 1 and comp 2 in two fog nodes node 1 and node 2 , in which only one component can be placed in node 1 (because of node 1 's capacity limit). If comp 2 is placed first, the search process is same to Figure 3. If comp 1 is placed first, as in Figure 4, it results in another solution with a different WAL.

∅ ( comp 2 , node 1 ) ( comp 1 , node 2 comp 2 , node 1 ) ( comp 1 , node 1 comp 2 ,
∅ ( comp 1 , node 1 ) ( comp 1 , node 1 comp 2 , node 2 ) ( comp 1 , node 1 comp 2 , node 1 ) Figure 4: Component Order's Impact on WAL.
As discussed in Section II-C, the heuristic DCO(1) reorders components dynamically to accelerate the search. However, it does not deal with components' initial order, and can not reuse found hosts. To overcome these drawbacks, this subsection introduces two heuristics: i) Initial Component Order (InitCO), which is responsible for components' initial order; ii) Dynamic Components Ordering (DCO), which generalizes DCO(1) with a customizable step length to move forward components.

1) Initial Component Order: With AFNO / DAFNO, multiple components can target to a same anchor, which leads to components' concurrence to limited resources. To better fit the objective function, a component with a stronger impact on WAL should be given a higher priority (i.e., be placed priorly).

Consider a component connected by many bindings requiring high bandwidths, if it is placed far from its anchor, WAL can increase significantly. With this consideration, a component's bandwidth requirement is used to measure its impact on WAL, which is defined as the sum of bandwidths required by bindings connecting this component. Thus, components are sorted in descending order of their bandwidth requirements, and then placed one by one.

InitCO is proposed to lower WAL. Algorithms with / without InitCO are compared in Section IV.

2) Dynamic Components Ordering: Because of components' / bindings' concurrence to limited resources and bindings' maximal latency, placing a component depends on placed ones, and different component orders can result in different numbers of tests.

Numbers of tests carried out by searches with and without backtrack can have a huge difference. For example, given n components ordered as c 1 , c 2 , . . . , c i , . . . , c j , . . . , c n , if former placed c i makes it impossible to place c j , after finding out that no fog node suits c j , FirstFit has to backtrack from c j until c i . Without the knowledge that failures of placing c j concern c i , before arriving at c i , FirstFit must test all possibilities for placing {c i+1 , c i+2 . . . c j }, which leads to

| c i+1 | × | c i+2 | × • • • × | c j | tests in the worst case ( | c |
is the number of fog nodes in c's DZ). Such a huge amount of tests can be avoided if c j is ordered before c i . Under the new order, c j is placed without constraints introduced by c i . If c i still gets a suitable fog node, FirstFit successfully places c i and c j without backtrack. When n components are placed without backtrack, FirstFit needs at most

| c 1 | + | c 2 | + • • • + | c n | tests.
As fog nodes and links are heterogeneous and can be resource-constrained, it is quite probable to encounter backtracks during a search. A component order that does not lead to any backtrack can highly accelerate the search. However, such an order can not be found before the search, due to the difficulty of predicting resources' evolution (i.e., changes of available resources brought by each component's placing).

By making use of the knowledge obtained during the search, DCO dynamically adjusts components' order to avoid backtracks. Considering that a component can be constrained by components ordered before it, once FirstFit fails to place a component instead of backtrack, DCO moves comp forward by compN B × stepLen components. compN B is the number of components ordered before comp. stepLen is a predefined ratio, 0 ≤ stepLen ≤ 1. DCO with a certain stepLen is denoted by DCO(stepLen), such as DCO(0), DCO(0.1), . . . , DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF]. comp is moved forward by at least one component each time. An example is given in Figure 5. Each move produces a new component order, under which the search is continued. Moved components (e.g., c 3 , c 4 , and c 5 after the first move in Figure 5) must be re-tested to get placed, but there is no need to redo the search for not moved components (e.g., c 1 and c 2 after the first move in Figure 5), as their hosts can be reused in the continued search. Different stepLens lead to different moves. Consider the two extreme values of stepLen: given a component comp to move forward, i) DCO(0) moves comp forward by one component each time. Obtained search results can be reused as much as possible, while there can be many moves before being able to place comp; ii) DCO(1) orders comp before components that constrain it with only one move, but obtained search results can not be reused. Similar to the difference between DCO(0) and DCO(1), a lower / higher stepLen leads to more / fewer moves, but more / less result reutilization.

To avoid infinite loops, each component order can be tested only once. DCO can move a component forward several times until an untested order is produced. If no new order can be produced, the algorithm backtracks as FirstFit without changing components' order, so that the possibility to traverse the search space is retained, and the guarantee to find an existing solution is kept.

DCO accelerates the search to find out a solution. The performance of DCO and the influence of stepLen are evaluated in Section IV.

C. Partial Fog Nodes Testing-Based Heuristic

With AFNO / DAFNO, fog nodes are tested from local ones to remote ones. When testing to place a component comp, fog nodes far from comp's anchor can always violate certain bindings' requirements on maximal latency. To avoid such meaningless tests of fog nodes, the heuristic Latency Failure Cap (FailCap) caps the maximal number of adjacent failures caused by violations of bindings' maximal latencies. FailCap with a predefined cap value f ailN B is denoted by FailCap(f ailN B). An example is given in Figure 6. As bindings' maximal latencies are not considered when calculating anchors, a low f ailN B value risks of missing proper fog nodes (such as n 6 in Figure 6, which satisfies bindings' maximal latencies). A higher f ailN B value lowers such risks at a cost of more tests.

n 1 , n 2 , n 3 , n 4 , n 5 , n 6
To keep the guarantee of finding an existing solution, all fog nodes must be tested in two cases: i) when the algorithm attempts to backtrack; ii) when the algorithm tests to place a component backtracked to. Without DCO, the algorithm always backtracks when it fails to place a component. In this case, FailCap does not make any difference (i.e., can not avoid any tests). Thus, FailCap must be combined with DCO, so that multiple component orders can be tested, and FailCap helps DCO to get a proper component order more rapidly.

FailCap purposes to accelerate the search. Its performance and f ailN B's influence are evaluated in Section IV.

D. Heuristics' Combination

Four heuristics are proposed in this section. Together with AFNO proposed in [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], each of the five heuristics is designed for certain gains and causes some costs.

Through AFNO, local fog nodes are tested priorly, which leads to lower WALs and lower numbers of tests (see Section II-C). However, because of anchorscalculating and fog nodes-ordering, AFNO introduces an overhead to localize components. DAFNO updates anchors dynamically, which keeps anchors up-to-date. Nevertheless, each update implies some calculation, which is a further overhead. By manipulating another order-components' order, InitCO aims at better fitting the objective-minimizing WAL. As a cost, components must be sorted according to their bandwidth requirements. With DCO, backtracks that incur huge amounts of tests can be avoided. However, for each avoided backtrack, it has to test a set of component orders, and redo the search for certain components. FailCap helps to avoid meaningless tests of fog node, but it risks of missing proper fog nodes, especially when f ailN B is assigned to a low value.

Besides gains and costs, the heuristics also have different dependencies. AFNO and DCO do not depend on other heuristics. Differently, DAFNO needs anchors being initialized by AFNO. InitCO must be based on AFNO / DAFNO, otherwise, ordering components while placing them in random fog nodes does not make sense. FailCap works only when i) local fog nodes are tested priorly; ii) new component orders can be tested. Hence, FailCap depends on AFNO / DAFNO and DCO.

All the heuristics can be combined. The search process with all the heuristics applied is depicted in Figure 7. The combination of the heuristics should make the placement approach more scalable, and lowers applications' average response time. Different heuristic combinations are compared and evaluated in Section IV.

IV. EVALUATION This section evaluates proposed heuristics. Section IV-A introduces a use case. Section IV-B details the evaluation's common setup. Section IV-C discusses evaluation results.

A. Data Stream Processing System

The ever increase of objects connected to the internet is leading to an explosion of sensor-generated data. Such data contains valuable information, but most of the data is valuable only when processed under a delay. Providing local processing resources, fog computing is right an enabler of Data Stream Processing (DSP) applications [START_REF] Cardellini | Optimal operator placement for distributed stream processing applications[END_REF], [START_REF] Dias De Assuncao | Resource elasticity for distributed data stream processing: A survey and future directions[END_REF].

This subsection introduces a DSP system. Its infrastructure and applications are presented in the following.

1) Fog Infrastructure: The fog infrastructure of this use case contains several kinds of devices: clouds, edge servers, gateways, end fog nodes and appliances, as in the example of Figure 8. Generally, a fog node in a higher network position is more capable in terms of resources.

2) Data Stream Processing Application:

A DSP application can be represented as a directed acyclic graph, which contains three kinds of vertexes: data source, operator, and data consumer. A data source continuously generates a data stream; an operator receives and processes incoming streams, and then produces outgoing streams transferred to following operators or data consumers; a data consumer only receives and processes incoming streams.

An example DSP application is given in Figure 9. The application maintains a data base that stores realtime information of traffic loads, which can be used to enable smart traffic lights and traffic route planning. Data sources-traffic sensors sense traffic loads, whose raw data are filtered and aggregated by operatorsfilters and aggregators, respectively. Finally, the data consumer-knowledge base updates stored information. DSP applications are widely used to process data streams in many domains, such as smart transport / building / home, etc. In this use case, similar to the example in Figure 9, each DSP application has a set of data sources, operator types, and data consumers. Each operator type is in charge of one kind of analytical tasks (i.e., to deal with a kind of incoming streams), and has a set of operators to distribute these tasks.

B. Common Setup

Placement algorithms' inputs-infrastructure and application models are generated based on the use case introduced in Section IV-A. This subsection details attributes of the model generation.

1) Fog Infrastructure: In an infrastructure, each fog node provides certain processing and storage resources. Two fog nodes' capacities can strongly differ, even if they are of the same type (e.g., two edge servers). In order to consider such heterogeneity, each fog node's capacity distributes randomly in a range related to its type, as detailed in Table II 2) Data Stream Processing Application: A generated DSP application contains 1∼10 data sources, 1∼5 operator types, and 1∼10 data consumers. Each operator type has 1∼10 components as its operators and a probability of 10% to be assigned a specific DZ composed of randomly selected fog nodes (otherwise, the component's DZ contains all fog nodes). The communication between data sources, data consumers, and operators is via bindings. Each component type and binding type relies on certain amounts of resources, as given in Table IV As composition elements of data streams, data units are produced by data sources and operators. Each data unit is characterized with a size and a computational amount, which respectively indicate the data amount to transfer and needed processing effort.

Given a data unit of a data source, its response time is the time spent from its sending until a data consumer receives its response. To simulate DSP applications' response times, the following assumptions are made: i) considering that high ReqBW is required by bindings transferring large data units, and that high ReqCP U is required by components dealing with high computational amounts, a data unit's size and computational amount are respectively related to their corresponding ReqBW and ReqCP U7 ; ii) all data sources generate data units at a frequency of 1 data unit/s 8 .

3) Evaluation Environment: This work evaluates algorithms from two aspects: scalability and result quality.

The scalability is assessed through: i) each algorithm's execution time (i.e., processing duration) when dealing with a same problem and ii) the maximal problem size (in terms of fog nodes' number and components' number) that each algorithm can deal with within a timeout. The result quality is in terms of considered DSP applications' average response time. Based on SimGrid [START_REF] Casanova | Versatile, scalable, and accurate simulation of distributed applications and platforms[END_REF] simulation platform, each generated DSP application's behavior is simulated under placements to evaluate, which allows obtaining simulated response times and comparing placement decisions made by different algorithms. A response time discussed in this section is the average value of simulated response times of all considered DSP applications.

C. Results and Discussion

To evaluate heuristics proposed in this work-DAFNO, InitCO, DCO, and FailCap, Section IV-C1 compares heuristics' results with optimal solutions; The functionalities of heuristics DAFNO and InitCO are evaluated in Section IV-C2; finally, Section IV-C3 evaluates parameters stepLen and F ailN B of heuristics DCO and FailCap. This subsection uses the symbol "-" to indicate heuristics' combination (e.g., AFNO-InitCO-DCO(1)-FailCap(∞) means the combination of AFNO, InitCO, DCO with stepLen assigned to 1, and FailCap with F ailN B assigned to an infinite value). As stated in Section III-D, there exists dependencies between the heuristics: DAFNO depends on AFNO; InitCO depends on AFNO / DAFNO; FailCap is based on both AFNO / DAFNO and DCO. For simplicity, DAFNO-AFNO is referred to as DAFNO.

1) Heuristics' Results vs Optimal Solutions: Based on Integer Linear Programming, an approach using IBM CPLEX [START_REF]Cplex toolkit[END_REF] has been implemented to evaluate proposed heuristics. Given a placement problem, CPLEX always returns the optimal solution (with minimal WAL). However, its execution time increases dramatically with problem size. Caused by the high execution time (which can be weeks or even longer), we are not able to get CPLEX's results for large-scale problems. Thus, in this evaluation, placing a single application in a small-scale infrastructure is used as the placement problem. A random DSP application is generated to be placed, which has 10 sensors as data sources, 2 operator types with 8 and 5 operators respectively, and 3 components as data consumers. The infrastructure contains 1 cloud, 3 edge servers, and 3 gateways connected to EdgeServer-1 (similar to Figure 8), and it has 20 end fog nodes and 40 appliances randomly connected to the three gateways and EdgeServer-1. To cover different resource situations, 10 infrastructure models are generated following resource capacity distributions defined in Section IV-B, which implies 10 placement problems.

Three representative heuristic combinations-FirstFit (i.e., without any heuristic), DCO(0), and DAFNO-InitCO-DCO(0), are selected to compare with CPLEX. Figure 10 shows obtained response times versus WAL values.

• • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 0.4 0.8 1.2 1.6 10

WAL (ms) DSP Application

Response Time (s)

• FirstFit DCO(0) DAFNO-InitCO-DCO(0) CPLEX As illustrated in Figure 10, the response time increases with WAL. Their correlation is up to 0.976, which validates the objective function-minimizing WAL.

Taking the 10 placement problems into account, each evaluated algorithm's average execution time and average response time are summarized in Table VI. For each problem, obtained response times are normalized according to CPLEX's, i.e., the response time under the optimal placement is regarded as 1 (100%).

Compared with FirstFit, DCO(0) has a much lowered execution time but a similar response time, which accelerates the search without improving the result quality. DAFNO-InitCO-DCO(0) improves FirstFit on both execution time and response time. Compared with CPLEX, although DAFNO-InitCO-DCO(0) gets a 9% higher response time, it gains a 10000 times' speed-up.

2) Impacts of DAFNO and InitCO: According to the previous evaluation in Section IV-C1, CPLEX arrives to place 1 application (with 16 components) in an infrastructure (with 27 fog nodes and 40 appliances) in 258 seconds. To compare different heuristic combinations' scalability, given the same execution time-258 seconds, we evaluate how many applications / components each algorithm can place in a larger infrastructure containing: 1 cloud; 10 high edge servers (as edge server1 in Figure 8) randomly connected to each other, and each of them also connects with the cloud; 50 low edge servers (as edge server2∼3 in Figure 8), each connected with a random high edge server; 500 gateways, each connected with a random low edge server; 10000 end fog nodes and 20000 appliances, each connected with a random low edge server or gateway. Following resource capacity distributions given in Section IV-B, an infrastructure model is generated, which must cover different resource situations thanks to its large scale. Each algorithm places more and more applications until it exceeds the timeout of 258 seconds. Starting from 1 application, 25 randomly generated DSP applications are added each time.

According to the evaluation in the previous work [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], compared with FirstFit, AFNO, and DCO(1), AFNO-DCO(1) performs better on both scalability and result quality. This evaluation compares other heuristic combinations with AFNO-DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF]. The obtained execution times are depicted in Figure 11. Due to the large infrastructure scale, FirstFit and CPLEX timeouts at the very beginning. Without DCO, algorithms DAFNO and DAFNO-InitCO only arrive to place 1 application within the timeout. According to Figure 11, once DCO is applied, the algorithm becomes much more scalable. As shown in the zoomed graph on the left of Figure 11, when there are not many applications / components to place, DAFNO-DCO(1) has a higher execution time than AFNO-DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF], which is caused by the overhead of updating anchors. However, with more applications concurrent to limited resources, anchors are easier to be outdated, and DAFNO-DCO(1) outperforms AFNO-DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF], which shows that up-to-date anchors help to accelerate the search. With random initial component orders, AFNO-DCO(1) and DAFNO-DCO(1) introduce higher variances than DAFNO-InitCO-DCO [START_REF] Bonomi | Fog computing and its role in the internet of things[END_REF]. It can also be found that DAFNO-InitCO-DCO(1) gets a better performance than DAFNO-DCO(1), especially when dealing with more than 5000 components. This is because of that, among considered constraints (see Section II-A), the constraint of bandwidth consumption is the most complicated, because: i) a link's bandwidth can be consumed by multiple bindings; ii) a binding can pass by multiple links; iii) where a binding is placed can concern two components' hosts; iv) one component can be connected by multiple bindings. Compared with other constraints' violation (e.g., CPU), DCO can have to test many more component orders to avoid a failure caused by the bandwidth. Taking this complexity into account by satisfying priorly components with high bandwidth requirements (see Section III-B), InitCO helps to reduce the number of components' reorderings carried out by DCO and accelerate the search.

Response times obtained by evaluated algorithms are compared in Figure 12. For each application / component number, obtained response times are normalized according to DAFNO-InitCO-DCO(1)'s, i.e., DAFNO-InitCO-DCO(1)'s response time is regarded as 1. As shown in Figure 12, DAFNO-DCO(1)'s response time is always lower than AFNO-DCO(1), which validates that dynamic anchors further lower applications' response time compared with static ones. According to that DAFNO-InitCO-DCO(1) has a lower response time than DAFNO-DCO(1), and the difference increases with the component number, we conclude that InitCO also helps to reduce applications' response time, especially when placing many applications / components.

According to execution times and response times obtained in this evaluation, based on AFNO-DCO(1), DAFNO and InitCO proposed in this work further enhance the algorithm's scalability and result quality.

3) Impacts of Parameters stepLen and f ailN B: According to the evaluation in Section IV-C2, DAFNO-InitCO-DCO(1) (equivalent to DAFNO-InitCO-DCO(1)-FailCap(∞)) arrives to place 426 applications (with 8589 components) in an infrastructure (with 10561 fog nodes and 20000 appliances) in about 270 seconds. This placement problem is reused to evaluate DAFNO-InitCO-DCO(stepLen)-FailCap(f ailN B) with different parameter settings. The evaluation results are depicted in Figure 13. As stated in Section III-B, a lower / higher stepLen leads to more / fewer component moves, but more / less reutilization of obtained search results. According to execution times shown in Figure 13 (a), stepLen values near to the two extremes (i.e., 0 and 1) can cause high execution times. Compared with DCO(1), a proper stepLen can further accelerate the search. On the other hand, compared with ∞, a lower f ailN B helps to lower execution times only when stepLen is assigned to a low value (e.g., as in Figure 13 (a) when stepLen = 0.1). The reduction of execution time becomes weak when stepLen ≥ 0.3. Moreover, a low f ailN B can miss proper fog nodes, cause more component reorderings, and get even higher execution times (e.g., as in Figure 13 (a) when stepLen = 1).

A lower stepLen better respects the initial component order produced by InitCO. According to response times (normalized according to DAFNO-InitCO-DCO(1)'s) shown in Figure 13 (b), lower stepLen values help to get lower response times. However, a low f ailN B risks of missing proper fog nodes and resulting in a higher response time.

This evaluation shows that a low stepLen value of DCO helps to further improve the heuristic combination's result quality. However, a stepLen close to 0 causes high execution times when dealing with largescale problems. Hence, a trade-off is needed to consider these two aspects. On the other hand, when stepLen is assigned to a proper value that helps to avoid high execution times, a f ailN B value lower than ∞ no longer reduces or even raises execution times.

To sum up, DAFNO-InitCO-DCO(stepLen) appears as the best compromise in terms of scalability and result quality (based on our experience with the evaluated use case, a stepLen value of 0.2∼0.4 is recommended). It gets solutions close to optimal ones obtained by CPLEX with much lowered execution times. It also enhances AFNO-DCO(1) proposed in [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF] on both scalability and result quality. The proposed algorithm is highly scalable, through which we get a satisfactory placement of 8589 components in an infrastructure with 10561 fog nodes within 200 seconds. Moreover, being able to deal with highly random problems (with randomly generated infrastructures / applications, see Section IV-B), the proposition is shown to be a generic approach.

V. RELATED WORK A number of works are related to this study. Among these works, [3]- [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], [START_REF] Brogi | Qos-aware deployment of iot applications through the fog[END_REF]- [START_REF] Skarlat | Towards qos-aware fog service placement[END_REF] focus on fog computing; [START_REF] Rizou | Solving the multi-operator placement problem in large-scale operator networks[END_REF], [START_REF] Sedaghat | Autonomic resource allocation for cloud data centers: A peer to peer approach[END_REF] are generic enough to suit both fog and cloud. From applications' point of view, [START_REF] Brogi | How to best deploy your fog applications, probably[END_REF], [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], [START_REF] Brogi | Qos-aware deployment of iot applications through the fog[END_REF] deal with IoT applications. As fog computing is still a recently emerging research topic, other related works are rather in the context of cloud. Nevertheless, they are still worth to discuss. The related works are classified into exact algorithms, metaheuristics, and heuristics.

A. Exact Algorithms

[3], [START_REF] Skarlat | Towards qos-aware fog service placement[END_REF] formulate the placement problem with Integer Linear Programming (ILP), and solve the problem using generic ILP-solvers, which guarantee to return the optimal solution.

An exhaustive algorithm [START_REF] Brogi | How to best deploy your fog applications, probably[END_REF], [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], which searches in a manner similar to FirstFit, ends the search until the search space is traversed (instead of finding the first solution), so that all solutions are visited, and the optimal one can be found out.

Exact algorithms always deliver the optimal solution. However, suffering from high execution time, they are hardly scalable.

B. Metaheuristics

Given a placement problem, metaheuristics visit only a part of the search space, and return the best placement among visited ones. Each metaheuristic has a specific strategy to get close to the optimum as fast as possible.

Hill climbing [START_REF] Tärneberg | Dynamic application placement in the mobile cloud network[END_REF], [START_REF] Casalicchio | Autonomic resource provisioning in cloud systems with availability goals[END_REF] improves a solution iteratively. At each iteration, a randomly selected component is re-placed to better fit the objective function. However, starting from a random initial solution, it usually traps into a local optimum. To escape from local optimums, simulated annealing [START_REF] Ioannis | A meta-heuristic optimization approach to the scheduling of bag-of-tasks applications on heterogeneous clouds with multi-level arrivals and critical jobs[END_REF], [START_REF] Wu | A simulated annealing algorithm for energy efficient virtual machine placement[END_REF] and tabu search [START_REF] Ioannis | A meta-heuristic optimization approach to the scheduling of bag-of-tasks applications on heterogeneous clouds with multi-level arrivals and critical jobs[END_REF], [START_REF] Xhafa | A tabu search algorithm for scheduling independent jobs in computational grids[END_REF] allow visiting solutions with lower quality. However, these approaches can require a large number of iterations, which lower their scalability.

Genetic algorithm [START_REF] Skarlat | Optimized IoT service placement in the fog[END_REF], [START_REF] Tang | A hybrid genetic algorithm for the energy-efficient virtual machine placement problem in data centers[END_REF], particle swarm optimization [START_REF] Xiong | Energy efficient multiresource allocation of virtual machine based on pso in cloud data center[END_REF], [START_REF] Pacini | Dynamic scheduling based on particle swarm optimization for cloud-based scientific experiments[END_REF], and ant colony optimization [START_REF] Hasanul Ferdaus | Virtual machine consolidation in cloud data centers using aco metaheuristic[END_REF], [START_REF] Gao | A multi-objective ant colony system algorithm for virtual machine placement in cloud computing[END_REF] refine a predefined number of placements (i.e., a population) iteratively. At each iteration, new placements are generated and evaluated (regarding the optimization objective). These algorithms' inner parameters, based on which placements are generated, are tuned dynamically according to the evaluation of generated placements. The best placement among tested ones is returned when a predefined timeout is reached. Consequently, the result quality is strongly related to predefined parameters (e.g., timeout, population size), whose proper values are use case-dependent and difficult to predict without experiment. Furthermore, given a placement problem, these approaches do not guarantee to find a solution, even if solutions exist.

By making use of the knowledge of applications' appliance and DZs, our approach calculates anchors and guides the search to a satisfactory solution. Without such a guide but using random initial placement(s), metaheuristics can need more tests / a higher execution time to get a similar result quality.

C. Heuristics

Specialized heuristics are also designed to handle the placement problem. [START_REF] Sedaghat | Autonomic resource allocation for cloud data centers: A peer to peer approach[END_REF], [START_REF] Li | Virtual machine placement for predictable and time-constrained peak loads[END_REF] propose Best-Fit / Worst-Fit heuristic to consolidate / balance host loads. [START_REF] Silva | Efficient heuristics for placing large-scale distributed applications on multiple clouds[END_REF] chooses candidate hosts with higher renting costefficiency priorly to minimize the financial cost. However, applications' response time is not considered in these heuristics.

[13], [START_REF] Agarwal | Volley: Automated data placement for geo-distributed cloud services[END_REF] propose application response time-targeted heuristics. These approaches locate devices and components using geographic coordinates / a latency space (in which the distance between two devices represents the network latency between them). Components' coordinates are initialized according to coordinates of devices tied to considered applications. Then, each component's coordinate is refined by an iterative algorithm to better fit the optimization objective. Finally, each component is placed in its nearest device that has enough resources to host it. Instead of using continuous coordinates, our approach directly use fog nodes as components' anchors, which helps to reduce the algorithm's number of iteration and avoids mapping coordinates to devices (the nearest device to the optimal coordinate is not guaranteed to be the optimal). Moreover, our approach updates anchors dynamically to keep them up-to-date, which is not considered in these works.

To deal with large-scale problems, [START_REF] Liu | Performance-oriented deployment of streaming applications on cloud[END_REF] priorly places a component that requires more CPU / RAM / DISK resources; [START_REF] Brogi | Qos-aware deployment of iot applications through the fog[END_REF] places first a component that has less fog nodes in its DZ. They consider components' concurrence to CPU / RAM / DISK resources in a static manner. However, during a search, available resources in the infrastructure evolve each time when a component is placed. Without considering such resource evolution and the limit of network resources, these approaches are still quite probable to encounter backtracks leading to huge amounts of tests. By making use of the knowledge obtained during the search and adjusting components' order dynamically, our approach avoids backtracks and can be much more scalable and generic.

VI. CONCLUSION AND FUTURE WORK

This paper tackles the problem of placing IoT applications in the fog, that is how to map a set of software components onto a set of fog nodes. The focus of this work is on placement approaches' scalability and result quality. The scalability is assessed through problem size (i.e., components' number and fog nodes' number) that an algorithm can deal with under a timeout, and the placement quality is expressed as average response time of placed applications.

Contributions of this paper are: i) four heuristics (DAFNO, InitCO, DCO, and FailCap) that can be combined with each other; ii) a simulation-based evaluation that compares different heuristic combinations.

The evaluation shows that: i) each proposed heuristic can accelerate the algorithm and / or lower applications' response times; ii) compared with the heuristic combination AFNO-DCO(1) proposed in [START_REF] Xia | Combining Hardware Nodes and Software Components Ordering-based Heuristics for Optimizing the Placement of Distributed IoT Applications in the Fog[END_REF], DAFNO-InitCO-DCO(stepLen), which combines heuristics proposed in this work, performs better on both scalability and result quality.

Our future works include: i) enhancements of the proposed placement approach to handle the intrinsic volatility of fog infrastructures (e.g., devices' churn and mobility); ii) re-optimization of the placement taking applications' arrival, departure, and the migration cost of deployed applications into account; iii) evaluation with experiment on industrial testbeds (such as the Orange Labs internal testbed introduced in [START_REF] Loïc | A demo of application lifecycle management for IoT collaborative neighborhood in the fog -Practical experiments and lessons learned around docker[END_REF]).

node 1 )Figure 1 :

 11 Figure 1: FirstFit Search Process Example (FirstFit begins by testing to place comp1 in node1, which passes; then it fails to place comp2 in node1 and node2 because of constraint violations; having tested all possible fog nodes for comp2, FirstFit backtracks to comp1 and continues the search; finally, it returns the first solution found, in which comp1 and comp2 are respectively placed in node2 and node1.).

Algorithm 1 :

 1 UpdateAnchorsInput: infra, ancs, placedComp, app 1 compList ← placedComp.boundComps();2 while compList ̸ = ∅ do 3 comp ← compList.firstElement();4 compList.remove(comp); 5 if not comp.isPlaced() then 6 newAnc ← calculateAnc( infra, app, ancs, comp ); 7 if ancs[comp] ̸ = newAnc then 8 ancs[comp] ← newAnc; 9 compList ← compList ∪ comp.boundComps();

node 1 )Figure 3 :

 13 Figure 3: Component Order's Impact on Number of Tests.

c 1 , c 2 , c 3 ,

 123 c 4 , c 5 , . . .

Figure 5 :

 5 Figure 5: Example of Moving Forward a Component (regard-ing that c5 can not be placed, DCO(0.5) moves it forward to c3's position. Correspondingly, c3 and c4 are moved backward. Then, FirstFit fails another two times to place c5, and c5 is moved to the head finally.).

Figure 6 :

 6 Figure 6: Example of FailCap (fog nodes ordered as n1, n2, . . . , n6 are tested to host a component comp. Placing comp in each fog node in red exceeds the maximal latency of a certain binding. FailCap(2) stops the test at n5 and concludes "fail to place comp" without testing n6, because n5 is the second adjacent failure caused by latency.).

Figure 7 :

 7 Figure 7: Search Process with Combined Heuristics (each color indicates a heuristic, uncolored phases are of FirstFit).

Figure 8 :

 8 Figure 8: Infrastructure Example (containing a cloud, three edge servers, three gateways, four end fog nodes, and four appliances).

Figure 9 :

 9 Figure 9: DSP Application Example-Traffic Knowledge Base (containing four road traffic sensors as data sources, three operators of two types, and one data consumer).

Figure 10 :

 10 Figure 10: DSP Applications' Response Time under Placements with Different WAL Values.

  AFNO-DCO(1) DAFNO-DCO(1) DAFNO-InitCO-DCO(1)

Figure 11 :

 11 Figure 11: Execution Times with Growing Applications.

Figure 12 :

 12 Figure 12: Response Times with Growing Applications.

Figure 13 :

 13 Figure 13: Evaluation Results with Different Parameters.

Table I :

 I Summary of Notations.As summarized in TableI, this work's model characterizes each component comp with: i) ReqCP U , ReqRAM , and ReqDISK, which respectively indicate CPU, RAM, and DISK capacities that comp needs; ii) a Dedicated Zone (DZ), which is a deployment area composed of a set of fog nodes respecting comp's requirements on fog node properties (e.g., privacy, OS, etc). Bindings are characterized with requirements as well. bind i .ReqBW designates bind i 's bandwidth requirement. bind i .ReqLAT indicates the maximal network latency that bind i can accept.

	Inf ra	a fog infrastructure
	node i	a fog node of Inf ra
	node i .CP U	node i 's available CPU capacity
	node i .RAM	node i 's available RAM capacity
	node i .DISK	node i 's available DISK capacity
	appliance i	an appliance of Inf ra
	link i	a link of Inf ra
	link i .LAT	link i 's network latency
	link i .BW	link i 's available bandwidth capacity
	Apps	a set of applications to place
	comp i	a component of an application in Apps
	comp i .ReqCP U	comp i 's CPU requirement
	comp i .ReqRAM	comp i 's RAM requirement
	comp i .ReqDISK comp i 's DISK requirement
	comp i .DZ	comp i 's Dedicated Zone
	bind i	a binding of an application in Apps
	bind i .ReqLAT	bind i 's latency requirement
	bind i .ReqBW	bind i 's bandwidth requirement
	app i	an application in Apps
	app i .components all components of app i
	app i .appliances	all appliances of app i

Table II :

 II . Capacity Ranges of Each Fog Node Type.Likewise, network link resources also follow uniform distributions. Network latency and available bandwidth ranges of each link type are listed in TableIII.

	Device		CPU	RAM	DISK
	Type		(GFlops)	(GB)	(GB)
	cloud		infinite	infinite	infinite
	edge server		0 ∼ 100	0 ∼ 500	0 ∼ 5000
	gateway		0 ∼ 8	0 ∼ 10	0 ∼ 500
	end fog node	0 ∼ 2	0 ∼ 4	0 ∼ 200
	Link Type	LAT(ms)	BW(MBps)
	cloud	-edge server 30 ∼ 100	0 ∼ 1000
	edge server -edge server	3 ∼ 10	0 ∼ 1000
	gateway	-edge server	1 ∼ 20	0 ∼ 100
	end foge node -edge server 10 ∼ 25	0 ∼ 100
	end foge node appliance	--	gateway gateway	1 ∼ 5	0 ∼ 1000

Table III :

 III Capacity Ranges of Each Link Type.

Table IV :

 IV . Resource Requirements of DSP Applications.

	component type requirements ReqCPU 0.1 ∼ 1 GFlops ReqRAM 0.1 ∼ 1 GB ReqDISK 0 ∼ 2 GB	binding type requirements ReqLAT 25 ∼ 50 ms ReqBW 0.01 ∼ 1 MBps

Table V :

 V Table V details the test environment to measure execution times. If an algorithm to evaluate has a definite initial component order (i.e., with InitCO combined), its execution time is measured three times to reduce the influence of environment noises; otherwise, the algorithm is tested ten times to consider variances brought by random initial component orders. Execution times discussed in this section are all average values of each group of measurements. Execution Time Test Environment.

	CPU	Intel i7 -7820HQ @ 2.90 GHz
	RAM 16GB
	OS	Debian 8.8
	JAVA	1.8.0 131

Table VI :

 VI Representative Heuristic Combinations vs CPLEX.

As a sensing / actuating service must be executed on its appliance, we do not differentiate an appliance with its service.

The response time is composed of communication time (i.e., time spent to transfer messages) and execution time (i.e., time spent within components for processing). With processing resource requirements predefined for each component, the execution time is assumed to change insignificantly with placement, and this work tries to minimize only the communication time.

Given a solution in which each component is placed in a fog node, each binding must be correspondingly placed in a communication path composed of a set of links. A binding's latency is the network latency of its communication path.

The verb "localize" differs with "place" on constraints taken into account. To localize a component considers only constraint i (i.e., placing each component in its DZ) stated in Section II-A, while to place a component must take all the constraints into account.

For each component boundComp bound with comp, fog nodes on the communication path between comp's current anchor and boundComp' host (if boundComp is placed) or boundComp' anchor (if boundComp is not placed) are evaluated.

When calculating WAL, a placed component is located on its host, and a component not placed yet is located on its anchor.

A data unit's size distributes in 0.01×ReqBW ∼ 0.1×ReqBW , its computational amount is in 0.01 × ReqCP U ∼ 0.1 × ReqCP U .

For data sources with higher / lower frequency, their data units can be considered as aggregated / divided to adapt to the frequency.


text:
Henrik P Bang

Niels Grønbaek
email: gronbaek@mathematics.ku.dk

Claus R Larsen

Coaching and engaging. Developing teaching with CAS in High School

Keywords: CAS, mathematics teaching, coaching

The extensive use of CAS at upper secondary school in Denmark provides a laboratory for research on the development of standards for CAS teaching. The poster focus on action research into teachers' development of lessons and student activities in an ongoing collaboration between university and high schools on use of CAS in mathematics teaching. Coaches mediate design processes, reflection and documentation, and enable sharing.

Danish CAS context

Starting with handheld devices in the 90's, the use of CAS in upper secondary mathematics education has accelerated. The reform in 2005-07 of Danish high schools opened the door to extensive use of computers, resulting in a move to PC based programs like Maple or TI-Nspire, used in the classroom as well as for homework. Powerful CAS tools such as Maple drastically change the teaching environment, but have only led to minimum adjustments in the final examinations since the earlier CAS-days. Early adopting teachers do give access to their own material, but there is no systematic sharing of experiences or standards for use of CAS within Danish mathematics education.

CMU's 1 Agenda

Many teachers experience instances where CAS provides new insight or furnishes new possibilities to handle examples that are more interesting or more realistic. CAS can also provide possibilities for extensive drill and practice of taught methods. However, and especially when use is allowed in the final exams, CAS can turn mathematics into merely an instrumental enterprise and thus trivialize mathematics education. Moreover, this trivialization is hard to see, outside looking in. From a policy maker's, school leaders, parents or even students point of view, you hardly know what is missing. Understanding that CAS can work in ways where skilled students learn less because tasks are too easy, while at the same time the less able students are performing poorer, because they try to rely on a tool they do not know how to use, demands insight. Addressing these issues, lead to establishing CMU.

Principles for coached teacher training

CMU collaborates with teachers interested in developing and sharing their experience with the use of CAS as an instrument for learning. We used a bottom-up approach, drawing upon models for action research (Asiale et al., 1996[START_REF] Borba | Research methodology and critical mathematics education[END_REF], to designed a project management model (Figure 1). In Denmark, teachers have wide latitude to organize their teaching, but a limited tradition for addressing teaching and learning in didactical terms. Through individual or group coaching 2 we support teachers to develop their own ideas about mathematics with CAS. The coaches play an important role to promote teachers' reflections before, during and after teaching -our goal being twofold; to draw on teachers' experience and to promote teachers' professionalism [START_REF] Dale | Paedagogik og Professionalitet[END_REF]. We have designed a project report template to capture teachers' reflections alongside the teaching material, and made the projects available on our website (http://cmu.math.ku.dk/projekter/). The coaches also assist in this documentation process.

1CMU,

  Center for Computer Based Mathematics Education, Department of Mathematical Sciences, University of Copenhagen, Denmark, founded in 2013. Thematic Working Group 15 Proceedings of CERME10

Figure 1 :

 1 Figure 1: Systems model for a CMU project Participants present their projects, goals and standards on an annual basis. It is essential to develop a common language and understanding of how mathematical content, and student activity changes in a CAS environment. From the discussions at our seminars, we can point to themes such as: -which non-CAS activities should be introduced when working with CAS? -what is the value of students mastering (details of) the CAS program or put in another wayhow well should students know the CAS program in order to make real investigations? -How can you work in ways that students both acquire useful skills and concept knowledge? CMU has a double agenda of promoting sound use of CAS and of in service teacher training, so we pose our own research questions: 1. How to draw general conclusions about CAS standards based on individual projects? 2. Which teacher competences -CAS, didactical and mathematical -should coaching promote?