Ronan-Alexandre Cherrueau

Rémi Douence

Mario Südholt

A Language for the Composition of Privacy-Enforcement Techniques

Keywords: Language, Fragmentation, Encryption, Client-side computation, Typing, Algebraic laws Langage, Fragmentation, Chiffrement, Calculs côté client, Typage, Lois algébriques

Today's large-scale computations, e.g., in the Cloud, are subject to a multitude of risks concerning the divulging and ownership of private data. Privacy risks are mainly addressed using a large variety of encryption-based techniques. However, these are costly to operate, lead to large aggregates of data that are highly valuable attack targets and do not allow to flexibly handle subsets of such aggregates. Furthermore, today's computations have to ensure privacy properties in the context over highly variable and complex software compositions; however, no general support for the declarative definition and implementation of privacy-preserving applications has been put forward. This article presents a compositional approach to the declarative and correct composition of privacy-preserving applications in the Cloud. Our approach provides language support for the compositional definition of encryption-and fragmentation-based privacy-preserving algorithms. This language comes equipped with a set of laws that allows us to verify privacy properties. Finally, we introduce implementation support in Scala that ensures certain privacy properties by construction using advanced features of Scala's type system.

Introduction

The generalization of large-scale service-based computations executed over mutualized resources, notably in the context of Cloud computing, has considerably increased the risk of losing control or even ownership of one's personal data. In particular, the confidentiality and integrity of private data are at risk. Currently, privacy-preserving computations use encryption techniques in order to preserve such properties of private data. However, these techniques have important drawbacks. They are costly to apply. They result in much data being kept in one place (being a prime target for attacks). And they do not allow to flexibly handle subsets of encrypted data.

In order to improve on these characteristics, alternative approaches have been explored. Data fragmentation [ABG + 05, dVEF + 13], in particular, consists in dividing data sets into different parts and store them in different places. No unauthorized party can thus extract sensitive information from the pieces. Fragmentation allows to eliminate (much of) the computational overhead incurred by en/decryption. It allows the distribution of data on a multitude of sites and supports the handling of subsets of data sets. Because fragmentation-based approaches frequently use encryption for parts of the data and computations, handling privacy properties results in complex compositions of privacy techniques. However, no comprehensive composition approach for the construction of privacy-preserving computations has been put forward until today.

Figures 1a and1b show the need for such a comprehensive composition approach for the construction of privacy-preserving computations. The first illustrates a privacy-preserving query (of the number, per day, of meetings Alice had in her office last week) on a local application. The query is easy to formulate because Alice's data is stored locally and is not subject to privacy problems. However, the same computation in the context of cloud computing requires to encrypt the database. Then, Alice has to decrypt the database at her side to perform the query and encrypt the result once again, which is obviously not efficient. The second illustration shows how the composition of encryption with fragmentation can improve the query efficiency. The database is fragmented so that no privacy concerns can be violated: many queries can thus operate without any decryption overhead. However, in this case the formulation of queries is far more difficult and error-prone.

Currently, compositions of privacy-ensuring strategies are programmed using traditional programming means (languages or frameworks) that do not provide any correctness guarantees. This state-of-affairs is, however, clearly unsatisfying, leads to numerous privacy violations in the real world, and incurs steep costs for individuals as for the society as a whole.

In this paper, we introduce the following contributions: • A motivation for the need of dedicated means for the correct composition of different privacyenforcing strategies, in particular, strategies based on encryption, fragmentation and client Alice 1.meetings? side computation. (Sec. 2) • A language for the declarative definition of a range of (composed) strategies for the enforcement of privacy-centric properties based on encryption and fragmentation algorithms. The language comes equipped with a set of laws that ensure a number of properties ensuring privacy-properties. (Sec. 3) • An implementation of the language in Scala that harnesses advanced typing properties in order to support the enforcement of privacy properties. (Sec. 4) In addition, the paper discusses related work (Sec. 5) and provides a conclusion and future works (Sec. 6).

Motivation

Consider an application developed for the Cloud in order to improve, for instance, its availability, data replication properties or integration with other applications. Typically, the basic workflow consists in first the outsourcing of user data to a database service, and then applying applications hosted in the cloud to that data. For the case of the agenda application, one has first to subscribe to a cloud database service and outsource meeting data, and then install the agenda application on a Cloud platform.

The privacy concern

In the age of cloud computing, cloud application programmers outsource without any consideration personal data of individuals. Outsourcing reveals personal data to cloud providers that can share information with third parties. This represents the Achilles' heel of cloud computing: how to share data and keep personal data private.

To handle the privacy concern, two types of approaches have been introduced. The first focuses on supervised cloud. It includes approaches relying on access control and policy enforcement [START_REF] Pearson | Sticky policies: An approach for managing privacy across multiple parties[END_REF][START_REF] Chen | A software-hardware architecture for self-protecting data[END_REF] to support accountability for violations [WABL + 08]. The second focuses on the unsupervised cloud. It is a set of techniques to keep data private, such as encryption [START_REF] Salomon | Data privacy and security: encryption and information hiding[END_REF], fragmentation [dVEF + 13], differential privacy [START_REF] Reed | Distance makes the types grow stronger: a calculus for differential privacy[END_REF] and client side computation [START_REF] Fournet | Zql: A compiler for privacy-preserving data processing[END_REF]. Each technique has pros and cons but, in general, they are limited, and do not offer as many guarantees as policy enforcement. For instance, data encryption fits for storage protection but not for computations and differential privacy is useful for statistical databases only. The main advantage is that they are applicable to real world problems.

This article handles the privacy concern in unsupervised clouds. We show that even if each technique taking by itself is limited, the composition of such techniques is much more effective and enables the development of expressive privacy-preserving cloud applications. In the remainder of this article, we will focus on the composition of three classes of techniques: encryption, fragmentation and client-side computations.

Encryption, Fragmentation and Client-Side Computations

Encryption Encryption [START_REF] Salomon | Data privacy and security: encryption and information hiding[END_REF] is the process of encoding information before it is outsourced in such a way that only authorized parties can read it.

Historically, encryption is the first approach to the protection of private databases in the Cloud. Using, for instance, a symmetric encryption algorithm, a client encrypts its data before outsourcing it in the cloud. All queries can then simply be executed by first returning the necessary data from the database to the client in its encrypted state, be decrypted by her, and execute the query at her side. This approach is, however, far too expensive to be practical. One solution to this problem are recent encryption schemes, so called homomorphic ones, that execute query directly on encrypted data.

Inria

Theoretically, fully homomorphic schemes enable arbitrary operations to be performed on encrypted data. However, these schemes are prohibitively expensive. Reasonably efficient homomorphic schemes are currently known only for a small set of operations. A deterministic encryption scheme, e.g., permits efficiently to check the equality of values by comparing encrypted data. For this reason, query execution over encrypted data is often seen as practical only if corresponding efficient homomorphic encryption schemes are available [START_REF] Naehrig | Can homomorphic encryption be practical[END_REF].

Fragmentation (Vertical) fragmentation [ABG + 05, dVEF + 13] is the process of separating information into non-linkable fragments in such a way that only authorized parties can recompose the original information. Fragmentation is applicable when associations of data are sensitive rather than individual data items themselves.

Fragmentation is tightly coupled to the notion of privacy constraints. A privacy constraint specifies which data is sensitive and should, therefore, be kept confidential. In our agenda application, for instance, meetings should satisfy two privacy constraints. An agenda meeting is the triplet (date, name, address) that represents the meeting date, the name of the contact and the meeting location. The first constraint is {date, address} so that an attacker cannot localize Alice by associating an address to a meeting date. The second constraint should be {name} so that an attacker cannot infer the name of Alice's contacts. Here, fragmentation aims to make privacy associations such as {date, address} safe by splitting the triplet (date, name, address) in two.

Client-side computation Client-side computation [START_REF] Fournet | Zql: A compiler for privacy-preserving data processing[END_REF] designates the concept of letting clients perform sensitive computations on their own and upload only the results. Especially, client side computation stores private information at the client side. Thus, computations on private data are performed at the client side. Services that require strong guarantees on the truthfulness of the result, such as billing service, can use, e.g., zero-knowledge protocols to ensure the integrity of the query results and privacy.

Composition of Privacy-Enforcement Techniques

The application Figure 1b shows a common case in which a composition of techniques is required to obtain efficient and private application in the cloud. The application is the cloud version of the local the one (Fig. 1a) and requires a composition of encryption, fragmentation and client-side computation.

To distribute this agenda application in a privacy-preserving manner, the programmer adopts the two privacy constraints {date, address} and {name} introduced in Sec. 2.1. A programmer then has to choose a configuration for the application that satisfies the privacy constraints. First, she may, e.g., fragment the database in two. The first fragment contains the dates. The second contains the names and addresses. Now, the {date, address} constraint is safe unless the two fragments are joined. Then, the programmer encrypts names with an homomorphic encryption that supports equality, thus ensuring that the {name} constraint is satisfied.

Based on such a configuration, e.g., the query that computes the number of meetings Alice had per day at her desk last week (1 in Fig. 1b) is distributed on both fragments. It applies selection and grouping operations on the first fragment (2 1 ) to obtain the dates and identifiers of the meetings of the past week. At the same time, it applies the selection on the second fragment (2 2 ) to get identifiers of the office meetings. The application then fully harnesses the cloud, whether for storage or querying. However, the agenda has to join results of both fragments to count the number of people. Because that operation is not privacy preserving, finally, the rest of the query is executed at Alice's side (3),(4). Another useful query built on top of cloud configuration is the number of people Alice has met last week (Fig. 2). The query uses a left-first strategy of fragmentation to be efficient. It applies the selection on the left fragment to get identifiers of meetings the past week (2), (3). It then applies projection and grouping operations to the right fragment. And the programmer uses identifiers obtained from the left fragment to reduce the number components (4). The grouping operation requires to compare names, but this is fine since names are encrypted with an homomorphic scheme that supports equality testing. Moreover, the overhead due to encryption is minimal because the selection largely reduces the number of comparisons.

Language-Support to the Rescue

The above examples, as well as the large majority of real Cloud applications, require several privacy techniques to be composed. In this case, errors easily slip in. For instance, trying to encrypt twice the same column in a database does not make sense. Similarly, trying to sum values encrypted with a symmetric scheme is not reasonable.

To help programmers composing privacy techniques, we propose a functional language that focuses on privacy protection and query computation. As input, we have a privacy relation and apply privacy/query functions in turn to reduce the number of components in the relation. Together with the language, a set of algebraic laws specifies how to transform a local program to a privacy-preserving distributed Cloud application.

We are convinced that this formalization constitutes an appropriate abstraction to help programmers reason on query and privacy techniques composition. The corresponding language-level and implementation support the declarative definition of privacy-preserving Cloud applications and their efficient execution.

