Laurent Wouters

Stephen Creff

Emma Effa Bella

Ali Koudri

Emma Effa Bella
email: emma.effa-bella@lip6.fr

Towards Semantic-Aware Collaborations in Systems Engineering

Keywords: Collaborative Engineering, Semantic Integration, Modeling, Domain Intention, Ontology Mapping, Behavioral Semantics

  L'archive ouverte pluridisciplinaire

I. INTRODUCTION

In this day and age, the design of a complex system requires the collaboration of a vast range of stakeholders. This includes engineers (mechanics, electrics, human factors, ergonomics, etc.) but also the clients, legal and regulation experts, business strategists and more. They are not all required to collaborate with every other experts all the time; but they all have a say in the system's design.

As summed-up in [START_REF] Lu | A scientific foundation of collaborative engineering[END_REF], Collaborative Engineering is concerned with various fields, such as the technological, social, socio-technical, decisions making, and negotiation ones. In the context of Model-Based Systems Engineering (MBSE), [START_REF] Wouters | Collaborative systems engineering: Issues & challenges[END_REF] pointed out some prerequisites for a successful collaboration. One of them is: the exchange of relevant information between the right people at the right time.

One of the root cause of misinterpretations and misunderstandings during the design of a system is that stakeholders may associate different meanings to the same signs [START_REF] Sayer | Misunderstanding and language comprehension[END_REF]. To improve this situation in the collaboration, we propose to capture the surface meaning stakeholders associate to their data, so that it can be understood by others, i.e. their denotation [START_REF] Barthes | Elements of Semiology[END_REF]. Doing so, the interpretation of the incoming signs by the receiving stakeholder can be made less ambiguous through the use of the captured denotation.

In a MBSE context, dealing with structured languages and considering the use of SysML [START_REF] Omg | Systems Modeling Language[END_REF], in a given tool, one may interpret the sign "Brake" in the Figure 1, as the concept "System Function Brake" of the domain "Functional Architecture" (i-a), another as a "SysML::Block" (i-b), and finally as a "UML::Class" with a "Block" stereotype (i-c). From a Systems Engineering perspective, the expert from the "Functional Architecture" domain would capture its denotation: "System Function is represented by SysML::Block". A collaborator (an expert from another domain), would then be able to use the captured denotation to extract the relevant information and use it in its domain. The original meaning in the language's specification, here SysML, then becomes irrelevant for our purpose. As presented above, a required element is the capture of the stakeholders' original denotation for their data, i.e. the semantics they project onto their data. Although the capture and sharing of the denotation is necessary, it is not sufficient. The recipient of the information still need to relate the concepts from the sender's denotation to his own concepts [START_REF] Wouters | Collaborative systems engineering: Issues & challenges[END_REF]. We argue in this paper that a possible way to reduce the risk of misinterpretation, and thus to improve the quality of the collaborations during the design of a complex system, is to support the meaningful exchange of engineering data at the system level. Indeed, this approach differs from the usual dogma in the MBSE community by refuting the need for a central common vocabulary encompassing all domains and advocating for the point-to-point mediation of meaning during focused collaboration. The use of a common language does not imply a shared understanding.

Therefore, we propose to formally capture the meaning projected by the stakeholders onto their data (the denotation) so that it can be unambiguously used by others. More specifically, this paper focuses on the aspect of the collaboration regarding the semantically consistent use of the exchanged information in conjunction with others; i.e. how can we relate the meaning projected by multiple stakeholders so that they can later exchange information that is meaningful to them. An implementation of this formal framework, relying on xOWL [START_REF] Wouters | xOWL an Executable Modeling Language for Domain Experts[END_REF] (extension of OWL2 [START_REF] W3c | OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax[END_REF], [START_REF]OWL 2 Web Ontology Language Direct Semantics[END_REF] with behavioral constructs), is then provided to perform the semantic integration of the captured denotations in an MBSE approach.

The remainder of the paper is organized as follows. Section II formalizes our approach for this particular issue. Section III presents some related works. Finally, the last Section draws our conclusion and narrows down possible future works.

II. FORMAL FRAMEWORK FOR SEMANTIC-AWARE COLLABORATIONS

Our approach is to provide a way to relate the denotations of the stakeholders for their data, i.e. a way to integrate the meaning projected by the stakeholders onto their data. This approach is really twofold: i) capturing the denotations of the stakeholders as languages, ii) the integration of their semantics through a federation of languages.

A. Some background on modeling and languages

Here, we build upon the linguistic approach to metamodeling of [START_REF] Kühne | Matters of (Meta-) Modeling[END_REF] where a modeling language is defined by its abstract syntax, which specifies its linguistic constructs. Declarative and/or operational semantics define the structural and behavioral aspects of the language's domain. Consequently, the semantics of a modeling language is a mapping from the abstract syntax onto the semantic domain, as defined in [START_REF] Harel | Meaningful Modeling: What's the Semantics of "Semantics[END_REF], [START_REF] Clark | The MMF Approach to Engineering Object-Oriented Design Languages[END_REF]. When formal semantics is desired, the semantic domain is a mathematical theory such as Description Logic; it can also be simply expressed in a natural language, as noted in [START_REF] Harel | Meaningful Modeling: What's the Semantics of "Semantics[END_REF].

Leaving out the concrete syntax and its mapping, a formal language is noted L = A, S, M where A is the language's abstract syntax, S a semantic domain (Description Logics for example) and M is a semantic mapping, i.e. a function from A to S (M : A → S).

A model O expressed in the language L is said to be a linguistic instance of L. It is defined by saying that all elements of O are expressed using elements of the abstract syntax A. Mathematically, every element o of O is mapped to an element t of A. Following [START_REF] Kühne | Matters of (Meta-) Modeling[END_REF], this is noted o l t and is extended to models O l L. The function mapping elements of the model to their corresponding abstract syntactic construct is denoted

I O : I O = {(o → t) | o ∈ O ∧ t ∈ A ∧ o l t}
The

S O = M • I O B. Intention-Specific Modeling Language (ISML)
In this paper, we hypothesize that a stakeholder's denotation can be captured as a formal language, here designated by Intention-Specific Modeling Language (ISML), because it is specific to the stakeholder's intention regarding its data. An ISML capturing a stakeholder's denotation will be composed of the same concrete syntax as the original language (same signs). However, the abstract syntax will contain the concepts projected by the stakeholder onto its data and the semantic domain will give their mathematical interpretation.

Back to the example of the functional architecture, the original language for the model is SysML. The ISML that captures the system engineer's denotation will then have: i) the sign "SysML::Block" in its concrete syntax; the concept of "System function" in its abstract syntax; and the mathematical interpretation of "System function" in its semantic domain. It is important to note that ISMLs are specific to a particular stakeholder, or class of stakeholders in a collaboration. They are also specific to original structured languages (signs) used by the stakeholders. This means that different classes of stakeholders can use the same original structured language to express their data, but associate different meanings to the signs. This case is a very common one when general-purpose modeling languages such as UML [START_REF] Omg | Unified Modeling Language[END_REF] are used, or when the information is structured in implicit forms such as spreadsheets.

Defining an ISML L i using a meta-language L meta is done by expressing its abstract syntax using L meta . This is the case, for example, when we use Meta-Object Facility (MOF) [START_REF]2.4.2, OMG Std[END_REF] to specify the ISML. In this framework, if L meta = A meta , S meta , M meta and L i = A i , S i , M i , this is defined by: 1) A i l L meta , the abstract syntax A i is a model expressed in L meta , 2) S i = M meta •I i , its semantic domain is the set of couples mapping each syntactic construct of L i to its meaning in

L meta , 3) M i : A i → M meta • I i , M i (a) = (a → M meta • I i (a)),
an element a of the ISML's abstract syntax A i is mapped to the corresponding couple (a → s) of the semantic domain of the ISML. Once the ISML L i is defined, it can be used to express a model

O i (O i l L i ). The function I Oi captures this linguistic instantiation of A i into O i : I Oi : O i → A i I Oi = {(o → a) | o ∈ O i ∧ a ∈ A i ∧ o l a}
The semantics of the model O i , S Oi is easily obtained using the previous definition of the semantics of a model:

S Oi = M i •I Oi .
It can be made further explicit as:

S Oi =      (o → (a → s)) | o ∈ O i ∧ a ∈ A i ∧ o l a ∧ (a → s) ∈ M meta • I i     
The function S Oi associates a model element o ∈ O i to an element of the semantic domain of L i , i.e. a couple of the form (a → s) where o is the linguistic instance of a (o l a). It is interesting to note that the semantics of a model element o is not simply related to an element of the semantic domain of the metalanguage, but to the association of an element of the abstract syntax (A i ) and its corresponding element of the semantic domain S meta . By consequences, different ISMLs expressed in the same meta-language L meta can use the same abstract syntax elements of A meta but still have different semantics. For example, a first ISML can be expressed using MOF (the meta-language) and define a class x in its abstract syntax, and a second ISML still expressed using MOF defines a class y. In the semantic domain of the first ISML, we will have (x → class); and in the second we will have (y → class). The consequence is that models expressed in the first ISML can have elements expressed with x that have the first couple as semantic; and models expressed in the second ISML have elements expressed with y that have the second couple as semantic. Because the semantics of the two ISMLs are different, the models are not trivially compatible.

C. ISMLs federation

Once the stakeholders' denotations have been captured as ISMLs, we need to find out the relations between them in order to be able, in the end, to say that sign A in domain X may correspond to sign B in domain Y. Hereafter, we present a formal federation framework for the syntactic and semantic integration of structured languages. Because we capture the denotations as languages, we propose to rely on techniques to do so.

First, the syntactic integration corresponds to the mapping of the concepts in the ISMLs' abstract syntaxes (ISMLs Federation). Then, the semantic integration means that the mapping of the syntactic elements (concepts) must be consistent with their associated semantics in the respective semantic domains, i.e. their associated mathematical interpretations must be equivalent. For structural semantic integration, we aim at relying on ontology mapping approaches. Finally, an extension of these approaches is described to take into account behavioral semantics when integrating ISMLs. The objective of this framework is to demonstrate how to achieve such an integration and to position how ontology mapping approaches can be leveraged at system level.

