The influence of theoretical mathematical foundations on teaching and learning: A case study of whole numbers in elementary school

Keywords: New Math reform, relation between school and academic mathematics, didactic transposition, place value, numeration unit, unit 2.1

The influence of theoretical mathematical foundations on teaching and learning: a case study of whole numbers in elementary school

Introduction

The discussion document of the 23 rd International Commission on Mathematical Instruction (ICMI) study on whole number arithmetic recalls the important role of mathematicians in the foundational processes of mathematics teaching and learning, and quotes Felix Klein in 1923: I believe that the whole sector of Mathematics teaching, from its very beginnings at elementary school right through to the most advanced level research, should be organised as an organic whole. It grew ever clearer to me that, without this general perspective, even the purest scientific research would suffer, inasmuch as, by alienating itself from the various and lively cultural developments going on, it would be condemned to the dryness which afflicts a plant shut up in a cellar without sunlight (as cited in ICMI, 2014).

Klein himself, as well as several outstanding mathematicians such as Lebesgue and Freudenthal, was involved in epistemological analyzes with didactical applications. Between the mid-1950s and the mid-1970s, a wind of change blew through the world and modernized mathematics education; the aim was "to bring school mathematics closer to the academic mathematics of the twentieth century" (Kilpatrick, 2012, p. 563). This period stimulated significant research into the theoretical foundations of teaching elementary school mathematics (e.g., [START_REF] Freudenthal | Mathematics as an educational task[END_REF][START_REF] Griesel | Reform of the construction of the number system with reference to Gottlob Frege[END_REF]Wittman, 1975). Otte (2011) uses two questions to illustrate the controversy that emerged in many countries during this period: "What do we say to a young child, asking if concepts like force or pressure really exist?" (p. 314) from the psychologist Bruner (a supporter of the reform); and "the real problem is not that of rigor, but the problem of the development of meaning, of the existence of mathematical objects" (p. 314) from the mathematician Thom (a critic of the reform). Otte himself calls for "alternatives to settheoretical foundationalism [for teaching]" (p. 314) because "Concepts or theories have to be accepted as real before we can ask for their meaning" (p. 325). In practice, new mathematics took various forms: for example, although Freudenthal is often said to have prevented the introduction of New Math into the Netherlands, he nevertheless led the modernization of mathematics teaching there.

Although it is natural to assume that academic mathematics should have an important role in school mathematics, the relation between the two is complex. This paper aims to provide a better understanding of one facet of this relation, namely the influence of theoretical mathematical foundations on teaching and learning in elementary school. It examines the paradigmatic case of whole numbers in France, the country where the eminent mathematician Lichnérowicz headed the New Math reform commission (1966)(1967)(1968)(1969)(1970)(1971)(1972)(1973).

Background

How can we study the existence and impact of mathematical foundations on the teaching and learning of whole numbers in elementary school?

Previous work in the French context