Language-based composition of privacy-enforcement techniques

This section defines our language for composition of encryption, fragmentation and client side computation techniques. First, we introduce its commands based on a SQL-like query language extended with abstractions for fragmentation and encryption. Second, we show how a query can be transformed by introducing privacy commands. Finally, we formalize and generalize our approach by corresponding composition laws.

Inria

Language Description

Our language is based on database queries obeying relational algebra properties.

A relation (i.e., a table) is a set of tuples. For instance, an agenda stores a meeting as a triple (date, name, address) representing the meeting date, the name of the contact and the meeting location. Our language offers four query functions:

• A selection σ filters tuples of a relation. For instance, lastW eekAtDesk = σ (today-date<8)∧(address=desk) keeps meetings whose date is at most a week old and has desk as meeting venue.

• A projection π keeps a subset of the columns of a relation. For instance days = π date keeps only the date of meetings.

• A grouping definition group groups together tuples of a relation. For instance, byDay = group date creates a group of tuples for each date.

• An aggregation f old computes a single value for groups. For instance, count = f old (+1) 0 counts the number of meeting in a group.

Note that we omit a product operation of tables because it is not required by our examples but it could be easily introduced. These functions can be composed (•) in order to define complex queries according to the following grammar:

Q ::= Q • Q | σ | π | group | f old f k
Note that a sequence of function compositions is read from right to left. For instance, the number of meetings per day at desk last week is:

#meeting = count • byDay • days • lastW eekAtDesk
Our language also provides privacy-related pairs of functions:

• crypt s,as /decrypt s,as encrypts/decrypts the components of tuples corresponding to π as . For instance, cryptContact = crypt heq,name encrypts the contacts in the agenda, although they still can be compared because heq is an homomorphic encryption that supports equality. These privacy functions can be composed to make queries privacy-aware as defined by the following grammar:

Q p ::= Q p • Q p | Q | crypt | decrypt | f rag | def rag
For instance, when the agenda is fragmented (date on one host, name and address on another host) and the identity of contacts is encrypted, the query for the number of meetings per day at desk last week is:

#meetingP rivate = count • def ragDate • (byDay • days • lastW eek, atDesk) • f ragDate • cryptContact
It can be read as: encrypt the contacts' names, then fragment the table, select the meeting dates of last week on the first fragment and group them, select the meeting with desk as venue on the second fragment, defragment the results in order to get a group by day but only for desk venue, and finally count the number of groups (i.e., meetings per day). Note that there is no need to call the decrypt function here because count does not require values, but count must be executed at client side because def rag discards protection.

The next section shows how to transform the centralized query #meeting into the private one #meetingP rivate.

Making Private a Query with Transformations

The centralized query that computes the number of meeting per day at desk last week is:

Q 1 ≡ count • group date • π date • σ (today-date<8)∧(address=desk)
It can be decentralized by introducing privacy-related functions. First, we add f rag then def rag at the beginning (i.e., right) of the query. This is correct since these functions are inverse

≡ count • group date • π date • σ (today-date<8)∧(address=desk) • def rag π date • f rag π date
Similarly we introduce encryption

≡ count • group date • π date • σ (today-date<8)∧(address=desk) • def rag π date • f rag π date • decrypt heq,name • crypt heq,name
decrypt and def rag must be executed at the owner's place since they discard protection, so we delay them to the left. def rag commutes with σ, but the selection must be applied only to the relevant fragment

≡ count • group date • π date • def rag π date • (σ (today-date<8) , σ (address=desk) ) • f rag π date • decrypt heq,name • crypt heq,name
def rag and π commutes, but the selection must be applied to each frament

≡ count • group date • def rag π date • (π date • σ (today-date<8) , π date • σ (address=desk) ) • f rag π date • decrypt heq,name • crypt heq,name

Inria

The projection on components missing in the fragment can be simplified

≡ count • group date • def rag π date • (π date • σ (today-date<8) , σ (address=desk) ) • f rag π date • decrypt heq,name • crypt heq,name
def rag and group commutes, but grouping must be performed only in the relevant fragment

≡ count • def rag π date • (group date • π date • σ (today-date<8) , σ (address=desk) ) • f rag π date • decrypt heq,name • crypt heq,name
decrypt commutes with f rag, must be applied to both fragments and it can be simplified when components are missing in the fragment

≡ count • def rag π date • (group date • π date • σ (today-date<8) , σ (address=desk) • decrypt heq,name ) • f rag π date • crypt heq,name
decrypt commutes with σ, the predicate of σ does not work on encrypted data, thus it does not require homomorphic encryption to compute selection

≡ count • def rag π date • (group date • π date • σ (today-date<8) , decrypt heq,name • σ (address=desk) ) • f rag π date • crypt heq,name decrypt commutes with def rag ≡ count • decrypt heq,name • def rag π date • (group date • π date • σ (today-date<8) , σ (address=desk) ) • f rag π date • crypt heq,name
Finally count computes the number of groups but it does not rely on the value of tuples, so they do not require to be decrypted

≡ count • def rag π date • (group date • π date • σ (today-date<8) , σ (address=desk) ) • f rag π date • crypt heq,name

Laws for Composition

We now generalize our transformational approach by formally-defined composition laws following Backus's approach [START_REF] Backus | Can programming be liberated from the von neumann style? A functional style and its algebra of programs[END_REF]. They specify how protection and query functions interact, in particular how they commute. We review them briefly.

First, the Identity Laws specify that pairs of protection functions are inverse to each other. Applying a protection then discarding a protection results in no protection. When oriented from left to right, these three rules can be used to introduce privacy functions in a query: id ≡ decrypt s,as • crypt s,as

(1)

id ≡ def rag πas • f rag πas (2) id ≡ def rag σp • f rag σp (3)
Second, all other rules specify when protection-discarding and query-functions commute. They can be used to delay the discarding of protection (i.e., "push" def rag/decrypt to the left in a query); intuitively, this means that more computations are performed in the cloud rather than at the owner's site.

The Projection Laws, (4) specifies that projection and decrypt commute. When fragmentation is used, laws (5)-(8) specify a projection becomes a pair of projections (one per fragment):