The goal is to relate the different ISMLs corresponding to stakeholder's denotation of their data. This is to be achieved through the syntactic and semantic integration of the ISMLs, here noted L i . This integration is performed in the form of a federation in this paper. The federation must produce a syntactically and semantically integrated access to the federated languages L i . For this purpose, a federation relies on the production of a federation language L f . ∀i, L i = A i , S i , M i A federation of these ISMLs is then specified as a federation language L f associated to a collection of morphisms ϕ i , one for each ISML of interest.

L f = A f , S f , M f
The federation language L f essentially acts as the blue-print for the federated models representing the results of the realization of the federation on models expressed in the ISMLs of interest, i.e. the stakeholders' data. A morphism ϕ i captures the relations between the abstract syntax elements of L i and the abstract syntax elements of L f : ∀i, ∃ϕ i : A i ↔ A f As defined above, ϕ i is a relation that is able to associate any number of elements of A i to any number of elements of A f . This means that some particular ϕ i may not map the complete abstract syntax of the associated ISML. The ISMLs federation is realized when the semantics associated to the mapped part of a ISML is equivalent to its associated counter-part in the federation language L f . This is expressed as:

∀i, ∃m i : S i ↔ S f , (1) ∀ψ ⊂ ϕ i , ψ = dom(ψ) ϕ i ∧ ψ = ϕ i ran(ψ), (2) ran(ran(ψ) M f ) = m i (ran(dom(ψ) M i )) (3)
In this definition, for all language L i a relation m i must exist between the semantic domains S i and S f (1) such that for all self-contained subset ψ of the morphism ϕ i (2) the semantics of the abstract syntax elements dom(ψ) is equivalent to the transformed semantics of its mapped elements in A f (3). According to line 2, a self-contained subset of ϕ i , is a subset ψ such that there is no other couple (a i → a f ) ∈ ϕ i not in ψ such that a i is in the domain of ψ or a f in its range. This means that all the considered mapped elements from A i and A f in this subset are not referred to by mappings outside the subset. In line (3), dom(ψ) M i is the subset of the semantic mapping M i for the abstract syntax elements considered in the current subset of the morphism. The range of this partial relation is then a subset of the semantic domain S i . In the same way, ran(ψ) M f is the subset of the semantic mapping M f for the abstract syntax elements in A f considered in current ψ. The transformed subset of S i must be equal to the corresponding subset of S f for the federation to be semantically sound. In practice, only the ϕ i morphism would have to be made explicit for the actual federation to take place. It suffices to demonstrate that the relation m i exists. The relation can be as trivial as the identity function if the semantic domains S i and S f are the same.

It can be noted that whereas the ϕ i morphism performs the syntactic federation of L i , the semantic federation is ensured by the relation m i . The above definition does not tell, however, how exactly the syntactically and semantically sound federation should be achieved.

D. ISMLs federation with ontology mapping

The mapping of ontologies is a collection of techniques for the semantically sound integration of different ontologies expressed in an ontology description language. In this context, a possible solution for the realization of the federation of ISMLs would be to express the abstract syntaxes of the addressed ISMLs in ontologies and rely on one of these techniques to perform the required syntactic and semantic federation of the languages. Figure 2 illustrates this approach. An important point, though, is that the behavioral aspects of the different ISMLs will have to be ignored whenever the abstract syntaxes are expressed using an ontological language that only maps to declarative semantics. To represent this problem, the relevant parts are grayed in Figure 2. Still, the rest of this sub-section demonstrates how an ontology mapping approach can be used to perform a federation of ISMLs, the following one addressing the gray parts. The mapping of ontologies is defined in [START_REF] Kalfoglou | Information-Flow-Based Ontology Mapping[END_REF] as "the task of relating the vocabulary of two ontologies that share the same domain of discourse in such a way that the mathematical structure of ontological signatures [...] are respected." More formally, the ontology mapping of

O 1 to O 2 expressed in the language L O = A O , S O , M O is the morphism f such that: f : O 1 → O 2 (4) ∧ ∀ (o 1 → o 2 ) ∈ f, ∃ s ∈ S O , (5)
(o 1 → s) ∈ S O1 ∧ (o 2 → s) ∈ S O2 (6)
This means that (4) the morphism f is a function associating elements from O 1 to elements of O 2 so that ( 5) for all such mapping (o 1 → o 2 ) defined in f , there is s in the semantic domain of L O and ( 6) o 1 and o 2 are associated the same semantic s. Through the formal framework defined above, we use an ontology description language as the meta-language L meta in which the abstract syntax of the ISMLs of interest will be expressed. We then have the meta-language:

L meta = A meta , S meta , M meta
A particular ISML L i specified with this meta-language is then noted, as presented previously:

L i = A i , M meta • I i , M i
The function I i capturing the linguistic instantiation relations is still the same as herebefore. The same goes for the M i mapping the abstract syntax A i onto the semantic domain of L i , i.e. M meta • I i .

To perform the federation, the federation language L f shall also be specified using the same meta-language L meta .

L f = A f , M meta • I f , M f
The syntactically and semantically sound federation is then realized for the condition given previously:

∀ i, ∃ m i : M meta • I i ↔ M meta • I f , ∀ ψ ⊂ ϕ i , ψ = dom(ψ) ϕ i ∧ ψ = ϕ i ran(ψ), ran(ran(ψ) M f ) = m i (ran(dom(ψ) M i ))
Here, we make the assumption that ϕ i is an adequate morphism performing an ontology mapping as defined above. With this assumption, we have:

ϕ i : A i → A f ∧ ∀ (a i → a f ) ∈ ϕ i , ∃ s ∈ S meta , (a i → s) ∈ M meta • I i ∧ (a f → s) ∈ M meta • I f
Using the definition of the semantic mapping of language expressed in a meta-language given above, we also have:

∀ (a i → a f ) ∈ ϕ i , ∃ s ∈ S meta , (a i → (a i → s)) ∈ M i ∧ (a f → (a f → s)) ∈ M f
Because the morphism ϕ i is a function under the current assumption, the smallest self-contained subsets of ϕ i are single couples. They can be trivially recombined to form more complex subsets. The federation condition can be rewritten as:

∀ i, ∃ m i : M meta • I i ↔ M meta • I f , ∀ (a i → a f ) ∈ ϕ i , ran({a f } M f ) = m i (ran({a i } M i )) ⇔ ∀ i, ∃ m i : M meta • I i ↔ M meta • I f , ∀ (a i → a f ) ∈ ϕ i , ∃ s ∈ S meta , {(a f → s)} = m i ({(a i → s)})
The federation condition under the current assumption is then that it must exist a relation m i so that for each couple in ϕ i mapping an element of the abstract syntax A i to an element of the abstract syntax A f both elements are associated the same semantic s. This condition is always verified by a function m i trivially derived from the morphism ϕ i :

m i =          ((a i → s) → (a f → s)) | a f = ϕ i (a i ) ∧ (a i → s) ∈ M meta • I i ∧ (a f → s) ∈ M meta • I f         
The conclusion is that under the assumption that all ϕ i represent ontology mappings, the condition for a syntactically and semantically sound federation of ISMLs is verified. This means that ontology mapping approaches can be directly used to perform the integration, i.e. the mapping of stakeholders' denotations, under the condition that the behavioral aspects are ignored.

E. Adding behavior

From the previous conclusion, one possible way to realize the mapping of the stakeholders' denotation is to express the abstract syntaxes (concepts) of the associated ISMLs as OWL2 [START_REF] W3c | OWL 2 Web Ontology Language Structural Specification and Functional-Style Syntax[END_REF] ontologies. Doing so, we can rely on existing ontology mapping approaches to perform the syntactic and semantic integration that realizes the mapping of the denotations. A major drawback of using pure OWL2, however, is its inability to formalize behavioral semantics. For this purpose, we propose to rely on the xOWL language introduced in [START_REF] Wouters | xOWL an Executable Modeling Language for Domain Experts[END_REF]. xOWL is an extension of OWL2 that supports the expression of behavioral constructs and capture their formal semantics. These are defined in conjunction with the standard model theoretic semantics (also called direct semantics) of OWL2 defined in [START_REF]OWL 2 Web Ontology Language Direct Semantics[END_REF]. Structural Operational Semantics have been chosen as the semantic domain of xOWL for the behavior because they enable the compact expression of the semantics and are easily integrated with Description Logics, the semantic domain of the OWL2 language. The behavioral semantics of xOWL are then defined with an abstract interpreter [START_REF] Wouters | Multi-Domain Expert-User Modeling Infrastructure[END_REF]. Using xOWL, the structural and behavioral aspects of the ISMLs can be expressed. The structural aspects will be expressed using pure OWL2. For example, the part of a domain about state machines will be expressed in xOWL as follow. The State and Transition concepts are expressed as OWL2 classes with the corresponding relations. The algorithms describing how to execute state machines are then expressed in the xOWL ontology using Clojure 1 code. This is the purpose of the smNextState and smSimulate function: ( n e x t e v e n t s ) ) ) ) ) ) 32 )

In this approach, summarized in Figure 3, the mapping of the denotations of stakeholders in a collaboration is achieved by 1) the capture of the stakeholders' denotations as ISMLs, 2) the expression of the abstract syntaxes of the ISMLs as xOWL ontologies, 3) the expression of a federated xOWL ontology representing the abstract syntax of federated ISMLs and 4) the use of an ontology mapping approach for the specification of the ϕ i morphisms performing the federation. III. RELATED WORKS Some related approaches come from the MBSE community, others from the Semantic Web one.

The MBSE community often distinguish between "formal" and "informal" models. Whereas "formal" models are intended to be unambiguously interpreted by machines and still readable to humans, "informal" models are solely intended for humans. Not only do they have a greater risk for misinterpretation, but also is this fuzziness actually embraced by the standardization organization as a feature. For example, the UML language includes the notion of "semantic variation point" [START_REF] Omg | Unified Modeling Language[END_REF] that paves the way for stakeholder-specific interpretations of a UML model. However this particular trait of the language was originally intended as a compromise for disagreeing future tool vendors for the language. Its purpose was not to recognize the variability in the end-users' interpretations.