As changes to the curriculum are often slow and therefore difficult to identify, periods of stability provide the best contrast. Several works (e.g., Bronner, 2007;[START_REF] Chambris | Relations entre grandeurs, nombres et opérations dans les mathématiques de l'école primaire au 20e siècle: théories et écologie. [Relations between quantities, numbers and operations in mathematics for elementary school in the 20 th century: theories and ecology[END_REF]Harlé, 1984;[START_REF] Neyret | Contraintes et détermination des processus de formation des enseignants : nombres décimaux, rationnels et réels dans les Instituts Universitaires de Formation des Maîtres[END_REF] have addressed the evolution of teaching numbers in France in the 20 th century. They lead to the identification of three main periods, and two transitional ones: The stable, classical, period (until the 1940s); the highly turbulent period of the New Math reform (1970)(1971)(1972)(1973)(1974)(1975)(1976)(1977)(1978)(1979)(1980) 1 ; ongoing evolution during the contemporary period (1995)(1996)(1997)(1998)(1999)(2000)(2001)(2002)(2003)(2004)(2005)(2006)(2007)(2008)(2009)(2010)(2011)(2012); and two transitional periods before and after the New Math reform. Several texts were very influential: notably, the treatises by Bezout and Reynaud (the classical period)for teacher educationand the textbook Math et calcul (in the 1980s).

Refining the subject: changes in numeration

New Math saw the introduction of two major changes in the early study of whole numbers: set theory, which reflects the impact of contemporary mathematics, and numeration bases other than ten (hereafter called bases) that were introduced in order for children to understand base ten principles. The latter reflects the impact of psychology:

For while, many virtues have been discovered for numbers to the base 10, students cannot appreciate such virtues until they recognize that the base 10 was not handed down from the mountain by some mathematical God. It is when the student learns to work in different number bases that the base 10 is recognized for the achievement that it is. (Bruner, 1966, pp. 71-72) It seems that, although much has been written about the mathematical foundations of whole numbers, those of numeration have received less attention, both at the time of the New Math and later. For example, [START_REF] Bednarz | The understanding of numeration in primary school[END_REF] indicate they notably based their research on the "mathematical definition [of numeration]" without giving further details about this definition.

This study focuses on numeration. The French New Math syllabus of 1970 introduced elements of set theory and bases (which were removed in the 1980s). The main goal of the present study is to examine the influence, if any, of the theoretical mathematical foundations of whole number numeration on teaching and learning. Following previous work, a time span that encompasses the New Math reform was chosen, as this makes it possible to characterize the effects of several different theoretical foundations. The questions that arise are: What were the mathematical theoretical foundations of numeration in different periods of time: specifically, before, during and after the New Math? Have they influenced teaching and learning, and, if so, how?

Several systems of numeration

A numeration system is a system for representing numbers. Such systems are also needed for computation.

Nowadays, in France, as in many countries throughout the world, elementary school students learn two whole number numeration systems: one for writing (e.g., 9, 19, 90); and another for speaking (e.g., nine, nineteen, ninety). The former has syntactic characteristics and it is used internationally; the latter is specific to a language with its own grammatical and syntactical characteristics (e.g., [START_REF] Fuson | Conceptual structures for multiunit numbers: Implications for learning and teaching multidigit addition, subtraction, and place value[END_REF].

Anglophonic literature speaks of 'place value', while the Francophonic literature refers to 'positional notation' (word-for-word translation) in writing numbers. It seems that neither the Anglophonic nor the Francophonic educational literature has established a name for the units used in numeration (e.g., the ones, tens, hundreds and thousands used in base ten). For instance, Thanheiser (2009) speaks of "reference units" (p. 263), while [START_REF] Fuson | Conceptual structures for multiunit numbers: Implications for learning and teaching multidigit addition, subtraction, and place value[END_REF] refers to "multiunits" (p. 344). In France, [START_REF] Chambris | Relations entre les grandeurs et les nombres dans les mathématiques de l'école primaire[END_REF] suggests "unités de la numération" (p. 404) (numeration units in English). Here, they are referred to as O, T, H and Th respectively.

Hence, the teaching of numeration embeds three semiotic systems: number names, positional notation, and numeration units.

To help to compare France to other countries, and to take a prudent approach with regard to the international literature, here we indicate some specificities of number names in French. Unlike most East Asian languages, many European languages give irregular names to whole numbers [START_REF] Fuson | Conceptual structures for multiunit numbers: Implications for learning and teaching multidigit addition, subtraction, and place value[END_REF]. In English, unlike French, the names given to powers of ten are the same as those of the units (Table 1). Furthermore, in French, the names of the 2 nd , 3 rd , and 4 th numeration units for whole numbers are little-used in everyday language.

Theoretical framework

The theory of didactic transposition

The theory of didactic transposition (TDT) [START_REF] Barbé | Didactic restrictions on the teacher's practice: The case of limits of functions in Spanish high schools[END_REF][START_REF] Chevallard | La transposition didactique[END_REF] (Fig. 1) was developed in the early 1980s. It underlined the institutional relativity of knowledge, beginning with the analysis of the introduction of academic mathematics into school mathematics during the New Math in France.

Knowledge produced by scholarly institutions was reconstructed by educational institutions in order 'to be taught', before being prepared and actually taught by teachers. Scholars (e.g., [START_REF] Castela | Des mathématiques à l'automatique : étude des effets de transposition sur la transformée de Laplace dans la formation des ingénieurs[END_REF] ). Furthermore, he identifies four stages in the transformation of semiotic systems in school mathematics, which are similar 2 to those of TDT (Fig. 1).

The Anthropological Theory of the Didactic

Didactic transposition places didactic issues at the institutional level, beyond the characteristics of individuals working within a given institution. School mathematics found in textbooks and syllabiat a given place and timeis considered as an institution, as is classroom practice (where teacher and students share work habits).

The Anthropological Theory of the Didactic (ATD) [START_REF] Chevallard | Familière et problématique, la figure du professeur. [The teacher as a colloquial and problematic figure[END_REF] extended TDT. It introduced the metaphor of the institutional ecology of knowledge, which made it possible to study long-term teaching and learning processes [START_REF] Arzarello | Italian trends in research in mathematics education: A national case study in the international perspective[END_REF] based on epistemological analyses of content and answer questions such as: What lives in a given institution? With who? What does not live? Why? A basic ATD tool is the notion of praxeology. This word indicates that practice (praxis) and the discourse about practice (logos)

necessarily work hand-in-hand. ATD postulates that any human practice (notably that of mathematics) in a given institution, can be described in term of praxeologies (see also [START_REF] Bergé | The completeness property of the set of real numbers in the transition from calculus to analysis[END_REF]. There are four components (4 Ts): a Type (T) of tasks (a set of similar problems); a Technique () (a way of doing tasks of the same type);

Technology () that justifies the technique; and Theory ( that legitimates the technology. We take the imaginary example of a second-grade textbook, where the column addition of two numbers is taught with one-to-three digit numbers, with or without re-grouping. This would be a type of task (T) for this institution, and the technique () would be as follows. Consider: 48+176. Write the two numbers, one under the other. Align the digits: put the ones below the ones; the tens below the tens; and the hundreds below the hundreds, if any. Then add each upper digit to the lower, from right to left as follows: 6 and 8 is 14, write down must check whether the sum is greater than ten when performing the addition. If so, there is a 'carry' and she or he must write down the ones digit, and insert the tens digit above the left-hand-side digit. The technology ()

provides the rationale for the algorithm and it relies on: 1) interpreting each digit as an amount of ones, tens or hundreds; 2) adding the amount of ones, tens and hundreds separately; and 3) the relations: 1 ten = 10 ones, and 1 hundred = 10 tens to justify the 'carry'. The technique may require an intermediate task: 'compare a number with ten'. The theory ( encompasses the ways numbers are formed, as well as aspects of addition.

A perceptible object used in a praxeology is called an ostensive object [START_REF] Bosch | Sensitivity to ostensive objects in doing mathematics: object of study and research problem[END_REF]. The set of praxeologies that involve a given ostensive object is called its instrumental value. In the example above, in the technique, the ostensive objects 'tens' and 'hundreds' are instruments used to locate digits. In the technology, they are used to interpret digit-values, count each type of units and convert, if need be. The 'meaning' created by the institutional uses of an ostensive object is termed its semiotic value.

In the institutional approach, knowledge is modeled by "prevailing mathematical praxeologies in the institutions considered" (Bosch, Gascon, & Trigueros, 2017, p. 43) and "personal [learnt] praxeologies are a reflection, more or less distorted, of the corresponding institutional praxeologies" (p. 43).

Research questions

The process of didactic transposition makes it possible to identify reference knowledgeincluding theoretical mathematical foundationsand trace it in teaching. Within the ATD framework, the way a topic is taught and learned in a given institution can be described in terms of praxeologies. The mathematical foundation should first appear as a part of theoretical component. Here, we argue that its impact on tasks, techniques, or technologies can be more easily characterized by contrasting praxeologies with different theoretical components. Hence, our question can be rephrased as follows: Are there traces of the transposition of numeration reference knowledge in different time periods? Are there any visible changes in tasks, techniques, or technologies from one period to another that might be attributed to changes in the theoretical component?

Data and methodology

Although the national elementary syllabus is compulsory in France, there are neither national nor accredited textbooks. Furthermore, the syllabus has changed many times: in 1882, 1923, 1945, 1970, 1977-1980, 1985, 1991, 1995, 2002, and 2008. In some cases, instructions that describe how to teach a subject have been provided.

Textbooks are updated when the national syllabus changes, but sometimes this is limited to the addition of a stamp on the cover saying "in line with the new syllabus". Teachers are not required to use updated textbooks, or any textbook at all. Budget for the textbooks is provided by the city council. Schools do not always have a budget to buy new ones when the syllabus changes.

French syllabi are not targeted at a specific grade, but encompass two, or even three grades. Moreover, they do not always fully specify which range of whole numbers should be taught at different stages, although partial information is usually provided. It is clear that since 1923, the numbers up to 100 have been taught in first grade. In the period 1945-1991, the numbers up to 10 000 were taught in second and third grades, while between 1991 and 2012, the numbers up to 1 000 were taught in second grade. It appears that the core ideas regarding place value are taught in second and third grades.

The data used here includes the national syllabi (and any teacher instructions) for elementary school (grades one through five), second-and third-grade textbooks, and resources for teacher education (Table 2). In order to select the most influential texts, the National Library of France's catalog, which identifies textbooks, was consulted. For the period 1900-1970, textbooks that had several editions were selected. For the period 1978-1995, "Math et calcul" was selected [START_REF] Neyret | Contraintes et détermination des processus de formation des enseignants : nombres décimaux, rationnels et réels dans les Instituts Universitaires de Formation des Maîtres[END_REF]. It was also selected for the New Math period, with two other textbooks which had only one edition (like most of the textbooks published in this period). For the period 1995-2004, publishers provided information about the most popular textbooks, and an innovative series was added. From 2005 onwards, popular textbooks were recommended by teachers. Concerning teacher education, the selected texts included: 1) teachers' guides combined with selected textbooks; 2) the treatises by Bezout and Reynaud; and 3) teachers' guides from an influential series authored by the Elementary Math

Research Team at the National Institute of Pedagogy (ERMEL).

(0,0,1) (0,0,0) (3,3,0) (0,2,0) (0,8,0)
Treatise / other teachers' guides 1 1 (ERMEL gr.2&3) 2 (ERMEL gr.2, gr.3)

In order to analyze the data, we used the following methodology. We considered the mathematics found in textbooks and syllabi for each of the five periods as an institution in the sense of the ATD framework. In general, most information related to substantiation, and many rules to be learned, are technologies, while simpler, typically procedural rules are techniques. If a solution is given for an exercise, it typically demonstrates the expected technique to be used for a significant type of tasks, or technological features of this technique.

Teachers' guides and instructions provide another way to identify technologies through the explanations that are given for a task solution process.

For each period, it was necessary to identify praxeologies related to place value in order to describe the knowledge to be taught. Hence, the first step was to identify, for each syllabus and for any teacher instructions, place value themes. This, for instance, led to the inclusion of the metric system as a theme of relevance to place value in the pre-reform resources. Based on tables of contents, textbook pages that addressed place value were selected and then analyzed. Specific attention was given to three-to-four digit numbers.

For each period, the whole set of praxeologies related to numeration was reconstructed as follows.

Based on textbooks and non-theoretical parts of teachers' guides, techniques to do tasks were reconstructed taking into account: 1) explicit potential indications, and 2) the most likely way to do a task according to other current tasks which could be considered as possible steps of a technique (i.e., ecological considerations). Sets of exercises were then organized into sets of tasks where the same technique was expected, thus defining types of tasks. Explanations of the techniques led to identification of technologies (referred as textbook technologies).

Lastly, reference knowledge (theory) was identified through analysis of treatises and theoretical sections of teachers' guides. Given that such knowledge often remains implicit, an assumption was made that, in a given period, no indication meant no change related to prior period. When reference knowledge was explicit, early parts of the process of didactic transposition often became visible. In these instances, reference knowledge was explicitly used for explaining the solution process for a given task (referred as treatise technology). Analyses of textbook technologies led to establishing a set of basic rules (basic technologies) used for textbook explanations.

Comparison between treatise and textbook technologies shows possible subsequent parts of the process of didactic transposition.

Findings

Pre-reform reference knowledge

The period 1900-1970 saw few changes in mathematical numeration theory. Classical theory (Unit) was presented in the treatises by [START_REF] Bezout | Traité d'arithmétique à l'usage de la marine et de l'artillerie[END_REF] and closely adapted for textbooks, where it was used to support numeration and the rationale for calculation. It is based on five main rules:

-R1: Tens, hundreds, etc. can be counted as ones.

-R2: 10 units of a given order are equal to 1 unit of the upper order.

-R3: The amounts of units (less than ten) of each order are juxtaposed from right to left: Each place represents a unit that is ten times bigger than its right-hand neighbor. Places that are not represented are marked with the sign 0.

-R4: Relations between unit names and number names. For example, as three tens are thirty and four ones are four, then three tens and four ones are thirty-four.

-R5: Numbers can be added, forming new numbers.

The algorithm used to build numbers provides implicit proof for the existence and uniqueness of the decomposition of a number in base ten:

1) The first ten numbers are built in sequence, starting with the unit one, then adding one to the previous number, forming the numbers one, two, etc. (R5);

2) A set of ten ones forms a new order of units: the ten (R2);