π a • decrypt s,a ≡ decrypt s,a • π a (4) π aā • def rag πa ≡ def rag πa • (π a , π ā) (5) π a • def rag πa ≡ def rag πa • (π a , π a ) (6) π ā • def rag πa ≡ def rag πa • (π ā, π ā) (7) π a • def rag σp ≡ def rag σp • (π a , π a ) (8)
Grouping Laws (9),(10) specify that decrypt and group commute. When groups are based on encrypted components, group must take into account encryption (10). Vertical fragmentation and group commute, when groups can be computed in a single fragment (11),(12). Horizontal fragmentation and group commute and groups must be computed in both fragments (13): Selection Laws are quite similar to Grouping Laws, but the different cases are based on predicate parts dealing with one fragment, the other or both. In particular, (16) requires σ paā to select tuples in both vertical fragments after the defragmentation (i.e., at owner's place):

group a • decrypt s,b ≡ decrypt s,b • group a if a / ∈ (
σ p • decrypt s,a ≡ decrypt s,a • σ p if dom(p) / ∈ P(a) ( 14
)
σ p • decrypt s,a ≡ decrypt s,a • σ sp if dom(p) ∈ P(a) ( 15
)
σ pa∧pā∧paā • def rag πa ≡ σ paā • def rag πa • (σ pa , σ pā ) ( 16
)
σ pa∧t∧t • def rag πa ≡ def rag πa • (σ pa , id) (17) σ t∧pā∧t • def rag πa ≡ def rag πa • (id, σ pā ) (18) σ p • def rag σp ≡ def rag σp • (σ p , σ p ) (19)
In law (20), count does not access values so that decrypt can be discarded:

count • decrypt s,as ≡ count (20)

Inria

Finally, Protection Composition Laws commute and distribute functions in order to apply previous laws:

f • id ≡ id • f ≡ f (21) (f 1, f 2) • (g1, g2) ≡ (f 1 • f 2, g1 • g2) (22) f rag πa • decrypt s,a ≡ (decrypt s,a , id) • f rag πa (23) f rag πa • decrypt s,ā ≡ (id, decrypt s,ā ) • f rag πa (24) decrypt s,a • def rag πa ≡ def rag πa • (decrypt s,a , id) (25) decrypt s,ā • def rag πa ≡ def rag πa • (id, decrypt s,ā ) (26) f rag σp • decrypt s,a ≡ (decrypt s,a , decrypt s,a ) • f rag σp (27) decrypt s,a • def rag σp ≡ def rag σp • (decrypt s,a , decrypt s,a ) (28)

Implementation

The functional DSL for the composition of privacy-aware query-based applications introduced above permits the definition of Functional Programming (FP)-like equivalence laws and the transformation of a privacy-preserving local application into a privacy-preserving cloud application. In this section, we present our Scala-based [OSV08, CB14] framework1 , a prototype that makes it possible to program sophisticated privacy-aware cloud applications. In particular, our implementation satisfies the laws introduced previously and harnesses Scala's type system to make application conditions explicit that are required by the laws.

From Theory to Practice

One of the main differences between the DSL and the actual implementation is that we distinguish functions that compute queries from functions that change the shape of the database. In the previous section, the language uses the pointwise application of one function to the result of another, which successively reduces the database until the result is obtained. This abstraction helps reasoning on the query design. However, it misses practicality for real world programming since we do not want to reduce our database and lose components. In practice, two different levels of computation are more useful: one that uses database components to compute queries, and another one that modifies the database shape and applies protection.

The programs in Fig. 3 query the number of meetings per day at the desk last week, for a local (a) and a cloud (b) application. The local application only uses functions to query the database (σ, π, group and count). In contrast, the cloud application also composes functions for protection (crypt and fragV).

The Guardian Monad. In functional programming, functions with side effects such as protection functions are performed in a monad [START_REF] Wadler | Comprehending monads[END_REF], a pattern that makes it easy to chain function calls. In particular, FP deals with side effects using a state monad [START_REF] Wadler | The essence of functional programming[END_REF] that attaches state information to function calls. For this reason, our framework provides a state monad suitable for our purposes. Our state monad, called guardian, is defined based on the following requirements:

• The state is the database. • Query functions only access the components of the database. The application of a query function returns some result that can be used as input for a second query, without modifying the database. For instance, the selection in figure 3a accesses the content of the database and returns the result in r1 (line 4). Values in r1 are then used for the projection (l.5) and so on, until the count operation (l.7). At the end of the program (l.9), the q variable gets the result of the query. But, the database remains the same as in input.

1 for { 2 _ <-configure [Date ,Name , Addr ] 3 q <-query (db => { 4 val r1 = σ (db) ( lastweek 5 ∧ atdesk ) 6 val r2 = π (r1) ( date ) 7 val r3 = group (r2) ( date ) 8 val r4 = count (r3 ); r4 9 }) 10 } yield q (a) Local Application 1 for { 2 _ <-configure [Date ,Name , Addr ] 3 _ <-crypt (_2 ) ( HEq (_)) 4 _ <-fragV (_1 ) ( Site1 (_), Site2 (_)) 5 qL <-queryL ( fragL => { 6 val r1 = σ ( fragL ) (σ lif t lastweek ) 7 val r2 = π (r1) (π lif t date ) 8 val r3 = group (r2) ( date ); r3 9 }) 10 qR <-queryR ( fragR => { 11 val r1 = σ ( fragR ) (σ lif t atdesk ) 12 val r2 = π (r1) (id ); r2 13 }) 14 } yield count ( gather (qL , qR )) (b) Cloud Application
• Protection functions only modify the shape of a database. For instance, the crypt instruction in figure 3b modifies the database by encrypting the second column with a homomorphic scheme that supports equality testing (l.3). Similarly, the fragV instruction splits the database vertically on the first column (l.4). It distributes the left fragment on site number one and the right fragment on site number two. Henceforth, the querying should be done on both fragments (l.5-13).

The protection functions crypt and fragV are complemented by discarding functions decrypt and defragV. The discarding functions from the framework differ from the ones in the DSL because the framework ones discard protection on the database, whereas the functions of the DSL discard protections on the query result. In the DSL example of the cloud application (Sec. 3.2), the call of def rag π date joins at the client side the result of both fragments and hands it over to the count computation. In the corresponding implementation (Fig. 3b), calling a defragV will join fragments but not the result of the queries. For this reason, the framework provides the gather instruction, which is applied at the query level. It brings back data at the client side and discards protection. Given this, the program 3b gathers the result from both fragments in order to count the number of meetings (l.14). Note that in this example like in the example of the DSL, the gather does not have to decrypt names because the right query discards them.

Monadic programming and types. In example 3b it does not make sense to encrypt the second column twice. As it does not make sense to query the fragmented database in the same manner as the local database. Furthermore, it does not make sense to group on an encrypted data that does not support equality testing. To put it simply, if privacy techniques are to be composed, errors can easily be introduced that yield to runtime errors! Inria A main feature of monads is the use of types to exhibit what it means to execute chained function applications. Given this, the guardian monad exhibits useful information at the type level to help the programmer write programs that cannot go wrong. For instance, the type of the guardian at the end of program 3b is: With:

(1) The shape of the database at the start of the computation. Here the guardian only accepts, as input, database that stores date, name and address (i.e., DB[Date |: Name |: Addr]) in plain form (i.e., Raw) and uploaded at client side (i.e., Site0).

(2) The shape of the database at the end of the computation. Here the guardian transforms the database into two fragments. The first one stores dates in plain form at site one. The second one stores names and addresses at site two. The guardian also encrypts names with a homomorphic encryption that supports equality (i.e., HEq).

(3) The type of the query result. Here, the type of the number of meetings per day at the desk last week (i.e., List[Int]). The Site0 annotation informs the developer that a part of the query is computed at the client side. A guardian uses type information to ensure that compositions cannot go wrong and gives useful information at compile time. Hence, trying to encrypt an already encrypted column does not type check (Fig. 4). Querying a fragment with a local approach does not type check (Fig. 5). Grouping/Filtering on an encrypted data that does not support the test does not type check (Fig. 6). Generally speaking, the implementation satisfies the laws of section 3.3. We rely on propertybased testing with ScalaCheck [START_REF] Nilsson | ScalaCheck: Property-based testing for Scala[END_REF] to argue their correctness.

Finally, monad bindings enable the naming of query result such as in program 3b. Value qL contains the result of the left query. Value qR contains the result of the right query. Naming is essential when the programmer wants to implement a profitable strategy like the left-first strategy from figure 2. Program 7 implements the left-first strategy. It simply consists of naming the result of left fragment, and then use it in the right fragment.

Feedback on the Implementation with Scala

The Scala programming language is good for generalization. We harness an advanced use of Scala implicits and type members to perform type-level computations [START_REF] Bruno | Type classes as objects and implicits[END_REF]. This enables the definition of arity-polymorphic databases, so that the guardian monad can be implemented once and for all. Without an arity-polymorphic database we would have to write as many guardian monads as a database could contain attributes, just like for tuples. In the previous examples (e.g., Fig. 3b), the presence of integers prefixed by an underscore is the direct consequences of type-level computation. Integers with an underscore are Church encodings of the natural numbers at the type level. They make it possible to identify, at compile time, which column has to be encrypted, and the type of both fragments after fragmentation.

Scala unifies functional and object-oriented programming. Under the hood, data are objects and operations method calls. This object model is good for modularity and generalization, for instance, with subtyping. However, it makes type inference less powerful than that of ML-like functional languages that use the Hindley-Milner algorithm. Because of that, the guardian monad sometimes requires to explicitly specifying the type to help the compiler infer type parameters.

The code examples we presented above are a beautified version, omitting a few type annotations that are needed by the compiler, so that readers can more easily understand the intention of the guardian monad. The code with all necessary type annotation is available on the Github platform.

Finally, the guardian monad is a prototype, whose implementation proves its validity. In the future we intend to bind the current implementation with nice Scala libraries such as Akka2 for the distribution and Slick 2 for the mapping with real relational databases.

Related Work

In the following, we compare our work to three sets of related work: approaches that focus on data fragmentation (but also including encryption), related work providing language support for privacy properties and approaches, such as sticky policies and security-aware objects that enable privacy properties to be expressed and enforced directly.

Data fragmentation is a recent technique that strives to ensure strong confidentiality properties without the query overhead of encryption-based approaches. A recent overview [dVEF + 13] presents a wide range of fragmentation techniques and corresponding algorithms. However, none of the discussed approaches includes, as our approach provides, declarative means for the construction of fragmentation algorithms, their composition especially with encapsulation techniques and formal property guarantees over implementations.

Several language-based approaches have been proposed for other privacy properties. Tetali et [START_REF] Fournet | Zql: A compiler for privacy-preserving data processing[END_REF] define ZQL, a query language operating over annotated database schemas that use strong typing in order to ensure security properties of generated implementations in F # and C ++ . Reed and Pierce [START_REF] Reed | Distance makes the types grow stronger: a calculus for differential privacy[END_REF] propose a specialized type system to enforce privacy guarantees by means of differential privacy. However, none of these approaches provides language support for the composition of fragmentation and encapsulation techniques.

Another domain of related work consists in support for the expression of privacy properties in the form of policies and constraints over accesses to runtime objects. Sticky policies [START_REF] Karjoth | Platform for enterprise privacy practices: Privacy-enabled management of customer data[END_REF], e.g., represent a class of policies that enable the abstract definition of privacy properties and their enforcement through runtime annotations. Self-protecting software systems [START_REF] Yuan | A systematic survey of self-protecting software systems[END_REF], such as self-defending objects [START_REF] Holford | Using self-defending objects to develop security aware applications in java[END_REF], support the protection of privacy properties of runtime entities by strong encapsulation and access control of these entities. Again however, none of these approaches, as well as other policy-based and encapsulation-based privacy techniques, support properties involving the composition of fragmentation and encapsulation techniques.

Conclusion

In this paper we have addressed the problem of how to define and enforce privacy properties in the context of complex computations executed in mutualized environments, such as the Cloud, and that require different privacy-enforcing techniques to be used. We have considered privacy properties that are formulated in terms of compositions of data fragmentation and encryption.

We have provided programming language support for the declarative definition of such composed privacy-enforcement strategies and an implementation on top of the Scala language that, using a specialized type system, ensures privacy properties by construction. We have also provided a set of laws that ensure privacy properties and that are satisfied by the language mechanisms we provide.

As future work we intend to extend the set of fragmentation techniques and approaches to encryption in order to obtain a full-fledged composition theory for these two classes of privacyenforcing techniques.

Figure 1 :

 1 Figure 1: Privacy-Preserving Agenda as Local (a) and Cloud (b) Application

Figure 2 :

 2 Figure 2: Number of people Alice met last week

Figure 3 :

 3 Figure 3: Privacy-Preserving Agenda as Local (a) and Cloud (b) Application

  [ Raw [ Date ] |: Raw [ Name ] |: Raw [ Addr ]]] , // (1) ( Site1 [DB [ Raw [ Date ] |: Id ]] , Site2 [DB[ HEq [ Name ] |: Raw [ Addr ] |: Id ]]) , // (2) Site0 [ List [ Int ]]] // (3)

Figure 4 :Figure 5 :

 45 Figure 4: Twice encryption does not type check

Figure 6 :

 6 Figure 6: Grouping on encrypted data requires support equality

  group (r1) ( name ) 20 val r3 = count (r2 ); r3 21 }) 22 } yield q

Figure 7 :

 7 Figure 7: Number of people Alice met last week -left-first strategy

  as and the tuples of the second table contain the remaining components (noted π ās ). For instance, f ragDate = f rag π date fragments the agenda table into a first table for the dates and a second table for the names and addresses. Remember [ABG + 05] that in both tables each tuple also contains an index in order to reconstruct the original tuples.• f rag σp /def rag σp horizontally fragments/defragments a table of tuples into two tables. For instance, f rag lastW eek fragments the agenda into two tables of meetings. The first table contains only the meetings of last week and the second table contains the older meetings.

• f rag πas /def rag πas vertically fragments/defragments a table of tuples into two tables of tuples, so that the tuples of the first table contain only the components corresponding to π

RR n°8720

The sources of our framework and examples are available on the Github platform at https://github.com/ rcherrueau/phant RR n°8720

http://akka.io/; http://slick.typesafe.com/ Inria

Publisher Inria Domaine de Voluceau -Rocquencourt BP 105 -78153 Le Chesnay Cedex inria.fr ISSN 0249-6399


Antoine Courtin

Analyzing Social Network Interaction in Cultural Field

ACKOWLEDGMENT

GOALS METHODOLOGY

MCC hesitates between marketing and mediation.

Different conceptions of authorship among institutional accounts. Two categories of users : Author and Relayrunner.

Individual accounts 'promoted museums' Community managers focused on expressing an experience.

We thank especially Nicolas Foucault, research engineer at CNRS in natural language processing, for his contribution in the classifier's implementation. We also thank the Community Managers engaged in the CMmin's initiative of the Ministry of Culture and Communication for the annotation of the corpus. Last but not least, we would like to thank all Github's developers who commincated with us on this issue.