The failure to recognize this variability is a common symptom of the MBSE community. MBSE practitioners usually value the identification of a common vocabulary in order to help stakeholders from different domains to collaborate [START_REF] Schmit | Semantic Design Space Refinement for Model-Based Systems Engineering[END_REF]. This way of thinking takes a concrete form in tools and standards that emphasize a central repository of knowledge using a single vocabulary for all considered domains [START_REF] Voirin | Arcadia: Model-Based Collaboration for System, Software and Hardware Engineering[END_REF]. This fails to recognize the variability in the meaning associated to the vocabulary and do not help at reducing the chance for misinterpretations. It has to be noted that some effort in the MBSE community goes toward the use of ontologies in order to build common vocabularies, integrate and share data [START_REF] Hennig | Ontology-Based Design of Space Systems[END_REF], [START_REF] Kharlamov | Capturing Industrial Information Models with Ontologies and Constraints[END_REF]. These approaches leverages ontologies as a way to provide a holistic representation of the system under study across domains so that consistency analyses can be performed. They still enforce the dogma of a centralized repository of knowledge with a single common vocabulary. The stakeholders still have to project their domain's concepts onto the foreign vocabulary in the central repository.

As presented in Section II, ontology mapping approaches can be used to realize the semantic federation of the ISMLs representing the denotations of various stakeholders in a collaboration. With broad strokes, ontology mapping approaches can be classified into two categories: First, Ontology Merging, which consists in merging all the considered ontologies into a single one [START_REF] Doan | Ontology Matching: A Machine Learning Approach[END_REF]. The approaches in this category perform a syntactic and semantic federation by resulting in a single ontology representing the integrated abstract syntaxes of all the considered DSMLs. Second, Semantic Bridges, which consists in the definition of semantic mappings (or bridges) between the considered ontologies [START_REF] Maedche | MAFRA -A MApping FRAmework for Distributed Ontologies[END_REF]. The approaches in this category only perform a semantic federation because they only focus on the semantic alignment of the ISMLs.

In the Model-Driven Engineering community, several works also have identified and addressed the problem of the syntactic and/or semantic federation of multiple languages. The earliest work in this regard is the introduction of Semantics Units in [START_REF] Chen | Semantic Anchoring with Model Transformations[END_REF]. In this approach, the authors define the notation of Semantic Unit as a gateway for the specification of formal declarative and operational semantics for languages. Semantics Units are always mapped to the same semantic domain, thus realizing their semantic integration. Given a set of languages, the approach consists in building a set of Semantic Units, which semantics can be merged. How these Semantic Units are built completely depends on the given languages, as noted in [START_REF] Chen | Semantic Anchoring with Model Transformations[END_REF].

IV. CONCLUSION

In systems engineering, collaborations between stakeholders from different domains involved in the conception of a complex system is ever more necessary. In this paper, we argue that the collaboration shall be facilitated and made more efficient by reducing the misunderstanding and misinterpretation of the stakeholders' data when exchanged. Our approach to tackle this issue is to formally capture and integrate the meaning projected by the stakeholders onto their data (the denotation), so that it can be unambiguously shared. A formal framework is consequently proposed, and an implementation of it, relying on xOWL, is provided to perform the semantic integration of the captured denotations in an MBSE approach.

A first limitation of this approach is that it requires the capture of the stakeholders' denotations for their data. Although we propose a way to formalize the captured denotations as languages, the capture itself can be challenging. At this time, it is possible to manually realize the capture through interviews with the experts; but this process should be at least partially automated. This constitutes one of the research tracks for our future works.

Fig. 1 .

 1 Fig. 1. Interpretations of signs -a SysML example

Fig. 3 .

 3 Fig. 3. Semantic Federation of ISMLs with xOWL