3) The tens are numbered like the ones, beginning with one ten and ending with ten tens (R1); 4) Then, the first nine numbers are added to the first nine tens: one ten, one ten and one, one ten and two […] two tens, two tens and one, etc., forming the first ninety-nine numbers (R5);

5) The set of ten tens forms a new order of units: the hundred (R2);

6) The hundreds are numbered like the tens and the ones; from one hundred to ten hundred: one hundred, two hundred, etc. (R1); 7) Then the first ninety-nine numbers are added to the first nine hundreds forming the first nine hundred and ninety-nine numbers (R5).

Number names are presented as a literal translation (R4). Rules are stated and any exceptions are given, such as the usual name given to ten-two (dix-deux in French) is twelve (douze), the name given to nine-ten is four-twenty-ten. Last, once the numbers have been built, their positional notation is stated using (R3).

Reference knowledge beginning in the New Math

New Math introduced bases, a change that, a priori, has no link with scholarly knowledge. In some teachers' guides, academic theory (Polynomial) appears. Its explicit components are as follows:

-Poly: Existence and uniqueness of the polynomial decomposition of a number n in a given base a (i.e.

, .

-Coeff: Juxtaposition of coefficients of the polynomial forms positional notation: (a p a p-1 ... a 1 a 0 ).

Elements that involve reference knowledge vary, depending on teacher's guide in question, as follows:

1) Most often, classical theory was adapted: as there are no tens or hundreds in bases, unit names become generic (e.g., 'first-order unit', 'second-order unit'). Specific unit names only reappear in base ten.

2) Sometimes Poly is stated and formally proven using Euclidian division.

3) Base ten unit names are always present in relation to the number names, with the classical correspondence (R4).

Beginning in the 1980s, classical theory is no longer found in textbooks and teachers' guides, while at the same time Poly is explicitly stated. Positional notation is obtained with Coeff. Nowadays, Poly is typically implicit in teachers' guides. The 'new' mathematics (Polynomial) really became established as the mathematical foundation for the teaching of place value during the so-called counter-reform, while there are no visible changes after this period.

The next step is to understand some long-term effects (if any) of these changes on teaching.

A sample of praxeologies over time

A basic type of tasks: counting grouped objects

In all periods, counting grouped objects in base ten (hereafter termed counting) appears to be a basic type of task in numeration teaching. Pre-reform, counting is always explained in terms of discrete quantities. From the 1930s, it was extended with money and continuous quantities such as length and mass based on the metric system, which became a major way to teach place value. During the New Math period, counting tasks are presented in terms of bases, with discrete and sometimes continuous quantities (Figs 3-4). Post-reform, discrete quantities persist, sometimes with the extension to money, but continuous quantities are almost never used, with length featuring in only one textbook.

The next section takes an example of a task of this type, to show the associated techniques and technologies in four different periods. There are both similarities and differences. Each technique consists of three steps and, for each period (except the New Math), techniques lead to specific, symbolic sub-techniques (step 3). These in turn create intermediate, symbolic types of task (T) -namely 'with units', multiplicative and additive decompositionswith their own techniques that require their own justification. This is typical in the ecology of knowledge.

Write the number of cubes (base ten) (from T: counting grouped objects) 1000 1000 1000 10 10

Pre-reform praxeology

Technique

Step 1) Find the total number of cubes in each kind of group: 1 thousand, 2 thousands, 3 thousands (of cubes); 1 ten, 2 tens (of cubes).

Step 2) Write the amount in units: The amount of cubes is 3Th 2T.

Step 3) (T: 'with units' decompositions) Write the number given by 3Th 2T: Write, from left to right, thousands, then hundreds, etc.; Put zeros if required.

Technology

For step 1: R1 leads to 3Th and 2T.

For step 2: R5 leads to 3Th 2T.

For step 3: R3 (or a derived rule: the ones in the first place on the right, the tens in the second place, etc.) leads to 3020.

Theory: Unit is used, notably the basic rules, R1, R3, R5

New Math praxeology

Technique

Step 1) Find the number of groups of each kind: 1, 2, 3 (groups of 1000); 1, 2 (groups of 10).

Step 2) Write them in the numeration chart; add any zeros that are needed.

Step 3) Take the number from the table.

Technology

The technology (only visible in the teacher's guide) is the same as pre-reform. Only one series of textbooks presents a complementary technology based on Polynomial.

Theory: Unit is used. In one instance it is juxtaposed with Polynomial.

Early post-reform praxeology

Technique

Step 1) Find the total number of cubes in each kind of group: 1, 2, 3 groups of 1000, 1, 2 groups of 10. This corresponds to 3x1000 cubes, and 2x10 cubes.

Step 2) Write the sum: 3x1000+2x10.

Step 3) (T: Multiplicative decompositions) Calculate 3x1000+2x10: Use a (mental) numeration chart, add zeros if required.

Technology

For step 1: () Count one by one (up to ten), then () the meaning of multiplication.

For step 2: (the meaning of addition.

For step 3: 3x1000+0x100+2x10+0x1=3020 (Poly and Coeff).

Theory: Polynomial is used, including Poly and Coeff.

Late post-reform praxeology

One, recent textbook uses the 'early post-reform' technique, but without any technology. Other textbooks proceed as follows.

Basic rules

A set of basic rules is established. Some are typically implicit (**), while other are sometimes implicit (*), and others typically explicit. In particular, rules involving relations between two unitsor two adjacent places -(R2 in Unit) are not reported as they are beyond the scope of the present study.

-Algorithmic sequence: sequence of number names, one by one, ten by ten, etc. - Place names: ones, tens, hundreds, etc. names of the columns in the numeration chart in base ten.

-Name: correspondence between the positional notation and number names (in relation to  Place names). - Additive names: 3000+20 reads as three thousands (3000) and twenty (20), giving 3020 using Name.

However, this does not work for 3000+90+2, for instance, as 3092 reads as '3000' '4' '20' '12'.

-Count one by one. -*: The meaning of multiplication.

-*: The meaning of addition.

-** Mult_10: Multiplication of one-digit numbers by powers of ten: 3x1000=3000, 2x10=20

-*: Column addition + 3000 20 3020 - Quantity place (in some textbooks): 3Th=3000 (3 in the thousands column), 2T=20 (2 in the tens column) using  Place names.

Technique

Two techniques (1 and 2) were identified:

Step 1) Find the total number of cubes in each kind of group.

1) Count the number of cubes resulting from each kind: One thousand, two thousands, three thousands (cubes); Ten, twenty (cubes). Write each number in digits: 3000, 20.

2)

Count the number of each kind of group: 1, 2, 3 (groups of 1000 cubes); 1, 2 (groups of 10 cubes).

Write the corresponding products: 3x1000, 2x10.

Step 2) Write the sum.

1) 3000+20

2) 3x1000+2x10 then calculate each product.

Step 3) (T: additive decompositions) Write the number given by 3000+20. (See technique, section 3.3.6).

Technology

Based on the basic rules presented above, the technologies are as follows:

For step 1 of 1, Algorithmic sequences then Name; for step 1 of 2, Count one by one then  Meaning of multiplication.

For step 2 (of 1&2): Meaning of addition (and Mult_10 for 2)

For step 3 (See technology, section 3.3.6).

Theory: Polynomial is used, including **Poly and **Coeff.

The praxeology of (T) additive decompositions ('calculate: 3000+20') in the late post-reform period

Technique: choose the most appropriate method from the following options, _1) calculate by any means, _2) name, _3) (sometimes) locate non-zero places using  Place names (i.e., locate the digit places): Put 3 in the 'thousands place', 2 in the 'tens place', making 3020 using a (mental) numeration chart.

Technology

For _1:  column addition;

For _2: additive name;

For _3: (sometimes)  Place names.

A type of task (e.g., 'what is the tens digit in the number 3020?') is used to teach place names. This may also explain the appearance of a new type of task, 'with units' decompositions, which is found in some textbooks.

Praxeology of (T) 'with units' decompositions ('write the number 3Th 2T') in the late post-reform period