Further developments will lead us to apply this analysis and methodology on the data of the MuseumWeek 2015. We will complete our work with an analysis of the conversations based on an additional data collection. Finally, we will see whether it may be helpful to exploit the web pages, pictures and video pointed out by the URLs found within tweets so as to improve our content analysis algorithms.

Questioning "actions in progress" on Twitter in order to qualify users' engagement for cultural field on the exchange platform, Twitter, proposing toolkits to collect, analyze and visualize data from Twitter. Several quantitative analytical dimension:

Volume of tweets (by hashtags, by senders, by museums, etc.) Senders tweets (sub-categorization of senders, bots, etc.) Types of tweets (RT, initial tweets, tweets with URL, tweets with others hashtags)

These dimensions are cumulative and not exclusive.

  3 scientists (1 linguist, 1 sociologist, 1 cultural mediation specialist) A multi-label classifier based on Naive-Bayes and Support Vector Machine algorithms 550 tweets manually annotated Defined 30 features (Lexical, semiotic, tweet-specific marks + sub-categorization of senders) Multi-label classification (at most 2 classes); automatic classification F 0.5 Measure : between 0.53 and 0.67 depending on the partition of corpus analyzed Kappa (3 annotators) : 0.41 and 0.76 Activities of the 103 French institutions

  -MACHINE LEARNING ALGORITHMS FOR TWEETS INCOMING DEVELOPMENTS CONCLUSION

  To design, implement and test this methodology, we selected the European communication event "MuseumWeek", launched in March 2014 by Twitter in the European museum field, since this operation could embody development strategies of Internet companies in the cultural field.

					Brigitte Juanals			Jean-Luc Minel
			MoDyCo, Université Paris Ouest	MoDyCo, Université Paris Ouest
				Nanterre La défense		Nanterre La défense
						Data normalization
								+			Quantitative	Content	Data
		Data collection		completion		Analysis	Analysis	visualization
	USE CASE		1					2			3	4	5
			Twitter		Python Scripts	Python Scripts	Machine Learning	R
		Search/Stream API					R	Algorithms	Gephi
		via Python (Twarc)					(scikit-learn; SVM+NB)	D3.js
	TASK1: QUANTITATIVE ANALYSIS
			Percentage
	Date	Tweets	based on total number of tweets	Number of RT	% of RT	Number of URL link	% of URL link	Number of users	unique users	Number of tweets with 2 hashtags


N Auffray

J Dirrenberger

G Rosi

A complete description of bi-dimensional anisotropic strain-gradient elasticity

Keywords: Strain gradient elasticity, Anisotropy, Higher-order tensors, Chirality, Acoustical activity

In the present paper spaces of fifth-order tensors involved in bidimensional strain gradient elasticity are studied. As a result complete sets of matrices representing these tensors in each one of their anisotropic system are provided. This paper completes and ends some previous studies on the subject providing a complete description of the anisotropic bidimensional strain gradient elasticity. It is proved that this behavior is divided into 14 non equivalent anisotropic classes, 8 of them being isotropic for classical elasticity. The classification and matrix representations of the acoustical gyrotropic tensor are also provided, these results may find interesting applications to the study of waves propagation in dispersive micro-structured-media.

Introduction

Understanding and modeling wave propagation in periodic lattices is a problem of prime importance for the design of metamaterials. The shape of the elementary cell and its point group determines the elementary vibration modes of the lattice [START_REF] Dresselhaus | Group Theory, Application to the Physics of Condensed Matter[END_REF], hence the number and nature of acoustical and optical branches of the dispersion curves. The structure of branches are important since it determines the band gaps [START_REF] Kittel | Introduction to solid state physics[END_REF], which are responsible for some "macroscopic" non standard effects. Another specific feature of wave propagation in periodic lattices is a strong directionality at high frequencies, which cannot always be described by a classical continuous formulation.

At the present time, the study of wave propagation in periodic lattices relies on FEM computation on a unit cell. Results of such simulations can be found in numerous references [START_REF] Phani | Wave propagation in two-dimensional periodic lattices[END_REF][START_REF] Spadoni | Phononic properties of hexagonal chiral lattices[END_REF][START_REF] Liu | Wave propagation characterization and design of two-dimensional elastic chiral metacomposite[END_REF]. The determination of a continuous substitution medium that would replace the explicit micro-structure might be valuable, especially regarding optimization purposes [START_REF] Jensen | Systematic design of photonic crystal structures using topology optimization: Low-loss waveguide bends[END_REF]. Since the loading wavelengths are a few times the scale of the unit cell, wave propagation through the medium is dispersive, i.e. the phase velocity of a wave depends on its frequency. And, as well-known, classical linear elasticity is not dispersive [START_REF] Royer | Elastic Waves in Solids II[END_REF]. This raises the question of how to model dispersivity in a continuous fashion. Such a formulation is appealing for studying wave transmission and reflection across material discontinuities, which could find natural applications both in biomechanics [START_REF] Rosi | Reflection of acoustic wave at the interface of a fluid-loaded dipolargradient elastic half-space[END_REF] and nondestructive damage evaluation (dell'Isola et al., 2011).

This question began to be investigated in the field of condensed matter physics during the 1960s [START_REF] Toupin | Elastic materials with couple-stresses[END_REF][START_REF] Portigal | Acoustical activity and other first-order spatial dispersion effects in crystals[END_REF]. The aim was to circumvent the uses of cumbersome models of lattice dynamics in the modeling of dispersive behaviors. Physical motivations were two-fold:

Acoustical activity which concerns the rotation of the plane of polarization of a transverse wave through its propagation, was observed in some crystals. This effect, which can be encoded by a fifth-order gyrotropic tensor [START_REF] Bhagwat | A new fourth-rank tensor for describing the acoustical activity of crystals[END_REF], couples strain and strain-gradient effects.

Ballistic phonon imaging is an high-energy imaging technique used to investigate the anisotropic features of crystals. Using heat pulses of very high frequency (0.1-1 THz), for very low room temperature [START_REF] Wolfe | Imaging phonons: acoustic wave propagation in solids[END_REF], the heat propagation is no more diffusive but ballistic and described by the elastic properties of the crystal lattice. To study departure from classical elasticity that occurs at high-frequency, [START_REF] Divincenzo | Dispersive corrections to continuum elastic theory in cubic crystals[END_REF] proposed a continuum extension that involved not only a fifth-order elasticity tensor but also a sixth-order one.

Nowadays problematics in metamaterials studies are very similar 1 . Since effective description using classical elasticity is not sufficient, one can use generalized continuum theories which are known to be dispersive. There are two ways to extend classical continuum mechanics [START_REF] Toupin | Elastic materials with couple-stresses[END_REF][START_REF] Mindlin | Micro-structure in linear elasticity[END_REF][START_REF] Mindlin | Second gradient of strain and surface-tension in linear elasticity[END_REF][START_REF] Erigen | Theory of micropolar elasticity[END_REF][START_REF] Mindlin | On first strain-gradient theories in linear elasticity[END_REF]):

Higher-order continua: with this option the number of degrees of freedom is extended. These theories can model optical branches. The Cosserat elasticity in which local rotations are added as degrees of freedom belongs to this family [START_REF] Cosserat | Linear plane wave propagation and normal transmission and reflection at discontinuity surfaces in second gradient 3D continua[END_REF]. This enhancement can be extended further to obtain the micromorphic elasticity [START_REF] Green | Multipolar continuum mechanics[END_REF][START_REF] Mindlin | Micro-structure in linear elasticity[END_REF][START_REF] Germain | The method of virtual power in continuum mechanics. Part 2: Microstructure[END_REF].

Higher-grade continua: the other option is to keep the same degrees of freedom but to add higher-order gradients of the displacement field into the energy density. Within this framework no optical branch is added to the acoustical ones. Mindlin first strain-gradient elasticity (SGE) [START_REF] Mindlin | Micro-structure in linear elasticity[END_REF][START_REF] Mindlin | On first strain-gradient theories in linear elasticity[END_REF], and second strain gradient elasticity [START_REF] Mindlin | Second gradient of strain and surface-tension in linear elasticity[END_REF] belongs to this family. Higher-grade continua can be conceived as low frequency, long wave-length approximations of higher-order continua [START_REF] Mindlin | Micro-structure in linear elasticity[END_REF].

This situation is sketched in Table 1.

In order to mimic the general approach followed in physics which are based on Taylor expansion of a non-local constitutive operator, the higher-grade path will be followed. In the present paper, Mindlin strain-gradient elasticity (SGE) will be considered. This model can be seen as a phenomenological approximation of the expansion used by [START_REF] Portigal | Acoustical activity and other first-order spatial dispersion effects in crystals[END_REF] or DiVincenzo (1986) 2 .

modeling anisotropic wave propagation in this framework requires knowing the matrix representations of • higher-order inertia tensors;

• higher-order elasticity tensors;

1 It is worth noting an important difference between these two approaches: for condensed matter physics, the number of degrees of freedom of the microproblem is finite, whereas this number is infinite for metamaterials.

2 DiVicenzo's perturbative approach and the Mindlin strain-gradient phenomenological continuum agree on both the fourth-and fifth-order tensors, but differ for the sixth-order one. To obtain a strict agreement on this tensor, Mindlin second strain-gradient elasticity should be used [START_REF] Mindlin | Second gradient of strain and surface-tension in linear elasticity[END_REF]. Since the nature of the correct continuum extension remains unclear today, attention will be concentrated in the present paper on the simplest consistent extension.

Rotation:

Stretch:

Cosserat ≃ / / Micromorphic ≃ Classical continua Higher-order 3 3 ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ ❣ Higher-grade + + ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲ ❲

Koiter

/ / Strain-Gradient

Table 1: Basic extensions of a classical continuum. From the left to the right, rotation then strech are added to the kinematics. For higher-order continua these extensions are independent DOF, for higher-grade continua they are controlled by higher-order gradients of the displacement field.