Listing 1 .

 1 State machines in xOWL 1 O n t o l o g y ( <h t t p : / / h o l o n s-hub . com / d o m a i n s / s y s e n g> 2 D e c l a r a t i o n ( C l a s s ( : S t a t e ) ) 3 D e c l a r a t i o n ( C l a s s ( : T r a n s i t i o n ) ) 4 D e c l a r a t i o n ( C l a s s ( : S y s t e m E v e n t ) ) 5 F u n c t i o n a l O b j e c t P r o p e r t y ( : o r i g i n ) 6 O b j e c t P r o p e r t y D o m a i n ( : o r i g i n : T r a n s i t i o n ) 7 O b j e c t P r o p e r t y R a n g e ( : o r i g i n : S t a t e ) 8 F u n c t i o n a l O b j e c t P r o p e r t y ( : t a r g e t ) 9 O b j e c t P r o p e r t y D o m a i n ( : t a r g e t : T r a n s i t i o n ) 10 O b j e c t P r o p e r t y R a n g e ( : t a r g e t : S t a t e ) 11 F u n c t i o n a l O b j e c t P r o p e r t y ( : symbol ) 12 O b j e c t P r o p e r t y D o m a i n ( : symbol : T r a n s i t i o n ) 13 O b j e c t P r o p e r t y R a n g e ( : symbol : S y s t e

  semantics of a model O, S O maps each model element to an element of the semantic domain S (S

O : O → S) can then be computed by combining M with I O . For all o in O, S O (o) is equal to M (I O (o)), thus:

Acknowledgements. This research work was supported by the IRT SystemX, Paris-Saclay, France, and therefore granted with public funds within the scope of the French Program "Investissements d'Avenir".


Shumail Naveed
email: shumail.naveed@fuuast.edu.pk

Muhammad Sarim

Adnan Nadeem

C in CS1: Snags and Viable Solution

Keywords: Introductory Programming Courses, Doodles, Pre-Programming, Teaching Methodology, Pair Programming

INTRODUCTION

P rogramming skill is an essential element of computer science courses and one of many skills that students of computer science programs are presumed to master [START_REF] Mccracken | A Multi-National, Multi-Institutional Study of Assessment of Programming Skills of First-Year CS Students[END_REF]. One of the most difficult aspects of computer science curriculums involves facilitating students in comprehending the concepts of computer programming. Almost in all computer science academic programs, it is required to take an introductory programming course. Programming is an important skill and a rewarding career. It is usually recognized that it takes around ten years of experience to be an professional programmer [START_REF] Winslow | Programming Pedagogy -A Psychological Overview[END_REF]. However, learning to program is a difficult task for beginners [START_REF] Anna | Relationship between Text and Action Conceptions of Programming: A Phenomenographic and Quantitative Perspective[END_REF][START_REF] Sabitzer | Brain-Based Programming Continued: Effective Teaching in Programming Courses[END_REF]. Hagan and Markham claim that for all computing courses the programming is the least interesting and most difficult subject by most first year students [START_REF] Hagan | Does it Help to Have Some Programming Experience Before Beginning a Computing Degree Program?[END_REF]. Programming is inherently complex and beginning students naturally lack the knowledge and

The first programming language of student has a strong effect on program development capabilities as significant as the impact of our native language on our thought [START_REF] Wexelblat | The Consequences of One's First Programming Language[END_REF]; in fact the first programming language will set the tone for all subsequent classes [START_REF] Howell | First Computer Languages[END_REF].

Selection of an appropriate programming language for the first course on programming is an important issue [START_REF] Laakso | Define and Visualize Your First Programming Language[END_REF][START_REF] Minor | Pedagogical Issues in Programming Languages[END_REF].

There have been very substantial studies and discussion on selection of programming language for introductory courses of programming [START_REF] Ali | Teaching an Introductory Programming Language in a General Education Course[END_REF][START_REF] Ivanovic | Educational Influences of Choice of First Programming Language[END_REF][START_REF] Goosen | A Brief History of Choosing First Programming Languages[END_REF][START_REF] Parker | A Formal Language Selection Process for Introductory Programming Courses[END_REF]. However, the introductory programming courses are widely recognized to pose challenges and problems for both students and instructors and high dropout rates of 20-60% are reported in different academic institutions [START_REF] Herrmann | Redesigning Introductory Computer Programming Using Multi-Level Online Modules for a Mixed Audience[END_REF][START_REF] Nagappan | Improving the CS1 Experience with Pair Programming[END_REF][START_REF] Rich | A CS1 Course Designed to Address Interests of Women[END_REF][START_REF] Sloan | CS 0.5: A Better Approach to Introductory Computer Science for Majors[END_REF]. Despite of an extensive study in introductory programming, the pass rates were not observed to have considerably differed over time [START_REF] Watson | Failure Rates in Introductory Programming Revisited[END_REF].

The appropriate paradigm and language chosen for the introductory programming course may overcome the intrinsic complexity of introductory programming. There are around 2000 to 3000 famous programming languages documented on the Web [START_REF] Kaplan | Choosing a First Programming Language[END_REF], consequently it is intricate to select any programming language for the first programming course. Over the years there has been a substantial debate and study about which language is appropriate for the introductory programming course; hitherto there is no final consensus on any programming language. Such as in [START_REF] Jab³onowski | A Case Study in Introductory Programming[END_REF], it is argued that Java is better than C++, and C++ is not a good choice for introductory programming. Similarly, Wallace and Martin considered that Java is better that other programming language [START_REF] Wallace | Not Whether Java but How Java[END_REF]. However, Biddle and Tempero [START_REF] Biddle | Java Pitfalls for Beginners[END_REF] categorized the Java a reasonable, but not an efficacious choice for introductory programming courses. In [START_REF] Grandell | Why Complicate Things?: Introducing Programming in High School Using Python[END_REF], Python is selected for the introductory programming course. [START_REF] Mason | Trends in Introductory Programming Courses in Australian Universities: Languages, Environments and Pedagogy[END_REF]. According to that study, 54.5% of instructors are using procedural paradigm, 25.0% are using the object-oriented paradigm, 18.2% are following the mix of paradigm and 2.3% are using a functional paradigm. The study also revealed that Java, Python, C, C# and Visual Basic are the widely used programming languages.

In 2013, the same pattern of study is conducted and surveyed the 38 introductory programming courses in New Zealand and Australian universities [START_REF] Mason | Introductory Programming Courses in Australia and New Zealand in 2013 -Trends and Reasons[END_REF]. According to that study the imperative (procedural) paradigm is the preferred paradigm used for teaching as shown in Fig. 1.

The study also reported that Python, Java, JavaScript, C, and according to the available information, the majority of the universities/institutions are formally running the pure undergraduate computer science programs and nearly all are using the imperative paradigm for the first programming course (usually called CS1). It is worth noting that around 90% of these universities in Pakistan are using the C language in CS1.

C is the general purpose programming language and extremely useful for different types of applications [START_REF] Ritchie | UNIX Time-Sharing System: The C Programming Language[END_REF]. It is the core language of the UNIX operating system. C is equipped with powerful data-structures, useful [START_REF] Mason | Introductory Programming Courses in Australia and New Zealand in 2013 -Trends and Reasons[END_REF] expressions, control structures and a large variety of data types. Its tiny size and generalization make it suitable for several domains.

FIG. 1. TRENDS IN PARADIGM TAUGHT

The TIOBE Programming Community index [31],

acknowledges the C language as a popular programming language. Table 1 shows the rating of the top 10 languages of March 2015.

As a part of a study of the motivation, delineation and anatomy of precursor and pedagogical programming languages, we have made the discussion and interview with 154 experienced teachers/academic instructors in the teaching institutions of Pakistan. Instructors were asked to indicate the appropriate programming paradigm for CS1. Among all the instructors, 106 recommended the imperative paradigm, 24 endorsed the mix of paradigms and 18 recommended the object-oriented paradigm, it is surprising that some instructors, 4 from 154 recommended the logic paradigm, and 2 recommended the functional paradigm. Fig. 2 shows the overall recommendation in numeric proportions:

The response about the recommended paradigms clearly indicates that imperative paradigm is one of a most advocated method in Pakistan. The instructors were also asked to recommend the appropriate programming language for the first imperative programming course. Fig. 3 The response of recommended programming languages indicates that for majority of instructors in Pakistan, the C language is still a favorite choice for the first programming course.

The C is widely recognized language, yet there have been a wide debate about its educational appropriateness and usefulness.

The pedagogical application of a C language is explicitly opposed in that been designed especially for educational purposes [START_REF] Pears | A Survey of Literature on the Teaching of Introductory Programming[END_REF]. This paper introduced a plain technique that can make C language a suitable option for the CS1 in controlling its inherent complexity and intricacies.

The rest of the paper is structured as follows. The major intricacies and difficulties association with the application of the C language in introductory courses of programming are described in the second section, while the prior work is briefly illustrated in a third section. The proposed solution is introduced in a fourth section. The initial results obtained after the primary assessment of the proposed techniques are described in the fifth section and the last section includes the conclusion.

CRITICISM AND PEDAGOGICAL ISSUES

The C language has wide applications in commercial and scientific areas. However, it is explicitly criticized and opposed to education in the introductory courses of programming. Following is the brief element of main appraisal and educational concerns of the C language.

(1)

The C is not outsized, yet too complex for novice students [START_REF] Ruckert | Educational C[END_REF], and it is unfeasible to introduce entire C language in the CS1.

(2) It is openly described that C language was designed by Dennis Ritchie, who was not noneducationist but a mathematician and physicist.

So rarely considered the educational aspects during the development of a C language, and ultimately it is unenviable to exercise C language for introductory courses of programming.

(3) C is not a natural language and its syntax and facets like program organization, arrays and control structures are difficult for novice students [START_REF] Budny | Four Steps to Teaching C Programming[END_REF]. In [START_REF] Petrov | New Evaluation of the Language C for Educational[END_REF], Petrov claims that unexpected and unfamiliar syntax of C language creates the confusion and raise the psychological tension.

(

) 4
The unsigned data types in C are virtually useless, in that it is safe and simple to use the signed data. Similarly the formatting symbol "%" is difficult to rationalize.

(

The loops and other control structures are quite difficult to identify. C programming language has weak typing. For instance, the ASCII characters can be used as an integer, and this type of provisions may lead to confusion. The abbreviation of several arithmetic operations seems useless and overwhelming.

(

) 7
The equality statement is extremely difficult and mostly muddled with assignment statement and consequently causes strenuous errors.

(8)

The grammar of C language controverts to the human language and grammar [START_REF] Petrov | New Evaluation of the Language C for Educational[END_REF], and C itself does not follow the conventional mathematical notation.

(9)

The subscripting of arrays in C language starts from zero, and it also does not support bound checking, for that reasons novice students face severe problems in the learning and implementing arrays based programs. [START_REF] Howell | First Computer Languages[END_REF] The majority of the statements of C language is permitted to be defined on a single line, while numerous statements entails a unique line. For novice students of CS1, it is mostly very complex to comprehend and implement these dissimilarities. The case sensitivity of a C language is another major issue that makes the language more difficult for beginners.

(

) 11
The Boolean-data type is not available in C language and educationally it is a main problem [START_REF] Roberts | Using C in CS1: Evaluating the Stanford Experience[END_REF], and the corresponding code for the realization of Boolean-data type is usually very odd and complex in the framework of learning and generally an error prone.

(12) Programmer-defined functions, arguments and the classes of arguments are generally difficult for novice students.

(

) 13
The pointer is an essential constituent of a C

program, but it is extremely complex for beginners, especially the arithmetic of C language is exceptionally complex to comprehend. Egan and McDonald claim that pointers and manual memory management can be difficult to comprehend [START_REF] Egan | Program Visualization and Explanation for Novice C Programmers[END_REF]. The pointers are not only difficult for beginners, but also hard for experienced programmers [START_REF] Petrov | New Evaluation of the Language C for Educational[END_REF].

(

) 14
The I/O operations are always very interrelated, and their equivalent constructs should be very symmetrical, however the 'printf' and 'scanf' are highly nonsymmetrical. The ampersand sign "&" is mandatory for 'scanf', but not for 'printf'. The conventional input function 'scanf' in the C language, is naturally difficult to use because it involves a pointer to the variable for storing the input value [START_REF] Rosenberg | I/O Considered Harmful (At Least for the First Few Weeks)[END_REF].

(

) 15
The union is one of a useful feature of the C language; though, it is abnormally strenuous to understand and implement.

(

) 16
The shift-wise operators and bit-manipulation operators are very difficult to learn and implement.

(

) 17
The very strange notion of logical operators is used in C language. The exclamation mark "!" is used as an operator in the C language, whereas it is customarily used for different purpose, and these differences make it confusing for beginners.

(

) 18
Conditional compilation is an imperative element of the C language, but typically very difficult for novice students. Most of the available compilers of the C language are not equipped with powerful debuggers, and due to this fact, it is very strenuous to debug the C programs.

In [START_REF] Johnson | C in the First Course Considered Harmful[END_REF], it is described that the C language is an industry standard and for that reason it should not utilized as an introductory language because the beginners will become biased for future programming languages. It is also described that C is a magnificent programming language for terrorists as it is excellent for negative programming.

SIGNIFICANT SOLUTIONS

Several solutions have been developed to define the C language viable for introductory courses in programming.

In [START_REF] Budny | Four Steps to Teaching C Programming[END_REF], the notion of using HTML, EXCEL and MATLAB before introducing the C language is proposed. These applications help the novice beginners in learning the difficult features of a C language. For instance, the HTML can be helpful in comprehending the layout of the program;

EXCEL may be fruitful in learning the input/output and arrays. Likewise, MATLAB can be productive in introducing the condition and repetition control structures.

Egan and McDonald [START_REF] Egan | Program Visualization and Explanation for Novice C Programmers[END_REF] introduced the notion of natural language description of program behavior and program visualization to help the beginners in increasing their knowledge, understanding and aid in program debugging.

A system based on that proposed method is formalized and used for C. Similarly, in [START_REF] Kim | Educating C Language Using LEGO Mindstorms Robotic Invention System 2.0[END_REF], the use of Robotic Invention System 2.0 for introducing the C language is introduced.

In [START_REF] Roberts | Using C in CS1: Evaluating the Stanford Experience[END_REF], it is argued that there are some troubles in employing the C language at the initial level; nonetheless it is possible to lessen the difficulties by utilizing the benefits of conventional software engineering techniques.

METHOD AND DISCUSSION

The C is a very prevailing language, but it is difficult to conventionally teach C language to novice students than it is to introduce the pure educational programming language, but the indelible paybacks are more important and necessary than momentary outlays. Practically, it is possible to diminish the complexities associated with using the C language in introductory courses of programming by utilizing the proposed method. The proposed technique is based on 4 pillars.

Prior Knowledge

The lack of prior knowledge of programming is a major cause for the intricacy of C language. The novices without prior experience of programming suffer severe problems in learning process [START_REF] Davy | Student Well-Being in a Computing Department[END_REF][START_REF] Morrison | A Study of the Impact of Student Background and Preparedness on Outcomes in CS I[END_REF]. However, the beginners with prior acquaintance of programming work better, particularly in the CS1 [START_REF] Holden | The Impact of Prior Experience in an Information Technology Programming Course Sequence[END_REF][START_REF] Tafliovich | A Student Perspective on Prior Experience in CS1[END_REF]. It is widely believed that the C language is extremely logical and this perception demotivated the novice students.

The first principle of the proposed technqiue is to introduce a foundation course before introducing the actual C language. This foundation course can provide the basic knowledge of algorithmic thinking, problem solving and essential of elementary programming.

Fortunately, several preprogramming tools are available.

GRAIL is preprogramming language designed to offer before the first course of programming and helps the beginners to understand the programming concepts [START_REF] Mciver | GRAIL: A Zeroth Programming Language[END_REF].

GRAIL is a small programming language designed to support the imperative programming concepts. On the whole the statements of GRAIL are almost similar to the equivalent statements of contemporary high level programming languages. Each construct in GRAIL has a single syntax and it's a viable choice to introduce before the C language.

In [START_REF] Panitz | Game Programming in CS0: A Scaffolded Approach[END_REF] A preliminary course has designed by using Alice [START_REF] Dyne | Effectiveness of a Computational Thinking (CS0) Course on Student Analytical Skills[END_REF] to prepare the students for comprehending the concepts of programming and preparing them for a first programming course [START_REF] Moskal | Evaluating the Effectiveness of a New Instructional Approach[END_REF][START_REF] Cooper | Alice: A 3D Tool for Introductory Programming Concepts[END_REF]. The results indicate the aptness of Alice in improving the performance of students and similarly the same leverage can be obtained by introducing Alice before the C language.

In [START_REF] Sloan | CS 0.5: A Better Approach to Introductory Computer Science for Majors[END_REF], CS 0.5 course is introduced to before the first programming course. The intention of CS 0.5 is to give beginners a programming maturity before diving into CS1.

The gentle revised version of Guzdial's media computation [START_REF] Guzdial | A Media Computation Course for Nonmajors[END_REF] is used in CS 0.5.

Sometimes it is undesirable to initiate a foundation language before starting the C language; in that situation, it is possible to introduce the educational dialects of C language (like Educational C [START_REF] Ruckert | Educational C[END_REF]), and the dedicated programming environment (like Thetis [START_REF] Freund | Thetis: An ANSI C Programming Environment Designed for Introductory Use[END_REF]) before starting the C language.

Apart from the other tools there are myriad many tools like RAPTOR and FLOWGORITHM that can be used to introduce the fundamental of elementary programming before the C language.

Use of Doodles

Several elements of the C language like input/output, arrays, pointers, functions and types of arguments are obviously difficult for novice students, and the key reasons from their intricacy are the complexity of topics and the unusual syntax of the C language. The novice students are generally forced to learn these notions and the strange syntax of the language at the same time. The unknown and mysterious taxonomies and complex syntax of C makes the control structures, arrays, pointers and functions more difficult for beginners; however the reasonable exercise of doodles can conquer these problems.

Utmost employment of doodles in introducing and learning the C language is the second principle of the proposed technique. Doodle is any kind of an illustration or diagram drawn to comprehend the purpose of the programs [START_REF] Lister | A Multi-National Study of Reading and Tracing Skills in Novice Programmers[END_REF]. Doodle is exceptionally helpful in the preliminary stages of programming [START_REF] Deleon | An Analysis of Novice Programmer Doodles and Student Achievement in an Introductory Programming Class[END_REF]. With the different types of doodles [START_REF] Lister | A Multi-National Study of Reading and Tracing Skills in Novice Programmers[END_REF], it is significantly straightforward to comprehend the hard concepts without considering the complicated syntax of the C language. Through pictorial illustrations and doodles it is quite simple to learn these fundamental concepts.

Less is More

Nearly all the contemporary programming languages, including the C is radically very large, and sensibly it is unreasonable and unfair to teach entire C language in the CS1, but only the necessary topics are advantageous in the CS1, where complex topics like union, bitwiseoperators, shift-wise operators and conditional compilation can be offered in the later programming courses or may be introduced in the later stages of the CS1 and this is the fundamental idea of the third principle of the proposed technique.

Pair Programming

The C language is completely diverse from programming languages and therefore requires a radically special approach. Similarly, the time, efforts, adroitness and deliberation need to learn the C language is appreciably more than the other programming languages.

It is widely accepted that the pair programming can overcome the several pedagogical problems. Pair programming is a pivotal practice of Extreme Programming and a way in which two developers work together at one system on the same problem [START_REF] Hulkko | A Multiple Case Study on the Impact of Pair Programming on Product Quality[END_REF]. The programmer writing the program is called the driver and the other teammate is called navigator. Pair programming has been largely applied in education because of the leverage it brings to students. The pair programming has been fruitful in introductory programming courses.

In order to strengthen our thesis the instructors were asked to indicate whether the pair programming can surmount the several problems associated with the use of the C language in a first programming course. Fig. 4 indicates the response of instructors.

Most of the instructors recognized that the effective teaching methodology can be a useful panacea for the several pedagogical issues of C languages. At last, it is worth here to state that in the teaching of C language programming, design, some problems exists on both sides, students and instructors [START_REF] Gao | Research and Reflection on Teaching of C Programming Language Design[END_REF]. So the instructors should revolutionize their teaching philosophy and students should instinctively learn and ameliorate their learning motivation.

PRELIMINARY TEST AND RESULTS

In order to ascertain whether the proposed method is really effective in making the C language a viable choice for the CS1, a small study is conducted. As a part of the study, 82 students of the undergraduate computer science program are selected and randomly divided in two groups (called control group and treatment group). The C based first programming course is offered by the same instructor to the both groups, and the conventional teaching approach is followed for the control group, whereas the proposed method is followed for the treatment group. For the realization of a first principle of the proposed method, we have used the RAPTOR environment to introduce the RAPTOR is successfully used to introduce programming to novice students with flowcharts [START_REF] Carlisle | RAPTOR: A Visual Programming Environment for Teaching Algorithmic Problem Solving[END_REF][START_REF] Carlisle | RAPTOR: Introducing Programming to Non-Majors with Flowcharts[END_REF][START_REF] Carlisle | Raptor: A Visual Programming Environment for Teaching Object-Oriented Programming[END_REF]. Fig. 5 shows the environment of RAPTOR.

The preprogramming environment/language is virtually introduced to increase the motivation level by providing the prior knowledge before starting the actual massive course.

Throughout the duration of course, the students of treatment group are softly encouraged and motivated to doodle the programs. The instructor itself doodles the major programs and concepts introduced during the course. With the extensive use of doodles it is clearly realized that several logical concepts of the C language are extremely easy to comprehend and implement. Fig. 6 shows the sample doodle for the arrays.

Several concepts of C language like functions, types of arguments and pointers are intrinsically hard to teach and comprehend, whereas the feedback received from the instructor illustrate that the use of doodle surprisingly reduced their complexities. As an illustration, consider the Fig. 7 for the sample doodle of user defined function. The curriculum of the C based first programming course for the both groups was same and included the elementary topics, but also included some complex topics like the bitwise operators, union and conditional compilation. As the realization of the third principle of the proposed method, these complex topics are introduced in the later lectures, and introduce with the extensive use of doodles.

For treatment group the instructor principally follows the imperative-first approach, but also consider the conceptfirst approach.

After the completion of course, both groups are evaluated with pen and paper exam. Fig. 8 shows the results.

Fig. 9 shows the box plot of the marks obtained by the students of the control group.

The box plot of the marks obtained by the students of the treatment group is shown in Fig. 10.

The results obtained from the initial assessment of the proposed method reveals that the proposed method is quite helpful in diminishing the complexity of using the C language in a first programming course. The grade wise distribution of marks of students of both groups is shown in Fig. 11.

From current results and analysis, it can be inferred that the proposed method can also improve the motivation level and may be useful in improving retention rate and controlling the dropout rates. In order to obtain, the significance of the proposed method in increasing the retention rate, students from both groups were interviewed and asked "whether they are willing to study another programming course in the next semester". The feedback received from the students is shown in Fig. 12.

The feedback received from the students indicated that students in the treatment group are highly motivated and their retention rate is much higher the students of the control group.

At last is important to realize that the pedagogical success of any programming language and improvement of retention pivot on several factors, albeit the feedback received from the both groups clearly indicates that the proposed method may be fruitful in reducing the inherent complexities of C language.

CONCLUSION

The C language is of a widely used programming language; however, its non-educational source makes it disputed and problematic for the CS1. In this paper a simple method is proposed that can make the C language a realizable choice for the CS1 by reducing it intrinsic complexities.

The proposed method is based on four main principles which are simple, feasible and applicable. We have applied the proposed method on a small group of students and statistical results and knowledge of using the proposed technique suggest that it can be useful in controlling the intrinsic intricacies of C language and can ultimately make the C language a viable choice for the CS1.

FI. 11. GRADE-WISE RESULT FIG. 12. STUDENTS WILLINGNESS IN NEXT PROGRAMMING COURSE

  Raina et. al. conducted a landmark study of the 44 introductory programming courses in 28 universities in Australia and compared the results with previously conducted censuses during 2001 and 2003

  C++ and C# are the popular languages. The programming paradigm and languages followed in the teaching institutions of Pakistan are somewhat different from other countries. At the time of writing, there are around 164 universities/degree awarding institutions in Pakistan [29],

( 6 )

 6 Most of the operators are confusing, orthogonal and contradictory with the logical and mathematical notations. For instance, multiple ways are available for arithmetic assignment: a += 1; a = a + 1;

  a CS0 course has introduced to help the beginners who have no previous knowledge of programming. It covers the fundamental topics like sequences, operators, selection statements, repetitive statements, functions and arrays. The course first uses GameMaker [46] to cover the fundamental topics of elementary programming. The same pattern course can be useful before starting the C language. In [48], Dyne and Braun described and the CS0 course called Computational Thinking to develop and improve the analytical problem solving of those students who are not prepared for introductory programming. The results of using CS0 indicate a positive impact on improving the analytical problem solving skills of students.

  algorithmic and preprogramming knowledge to the treatment group. The flowchart-based notation has been extensively used in the context of introducing novices to programming [59]. RAPTOR is a programming environment, developed exclusively to aid novice students in comprehending the programming and the algorithms.

FIG. 4 .

 4 FIG. 4. IMPACT OF PAIR PROGRAMMING

TABLE 1 . TIOBE INDEX FOR MARCH 2015

 1

	shows the response of recommended programming
	languages.

C in CS1: Snags and Viable Solution

ACKNOWLEDGEMENTS

The support provided by the Department of Computer Science, Federal Urdu University of Arts, Science & Technology, Karachi, Pakistan, is appreciatively acknowledged. Authors would also like to express thanks Kashif Raffat, for his precious suggestions and criticisms.

In addition, authors would like to thank all of the students who participated in evaluating the proposed method.


Context and notation

We have a potentially infinite set of measurements, each having K possible outcomes. Dice rolls and their six outcomes are a typical example. I use the terms "measurement" and "outcome" to lend concreteness to the discussion, but the formulae below apply to much more general contexts.

The proposition that the nth measurement has outcome k is denoted E (n) k . The relative frequencies of the K possible outcomes in a set of measurements are denoted f : ( f k ). It may happen that in a measurement we observe not directly an outcome but an "observable" having values (O k ) : O for the K outcomes. This observable may be vector-valued.

The empirical average of the observable in a set of N measurements with outcomes {k 1 , . . . ,

k N } is N n 1 O k n /N, equivalent to k O k f k .
Probabilities have propositions as arguments (for good definitions of what a proposition is -it isn't a sentence, for example -see [START_REF] Strawson | Introduction to Logical Theory[END_REF][START_REF] Copi | Symbolic Logic[END_REF]; [START_REF] Barwise | Language, Proof and Logic[END_REF]). Johnson's definition remains one of the simplest and most beautiful: "Probability is a magnitude to be attached to any possibly true or possibly false proposition; not, however, to the proposition in and for itself, but in reference to another proposition the truth of which is supposed to be known" [START_REF] Johnson | Logic. Part III: The Logical Foundations of Science[END_REF] Appendix, § 2). See also [START_REF] Hailperin | Sentential Probability Logic: Origins, Development, Current Status, and Technical Applications[END_REF][START_REF] Hailperin | Logic with a Probability Semantics: Including Solutions to Some Philosophical Problems[END_REF] formalization, sadly neglected in the literature. The assumptions or knowledge underlying our probabilities -our "model" -will be generically denoted by I , with subscripts denoting specific assumptions. We will sometimes let a quantity stand as abbreviation for a proposition, for example f for "the observed relative frequencies in N measurements are f ". In such cases the probability symbol will be in lower-case to remind us of our notational sins.

Lest this note become an anthill of indices let's use the following notation: for positive K-tuples x : (x i ), y : (y i ), and number a, ax : (ax i ),

x/y : (x i /y i ), x y : (x i y i ), x y : (x i y i ), exp x : (exp x i ), ln x : (ln x i ), x! : (x i !),

x :

k x k , x : k x k , a ax : a! (ax)!
.

(1)

The symbol δ indicates a Dirac delta [START_REF] Lighthill | Introduction to Fourier Analysis and Generalised Functions[END_REF]; even better [START_REF] Egorov | A contribution to the theory of generalized functions[END_REF]2001) or a characteristic function (cf. [START_REF] Knuth | Two notes on notation[END_REF], depending on the context.

The Shannon entropy H(x) :x ln x, and the relative Shannon entropy or negative discrimination information H(x; y) :x ln(x/y). Let's keep in mind the important properties H(x; y) ⩽ 0, H(x; y) 0 ⇔ x y.

(2)

The problem typically addressed by maximum-entropy is this: given that in a large number N of measurements we have observed an average having value in a convex set A (which can consist of a single number),

O f ∈ A, (3)
what is the probability of having outcome k in an (N +1)th measurement?

In symbols,

P E (N+1) k O f ∈ A, I ? (4)
where I denotes our state of knowledge. The maximum-entropy answer [START_REF] Mead | Maximum entropy in the problem of moments[END_REF][START_REF] Fang | Entropy Optimization and Mathematical Programming[END_REF][START_REF] Boyd | Convex Optimization, 7th printing with corrections[END_REF]) has the form

r k exp(λ O k ) r exp(λ O) (5)
where r is a reference distribution and λ is determined by the constraints in a way that we don't need to specify here. The convexity of A ensures the uniqueness of this answer.

Maximum-entropy from a model by exchangeability

Let's assume that in our state of knowledge I x we deem the measurements to be infinitely exchangeable (Bernardo et al. 2000 § 4.2); that is, there can be a potentially unlimited number of them and their indices are irrelevant for our inferences. De Finetti 's theorem (1930;[START_REF] Kyburg | La probabilità e la statistica nei rapporti con l'induzione, secondo i diversi punti di vista[END_REF][START_REF] Heath | De Finetti's theorem on exchangeable variables[END_REF] states that this assumption forces us to assign probabilities of this form:

P E (1) k 1 , . . . , E (N) k N I x q k 1 • • • q k N p(q| I x ) dq ≡ q N f p(q| I x ) dq, (6)
where the distribution q can be interpreted as the relative frequencies in the long run,1 and integration is over the (K -1)-dimensional simplex [START_REF] Grünbaum | Convex Polytopes[END_REF] of such distributions, {q ∈ R K ⩾0 | q 1}. The term p(q| I x ) dq can be interpreted as the prior probability density of observing the long-run frequencies q in an infinite number of measurements. This probability is not determined by the theorem. Let's call the expression above an exchangeability model (Bernardo et al. 2000 § 4.3).

We assume that our state of knowledge I x is also expressed by a particular prior density for the long-run frequencies:

p(q| I x ) dq κ(L, r) L Lq r Lq dq, L ⩾ 1, (7)
which we can call "multinomial prior" because is a sort of continuous interpolation of the multinomial distribution (Johnson et al. 1996 ch. 35).

in the latter each q k assumes discrete values in {0, 1/L, . . . , 1} and the normalizing constant is unity; for this reason the normalizing constant κ(L, r) ≈ L in eq. ( 7). The results that follow also hold for any other prior density that is asymptotically equal to the one above for L large, for example proportional to exp[LH(q; r)], which appears in [START_REF] Rodríguez | The metrics induced by the Kullback number[END_REF][START_REF]Entropic priors for discrete probabilistic networks and for mixtures of Gaussians models[END_REF] entropic prior and in Skilling's (1989a;[START_REF] Egorov | A contribution to the theory of generalized functions[END_REF] prior for "classical" and "quantified" maximum-entropy.

To find the probability (4) queried by maximum-entropy we need the probability for each possible frequency distribution in the N measurements, which by combinatorial arguments is

p( f | I x ) N N f q N f p(q| I x ) dq. (8)
There are N+K-1 K-1 possible frequency distributions [START_REF] Csiszár | Information theory and statistics: a tutorial[END_REF]. By marginalization over the subset of frequencies consistent with our data, the probability for the empirical average is

P O f ∈ A I x f δ( O f ∈ A) N N f q N f p(q| I x ) dq.
(9) Finally using Bayes's theorem with the probabilities (6)-( 9) we find

P E (N+1) k O f ∈ A, I x q k f δ( O f ∈ A) N N f q N f p(q| I x ) dq f δ( O f ∈ A) N N f q N f p(q| I x ) dq , (10)
where the density p(q| I x ) dq is specified in eq. ( 7), even though the formula above holds as well with any other prior density.

I have graphically emphasized this formula because it is the exact answer given to the question (4) by a general exchangeability model: it holds for all numbers K of possible outcomes, all numbers N of observations, and all sets A -even non-convex ones.

If N and L are large we can use the bounds of the multinomial (Csiszár et al. 1981 Lemma 2.3) (11) analogously for L Lr . From the bounds above it can be shown that the exact probability expression (10) has the asymptotic form

N N f ϵ(N, f ) exp[N H( f )], (N + 1) -K ⩽ ϵ(N, f ) ⩽ 1,
P E (N+1) k O f ∈ A, I x ≃ κ(N, L, r) q k f δ( O f ∈ A) exp[NH( f ; q) + LH(q; r)] dq, N, L large. ( 12
)
I prefer the symbol "≃", "is asymptotically equal to" (iso 2009; ieee 1993; iupac 2007), to the limit symbol "→" because the latter may invite to think about a sequence, but no such sequence exists. In each specific problem N has one, fixed, possibly unknown value, and cannot be increased at will. The symbol "≃" says that the right side differs from the left side by an error that may be negligible. It is our duty to check whether this error is really negligible for our purposes. The asymptotic expression above shows an interesting interplay of two relative entropies. The two exponential terms give rise to two Dirac deltas. The delta in f requires some mathematical care owing to the discreteness of this quantity; see [START_REF] Csiszár | Sanov property, generalized I-projection and a conditional limit theorem[END_REF]1985), and[START_REF] Berk | Limiting behavior of posterior distributions when the model is incorrect[END_REF][START_REF] Andersen | Sufficiency and exponential families for discrete sample spaces[END_REF] for an analysis in a slightly different setting. In particular, if N < K the discrete set of N+K-1 K-1 possible frequency distributions lies within the (N -1)-dimensional facets of the (K -1)-dimensional simplex of distributions q; it does not "fill" the simplex. In this case the frequency sum f cannot be meaningfully approximated by an integral. The approximations below are valid if the number N of observations is much larger than the number K of possible outcomes.

If L/N is also large, taking limits in the proper order gives

P E (N+1) k O f ∈ A, I x ≃ r k , N, L, L/N large. ( 13
)
Note how the data about the average (3) are practically discarded in this (L/N)-large case. Compare with Skilling's remark that the parameter L (his α) shouldn't be "particularly large" (cf. Skilling 1998 p. 2).

The asymptotic case that interests us is N/L large: the exponential in N dominates the integral of eq. ( 12), which becomes

κ(L, r) f f k δ[ O f ∈ A] exp[LH( f ; r)] ≃ O f ∈A arg sup f H( f ; r), (14)
so that, finally,

P E (N+1) k O f ∈ A, I x ≃ f * k , N, L, L/N large, with f * maximizing H( f ; r) under constraints O f ∈ A, (15)
which is the maximum-entropy recipe, giving the distribution (5).

Maximum-entropy from a model by sufficiency

Consider the following assumption or working hypothesis, denoted I s :

To predict the outcome of an (N + 1)th measurement given knowledge of the outcomes of N measurements, all we need to know is the average O f of an observable O in those N measurements, no matter the value of N. In other words, any data about known measurements, besides the empirical average of O, is irrelevant for our prediction. The average O f is then called a minimal sufficient statistics (Bernardo et al. 2000 § 4.5;Lindley 2008 § 5.5). In symbols,

P E (N+1) k E (1) k 1 , . . . , E (N) k N , I s p E (N+1) k O f , N, I s . ( 16
)
Note that the data {E (n)

k n } determine the data { O f , N } but not vice
versa, so some data have effectively been discarded in the conditional. The Koopman-Pitman-Darmois theorem [START_REF] Koopman | On distributions admitting a sufficient statistic[END_REF][START_REF] Pitman | Sufficient statistics and intrinsic accuracy[END_REF][START_REF] Darmois | Sur les lois de probabilité à estimation exhaustive[END_REF]; see also later analyses [START_REF] Hipp | Sufficient statistics and exponential families[END_REF][START_REF] Andersen | Sufficiency and exponential families for discrete sample spaces[END_REF][START_REF] Denny | Sufficient conditions for a family of probabilities to be exponential[END_REF][START_REF] Fraser | On sufficiency and the exponential family[END_REF][START_REF] Barankin | Generalization of the Fisher-Darmois-Koopman-Pitman theorem on sufficient statistics[END_REF] states that this assumption forces us to assign probabilities of this form:

P E (1) k 1 , . . . , E (N) k N I s p(k 1 | λ , r , I s ) • • • p(k N | λ , r , I s ) p(λ | I s ) dλ , ≡ p(k| λ , r , I s ) N f p(λ | I s ) dλ , (17a) with p(k| λ , r , I s ) : r exp(λ O) Z(λ ) , Z(λ ) : r exp(λ O), (17b)
and we have defined p(k| . . . ) : p(1| . . . ), . . . , p(K| . . . ) . The integration of the parameter λ is over R M , with M the dimension of the vector-valued observable O, and r is a K-dimensional distribution.

Neither r or the distribution p(λ | I s ) are determined by the theorem.

Let's call the expression above a sufficiency model (Bernardo et al. 2000 § 4.5). A sufficiency model can be viewed as a mixture, with weight density p(λ | I s ) dλ , of distributions having maximum-entropy form ( 5) with multipliers λ .

To find the probability (4) we calculate, as in the previous section, the probabilities for the frequencies:

p( f | I s ) N N f p(k| λ , r , I s ) N f p(λ | I s ) dλ , (18)
and for the empirical average by marginalization:

P O f ∈ A I s f δ( O f ∈ A) N N f p(k| λ , r , I s ) N f p(λ | I s ) dλ . ( 19
)
From these using Bayes's theorem we finally find

P E (N+1) k O f ∈ A, I s p(k| λ , r , I s ) f δ( O f ∈ A) N N f p(k| λ , r , I s ) N f p(λ | I s ) dλ f δ( O f ∈ A) N N f p(k| λ , r , I s ) N f p(λ | I s ) dλ . ( 20
)
This is the exact answer given to the maximum-entropy question by a sufficiency model if the constraints used in maximum-entropy are considered to be a sufficient statistics. This proviso has serious consequences discussed in § 5.2. The expression above holds for all N and all sets A, even non-convex ones.

The asymptotic analysis for large N uses again the multinomial's bounds (11). We find

P E (N+1) k O f ∈ A, I s ≃ κ(N, r) p(k| λ , r , I s ) × f δ( O f ∈ A) exp NH f ; p(k| λ , r , I s ) p(λ | I s ) dλ , N large. (21)
A rigorous analysis of this limit can be done using "information projections" [START_REF] Berk | Limiting behavior of posterior distributions when the model is incorrect[END_REF][START_REF] Andersen | Sufficiency and exponential families for discrete sample spaces[END_REF][START_REF] Csiszár | Sanov property, generalized I-projection and a conditional limit theorem[END_REF]1985); here is a heuristic summary. Consider the sum in f for fixed λ . We have two cases. (1) If λ is such that O p(k| λ , r , I s ) ∈ A, there exists a unique f in the sum for which the relative entropy in the exponential reaches its maximum, zero, making the exponential unity. For all other f the relative entropy is negative and the exponential asymptotically vanishes for large N . The integral therefore doesn't vanish asymptotically. (2) If λ is such that p(k| λ , r , I s ) doesn't satisfy the constraints, the relative entropy in the exponential will be negative for all f in the sum, making the exponential asymptotically vanish for all f . The integral therefore vanishes asymptotically. The distinction between these two cases actually requires mathematical care owing to the discreteness of the sum. The f sum then acts as a delta or characteristic function (depending on whether A has measure zero or not):

f δ( O f ∈ A) exp NH f ; p(k| λ , r , I s ) ≃ δ O p(k| λ , r , I s ) ∈ A .
(22) Thus asymptotically we have, using the explicit expression (17b) for p(k| λ , r , I s ):

P E (N+1) k O f ∈ A, I s ≃ δ O r exp(λ O) Z(λ ) ∈ A r k exp(λ O k ) Z(λ ) p(λ | I s ) dλ , N large. ( 23
)
This result can also be found first integrating λ and then summing f , using a heuristic argument similar to the one above. This is a mixture, with weight density p(λ | I s ) dλ , of maximum-relative-entropy distributions f * that satisfy the individual constraints O f * a, a ∈ A . The final distribution thus differs from the maximum-entropy one if the set A is not a singleton: maximum-entropy would pick up only one distribution.

But if the constraint set is a singleton, A {a}, we do obtain the same answer (5) as the maximum-entropy recipe:

P E (N+1) k O f a, I x ≃ f * k , N large, with f * maximizing H( f ; r) under constraints O f a. (24)

Heuristic explanation of both asymptotic approximations

First of all let's note that both the exchangeability (6) and sufficiency ( 17) models have the parametric form P E

(1)

k 1 , . . . , E (N) k N I p(k 1 | ν , I ) • • • p(k N | ν , I ) p(ν | I ) dν ≡ p(k| ν , I ) N f p(ν | I ) dν. (25)
The final probability distribution p for the K outcomes of the (N + 1)th measurement belongs to a (K 19), ( 20). If N is large this weight is very peaked on the subset of distributions that give highest probability to the data, that is, that have expectations very close to the empirical averages. It effectively restricts the second weight p(ν | I ) dν to such "data subset". In our case the data subset consists of all distributions satisfying the constraints. The mechanism described so far is common to the exchangeability and the sufficiency model. Their difference lies in how they choose the final distribution from the data subset.

-1)-dimensional simplex {p ∈ R K ⩾0 | p 1}.
In the exchangeability model ( 6) the choice is made by the weight density p(ν | I ) dν, i.e. the multinomial prior (7). It is extremely peaked owing to the large parameter L, and its level curves are isentropics.