Technique: 3Th 2T = 3000 + 20 then 3000 + 20 = 3020 (additive decomposition).

Technology:  Quantity place; then technology of additive decomposition.  Quantity place makes it possible to link the quantity and unit name.

Ecological interpretation

Although the basic counting task transcends institutions, the praxeological analysis presented above shows that techniques do not. They are influenced by both theoretical and teaching considerations, notably the need for teachable technologies (Poly and Coeff are probably not teachable). Many 'new' technologies appeared in the late post-reform period, and the situation is less clear and homogeneous than before. The basic rules are:

1) rarely fully formulated; 2) very different from reference knowledge (which is frequently invisible); and

3) inconsistent between textbooks. Unlike the pre-reform period, technologies are not derived (directly) from theory. They often correspond to pre-reform techniques, and appear as the rules that are to be used (if any) to justify techniques used to accomplish tasks. Number names appear to be a critical issue: they must be taught in school, but they are no longer part of academic mathematics3 . They become increasingly important in technological components: e.g.,  'column addition' is sometimes derived from  'additive names'.

Semiotic considerations

Changes in ostensive objects over time

The old numeration tasks-conversion and decomposition-that both use numeration units (Fig. 2) were no longer taught during the New Math. This may be due to the lack of unit names for bases other than ten (in the French language 4 ). Whatever the reason, they disappeared as bases appeared. Most teaching relied on manipulatives (or their representations) and adapted numeration charts (Figs 34). The technique of 'counting' tasks during the New Math shows the absorption of symbolic work into ad hoc numeration charts. Polynomial decomposition was used when converting from base ten to another base (or conversely) (e.g., 13=1x3x3+1x3+1=(111) 3 is a typical type of task of the period). The consequence of the introduction of bases was that students interpreted the positional notation as a procedure (grouping, ungrouping) and struggled as soon as they did not have any manipulatives (ERMEL, 1978;Perret, 1985).

In order to overcome this difficulty, a major preoccupation of the counter-reformers was to introduce a symbolic register (ERMEL, 1978). So-called writings (e.g., 40 + 7 + 50 + 43 + 25) began to appear: "The key issue is to familiarize children by working directly with writings" (ERMEL, 1978, p. 17 our translation). In the mid-1970s, there was a huge transposition of academic theory, which was largely developed and disseminated by ERMEL (1978). The process was as follows: became , then b x 1000 + c x 100 + d x 10 + e or b000 + c00 + d0 + e. Our interpretation is as follows: the positional notation of powers of ten requires 0 and 1 as multiplicative coefficients (e.g., 100=1.a 2 +0.a 1 +0.a 0 ); as this is predictably difficult for early graders, these notations are given. The counter-reform syllabus shares many similarities with ERMEL (1978), and was based on writings; numeration units appeared only once (in 4 th and 5 th grades): "In 7024, there are 70 hundreds because 7024=(70x100)+24"; and bases disappeared beginning in second grade.

Among the various writings, the 'powers-of-ten written in figures' (PTWF hereafter) notation (1; 10; 100; 1000, etc.) played an increasingly important role. Within a few years, standard PTWF tasks emerged that appear to be a literal translation of existing tasks from numeration unit language (Fig. 5) (e.g., 'with units' decomposition into additive decomposition). The old ostensive object numeration unit was replaced by PTWF.

EXERCISES AND PROBLEMS 1 st and 2 nd years. -185. Write in digits the following numbers: three-hundred, seven-hundred, nine-hundred. 186. Convert into ones: 5 hundreds, 7 hundreds, 40 tens. 187. Convert into tens: 8 hundreds, 6 hundreds, 300 ones. 188. Convert into hundreds: 500 ones, 20 tens, 90 tens. 189. Write the numbers in steps of 3 from 30 to 60, from 61 to 91, from 52 to 82. 190. Calculate: 1° 300 l + 400 l + 200 l ; 2° 500 l + 100 l + 200 l 191. Calculate: 900 m -300 m ; 800 m -400 m ; 3° 700 m -200 m 192. Calculate: 200 m x 2; 300 m x 2; 400 m x 2 193. Calculate: 1° 800 m : 2 ; 2° 600 m : 2 ; 1 200 m : 2 194. A dairyman has 300 eggs in a basket and 400 in another one. How many eggs does he have?

How to teach and learn place value with PTWF?