in each anisotropic system. The first point has rarely been addressed in the literature, and at the present time little is known, except in some specific situations [START_REF] Wang | Modeling micro-inertia in heterogeneous materials under dynamic loading[END_REF][START_REF] Bacigalupo | Second-gradient homogenized model for wave propagation in heterogeneous periodic media[END_REF]. Despite its interest, this subject will not be considered in the present paper in which attention will be focused on higher-order elasticity tensors. If higher-order inertia tensors are specific to dynamics, higher-order elasticity tensors are also involved in statics. Hence, our results may find applications both for static and dynamics. Concerning higher-order elasticity tensors, if matrix representations are known for the sixth-order elasticity tensor (Auffray et al., 2009a[START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF], the fifth-order tensor involved in this model has not been studied; it is the purpose of the present contribution to provide a complete set of anisotropic matrix representation for this fifth-order coupling tensor. For the sake of simplicity, our investigation will be restricted to a bidimensional physical space. As a consequence:

• the description of the static anisotropic 2D strain-gradient elasticity model is now complete. 2D static strain-gradient elasticity possesses 14 different types of anisotropy, 8 of them being isotropic for classical elasticity;

• the complete set of gyrotropic tensors responsible for the so-called acoustical activity, that is the rotation of the plane of polarization of a transverse wave through its propagation3 , is also obtained.

The paper is organized as follows. First, the constitutive law of SGE is recalled and results regarding symmetry classes are recapitulated. The main results obtained for the coupling elasticity (CE) tensor and the acoustic gyrotropic (AG) tensor are given in Section 3, where explicit matrix representations for all the symmetry classes are provided. In Section 4 results concerning tensors of SGE are summarized, and the complete classification of SGE law is given. The different kinds of coupling which may occur are detailed. It will be shown that, in 2D, fifth-order coupling elasticity plays a limited role in the modeling of chiral sensitivity. Finally, in Section 5 a few concluding remarks are drawn.

Strain-gradient elasticity

In this section, the basic equations of strain gradient elasticity are presented. The constitutive relations are considered first, followed by the equation of motion. These different relations involve the classical fourth-order elasticity tensor supplemented by a fifth-order coupling tensor and a sixth-order tensor. It should be noted that the motion equation only involves a particular combination of components of the fifth-order tensor. This leads to the definition of the fifth-order acoustical gyrotropic tensor. As will be shown hereafter, these two fifth-order tensors behave differently with respect to material symmetries.

Constitutive equations

In the strain-gradient theory of linear elasticity [START_REF] Mindlin | Micro-structure in linear elasticity[END_REF][START_REF] Mindlin | On first strain-gradient theories in linear elasticity[END_REF]), the constitutive law gives the symmetric Cauchy stress tensor σ and the hyperstress tensor τ in terms of:

• the infinitesimal strain tensor: ε

• the strain-gradient tensor: η = ε ⊗ ∇ which, using index notation, gives η ijk = ε ij,k the comma denoting a derivation.

through the two linear relations:

σ ij = C ijlm ε lm + M ijlmn η lmn , τ ijk = M lmijk ε lm + A ijklmn η lmn . (1)
Above,

• C is the classical fourth-order elastic tensor;

• M is the fifth-order coupling elastic (CE) tensor;

• A is the sixth-order second-order elastic (SOE) tensor.

These tensors satisfy the following index permutation symmetry:

C (ij)(lm) ; M (ij)(kl)m ; A (ij)k (lm)n
where the notation (..) stands for the minor symmetries, whereas .. stands for the major one. In the case where the microstructure of a material exhibits centro-symmetry, the fifth-order elastic stiffness tensor M vanishes. It is worth noting that in even dimension the inversion is a proper transformation. As a consequence, and contrary to the 3D case, the vanishing of an odd-order tensor is not related to chirality. In 2D, odd-order tensors are null for even-order rotational invariant media (Auffray et al., 2009b). Hence, as it will be shown, the fifth-order coupling tensor exists both for chiral and achiral media.

Dynamics

As the foreseen applications concern dispersive elastodynamics, the associated equation and construction of the acoustic gyrotropic tensor are presented here. This topic will be considered more in depth in a forthcoming paper [START_REF] Rosi | Wave propagation within strain-gradient framework[END_REF]. In the absence of body double-forces, the motion equation of a strain-gradient media subjected to body forces f i reads:

s ij,j + f i = ρü i -κ jik üj,k -κ jkil üj,kl (2)
where s ij is the effective second-order symmetric stress tensor, κ jik is a third order micro-inertia tensor and κ jkil a fourth order micro-inertia tensor [START_REF] Mindlin | On first strain-gradient theories in linear elasticity[END_REF][START_REF] Mindlin | Micro-structure in linear elasticity[END_REF][START_REF] Ben-Amoz | A dynamic theory for composite materials[END_REF][START_REF] Askes | Gradient elasticity in statics and dynamics: an overview of formulations, length scaleidentification procedures, finite element implementations and new results[END_REF][START_REF] Bacigalupo | Second-gradient homogenized model for wave propagation in heterogeneous periodic media[END_REF] . It is important to remark that the third order micro-inertia tensor κ jik is vanishing for centrosymmertic materials (see e.g. [START_REF] Bacigalupo | Second-gradient homogenized model for wave propagation in heterogeneous periodic media[END_REF]). This tensor is defined as follows:

s ij = σ ij -τ ijk,k .
Using the general constitutive law (1), the effective second-order tensor takes the form

s ij = C ijlm ε lm + (M ijklm -M klijm )ε lm,k -A ijklmn ε lm,nk
which can be rewritten in the following way

s ij = C ijlm ε lm + M ♯ ijklm ε lm,k -A ijklmn ε lm,nk (3)
with the dynamic fifth-order tensor M ♯ defined as

M ♯ ijklm = M ijklm -M klijm
This tensor possesses the following index symmetries:

M ♯ (ij)(kl)m (4)
where the notation .... indicates antisymmetry with respect to block permutation [START_REF] Boutin | Microstructural effects in elastic composites[END_REF][START_REF] Triantafyllidis | Elastic materials with couple-stresses[END_REF]. In physics this tensor is known as the acoustical gyrotropic tensor and is responsible for the-called acoustical activity [START_REF] Portigal | Acoustical activity and other first-order spatial dispersion effects in crystals[END_REF][START_REF] Srinivasan | A description of acoustical activity using irreducible tensors[END_REF].

Synthesis

Until now, C and A, the vector spaces of C and A, have been investigated, both in a 2D and 3D euclidean spaces [START_REF] Mehrabadi | Eigentensors of linear anisotropic elastic materials[END_REF][START_REF] Forte | Symmetry classes for elasticity tensors[END_REF]Auffray et al., 2009a[START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF]. Also, the answers to the following three questions have been provided: (a) How many symmetry classes and which symmetry classes do C and A have? (b) For every given symmetry class, how many independent material parameters do C and A have? (c) For each given symmetry class, what is the explicit matrix form of C and A relative to an orthonormal basis?

In 2D, for C, He and Zheng (1996) demonstrated that the space of classical fourth-order tensors is divided in 4 classes. This result was also obtained by a different mean by [START_REF] Vianello | An integrity basis for plane elasticity tensors[END_REF]. For A the question was solved in 2D by Auffray et al. (2009a), the space of sixth-order tensors is more complex since it is divided in 8 classes. For the 3D case, the number of symmetry classes increases since C is now divided into 8 classes [START_REF] Forte | Symmetry classes for elasticity tensors[END_REF], and A into 17 classes [START_REF] Olive | Symmetry classes for even-order tensors[END_REF][START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF]. At the present time, these questions remain open for the fifth-order tensor spaces M and M ♯ , both in 2D and 3D. Some theoretical results are available concerning the 3D case [START_REF] Olive | Symmetry classes for odd-order tensors[END_REF][START_REF] Auffray | Analytical expressions for odd-order anisotropic tensor dimension[END_REF], but without explicit construction. In order to have a complete SGE theory to model dispersive media, answering the aforementioned three questions for M and M ♯ is important. In the following this study will be conducted for M and results for M ♯ will then be deduced.

Symmetry classes

Let Q be an element of the 2D orthogonal group4 O(2). M is said to be invariant under the action of

Q if Q io Q jp Q kq Q lr Q ms M opqrs = M ijklm . (5)
The symmetry group of M is defined as the subgroup G M of O(2) constituted of all the orthogonal tensors leaving M invariant:

G M = {Q ∈ O(2) |Q io Q jp Q kq Q lr Q ms M opqrs = M ijklm }. (6)
As proposed by [START_REF] Forte | Symmetry classes for elasticity tensors[END_REF] it is meaningful to consider two tensors M and N as exhibiting symmetry of the same kind if their symmetry groups are conjugate in the sense that there exists a

Q ∈ O(2) such that G N = QG M Q T . (7)
Thus, the symmetry classes associated to M can be naturally defined as the set [G M ] of all the subgroups of O(2) conjugate to G M :

[G M ] = {G ⊆ O(2) G = QG M Q T , Q ∈O(2) }. (8)
In other words, the symmetry class to which M belongs corresponds to its symmetry group modulo its orientation, i.e. O(2). Furthermore, it is known [START_REF] Zheng | The description, classification, and reality of material and physical symmetries[END_REF] that in a bidimensional space, the symmetry class of a tensor is conjugate to a closed subgroup of O(2). The collection of these subgroups are known and are elements of the following set [START_REF] Armstrong | Basic topology[END_REF]:

{Id, Z π 2 , Z k , D k , SO(2), O (2)
} k∈N >1 in which the following groups are involved:

• Id, the identity group;

• Z k , the cyclic group5 with k elements generated by R(2π/k), a rotation angle 2π/k;

• SO(2), the infinitesimal rotation group, the cyclic limit group for k → ∞;

• Z π 2 , where π denotes a mirror transformation through the y axis;

• D k , the dihedral group with 2k elements generated by R(2π/k) and π;

• O(2), the infinitesimal orthogonal, the dihedral limit group for k → ∞;

In the following a group will be said mirror-invariant, M, if it contains the reflectionoperation, π, and centro-invariant, I, if it contains the inversion-operation i = R(π). In 2D, and in contrary to 3D, the inversion implies the presence of an even-order rotation; hence the inversion is, in this case, a proper transformation. As a consequence, in 2D, chirality is not equivalent to non-centro symmetry, but to the lack of mirror symmetry only. Hence the set of closed subgroups of O(2) can be divided in four subsets according to whether groups are mirror-invariant (M) or not (M), centro-invariant (I) or not (I). The following table contains the different cases:

I I M D 2k ,O(2) Z π 2 , D 2k+1 M Z 2k , SO(2) Z 2k+1
Table 2: Classification of O(2) subsets according to their mirror-and centro-invariance

As will be seen, these four sets describe the different couplings that may, or may not, exist in the complete SGE model.

In a side paper [START_REF] Auffray | Handbook of bidimensional tensors. Part I : Decomposition and symmetry classes[END_REF], it is proved that, in 2D, the vector space M is divided into 6 symmetry classes: one isotropic and five anisotropic. These results are summarized in Table 3. Some comments concerning this classification have to be made:

• In order to be complete, and even if it reduces to the null tensor, the isotropic symmetry class [O(2)] has been included in the classification;

• A tensor which is Z 5 -invariant has its symmetry group conjugate to a D 5 -invariant one. As a consequence the pentachiral class [Z 5 ] is empty.

Name