Once it's restricted to the data subset by the data weight p(D| ν , I ), it gives highest weight to the distribution p lying on the highest isentropic curve, which is unique if the data subset is convex; compare with fig.

eq. ( 26). Hence this is a maximum-entropy distribution satisfying the data constraints. For this mechanism to work it's necessary that the dominance of the data weight comes first, and the dominance of the multinomial prior comes second. This is the reason why the correct asymptotic limit (15) has N, L, and N/L large.

In the sufficiency model ( 17) the choice is made by the family of distributions {p(k| ν , I )} ν . These distributions have by construction a maximum-entropy form for the particular observable O. This family intersects the data subset in only one point if the constraint has the form O f a. This point is therefore the maximum-entropy distribution satisfying the data constraints.

The mechanism above also explains why these two models still work if the data subset is non-convex and touches the highest isentropics (exchangeability model) or the exponential family (sufficiency model) in multiple points, bringing the maximum-entropy recipe to an impasse. The final distribution will simply be an equal mixture of such tangency points; it may well lie outside of the data subset.

Discussion

Prediction or retrodiction?

An essential aspect of the maximumentropy method is surprisingly often disregarded in the literature. If we have data from N measurements, we can ask two questions: "Prediction": what is the outcome of a further similar measurement? "Retrodiction": what is the outcome of the first of the N measurements?