A major technological question is how to describe positional notation within transposed academic theory, especially when a number is given in PTWF (e.g., 3x100+4x10+5). In academic theory, Coeff provides the answer. However, the present, typically partly implicit, rules seem to be computational (Mult_10 and  column addition). This results in the example given in Figure 6. Subsequently, when objects are grouped by powers of ten and counted as 'groups of ones ' (one, two, three, etc.; ten, twenty, thirty, etc.), the link between the amount of groups of a given size and the corresponding digit is indirect. French number names may exacerbate the problem, and both French students and teachers struggle with it [START_REF] Menotti | Didactic practice and the construction of the personal relation of six-year-old pupils to an object of knowledge: Numeration[END_REF][START_REF] Mounier | Y a-t-il des marges de manoeuvres pour piloter la classe durant une phase de bouclage? [Is there a degree of latitude for the teacher when he ends the lesson?[END_REF].

A revival of numeration units

In ERMEL (1978) there is no symbolic work with numeration units. They become literally more frequent, and they almost always name the places of digits. It remains uncommon for textbooks of the late post-reform period to present the relation 1 hundred = 10 tens to second-and third-grade students. This may be linked to the fact that there is no need for numeration units in academic theory.

Beginning in 1995, decomposition with numeration units reappeared (T: 'with units' decomposition in the late post-reform period) (Fig. 7). Nevertheless, the technology that is used appears to be a combination of Quantity place and  column addition: 3H4T5O=300+40+5=345. This substantiation is therefore similar to that shown in Fig. 6, while this specific use of units implies that unit names have replaced the numbering of the rank of the digits that was used pre-reform. Numeration units exist in order to indicate the place of digits, rather than units: the only unit to be taught is the number "1". An indication of this, is the change in the technique of 'counting grouped objects', where the cube is the only unit used post-reform, unlike the tens or hundreds of cubes that were seen pre-reform.

The instrumental and semiotic values of numeration units

The meaning of numeration units in praxeologies dramatically changed in the pre-and post-reform periods. Prereform they were used as units, and thus numbered. Their semiotic value was as units. Post-reform, they describe places and their semiotic value is places. They are almost never used as units in numbering quantities.

An alternative to units?

Visible PTWF vs. invisible units in scholarly discourse

In 2015, the mathematician Howe provided five stages for interpreting positional notation, and formulated various properties, with the aim of meeting the needs of elementary teaching of place value:

"352=300+50+2 =3×100+5×10+2×1 =3×(10×10)+5×10+2×1 =3×10 2 +5×10 1 +2" (p. 109)
This first step in the transposition of academic theory uses base ten pieces [e.g., 300, 50, 2] [that] have multiplicative structure. The first part of this structure is, the digit for each base ten piece records the number of copies of a base ten unit that is used to create that number. Thus, 300=3×100, 50=5×10, 2=2×1. The numbers 1, 10 and 100 are the base ten units.

(p. 108)

Base ten pieces represent amounts of units, but the role of units is not explicitly emphasized.

Both [START_REF] Howe | The most important thing for your child to learn about arithmetic[END_REF] and other authors such as [START_REF] Artigue | Numération à l'école élémentaire[END_REF][START_REF] Artigue | Numération à l'école élémentaire[END_REF][START_REF] Ernest | A semiotic perspective of mathematical activity: The case of number[END_REF] refer to PTWF in teaching positional notation in elementary school. These scholars also use units (as such) as a resource to explain positional notation and students' knowledge of it. However, units do not appear as a tool in the examples they provide for students' mathematical work (if there are any).

Decimal numeration: understanding units?

The literature on place value is vast. Ross (1989) and DeBlois (1996) characterize several stages for its understanding: the relation between the places of the digits and their 'names' (ones, tens, etc.), the relation between place and an idea of magnitude, and the relation between the magnitudes of the different places.

Mastering the complex decomposition of numbers such as 567=1H 34T 127O requires a deep understanding of numeration (e.g., [START_REF] Bednarz | The understanding of numeration in primary school[END_REF][START_REF] Ma | Knowing and teaching elementary mathematics: Teachers' understanding of fundamental mathematics in China and the United States[END_REF]Thanheiser, 2009). Much of the literature considers the mastery of numeration units as an indication of the mastery of place value. Yet, the 'groups-of-ones' idea remains a correct conception of place value. Thompson (1999) argues additive interpretation ("quantity value", p. 186) should be taught before the 'with units' interpretation ("column value", p. 186).

Transpositions of academic theory imply a high level of manipulation of algebraic expressions. If this has failed in France, is it mainly due to an inadequate transposition of the academic theory (maybe some properties were missing), the selection of this theory as reference knowledge, or the lack of units? What level of understanding of positional notation is achievable in elementary school, without units, or even without specific work on the semiotic system of units? Can students gain a profound understanding of place value before they have sufficiently mastered algebra? Can critical taskswhether they are symbolic or notinvolving units be identified for learning place value? Is there a mathematical theory, based on units, that is needed for students to learn units as units? Can students incidentally learn units in numeration? To what extent are the weakest students the most sensitive to the explicit teaching of units? Would these questions have different answers if the teaching language was different, e.g., with regular number names?

The issue of theory: towards semiotics and specific concepts

What are the profound differences between classical and the academic theories? Numeration units, PTWF, and even monomials are examples of similar concepts that use different semiotic systems. As semiotic issues are at the core of elementary school teaching, this encourages us to revisit the work of [START_REF] Ernest | A semiotic perspective of mathematical activity: The case of number[END_REF] and Otte (2011).

The successive stages of the transformation of academic theory show the growing importance of the semiotic system of PTWF, which is one way to write the numbers found in academic theory. In the context of knowledge to be taught, units are referred to as places (their semiotic value). This does not come from academic knowledge, but it enables places to be linked to number names (despite irregularities). In this example, the concept (the unit) does not appear to emerge from the teaching system if it is not already part of the current mathematical theory that is transposed. Furthermore, the sign (the names of the units) has a limited meaning (a place). Following [START_REF] Ernest | A semiotic perspective of mathematical activity: The case of number[END_REF], this could help to specify the transformation of the semiotic systems in the process of didactic transposition.

Otte ( 2007) compares current mathematical theory to Euclidian theory, notably the question of the 'existence' of objects. The present study highlights the existence of one such object: the unit. The fundamental but naïve concept of the unit is no longer part of academic mathematics, yet it is often highlighted as a key construct in the learning of arithmetic (e.g., [START_REF] Lamon | The development of unitizing: Its role in children's partitioning strategies[END_REF]. In the classical treatises, the unit emerged from the theory of quantities (the semiotic value), which founded classical arithmetic (e.g., [START_REF] Bezout | Traité d'arithmétique à l'usage de la marine et de l'artillerie[END_REF]. It was the fundament of numbers. While this is presently the case in China and Singapore, current academic theory as it currently exists, for instance, in France and probably in the United Statesis built on the number 1 as the only unit.

Conclusion and perspectives

This paper highlights the mathematical foundations of place value in the French curriculum, seen in syllabi and textbooks. Classical numeration theory with units seems to have provided the foundation for all tasks requiring decimal numeration prior to the New Math reform (1970). It disappeared in favor of polynomial decomposition with exponential notation. Changes in these foundations were stabilized during the counter-reform that followed the New Math.

From 1970 to 1995, a more-or-less slow process of didactic transposition unfolded. This study highlights several steps. New tasks, notably involving manipulatives and drawings (in bases) were introduced in 1970. Old, symbolic tasks (in units) disappeared, leading to the disappearance of most work in symbolic form.

Bases and the New Math ideology fostered the introduction of a new theory that implied new rationales (technologies). Bases disappeared, while new rationales evolved and were transformed into PTWF (1, 10, 100, etc.). This led to the appearance of new PTWF tasks that also met the need for symbolic techniques for working with place value. Unit names reappeared as places. The permanence of these names seems to be linked to the need to name numbers in elementary school.

In all periods, underlying theories influence the 'planned' curriculum. Indeed, theory plays a major role in providing rationales. Intermediate tasks, required to provide teachable techniques (which implies that their rationales should be accessible to students), are influenced, but not the basic tasks. Different interpretations of positional notation have appeared, in relation with different theoretical mathematical foundations. The complexity of the academic theory appears to have resulted, in the rationales of the early 2000s being heavily influenced by current mathematical social practice. It is likely the effects of these fundamental changes were not fully anticipated: connecting academic theory and school mathematics is a very complex undertaking, even more now than before the New Math. Classroom data are needed to study what is actually taught and learned with respect to place value. This study highlights some aspects of the French experience, and raises questions about other countries whether affected by the New Math reform or not.

A long-term, and hidden effect of the disappearance of numeration units as units is that the number 1 seems to be the only unit 5 now taught. This appears to be inconsistent with a deep understanding of place value.

Does the lack of numeration units impact later achievement in numeracy? Several scholars have carried out initial research into place value that highlights the positive role of base ten pieces (3, 200, 5000, etc.). Are there key tasks that require units in order to have a profound understanding of place value in early grade education? If so, what are they?

In Brazil, [START_REF] Moreira | Academic mathematics and mathematical knowledge needed in school teaching practice: Some conflicting elements[END_REF] highlighted a conflict between place value content in prospective teacher training, and the mathematics needed for teaching: in the former, "a formal proof of the fact that every natural number has a unique positional representation in any base b, greater than 1" (p. 29); in the latter, e.g., "decomposition and re-grouping" (p. 28) where units are involved. We rephrase this in terms of academic theory used for training prospective teachers, and classical theory implicitly needed for teaching. Chinese teaching seems to be underpinned by foundations that appear similar to classical theory. This leads us to consider Otte's view on the axiomatics (in the sense of Euclid) that are needed to teach some concepts [START_REF] Otte | Mathematical history, philosophy and education[END_REF]. The concept of the unit was the foundation of classical arithmetic-not only for numeration. At the present time, the number 1 is the only unit taught in numeration. We therefore ask, should the role of units be rethought, both in the teaching and foundations of arithmetic? Is it time to modernize classical theory?

Fig. 2

 2 Fig. 2 Exercises from "Hundreds" (L'arithmétique au cours élémentaire, Grades 2 & 3, 1931, p. 44) and our translation.

Fig. 3 Fig. 4 Fig. 5

 345 Fig. 3 Exercise from "Groupingsbase 2." The statement is: "Group two by two. Write the result." (our translation) (Math et calcul, Gr. 2, 1971, p. 103)

Fig. 6 "

 6 Fig. 6 "Decompose the numbers." Extract from (Nouveau Math Elem, grade 3, 2002, p. 133)

1)Fig. 7

 7 Fig. 7 Two exercises from "Numbers up to 999" (Pour comprendre les mathématiques, grade 3, 2002, p. 17) and our translation.

Table 1

 1 Number names and numeration units names in French and English

	French

Table 2

 2 Selection of textbooks and resources for teacher education

		Time period and name of the period (if any)
		1900-1950:	1950-1970	1970-1977:	1977-1995:	1995-2012:
		Classical		New Math	Early Post-	Late post-
					Reform	reform
	Number of textbooks for (gr.2, gr.3,	(4,4,5)	(3,3,1)	(3,3,0)	(0,2,0)	(0,12,0)
	gr.2&3)
	(Number of series, number of selected	(11, 1 to 2)	(3,1 to 3)	(7, 1 to 3)
	editions for a given grade)
	Number of teachers' guides linked with
	selected textbooks (gr.2, gr.3, gr.2&3)

In France, the New Math elementary school syllabus was published in 1970. This was followed by a counter-reform, with syllabi published between 1977 and 1980 (depending on the class level).

and carry 1; 8 and 1 is 9; 9 and 7 is 16; write down 6 and carry 1; 1 and 1 is 2. Hence, for each step, the student2 The wording is somewhat different: e.g., 'scholarly knowledge' corresponds to 'mathematical theory', while 'knowledge to be taught' corresponds to 'the planned mathematics curriculum'.

The early post-reform period saw an attempt to theorize based on 'number words' computations: e.g.,

492=(4x100)+(4x20)+12, which reads four (4) hundreds (100), four (4) twenties (20), twelve (12) (in French).4 Unlike the English language, the French language does not use the number name to form the unit name. However, working in different bases requires using several names for the unit of a given order: e.g., twos, threes, tens in the first order; fours, nines, hundreds, in the second.

Discussion

What can we learn from these results, taken from the French context, and restricted to the 'planned' curriculum?

Impact of changes on what is learned

A limitation of this study is that it only considers the first step of didactic transposition and does not consider classroom teaching. Yet, it provides some indication of what is likely and unlikely to be taught-and then learned-about decimal numeration: we found three possible interpretations of positional notation in 20 th century French textbooks:

1) With units: 456 = 4 hundreds, 5 tens, and 6 ones. Here, 4 hundreds refers to 4 units in relation with tens and ones. Positional notation sums up units as: ones are in first position on the right-hand side, tens are in second position, etc. (based on classical theory).

2) Algebraic: 456 = 4 x 100 + 5 x 10 + 6. Here, digits are coefficients of the polynomial. Positional notation sums up the algebraic relation (this originates in the transposition of academic theory).

3) Additive: 456 = 400 + 50 + 6. An example is given in Fig. 6. Here, 4 (in the hundreds column) means 4 followed by two zeros. Positional notation sums up additive relations, and the hundred is the name given to the third place. The number 1 is the only unit used (transformation of the original transposition of academic theory).