Oblique Rectangular Trichiral Trigonal Pentachiral Pentagonal Isotropic G M Id Z π 2 Z 3 D 3 Z 5 D 5 O(2) # indep (M) 18 (17) 9 6 (5) 3 2 (1) 1 0 [G M ] [Id] [Z π 2 ] [Z 3 ] [D 3 ] [D 5 ] [D 5 ] [O(2)]
G M Id Z π 2 Z 3 D 3 O(2) # indep (M ♯ ) 6 (5) 3 2 (1) 1 0 [G M ♯ ] [Id] [Z π 2 ] [D 3 ] [D 3 ] [O(2)]

Matrix representations of the coupling elasticity tensor

The goal of the present section is to determine, for each symmetry class, the explicit matrix form of M and M ♯ relative to an orthonormal basis {e 1 , e 2 }. To that aim we follow a strategy introduced for classical elasticity by [START_REF] Mehrabadi | Eigentensors of linear anisotropic elastic materials[END_REF] and extended to strain-gradient elasticity in Auffray et al. (2009a) and [START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF]. This approach is summarized hereafter.

Orthonormal basis and matrix component ordering

Let be defined the following spaces:

T (ij) = {T ∈ T ij |T = 2 i,j=1 T ij e i ⊗ e j , T ij = T ji } T (ij)k = {T ∈ T ijk |T = 2 i,j,k=1
T ijk e i ⊗ e j ⊗ e k , T ijk = T jik } which are, in 2D, respectively, 3-and 6-dimensional vector spaces. Therefore

• the first-order elasticity tensor C is a self-adjoint endomorphism of T (ij) ;

• the coupling elasticity tensor M is a linear application from T (ij)k to T (ij) ;

• the second-order elasticity tensor A is a self-adjoint endomorphism of T (ij)k .

In order to express the Cauchy-stress tensor σ, the strain tensor ε, the strain-gradient tensor η and the hyperstress tensor τ as 3-and 6-dimensional vectors and write C, M and A as, respectively: a 3 × 3, 3 × 6 and 6 × 6 matrices, we introduce the following orthonormal basis vectors:

e I = 1 -δ ij √ 2 + δ ij 2 (e i ⊗ e j + e j ⊗ e i ) , 1 ≤ I ≤ 3 e α = 1 -δ ij √ 2 + δ ij 2 (e i ⊗ e j + e j ⊗ e i ) ⊗ e k , 1 ≤ α ≤ 6
where the summation convention for a repeated subscript does not apply. Then, the aforementioned tensors can be expressed as:

ε = 3 I=1 ε I e I , σ = 3 I=1 σ I e I , η = 6 α=1 η α e α , τ = 6 α=1 τ α e α (9) C = 3,3 I,J=1,1 C IJ e I ⊗ e J M = 3,6 I,α=1,1 M Iα e I ⊗ e α , A = 6,6 α,β=1,1 A αβ e α ⊗ e β , (10)
so that the relations in (1) can be written in the matrix form

σ I = C IJ ε J + M Iα η α τ α = M αJ ε J + A αβ η β (11)
The relationship between the matrix components ε I and ε ij , and between η α and η ijk are

ε I = ε ij if i = j, √ 2ε ij if i = j; η α = η ijk if i = j, √ 2η ijk if i = j; (12)
and, obviously, the same relations between σ I and σ ij and τ α and τ ijk hold. For the constitutive tensors we have the following correspondences:

C IJ =      C ijkl if i = j and k = l, √ 2C ijkl if i = j and k = l or i = j and k = l, 2C ijkl if i = j and k = l. (13) M Iα =      M ijklm if i = j and k = l, √ 2M ijklm if i = j and k = l or i = j and k = l, 2M ijklm if i = j and k = l. (14) A αβ =      A ijklmn if i = j and l = m, √
2A ijklmn if i = j and l = m or i = j and l = m, 2A ijklmn if i = j and l = m. The three-to-one subscript correspondence for strain-gradient/hyperstress tensor, specified in Table 5, is chosen in order to make the 6th-order tensor A block-diagonal for dihedral classes (c.f. Appendix B)7 . The matrix representations of first-and second-order elasticity tensors have already been investigated. Their different forms are recalled in Appendix A and Appendix B. Hence, in the remaining subsection, attention will be devoted to CE tensors.

Transformation matrix

Using the introduced orthogonal bases and the subscript correspondences, the action of a rotation tensor Q ∈ O(2) on M can be represented using two different matrices: a 3 × 3 matrix Q, and a 6 × 6 matrix Q in a way such that

Q io Q jp Q kq Q lr Q ms M opqrs = Q IJ M Jα Q αβ ( 16
)
where

Q IJ = 1 2 (Q io Q jp + Q ip Q jo ) ; Q αβ = 1 2 (Q io Q jp + Q ip Q jo )Q kq ( 17
)
with I and J being associated to ij and op, and α and β being associated to ijk and opq respectively. Thus, formula (5) expressing the invariance of M under the action of Q is equivalent to

QM Q T = M (18)
where Q stands for the 3 × 3 matrix of components Q IJ , Q stands for the 6 × 6 matrix of components Q αβ and M the 3 × 6 matrix of components M Jα .

Matrix representations of M and M ♯ for all symmetry classes

We are now ready to give the explicit expressions of M and M ♯ for each of the 5 anisotropic classes. Matrices will first be given in a brut form, and in a second time split into sub-matrices so as to make appear elementary building blocks. The order adopted to specify the expressions of M for the symmetry classes [Z k ] and [D k ] is k = 1, 3, 5.

Symmetry class characterized by [Id]

Constitutive tensor. In this most general case, illustrated by Figure 1, the material in question is fully anisotropic and the CE matrix M comprises 18 independent components. The explicit expression of M as a full 3 × 6 matrix is:

M Id =   m

 

This matrix can be decomposed into sub-matrices that constitute elementary building blocks.

To that aim we first define the nm-dimensional space M(n, m) composed of n × m matrices. Then, we can write M in the following way

M Id = A (6) B (6) C (3) D (3)
where the form and number of independent components of each involved sub-matrix are specified by

• A (6) , B (6) ∈ M(2, 3);

• C (3) , D (3) ∈ M(1, 3); For example, A (6) is an element of M(2, 3) and contains 6 independent components while C (3) belongs to M(1, 3) and comprises 3 independent components. It should be noted that it is possible to find rotations that increases by one the number of zeros in M Id . For those particular angles, the matrix representation of the rotated tensor involves 17 components. If the associated physical is clear in classical elasticity [START_REF] Norris | On the acoustic determination of the elastic moduli of anisotropic solids and acoustic conditions for the existence of symmetry planes[END_REF], its counterpart, if any, for strain-gradient elasticity is unclear.

Gyrotropic tensor. In this situation, the AG matrix M ♯ includes 6 independent components

M ♯ Id =    0 m ♯ 12 m ♯ 13 m ♯ 14 0 m ♯ 16 -m ♯ 12 0 m ♯ 23 0 -m ♯ 14 m ♯ 26 -m ♯ 16 -m ♯ 26 0 -m ♯ 23 -m ♯

Symmetry class characterized by [Z π

2 ] Constitutive tensor. The materials having the symmetry classes [Z π 2 ], shown in Figure 2 is referred to as being rectangular. The CE matrix M contains 9 independent components. Using the three-to-one subscript correspondence given in Table 5, the associated matrix has the following brut form:

M Z π 2 =   m 11 m 12 m 13 0 0 0 m 21 m 22 m 23 0 0 0 0 0 0 m 34 m 35 m 36  
Gyrotropic tensor. In this situation the AG matrix M ♯ includes 3 independent components

M ♯ Z π 2 =    0 m ♯ 12 m ♯ 13 0 0 0 -m ♯ 12 0 m ♯ 23 0 0 0 0 0 0 -m ♯ 23 -m ♯ 13 0   
These components are related to those of M Z π 2 through the relations:

m ♯ 12 = m 12 -m 21 ; m ♯ 13 = m 13 -m 35 ; m ♯ 23 = m 23 -m 34 3.3.3. Symmetry classes [Z 3 ] and [D 3 ]
The materials having the symmetry classes [Z 3 ] and [D 3 ], as shown in Figures 3 and4, are referred to as trichiral and trigonal, respectively.

Constitutive tensors. The CE matrix M contains, respectively, 6 or 3 independent components. Using the three-to-one subscript correspondence given in Table 5, the CE matrices exhibiting the Z 3 -symmetry and D 3 -symmetry have the following brut forms: And, using block matrix notations,:

M Z 3 =   m 11 -m 11 - √ 2 2 (m 34 +m 35 ) - √ 2m 11 -1 2 (3m 34 -m 35 ) m 24 + √ 2m 31 -m 24 - √ 2 2 (m 31 -m 32 ) - √ 2m 24 -1 2 (m 31 +m 32 ) m 11 + √ 2m 34 -m 11 - √ 2 2 (m 34 -m 35 ) - √ 2m 11 -1 2 (m 34 +m 35 ) m 24 -m 24 - √ 2 2 (m 31 +m 32 ) - √ 2m 24 -1 2 (3m 31 -m 32 ) m 31 m 32 √ 2 2 (m 31 -m 32 ) m 34 m 35 √ 2 2 (m 34 -m 35 )   M D 3 =   m 11 -m 11 - √ 2 2 (m 34 +m 35 ) - √ 2m 11 -1 2 (3m 34 -m 35 ) 0 0 0 m 11 + √ 2m 34 -m 11 - √ 2 2 (m 34 -m 35 ) - √ 2m
M Z 3 = A (1) B (1) C (2) D (2) + f (D (2) ) f (C (2) ) 0 0 ; M D 3 = A (1) 0 0 D (2) + f (D (2) ) 0 0 0
First, the expressions of A (1) and B (1) with 1 independent component are specified by

A (1) = a 11 -a 11 - √ 2a 11 a 11 -a 11 - √ 2a 11 ; B (1) = b 11 -b 11 - √ 2b 11 b 11 -b 11 - √ 2b 11
for the remaining independent components:

C (2) = c 11 c 12 √ 2 2 (c 11 -c 12 ) ; D (2) = d 11 d 12 √ 2 2 (d 11 -d 12
) and for the dependent ones:

f (C (2) ) = √ 2c 11 - √ 2 2 (c 11 -c 12 ) -1 2 (c 11 + c 12 ) 0 - √ 2 2 (c 11 + c 12 ) -1 2 (3c 11 -c 12 ) ; f (D (2) ) = 0 - √ 2 2 (d 11 + d 12 ) -1 2 (3d 11 -d 12 ) √ 2d 11 - √ 2 2 (d 11 -d 12 ) -1 2 (d 11 + d 12 )
It should be noted that it is possible to find rotations that reduce the number of coefficients in M Z 3 . For example, under a rotation of angle θ solution of:

tan 3θ = c 11 -c 12 d 11 -d 12 ( 19
)
the former matrix is transformed into a new one: with