Note that despite the literal meaning of these terms the distinction is not between future and past, but between unknown and partially known.

It's rarely made clear whether the maximum-entropy probabilities refer to the first or to the second question. Yet these two questions are fundamentally different; their answers rely on very different principles.

To answer the first question we can -but need not -fully rely on symmetry principles in the discrete case. It is a matter of combinatorics and equal probabilities; a drawing-from-an-urn problem. Most derivations of the maximum-entropy method (e.g. Jaynes 1963;[START_REF] Shore | Axiomatic derivation of the principle of maximum entropy and the principle of minimum cross-entropy[END_REF][START_REF] Van Campenhout | Maximum entropy and conditional probability[END_REF][START_REF] Barnard | Discussion [An extended maximum entropy principle and a Bayesian justification] and Reply[END_REF] address this question only, as often betrayed by the presence of "p(x 1 )" or similar expressions in their final formulae.

To answer the second question, symmetry and combinatorics alone are no use: additional principles are needed. This is the profound philosophical question of induction, with its ocean of literature; my favourite sample are the classic Hume (1896 book I, § III.VI), Johnson (1922 esp. chs VIII ff;1924 Appendix;[START_REF]Probability: the deductive and inductive problems[END_REF]), de Finetti (1937;;[START_REF] Kyburg | La probabilità e la statistica nei rapporti con l'induzione, secondo i diversi punti di vista[END_REF][START_REF] Jeffreys | The present position in probability theory[END_REF]1973 ch. I;2003 § 1.0), Jaynes (2003 § 9.4). De Finetti, foreshadowed by Johnson, was probably the one who expressed most strongly, and explained brilliantly, that the probability calculus does not and cannot explain or justify our inductive reasoning; it only expresses it in a quantitative way. This shift in perspective was very much like Galilei's shift from why to how in the study of physical phenomena.2 We do inductive inferences in many different ways (Jaynes 2003 § 9.4). The notion of exchangeability (de Finetti 1937;Johnson 1924 Appendix;[START_REF]Probability: the deductive and inductive problems[END_REF] captures one of the most intuitive and expresses it mathematically.

The calculations of the previous sections and the final probabilities ( 10), (20) for our two models pertain the predictive question, as clear from the E (N+1) in their arguments. The two models can also be used to answer the retrodictive question. The resulting formulae are different; they can again be found applying the rules of the probability calculus and Bayes's theorem. The retrodictive formula for the exchangeability model is (proof in Porta Mana 2009 § B):

P E (n) k O f ∈ A, I x f f k δ( O f ∈ A) N N f q N f p(q| I x ) f δ( O f ∈ A) N N f q N f p(q| I x ) dq dq, n ∈ {1, . . . , N }. ( 27
)
Graphically it differs from the predictive one (10) only in the replacement of q k by f k . An analogous replacement appears in the retrodictive formula for the sufficiency model. But this graphically simple replacement leads to a mechanism very different from the one of § 4 in delivering the final probability: it's a mixture on the data subset rather than on the whole simplex. Predictive and retrodictive probabilities can therefore be very different for small N. See for example figs 1 and 2 below and their accompanying discussion. This means that the goodness of the maximum-entropy distribution as an approximation of our two models can depend on whether we are asking a predictive or a retrodictive question. This fact is very important in every application.

Which of the two models is preferable?

A maximum-entropy distribution can be seen as an approximation of the distribution obtained from the exchangeability model or the sufficiency one (repetita iuvant). The two inferential models are not equivalent though, and there are reasons to prefer the exchangeability one -despite the frequent association, in the literature, of maximum-entropy with exponential families. The most important and quite serious difference is this:

Suppose that we have used either model to assign a predictive distribution conditional on the empirical average a of the observable O, obtained from N measurements. If N is large the distributions obtained from either model will be approximately equal, and equal to the maximum-entropy one. Now someone gives us a new empirical average a ′ of a different observable O ′ , obtained from the same N measurements. This observable turns out to be complementary to the previous one, in the sense that in general from knowing the value of O f we cannot deduce the value of O ′ f , and vice versa. These new data therefore reveal more about the outcomes of our N measurements and of possible further measurements.

The new empirical average a ′ can be incorporated in the exchangeability model; the resulting predictive and retrodictive distributions conditional on (a ′ , a) will be numerically different from the ones conditional on a only. They will be approximated by a maximum-entropy one based on the old and new constraints.

If we incorporate the new average in the sufficiency model, however, the resulting predictive conditional distribution will be unchanged: knowledge of the new data has no effect in the prediction of new measurements. The reason is simple: the sufficiency model expresses by construction that the average of the old observable O is all we need for our inferences about further measurements. Any other observable is irrelevant. The new average automatically drops out under predictive conditioning. The only way to obtain a different predictive conditional distribution would be to discard the sufficiency model based on O, and use a new one based on (O, O ′ ). But that would be cheating! This shows how dramatically absolute and categorical the assumption of the existence of a sufficient statistics is. The difficulty above doesn't happen for the retrodictive distribution; the proof is left as an exercise for you.

Since the maximum-entropy method is meant to always employ new constraints, we deduce that it's more correct to interpret it as an approximation of the exchangeability model than of the sufficiency model.

5.3

How good is the maximum-entropy approximation? How does maximum-entropy compare with the exchangeability model ( 6) with multinomial prior (7) away from the asymptotic approximation?

Their distributions are compared in the classic example of dice rolling in figs 1 and 2 for empirical averages of 5 and 6 (see Porta Mana 2009 for the calculations). The maximum-entropy distribution (red) is at the top; the distribution of the exchangeability model with L 1 (blue) and L 50 (bluish purple) is shown underneath for the cases N 2, N 12, N ∞, and for the retrodiction of an "old roll" E The exchangeability model gives very reasonable and even "logical" probabilities for small N. For example, if you obtain an average of 5 in two rolls, it's impossible that either of them was ¥ -unless, of course, you own a six-sided die with nine pips on one face. The exchangeability model logically gives zero probability in this case (fig. 1 bottom left). Maximum-entropy gives an erroneous non-zero probability. And having obtained an average of 5 or 6 in two rolls, would you really give a much higher probability to © or for a third roll? I'd still give 1/6. The exchangeability model reasonably gives an almost uniform distribution, especially for large L (both figures bottom right). The maximum-entropy distribution is unreasonably biased towards high values. If we observe a high average in twelve rolls we start to suspect that the die/dice or the roll technique are biased. The exchangeability model expresses this bias, but more conservatively than maximum-entropy.

In fact the predictive exchangeability-model distribution can have higher entropy than the maximum-entropy one! This happens because, when N is small compared to When is N large enough for the prescription to become reasonable? In other words, when is maximum-entropy a good approximation of the exchangeability model with multinomial prior? The answer depends on the interplay among the number of measurements N, the number of possible outcomes K, the parameter L, the reference distribution r, and the value a (or range A) of the observed average. The first three ingredients determine the maximum heights of the densities involved in the integral and sum of eq. ( 10); the last three ingredients determine the size of the effective integration and sum region relative to the integration simplex, and the distance between the peaks of the data weights and the prior weights of fig.

-eq. ( 26). All five ingredients determine how good are the delta approximations in the integral and sum of eq. ( 10). We saw in § 2, p. 5, after eq. ( 12), that N needs to be much larger than K for the integral and delta approximations of the frequency sum to be meaningful. Maximum-entropy approximations are not meaningful if the number of possible outcomes is much larger than the number of observations.

It would be very useful to have explicit estimates of the maximumentropy-approximation error as a function of the four quantities above. I hope to analyse them in a future note, and promise it would be a shorter note.

Is this a "derivation" of maximum-entropy?

The heuristic explanation of § 4 shows that the maximum-entropy distributions appear asymptotically owing to our specific choices of a multinomial prior in the exchangeability model, and of an exponential family with observable O in the sufficiency model. They are therefore not derived only from first principles or from some sort of universal limit. This is why I don't call the asymptotic analysis discussed in this note a "derivation" of the maximum-entropy "principle". In my opinion this analysis shows that it is not a principle at all.

The information-theoretic arguments -or should we say incentivesbehind the standard maximum-entropy recipe can be lifted to a meta4 level and used for priors asymptotically equivalent to the multinomial prior (7), as done by [START_REF] Rodríguez | The metrics induced by the Kullback number[END_REF][START_REF]Entropic priors for discrete probabilistic networks and for mixtures of Gaussians models[END_REF] for the entropic prior (see also Skilling 1989a;[START_REF] Egorov | A contribution to the theory of generalized functions[END_REF]. Such arguments don't determine the parameters L and r, though. They seem to be prone to an infinite regress; Jaynes was aware of this (Jaynes 2003 § 11.1, p. 344).

It would be useful if the multinomial or entropic priors could be uniquely determined by intuitive inferential assumptions, as for example is the case with the Johnson-Dirichlet prior, proportional to q L dq: this prior must be used if we believe (denote this by I J ) that the frequencies of other outcomes are irrelevant for predicting a particular one:

p E (N+1) k f , N, I J p E (N+1) k f k , N, I J , k ∈ {1, . . . , K}, (28)
a condition called "sufficientness" [START_REF] Johnson | Logic. Part III: The Logical Foundations of Science[END_REF][START_REF]Probability: the deductive and inductive problems[END_REF]Good 1965 ch. 4;[START_REF] Zabell | 's "sufficientness" postulate[END_REF]Jaynes 1996). Asymptotically it leads to a maximum-entropy distribution with [START_REF] Burg | Maximum entropy spectral analysis[END_REF] entropy ln x (see Jaynes 1996;[START_REF] Porta Mana | On the relation between plausibility logic and the maximum-entropy principle: a numerical study[END_REF]. But, after all, the logical calculus doesn't tell us which truths to choose at the beginning of a logical deduction. Why should the probability calculus tell us which probabilities to choose at the beginning of a probabilistic induction?

Conclusion

Interpreting the maximum-entropy method as an approximation of the exchangeable model ( 6) with multinomial prior (7) has many advantages: • it clears up the meaning of the "expectation average" prescription of the maximum-entropy method;

• it identifies the range of validity of such prescription;

• it quantifies the error of the maximum-entropy approximation;

• it gives a more sensible solution when this approximation doesn't hold;

• it clearly differentiates between prediction and retrodiction;

• it can be backed up by information-theoretic incentives [START_REF] Rodríguez | The metrics induced by the Kullback number[END_REF][START_REF]Entropic priors for discrete probabilistic networks and for mixtures of Gaussians models[END_REF] if you're into those. Disadvantages:

• It can't be used to answer the question "Where did the cat go?". But this question lies forever beyond the reach of the probability calculus. That's all [START_REF] Hanshaw | My Blackbirds are Bluebirds now[END_REF].

  The expression above first selects, within this simplex, a family of distributions {p(k| ν , I )} parametrized by ν; then it delivers the distribution p as a mixture of the distributions of this family, with weight density p(ν | I ) dν. In the exchangeability model this family is actually the whole simplex (that's why it's sometimes called a "nonparametric" model). In the sufficiency model it is an exponential family(Bernardo et al. 2000 § 4.5.3;[START_REF] Barndorff-Nielsen | Information and Exponential Families: In Statistical Theory[END_REF].When we conditionalize on data D, the weight density is determined by the mutual modulation of two weights: that of the probability of the data p(D| ν , I ) and the initial weight p(ν | I ). Pictorially, if K 3: p(D| ν , I ) × p(ν | I ) κp(ν | D, I ) (26) the final p is given by the mixture with the weight density p(ν | D, I ) dν ensuing from this modulation. The mathematical expression of the data weight p(D| ν , I ) is typically exponentiated to the number of measurements N from which the data originate; compare with eqs (

k

  , n ∈ {1, . . . , N }, and the prediction of a "new roll" E (N+1) k . The charts also report the Shannon entropies H of the distributions.

Figure 1

 1 Figure 1 Maximum-entropy and exchangeability model, empirical average a 5

  Figure 2 Maximum-entropy and exchangeability model, empirical average a 6 strictly, if N isn't large.3 See Porta Mana (2009) for comparisons under other values of the empirical average and of the number of measurements.

	H L1  1.673
	H L50  1.787
											36.9
	12.6	16.0	12.6	16.0	12.6	16.0	12.6	16.0	12.6	16.0	19.8
	⚀	⚁	⚂	⚃	⚄	⚅

P(new roll| N = 2 , a = 6 , Ι xL = 1 or L = 50 )

"But this long run is a misleading guide to current affairs. In the long run we are all dead." (Keynes

§ 3.I, p. 65)

"According to credible traditions it was in the sixteenth century, an age of very intense spiritual emotions, that people gradually ceased trying, as they had been trying all through two thousand years of religious and philosophic speculation, to penetrate into the secrets of Nature, and instead contented themselves, in a way that can only be called superficial, with investigations of its surface. The great Galileo, who is always the first to be mentioned in this connection, did away with the problem, for instance, of the intrinsic reasons why Nature abhors a vacuum, so that it will cause a falling body to enter into and occupy space after space until it finally comes to rest on solid ground, and contented himself with a much more general observation: he simply established the speed at which such a body falls, what course it takes, what time it takes, and what its rate of acceleration is. The Catholic Church made a grave mistake in threatening this man with death and forcing him to recant, instead of exterminating him without more ado."(Musil 1979 vol. 1, ch. 72)

"Obedience is no longer a virtue."[START_REF] Milani | L'obbedienza non è piú una virtú[END_REF]

"This is an expression used to hide the absence of any mathematical idea [. . .]. Personally, I never use this expression in front of children."(Girard 2001 p. 446)

Thanks

. . . to Philip Goyal, Moritz Helias, Vahid Rostami, Jackob Jordan, Alper Yegenoglu, Emiliano Torre for many insightful discussions about maximumentropy. To Mari & Miri for continuous encouragement and affection, and to Buster Keaton and Saitama for filling life with awe and inspiration. To the developers and maintainers of L A T E X, Emacs, AUCT E X, Open Science Framework, PhilSci, Hal archives, biorXiv, Python, Inkscape, Sci-Hub for making a free and unfiltered scientific exchange possible.