The research literature can also help. Indeed, studying another institution, Thanheiser (2009, p. 263) identified two correct conceptions of place value, and found that only 5 out of 15 pre-service teachers (in the United States) mastered one of them: the most advanced is "reference units" and the less advanced is "groups-ofones". They appear to correspond to our interpretation of 'with units' and 'additive' and Thanheiser's findings suggest that these conceptions might also have been learned by students in France. The successive transpositions suggest that the algebraic interpretation is even more difficult to teach (and learn) in elementary school.

A tour de table of other systems

This study focuses on the French educational system. However, New Math introduced bases in many other countries-notably the United States (e.g., [START_REF] Kline | Why Johnny can't add: the failure of the new math[END_REF]-suggesting that similar place value phenomena might have occurred. Unlike their Chinese counterparts, American teachers use "place value", a "conceptual term" (Ma, 1999, p. 34), "in a procedural way" (p. 34). They introduce the term to their students as "labels for columns where they should put numbers" (p. 34). "Conceptual" and "procedural" place value seem to correspond to our 'with units' and 'additive' interpretations. An overall theory based on the "concept of unit" [START_REF] Ma | A critique of the structure of U.S. elementary school mathematics[END_REF](Ma, , p. 1285) ) structures current elementary arithmetic teaching in China and Singapore [START_REF] Ma | A critique of the structure of U.S. elementary school mathematics[END_REF]. Hence, it is likely that the use of units by Chinese teachers is connected to this underlying theory. Moreover, while such theory formed the foundations of teaching in the United States before the New Math, this is no longer the case [START_REF] Ma | A critique of the structure of U.S. elementary school mathematics[END_REF]. This raises the question of the extent to which the 'additive interpretation' provided by American teachers is connected to the transposition of academic theory and the subsequent lack of units in that country.


J Hugues

L Pautet

B Zalila

P Dissaux

M Perrotin

Using AADL to build critical real-time systems: Experiments in the IST-ASSERT project

Keywords: IST-ASSERT, AADL, MDD, Stood, Ocarina

In this paper, we discuss the use of the AADL (Architecture Analysis and Design Language) in the IST-ASSERT project, which spans from 2004 to 2007. In the context of this project, the European Space Agency, in collaboration with tool providers and academic partners explored the use of AADL to build space systems. At the completion of the project, we provide our report and experiments on AADL for building critical systems.

Introduction

Building Distributed Real-Time Embedded systems requires a stringent methodology. We note there is a strong link between the requirements and the final implementation (e.g. scheduling, resource dimensioning). Modeling, formal verification and code generation are state-of-the-art solutions to discuss requirements, validate and implement a design.

The IST-ASSERT project, part of the 6 th framework program of the European Commission aimed at providing tools, methods and runtime environments to ease the development of space critical systems. This project began in 2004, and will see its conclusion in January 2008. This project involved 30 partners from both the industrial and academic domain, for an overall budget of 15MEUR. At the completion of the project, we draw some conclusions on the outcome of this project.

Being an integrated project, ASSERT explored many trends and solutions. There is not one common result in the project, but instead a full range of solutions for different steps in the engineering of complex systems.

In the remainder of this paper, we focus on the AADL related results of this project. The SAE AADL language was a novel aspect of ASSERT. After is standardization in 2004, AADL has been highly assessed by ASSERT partners. Constructive feedback has been provided to serve as "lessons learned" for defining AADLv2.

In the next sections, we present the ASSERT project, and more specifically the ASSERT process for building space applications. We then present the incarnation of this process using AADL as a backbone to model applications.

We finally describe a case study based on the integration of SCADE and SDL models. We show how an integrated tool-suite based on AADL allows complete code generation from high-level models to high-quality code, conformant with ESA standards.

The ASSERT Project

The ASSERT Project (Automated proof-based System and Software Engineering for Real-Time systems) is an integrated project partially funded by the European Commission within the Information Society Technologies priority of the 6th Framework Programme in the area embedded systems.

The project is coordinated by the European Space Agency (ESA), and is a consortium made of 28 partners representing the space industry, research laboratories, software houses and tool developers. The project started in September 2004 and ended in January 2008.

The main objective of ASSERT is to change the way system and software engineering is performed today to adopt a more reliable and scientific approach based on modeling, preservation of system properties and model transformation down to the final code.

The current results include a process, a set of tool prototypes and case studies demonstrating the validity of the overall approach. The figure 1 recaps the main logic of the ASSERT process.

The process consists in three phases:

• A modeling phase, where the developer captures the functional and non functional properties of his system,

• A model transformation and verification phase, which automatically verifies the feasibility of the system,

• An automatic code generation phase which produces a distributed real-time software system that is ready for download on hardware target.

Figure 1 ASSERT Process

One of the main characteristics of this process is that, except in the first phase, it is fully automated, This means that apart from a set of models, no human intervention is required to generate a complete software system made of physically distributed nodes, and possibly developed using heterogeneous modeling languages and tools.

The "zero manual-coding" approach has been in the heart of the whole ASSERT logic and has driven the development of innovative technologies and tools that until now only existed as theoretical concepts.

To support this approach, two pillars have been built, that we have called the Interface view and the Data view. The objective behind these views is to capture as much "implementation-neutral" information about the system as possible, without constraining the user to select one particular development environment for describing the behavior of his system. The Interface view helps the user capture his system structure, identify functional blocks, and set non-functional attributes to interfaces. Example of such attribute can be a period for activating a function (see figure 2).

The Data view, on the other hand, contains the description of all the messages that are exchanged between functional blocks, in an implementation language-neutral representation. We use for this description the ASN.1 notation that gives enough expressive power to represent complex data types together with means to automatically generate binary encoders and decoders at code level.

The functional blocks themselves can be implemented in virtually any modeling language; provided that a tool exists that can generate code for the behavior of the block. This is where the tools develop in ASSERT enter the game: by reading the Interface and Data view, they will detect that a given (known) code generator is used and automatically generate wrappers (that we call containers) to make a link between the functional code and the runtime environment to send and receive messages.

Figure 2 Modeling an application

When it is appropriate, the contents of data structures are automatically marshaled in a compact binary format before being transmitted to a network. This mechanism, that is added automatically, is required when sending data in an heterogeneous environment, or when the bandwidth of a bus is too limited to simply send a memory dump. ASN.1 tools are used for the encoding and decoding phases. When not needed, of course, the encoding functions are not used.

The ASSERT technology can be adapted to any existing modeling framework and associated code generator (so far ObjectGeode SDL, SCADE, Simulink and Rhapsody are supported) to build the functional parts.

The last "brick" of the ASSERT toolset is the virtual machine (VM). This essential element is made of a realtime and distributed operating system that is able to ensure the preservation of the non-functional properties expressed in the Interface view.

The "AADL" track

The ASSERT development process is composed of a set of modeling and production activities which steps can be summarized as follow:

-Data View: Definition of a set of data structures that must be expressed in ASN.1; -Functional View: Definition of a set of applicative operations that can be implemented in various implementation or modeling languages (Ada, C, Lustre, SDL, etc.). Operation parameters must refer to data types defined in the Data View.

-Interface View: Definition of a set of interacting Application level containers (APLC). APLC interfaces must refer to operations defined in the Function View.

-Concurrency View: Definition of a set of interacting Virtual Machine level containers (VMLC). VMLC model aims at being automatically deduced from the three preceding views, by applying generation rules known as "Vertical Transformations".

The VMLC model can then be processed again, firstly by binding it onto execution platform architecture defined in a Deployment View, then by generating target language source code (i.e. Ada or C) to produce a set of executable files to be run on top of an ASSERT compliant run time executive.

The ASSERT development process has been implemented in two parallel tracks. One of them uses the HRT-UML technology, and the other one is based on the Architecture Analysis and Design Language (AADL) international standard. This latter implementation of the ASSERT process, known as the "AADL track" is presented in details in this paper.

A Quick Overview of AADL

In this section, we provide a quick overview of the AADL modeling language. AADL is a versatile modeling language that can provide a basis to model all aspects of a system. AADL (Architecture Analysis and Design Language) [START_REF]Architecture Analysis & Design Language (AS5506)[END_REF] aims at describing DRE (Distributed Real-time Embedded) systems by assembling blocks separately developed. The AADL allows for the description of both software and hardware parts of a system. It focuses on the definition of clear block interfaces, and separates the implementations from these interfaces. It can be expressed using both a graphical or a textual syntax.

An AADL model can incorporate non-architectural elements: embedded or real-time characteristics of the components (execution time, memory footprint, etc.), behavioral descriptions, etc. Hence it is possible to use AADL as a backbone to describe all the aspects of a system.

An AADL description is made of components. The AADL standard defines software components (data, thread, thread group, subprogram, process), execution platform components (memory, bus, processor, device) and hybrid components (system).

Components describe well identified elements of the actual architecture. Subprograms model procedures like in C or Ada. Threads model the active part of an application (such as POSIX threads). AADL threads may have multiple operational modes. Each mode may describe a different behaviour and property values for the thread.

Processes are memory spaces that contain the threads. Thread groups are used to create a hierarchy among threads. Processors model micro-processors and a minimal operating system (mainly a scheduler). Memories model hard disks, RAMs, buses model all kinds of networks, wires, devices model sensors, etc. Unlike other components, Systems do not represent anything concrete; they actually create building blocks to help structure the description. Component declarations have to be instantiated into subcomponents of other components in order to model an architecture. At the top-level, a system contains all the component instances. Most components can have subcomponents, so that an AADL description is hierarchical. A complete AADL description must provide a top-most level system that will contain the other components, thus providing the root of the architecture tree. The architecture in itself is the instantiation of this system.

The interface of a component is called component type. It provides features (e.g. communication ports). Components communicate one with another by connecting their features. To a given component type correspond zero or several implementations. Each of them describe the internals of the components: subcomponents, connections between those subcomponents, etc. An implementation of a thread or a subprogram can specify call sequences to other subprograms, thus describing the execution flows in the architecture. Since there can be different implementations of a given component type, it is possible to select the actual components to put into the architecture, without having to change the other components, thus providing a convenient approach to configure applications.

The AADL defines the notion of properties that can be attached to most elements (components, connections, features, etc.). Properties are attributes that specify constraints or characteristics that apply to the elements of the architecture: clock frequency of a processor, execution time of a thread, bandwidth of a bus, etc. Some standard properties are defined; but it is possible to define one's own properties. A more detailed introduction to the AADL can be found in [START_REF] Feiler | The Architecture Analysis & Design Language (AADL): An Introduction[END_REF].

Data View

Applicative data types must be specified using the specialized ASN.1 language. An utility tool provides an automatic conversion of these data type descriptions into a sequence of AADL declarations that allows for a proper reference of these data types during the other phases of the ASSERT modeling process in AADL.

References to ASN.1 data types are represented by AADL Data components types and implementations whose specification may be located inside a separate package or copied into the others "views" that must reference them for the purpose of typing ports, subprogram parameters or shared data subcomponents.

Functional View

Applicative functions can be described as black boxes by AADL subprogram components. Such an AADL representation of applicative functions consists in a subprogram component type expressing a typed parameter list if any, and a subprogram component implementation providing necessary details about the actual implementation language, the name of the corresponding piece of code in the source files and the functional dependencies (required remote functions).

Additional information such as worst case execution time can also be handled by appropriate AADL properties to allow for various checks (schedulability, dependability, etc.). The set of AADL subprogram components that form the "Function View" can be grouped inside a separate package or directly included inside the other "views" that reference it. The picture below represents a functional view, with a set of cascaded calls.

Interface View

This view is the only one of the overall ASSERT process, that required some semantic add-ons to the standard AADL definitions. The "Interface View" can be expressed by a set of interacting AADL system components whose interfaces contain respectively in and out event ports, representing provided and required services.

Interfaces define interactions between the components. To bring precise hard real time semantics, the ASSERT project restricted the semantics of the interactions to the one amenable to verification. ASSERT retained the Ravenscar Profile [START_REF] Dobbing | Guide for the use of the Ada Ravenscar Profile in high integrity systems[END_REF], defined in the context of the Ada language. This profile defines a subset of concurrent interactions that can be fully analyzed.

The Ravenscar profile can be adapted to other semantics, and formed the root of the computational model supported by the interface view: the Ravenscar Computational Model. The precise RCM semantics is brought by a few specific AADL properties that have been invented for that purpose and are specified within the ASSERT property set: a few properties have been defined to represent cyclic (CYC), sporadic (SPO) or protected activities (PRO).

The components defined in this view are called Application-Level Components (APLCs).

Deployment View

The description of the execution platform and the allocation of the software entities onto it can be performed in standard AADL. In an AADL operational system, computing hardware is represented by a set of processor and memory components, whereas executable software is composed of a set of threads within a process. Binding properties allows for proper allocation of threads to processors and processes to memories.

Concurrency View

The Interface View defines a high-level abstraction of the model, made of APLCs. To go downwards to fully executable system, we map this interface view, made of cyclic, sporadic or protected activities onto AADL components that actually perform such actions, namely threads and data components. These components are referred to as VM-level containers.

The full definition of a software architecture in terms of ASSERT run-time compliant entities (VMLCs) could be directly performed in AADL, by specifying a set of interacting threads and shared data within processes. However, one of the goals of the ASSERT development process consists in enforcing automatic construction of the concurrent software architecture from the previous modeling views of the application. Such a generation of the "Concurrency View" from the other views is known as the "Vertical Transformations".

By mapping the interface view (an ASSERT-specific model) onto the concurrency view, we retrieve the benefits of a fully standardized model that can be analyzed using AADL compliant tools.

Code Generation

Concurrency, Deployment and Data views are three complementary AADL models that define orthogonal aspects of a system. By combining these three models, the user has a full view on his system.

Each AADL model is completed with supporting code; e.g. functional views come with SDL or SCADE models and associated C code, Data views come with ASN.1 models and ASN.1 C marshalling code. From the concurrency view, one can derive a set of concurrency constructs that will animate these codes.

We developed the Ocarina toolsuite as a "compiler for the AADL". Ocarina maps AADL constructs onto a runtime that supports the semantics of AADL. We also devised PolyORB-HI, a runtime that supports both AADL and Ravenscar, written in Ada2005.

Ocarina maps the various components of the AADL model onto corresponding pieces of code. It supports both local and distributed interactions. To do so, it fully exploits information from each view to build concurrent entities that will animate the model:

• Data view: it defines type exchanges, so it is used to produce ASN.1 marshallers. One can also deduce an upper bound on the memory required to exchange information; • Interface view: it defines signatures of the functional blocks, from which one can deduce stub/skels (a la CORBA) to send/receive requests and process them on each node; • Concurrency view: it provides definition of computational resources (threads, mutexes, etc.) required to support the semantics of this system. • Deployment view: it defines the position of the different entities, and the communication path between them. It is used to configure the different naming tables within the system.

By exploiting these different views, Ocarina generates Ada code that is fully compliant with both the Ravenscar profile, the restrictions defined by ESA for on-board space systems; and reflects the execution profile defined in the system.

Tool support

The ASSERT "AADL track" is supported by a tool-chain prototype that is composed of the following elements:

• ASN.1 to AADL conversion tool, a C framework and associated code generator to build ASN.1 marshallers developed on purpose by Semantix; • Stood AADL modeling tool, and vertical transformation engines developed by Ellidiss [START_REF]STOOD[END_REF]; • Ocarina AADL code generator and associated runtime developed by ENST University [START_REF]Ocarina[END_REF].

One of the advantages of using the AADL track for supporting the ASSERT process is that it is possible to express the various modeling views in a textual way, by the mean of a simple editor.

However, in order to enforce the guided modeling process that is promoted by ASSERT, a prototype customization of the Stood graphical AADL tool has been performed during the project to support the Data, Function, Interface, and Deployment Views, as well as the Vertical Transformations. The following chapters show how these various modeling steps are currently supported by Stood.

Evaluation

To assess the AADL track, we have worked on a system based on a real industrial case-study. This case study comprises behavioural models developed in specialized languages: SDL for state machines and SCADE for dedicated computation of algorithms. The idea behind this choice was to demonstrate how the ASSERT process could handle a development where independent teams work separately and develop sub-systems using the most appropriate language.

Case study

This case study is representative of real system development, in particular in the space domain where industries are spread all over Europe, and where communication between teams is hard to manage.

In that context, it is frequent that incompatible interfaces are discovered at integration time only. The cost for updating pieces of software and validating the global consistency of these systems is therefore high.

In our case study, we have specified, at system level, a set of functional blocks communicating together and put a high effort in describing the precise data model in ASN.1. This data model contains about 70 complex data types that are used to describe messages between the state machines and data to feed the calculation functions.

The system is a real-time system that has the following cyclic behaviour:

• At each cycle one function reads some sensors and make calculation to estimate the position of the spacecraft and send data to Earth,

• One cycle out of five, another function is triggered by the first one to calculate some actuators output sent back to the first function; the time of this calculation is unknown (it is not a synchronous, blocking call);

• The cyclic function continues being activated and making some calculation waiting for the answer of the second one; once it gets it, it sends the results to control the actuators.

We consider this system as distributed: the first (cyclic) function is on one processor, and the second one on another processor. Each physical node contains a complex state machine and several calculation functions that work on their own static data. Some of these functions are therefore protected and are purposively developed by independent teams.

The main non-functional property we require in the virtual machine is to guarantee an end-to-end reactivity between the reading of the sensors and the action on the actuators.

In the scope of this paper we do not enter into the details on this aspect since what we want to show here is how the use of AADL to describe the system concretely help software engineers to build their system without writing any line of manual code, in particular to make the data structure conversions and link with the virtual machine.

Building system's views

To build this system, we first devised the Data view of the system: an ASN.1 model of the different data types to be exchanged by the different functions to represent states. From this ASN.1 model, ASN.1 tools produce an AADL model that references these types, and a set of C functions for the corresponding marshallers .

Then, we defined the Functional view of the system. For each automaton, we defined a SDL model to represent the behaviour of the system. For each computation function, a SCADE model is built. From these models, we also produced automatically a set of AADL models, and generated code using vendor-provided code generator.

The next step is to produce the Interface view, representing the interaction between the different blocks: the SDL models are embodied by sporadic containers, each port of the SDL model is mapped onto a port of this container. SCADE models are passive subprograms called by the sporadic containers. Cyclic activation ("clock" signal) is performed by a cyclic container.

The figure 3 shows an example of an APLC with sporadic activation of its interface. The figure is followed by the corresponding AADL textual specification where the ASSERT specific properties have been highlighted. Finally, the Deployment view is built to define the mapping of functions onto computational resources. The genericity of the ASSERT process also comes from the capability to let the designer use the most adequate tools for its current task. Versatility of AADL helps combining models in an easy way.

Weaving views

The Interface view is an abstraction to ease the modelling of the system, but it remains non-standard. The first automated step is to map this view onto the concurrenct view, that is plain AADL. This step is supported by STOOD. STOOD supports a full model-to-model transformation engine, built around declarative rules. These rules are exercised on the system until the model does not evolve anymore. Each rule maps one high-level constructs (cyclic container, protected activity), onto a lower-level AADL equivalent one (AADL thread, data component). Data, Functional, Concurrency and Deployment views denote orthogonal models that can be combined to form the system. To each element of this models, a piece of code can be attached (ASN.1 C marshaller, SCADE node, concurrent Ada code).

Ocarina exploits these different views to deduce the exact set of threads, buffers required to animate the model. Furthermore, it produces the naming table, stubs and skeletons to support interactions among nodes. The next step is to use an orchestration builder script so that the different pieces of code are woven together to form the final application. Defining such script is highly technical: it involves understanding precisely how the each code generator produces code so that one can "plug" other code, e.g. calling SCADE code from a SDL model; triggering a SDL port. By defining a complete process, the system designer only needs to focus on its own set of models: Data, Functional and Interface views. From these models, a complete automated process handles code generation.

Current tool support allows one to process this case study, leading to a full running example.

Running the system

The different tools generate either portable C or Ada code. We compile the system on native platforms, or embedded one. ASSERT partners defined an Ada compiler for the LEON2 processor. This processor has been selected by ESA for its next generation platforms. Final executable runs well on either the tsim LEON simulator, or Gaisler's RASTAN boards, meeting all resource requirements. However, it will be optimized in next iterations of ASSERT.

Let us note this case study was performed without writing a single line of code; focusing on the models and moving directly to executable system is a key achievement of the ASSERT project. This achievement had to be validated by industrial partners to strengthen ASSERT achievements, with actual systems run on their own development boards. Other case studies, proposed and performed by ASSERT industrial partners demonstrated the same level of achievement.

Lessons Learned

During this exercise, we have been able to assess the suitability of AADL to capture a system's structure, interfaces, and non-functional attributes, in order to "implement" the assert process.

Given the initial requirements from the project, it was first not possible to directly map all the project's "entities" to AADL constructs. In general, the first evaluations showed that AADL was more suitable to express physical system architectures rather than more abstract logical architecture (independent from implementation), and this first glance led to discard AADL as the main system language by some assert partners, in favour of a UML profile.

But it quickly appeared that AADL had also unique strengths and potential that UML could not compete with (such as being an unambiguous textual language, as opposed to an informal graphical notation with "fuzzy" semantics). If data types are not well supported in AADL,

  ::= SEQUENCE { cmd-word T_COMMAND, mode-flag BOOLEAN } T-COMMAND ::= ENUMERATED { switch-on, switch-off } DATA MODEL IN ASN.1 Start-param ::= SEQUENCE { cmd-word T_COMMAND, mode-flag BOOLEAN } T-COMMAND ::= ENUMERATED { switch-on, switch-off } DATA MODEL IN ASN.1

Figure 3 Functional

 3 Figure 3 Functional View in AADL

Figure 4 Interface

 4 Figure 4 Interface View in AADL

Figure 3 :

 3 Figure 3: Sporadic activation in AADL

Figure 5 :

 5 Figure 5: AADL Deployment View with Stood

it was possible to build an elegant way to make a link with another textual-friendly notation (ASN.1). Such flexibility allowed us to quickly build tools around AADL to connect AADL partial models to other modelling tools (so far, we tested ASN.1, SCADE, SDL).

Besides, AADL appeared to be a very flexible language that goes further than most conventional modelling tools thanks for example to the extensible properties mechanisms. Here, there is no complex "stereotypes" and "tags" expressed as extensions of a meta-model, but simple property sets that allow us to combine the use of ASSERT-specific system attributes with standard, off-theshelves AADL tools. Such property sets are defined as plain-text for easier adaptation. Tool support can then simply parse these new property sets to add new capabilities.

Let us note also that the graphical AADL notation, supported by the STOOD tool, is used by ESA as a complement to the textual notation to give a higher-level view of the model when required.

In the future it is planned to improve the graphical AADL notation and CASE tool to provide a more integrated toolset and guide the user through all the steps of the process. At the moment, the automated part concerns the code generation, once all the models are ready.

Current tools do not help much yet on the best ways to build these models: how to capture the system architecture, defining the semantics of these attributes, the best step in the process to set them, how to select the most appropriate language to model the system behaviour, etc. Such extension to build "wizards" is certainly an important challenge for future industrial projects.

Conclusion

In this paper, we showed the main achievements performed within the scope of the ASSERT project.

The ASSERT project focuses on the definition of an integrated process to build ESA next generation missioncritical systems. By focusing on model-driven engineering, we aimed at exploiting state of the art software engineering process.

ASSERT defines a generic process, where one defines high-level components (APLCs), data types and functional models (expressed using industry-strength tools like SDL, SCADE …). By mapping these different models onto an AADL model, we showed how to combine these complementary views to build a full executable model of the system, expressed in standard AADL 1.0; and then to generate code from it. Generated code combines code from different origins; AADL, SDL, SCADE, ASN.1 code generator's output is orchestrated to produce one full executable.

We validate this approach on industrial case studies provided by ESA. Such evaluation demonstrated the pertinence of the approach. Code quality is satisfactory, model are built in full compliance with the ASSERT process and is partially automated from model to code.

Future work, to be carried out in further projects, will contemplate defining tools to help building models. This is a strong industrial challenge for complex critical systems.

Acknowledgement

This work has been funded in part by the IST Program of the European Commission under project IST-004033 (ASSERT). The authors thank the different partners of this project for their valuable feedbacks when defining the ASSERT process.