M ⋆ Z 3 = A (1) B ⋆(1) C ⋆(1) D (2) + f (D (2) ) f (C ⋆(2) ) 0 0
C ⋆(1) = c ⋆ 11 c ⋆ 11 0 ; f (C ⋆(1) ) = √ 2c ⋆ 11 0 -c ⋆ 11 0 - √ 2c ⋆ 11 -c ⋆ 11
In this specific basis the number of components needed to define M Z 3 is decreased by one. But it should be observed that after being rotated the resulting matrix is still different from M D 3 . Therefore the two symmetry classes are distinct.

Gyrotropic tensor. The AG matrices M ♯ have the following shapes:

M ♯ Z 3 =    0 m ♯ 12 √ 2 2 m ♯ 12 m ♯ 14 0 - √ 2 2 m ♯ 14 -m ♯ 12 0 √ 2 2 m ♯ 12 0 -m ♯ 14 - √ 2 2 m ♯ 14 √ 2 2 m ♯ 14 √ 2 2 m ♯ 14 0 - √ 2 2 m ♯ 12 - √ 2 2 m ♯ 12 0    M ♯ D 3 =    0 m ♯ 12 √ 2 2 m ♯ 12 0 0 0 -m ♯ 12 0 √ 2 2 m ♯ 12 0 0 0 0 0 0 - √ 2 2 m ♯ 12 - √ 2 2 m ♯ 12 0   
These components are related to those of M Z π 3 through the relations:

m ♯ 12 = -2m 11 - √ 2 2 (3m 34 + m 35 ) ; m ♯ 14 = 2m 24 + √ 2 2 (3m 31 + m 32 )
It should be noted that it is possible to find rotations that transform the

M ♯ Z 3 into M ♯ D 3 . Therefore if for M the classes [Z 3 ] and [D 3 ]
are distinct, this is no longer the case for M ♯ . It means that if the constitutive tensor M is chiro-sensitive, the gyrotropic tensor M ♯ is not.

3.3.4. Symmetry classes [Z 5 ] and [D 5 ].
Constitutive tensors. Whether a material is Z 5 -invariant or D 5 -invariant, the number of independent parameters in the matrix representation is 2 or 1. But as it will be shown, there exists only one symmetry class, the pentagonal one [D 5 ]. The CE matrices M Z 5 and M D 5 for pentachiral and pentagonal material systems (see Figures 5 and6) are given respectively by And, using the block matrix notation:

M Z 5 =   m 11 -m 11 - √ 2m 11 -m 24 m 24 √ 2m 24 -m 11 m 11 √ 2m 11 m 24 -m 24 - √ 2m 24 √ 2m 24 - √ 2m 24 -2m 24 √ 2m 11 - √ 2m 11 -2m 11   M D 5 =   m 11 -m 11 - √ 2m 11 0 0 0 -m 11 m 11 √ 2m 11 0 0 0 0 0 0 √ 2m 11 - √ 2m 11 -2m 11  
M Z 5 = A (1) B (1) 0 0 + 0 0 f (B (1) ) f (A (1) ) ; M D 5 = A (1) 0 0 0 + 0 0 0 f (A (1) ) A (1) = a 11 -a 11 - √ 2a 11 -a 11 a 11 √ 2a 11 ; B (1) = -b 11 b 11 √ 2b 11 b 11 -b 11 - √ 2b 11 f (A (1) ) = √ 2a 11 - √ 2a 11 -2a 11 ; f (B (1) ) = √ 2b 11 - √ 2b 11 -2b 11
It is important to note that it is possible to find a rotation that reduces the number of coefficients of M Z 5 . Under a rotation of angle θ solution of:

tan 5θ = -a 11 b 11 (20)
the former matrix is transformed into a new one:

M ⋆ Z 5 = A ⋆(1) 0 0 0 + 0 0 0 f (A ⋆(1) )
with A ⋆(1) having the same form as A (1) . Therefore, after this rotation, M ⋆ Z 5 = M D 5 . Hence, as announced in Section 2.4, the symmetry class [Z 5 ] is empty.

Gyrotropic tensor. For these material symmetries, the gyrotropic tensor vanishes.

Complete 2D strain-gradient anisotropic systems

By combining the results of the previous section with previously published results (summarized in the appendices), the shapes of complete strain-gradient elasticity can be given for all the symmetry classes in 2D. To that aim, let us define the following space:

Sgr = {L = (C ijkl , M ijklm , A ijklmn ) ∈ C × M × A}
which is the complete space of SGE. The symmetry group of L is defined as:

G L = G A ∩ G M ∩ G C
and, as for a single tensor, we can define the symmetry class of a linear law as:

[G L ] = {G ⊆ O(2)|G = QG L Q T , Q ∈O(2)} (21)
As the union of the symmetry classes for each tensor space of the constitutive law covers all the O(2)-subgroups allowed by the Hermann theorem [START_REF] Auffray | Démonstration du théorème d'Hermann à partir de la méthode Forte-Vianello[END_REF], there is no need to conduct a specific study to determinate the set of symmetry classes of Sgr. The number and type of symmetry classes are known for each tensor space of Mindlin strain-gradient elasticity.

Before stating the classification, let us recap some results:

• Classical elasticity: the classification has been done by He and Zheng (1996). Their results are synthesized in the following table :   Name

Digonal Orthotropic Tetragonal Isotropic [G C ] [Z 2 ] [D 2 ] [D 4 ] [O(2)] # indep (C) 6 (5) 4 3 2
Table 7: The names, the sets of subgroups [G C ] and the numbers of independent components # indep (C) for the 4 symmetry classes of C. The in-parenthesis number indicates the minimal number of components of the matrix in an appropriate basis.

• Second-order elasticity: the classification has been done by Auffray et al. (2009a), and are synthesized in the following table :   Name

Digonal Orthotropic Tetrachiral Tetragonal [G A ] [Z 2 ] [D 2 ] [Z 4 ] [D 4 ] # indep (A) 21 (20) 12 9 (8) 6 Name Hexachiral Hexagonal Hemitropic Isotropic [G A ] [Z 6 ] [D 6 ] [SO(2)] [O(2)] # indep (A)
7 ( 6) 5 5 4 As a result we obtain 14 non equivalent symmetry classes, which are reported together with their number of independent components in the following table:

Name Oblique Rectangular Digonal Orthotropic Trichiral Trigonal Tetrachiral Tetragonal [G L ] [Id] [Z π 2 ] [Z 2 ] [D 2 ] [Z 3 ] [D 3 ] [Z 4 ] [D 4 ] # indep (L) 45 (
[G L ] [Z 5 ] [D 5 ] [Z 6 ] [D 6 ] [SO(2)] [O(2)] # indep (L)
9 (8) 7 9 (8) 7 7 6

Table 9: The names, the sets of subgroups [GL] and the numbers of independent components # indep (L) for the 14 symmetry classes of L. The in-parenthesis number indicates the minimal number of components of the law in an appropriate basis.

As a result, in each symmetry class, the constitutive law has the following synthetic form:

L Id = C Z 2 M Id M T Id A Z 2 ; L Z π 2 = C Z 2 M Z π 2 M T Z π 2 A Z 2 (22) L Z 2 = C Z 2 0 0 A Z 2 ; L D 2 = C D 2 0 0 A D 2 (23) L Z 3 = C O(2) M Z 3 M T Z 3 A Z 6 ; L D 3 = C O(2) M D 3 M T D 3 A D 6 (24) L Z 4 = C D 4 0 0 A Z 4 ; L D 4 = C D 4 0 0 A D 4 (25) L Z 5 = C O(2) M D 5 M T D 5 A SO(2) ; L D 5 = C O(2) M D 5 M T D 5 A O(2) ( 26
)
L Z 6 = C O(2) 0 0 A Z 6 ; L D 6 = C O(2) 0 0 A D 6 (27) L SO(2) = C O(2) 0 0 A SO(2) ; L O(2) = C O(2) 0 0 A O(2) (28)
In can be observed that among those 14 different classes, 8 of them are isotropic for classical elasticity. These classes will be refered to as Cauchy-isotropic:

I so = {[Z 3 ], [D 3 ], [Z 5 ], [D 5 ], [Z 6 ], [D 6 ], [SO(2)], [O(2)]}
and among them the following 4 ones are chiro-sensitive

C ir = {[Z 3 ], [Z 5 ], [Z 6 ], [SO(2)]}
in which only [Z 3 ], [Z 6 ] are compatible with the crystallographic restriction. These different Cauchy-isotropic classes differ by the nature and the kind of second-order anisotropic coupling. Let us detail now the different kind of couplings that can be produced.

Sand O-type coupling

Auffray et al. (2009a) has pointed out that the sixth-order tensor A encodes some kind of chiral behavior. In Section 3, another type of coupling encoded by the fifth-order tensor M has been identified. These 2 couplings are distinct:

• The fifth-order tensor couples first order and second order terms. This coupling of order This coupling may exist both for chiral and achiral symmetry classes.

• Chiral coupling phenomena described by the sixth-order tensor are of spatial type (S-type). This mechanism occurs for the symmetry classes [Z k ]. In such cases a chiral coupling is created between the spatial directions and solely concerns second-order effects. Let consider L SO(2) which is the simplest example of this situation. For this class M is null, therefore ∂σ ∂η = 0 and ∂τ ∂ε = 0

This means that first-and second-order elasticity are not coupled. Let us now consider the linear relation between τ and η in this particular case:

        τ 111 τ 221 √ 2τ 122 τ 222 τ 112 √ 2τ 121         =         
-a 12                  η 111 η 221 √ 2η 122 η 222 η 112 √ 2η 121        
The spatial coupling is encoded by the following antisymmetric matrix: This structure is summed-up in the following diagram:

  0 a 15 - a 15 √ 2 -a 15 0 - a 15 √ 2 a 15 √ 2 a 15 √ 2 0   which disappears
SO σ / / i S i O σ / / A
in which σ denotes reflection and i the inversion.

Hence in 2D the chiral coupling is encoded by the second-order elasticity tensor, while non-centro-symetric coupling is encoded by the fifth-order tensor.

Discussion

It is interesting to note that, in the literature devoted to chiral lattices [START_REF] Spadoni | Phononic properties of hexagonal chiral lattices[END_REF][START_REF] Liu | Chiral effect in plane isotropic micropolar elasticity and its application to chiral lattices[END_REF][START_REF] Spadoni | Elasto-static micropolar behavior of a chiral auxetic lattice[END_REF] and auxetic materials [START_REF] Prall | Properties of a chiral honeycomb with a poisson's ratio of -1[END_REF][START_REF] Dirrenberger | Homogenization of periodic auxetic materials[END_REF], attention has only been focused on geometries that induce S-type chiral coupling8 . The main difficulty to explore O-type chirality in 2D is that the associated rotational groups are not compatible with translational symmetry:

• if a material is both [Z 3 ] and invariant by translation, it is automatically [Z 6 ]-invariant9 ;

• a [Z 5 ]-invariance is not compatible with any translational invariance. It worth noting that this kind of rotational invariance can be found in quasi-crystallographic tilings such as the Penrose tilings.

Periodic tiling only present S-type coupling. A well-known example is the hexachiral structure (Figure 7(a)). This tiling was proposed by [START_REF] Lakes | Deformation mechanisms in negative Poisson's ratio materials: structural aspects[END_REF] and studied in [START_REF] Prall | Properties of a chiral honeycomb with a poisson's ratio of -1[END_REF]. Since then this material has bee studied by numerous authors [START_REF] Spadoni | Phononic properties of hexagonal chiral lattices[END_REF][START_REF] Liu | Chiral effect in plane isotropic micropolar elasticity and its application to chiral lattices[END_REF][START_REF] Dirrenberger | Homogenization of periodic auxetic materials[END_REF][START_REF] Dirrenberger | Elastoplasticity of auxetic materials[END_REF][START_REF] Dirrenberger | Effective elastic properties of auxetic microstructures: anisotropy and structural applications[END_REF][START_REF] Bacigalupo | Second-gradient homogenized model for wave propagation in heterogeneous periodic media[END_REF]. The symmetry class of this pattern is [Z 6 ], and hence, in the framework of SGE, there is no coupling between first-and second-order elasticity. This observation is in agreement with the one made by [START_REF] Spadoni | Elasto-static micropolar behavior of a chiral auxetic lattice[END_REF] in the context of micropolar elasticity: first-and second-order elasticity are not coupled for hexachiral structures. However, if we consider a bi-material hexachiral pattern, i.e with ligaments made of a different material as in figure 7(b), this coupling between first-and second-order elasticity is necessary. Indeed, this new material will now belong to the class [Z 3 ], for which the tensor M is not vanishing. The framework presented in this paper is then particularly useful when considering chiral or periodic bi-material composites, whose higher order properties cannot be taken into account when using other formulations, e.g. Cauchy or Micropolar continua.

Conclusions

This paper completes some previous publications (Auffray et al., 2009a[START_REF] Auffray | Strain gradient elastic homogenization of bidimensional cellular media[END_REF] on the description of anisotropic bidimensional strain-gradient elastic behavior. Two spaces of fifth-order tensors have been studied:

1. the space of coupling elasticity tensors involved in the constitutive law; 2. the space of gyroptropic tensors, responsible of the so-called activity.

In both cases, a complete set of anisotropic matrices has been provided. As a consequence, the anisotropic description of bidimensional strain-gradient elasticity is now complete. This behavior is divided into 14 non-equivalent anisotropic classes, 8 of them being isotropic for classical elasticity. We believe that those results will be useful for the continuous description of architectured material, and especially for the modeling of non-classical waves propagation.

  remains to choose appropriate two-to-one and three-to-one subscript correspondences between ij and I, on one hand, and ijk and α, on the other hand. For the classical variables the standard two-to-one subscript correspondence is used, i.e:

Figure 1 :

 1 Figure 1: Oblique system (Id-invariance): the material is completely asymmetric.

  These components are related to those of M Id through the relations:m ♯ 12 = m 12 -m 21 ; m ♯ 13 = m 13 -m 35 ; m ♯ 23 = m 23 -m 34 m ♯ 16 = m 16 -m 31 ; m ♯ 14 = m 14 -m 25 ; m ♯ 26 = m 26 -m 32It should be noted that it is possible to find rotations that make one more zero appears in the previous matrix M ♯ Id . Therefore, in these specific bases the matrix M ♯ Id is defined by 5 components.

Figure 2 :

 2 Figure 2: Rectangular system (Z π 2 -invariance): the material exhibits a symmetry plane.

Figure 3 :

 3 Figure 3: Trichiral system (Z3-invariance): the material is 2π 3 -invariant.

Figure 4 :

 4 Figure 4: Trigonal system (D3-invariance): the material is 2π3 -invariant and exhibits 3 symmetry planes.

Figure 5 :

 5 Figure 5: Pentachiral system (Z5-invariance): the material is 2π 5 -invariant.

Figure 6 :

 6 Figure 6: Pentagonal system (D5-invariance): the material is 2π 5 -invariant and possesses 5 mirror lines.

  (O-type) is due to the lack of the central symmetry (I) that occurs for symmetry classes [Z 2k+1 ] and [D 2k+1 ]. For these classes the stress and hyperstress equations are coupled. In other terms:

Figure 7 :

 7 Figure 7: Mono-and bi-material patterns, which belong to the [Z6] and [Z3] respectively

Table 3 :

 3 The names, the sets of subgroups [G M ] and the numbers of independent components # indep (M) for the 6 symmetry classes of M. The in-parenthesis number indicates the minimal number of components of the matrix in an appropriate basis.The symmetry classes of the vector space M ♯ are very different, since the classes [Z 3 ] and[D 5 ] are now empty. Results for the space of gyrotropic tensors 6 are summarized in Table4.

	Name	Oblique Rectangular Trichiral Trigonal Isotropic

Table 4 :

 4 The names, the sets of subgroups [G M

♯ ] and the numbers of independent components # indep (M ♯ ) for the 4 symmetry classes of M ♯ . The in-parenthesis number indicates the minimal number of components of the matrix in an appropriate basis.

Table 5 :

 5 The two-to-one subscript correspondence for 2D strain/stress tensors

Table 6 :

 6 The three-to-one subscript correspondence for 2D strain-gradient/hyperstress tensors

  11 m 12 m 13 m 14 m 15 m 16 m 21 m 22 m 23 m 24 m 25 m 26 m 31 m 32 m 33 m 34 m 35 m 36

Table 8 :

 8 The names, the sets of subgroups [G A ] and the numbers of independent components # indep (A) for the 8 symmetry classes of A. The in-parenthesis number indicates the minimal number of components of the matrix in an appropriate basis.

  in the symmetry class[O(2)]. This effect, which is present for all [Z 2k ] symmetry classes, is a consequence of the absence mirror symmetries[START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF]. Constitutive laws belonging to this set present both spatial-and order-coupling. This set contains [Z 2k+1 ], and hence corresponds to IM subgroup of O(2); 2. S: Constitutive laws belonging to this set present spatial-coupling. This set contains [Z 2k ] and [SO(2)], and hence corresponds to IM subgroup of O(2); 3. O: Constitutive laws belonging to this set present order-coupling. This set contains [D 2k+1 ], and hence corresponds to IM subgroup of O(2); 4. A: Constitutive laws belonging to this set are uncoupled. This set contains [D

	Therefore the symmetry classes of SGE, can be split in 4 sets:
	1. SO:

2k ] and [O(2)], and hence corresponds to IM subgroup of O(2).

  a 11 a 12 a 13 a 14 a 15 a 16 a 22 a 23 a 24 a 25 a 26 a 33 a 34 a 35 a 36 a 44 a 45 a 46 a 55 a 56 a 66

	A Z (4) =	       	a 11 a 12 a 13 a 22 a 23 -a 15 0 a 33 -a 16 -a 26 0 a 15 a 16 0 a 26 a 11 a 12 a 13 a 22 a 23	       	, A D (4) =	        a 11 a 12 a 13 0 a 22 a 23 0 a 33 0 a 11 a 12 a 13 0 0 0 0 0 0 a 22 a 23	       
						b 55	b
								(B.2)
		A Z 6 = A D 6 =          a 11 a 12 a 22         a 11 a 12 a 22 A SO(2) =         	a 11 -a 22 √ 2 a 23 a 11 +a 22 2 a 11 -a 22 -a 23 -a 12 √ 2 -a 23 a 23 a 11 +a 22 2 -a 12 a 11 a 12 a 11 -a 22 0 -a 15 a 15 √ 2 a 44 0 0 0 a 44 a 11 -a 44 +a 12 a 15 0 a 15 √ 2 a 11 -a 44 +a 12 a 22 +a 44 -a 11 0 0 0 a 22 +a 44 -a 11 √ 2 -a 23 0 a 15 a 22 a 23 -a 15 0 a 11 +a 22 2 -a 12 a 15 √ 2 a 15 √ 2 a 11 a 12 a 22	--3a 11 -a 22 √ 2 -a 23 -a 15 √ 2 a 15 √ 2 0 √ 2(a 44 -a 11 )+a 23 √ 2a 44 -3a 11 +a 22 2 -a 12 +2a 44 0           0 0 3a 11 -a 22 √ 2 -a 23 -√ 2a 44 √        2(a 44 -a 11 )+a 23 -3a 11 +a 22 2 -a 12 +2a 44 - a 15 √ 2 -a 15 √ 2 0 a 11 -a 22 √ 2 -a 23 a 23        	(B.3) (B.4) (B.5)
			A O(2) =	        a 11 a 12 a 22	a 11 -a 22 √ 2 a 23 a 11 +a 22 2	-a 23 -a 12	0 0 0 a 11 a 12 0 0 0 a 22	a 11 +a 22 2 0 0 0 a 11 -a 22 √ 2 -a 23 -a 12  a 23       	(B.6)
								a 11 +a 22 2	-a 12
						       	, A D (2) =	        a 11 a 12 a 13 0 a 22 a 23 0 a 33 0 a 44 a 45 a 46 0 0 0 0 0 0 a 55 a 56	       	(B.1)
								a 66

If the nature of this effect is rather clear in a 3D space, its interpretation in 2D remains unclear.

The orthogonal group in 2D is defined as O(2) = {Q ∈ GL(2)|Q T = Q -1 }, in which GL(2) denotes the set of invertible transformations acting on R 2 .

It has to be noted that Z π 2 and Z2 are isomorphic as group but not conjugate.

It can be noted that the following results are the same as for the space of piezoelectric tensors[START_REF] Auffray | Handbook of bidimensional tensors. Part I : Decomposition and symmetry classes[END_REF][START_REF] Vannucci | The polar analysis of a third order piezoelectricity-like plane tensor[END_REF].

Further comments on the reason of such a choice can be found in[START_REF] Auffray | Matrix representations for 3D strain-gradient elasticity[END_REF].

Whereas in 3D, as the microstructure is generally neglected, attention is devoted to hemitropic SGE, i.e. to O-type chiral coupling induced by the fifth-order tensor (Papanicolopulos, 2011).

It is worth being noted that this symmetry may be broken down by using different materials in the tiling.

Acknowledgements

The authors would like to gratefully acknowledge the Fédération Francilienne de Mécanique for financial support through its starting grant program. G. Rosi wishes to thank the Faculté de Sciences et Technologie of the Université Paris-Est Créteil Val de Marne for the financial support.