Saverio Giallorenzo

Fabrizio Montesi

Marco Peressotti

Florian Rademacher

Addison-Wesley

Nicola Dragoni

Alberto Lluch Lafuente

Manuel Mazzara

Fabrizio

Model-Driven Code Generation for Microservices: Service Models

Keywords: 2012 ACM Subject Classification Software and its engineering → Software development methods, Applied computing → Service-oriented architectures, Software and its engineering → Model-driven software engineering Microservices, Model-driven Engineering, Code Generation, Jolie APIs Digital Object Identifier 10.4230/OASIcs.Microservices.2020-2022

We formally define and implement a translation of domain and service models expressed in the LEMMA modelling ecosystem for microservice architectures to source code in the Jolie microservice programming language. Specifically, our work extends previous efforts on the generation of Jolie code to the inclusion of the LEMMA service modelling layer.

We also contribute an implementation of our translation, given as an extension of the LEMMA2Jolie tool, which enables the practical application of our encoding. As a result, LEMMA2Jolie now supports a software development process whereby microservice architectures can first be designed by microservice developers in collaboration with domain experts in LEMMA, and then be automatically translated into Jolie APIs. Our tool can thus be used to enhance productivity and improve design adherence.

Introduction

Microservice Architecture (MSA) has risen to be a popular approach [START_REF] Newman | Building Microservices: Designing Fine-Grained Systems[END_REF], but it also presents challenges related to design, development, and operation [5,[START_REF] Soldani | The pains and gains of microservices: A systematic grey literature review[END_REF]. To tackle design and development, researchers in software engineering and programming languages have proposed linguistic approaches to MSA, which feature high-level abstractions aimed at making microservice concerns more visible. Model-Driven Engineering (MDE) [2] is a popular method for designing service architectures [1]. MDE can be applied to MSA by means of modelling languages such as MicroBuilder, MDSL, LEMMA, and JHipster [START_REF] Terzić | Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures[END_REF][START_REF] Zimmermann | Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges[END_REF][START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF][START_REF] Jhipster | Jhipster domain language[END_REF]. LEMMA, in particular, has been validated in real-world applications [START_REF] Sorgalla | Applying model-driven engineering to stimulate the adoption of devops processes in small and medium-sized development organizations[END_REF][START_REF] Rademacher | Towards holistic modeling of microservice architectures using LEMMA[END_REF]. On the side of development, Ballerina and Jolie [START_REF] Oram | Ballerina: A Language for Network-Distributed Applications[END_REF][START_REF] Montesi | Service-oriented programming with Jolie[END_REF] are programming languages oriented towards services and their coordination. Jolie's abstractions have been found to improve productivity in industry [START_REF] Guidi | A jolie based platform for speeding-up the digitalization of system integration processes[END_REF], and LEMMA's support for Domain-Driven Design has been validated in real-world applications [START_REF] Sorgalla | Applying model-driven engineering to stimulate the adoption of devops processes in small and medium-sized development organizations[END_REF][START_REF] Rademacher | Towards holistic modeling of microservice architectures using LEMMA[END_REF].

In recent work, Giallorenzo et al. [10] observed that the metamodels of LEMMA and Jolie have numerous contact points. This motivated the quest for integrating the two tools and their approaches, which in the long term could bring (quoting from [10]) "an ecosystem that coherently combines MDE and programming abstractions to offer a tower of abstractions [START_REF] Milner | The tower of informatic models[END_REF] that supports a step-by-step refinement process from the abstract specification of a microservice architecture to its implementation".

In other words, the objective is building a toolset that allows for (i) designing an MSA using the principles of MDE, and then (ii) seamlessly switching to implementing the design with a programming language that offers dedicated linguistic support for coding microservices. Achieving this objective requires integrating three elements of the metamodels of both LEMMA and Jolie [10]: 1. Application Programming Interfaces (API), describing what functionalities (and their data types) a microservice offers to its clients; 2. Access Points, capturing where and how clients can interact with a microservice's API; 3. Behaviours, defining the internal business logic of a microservice. In [9], we started addressing the first element, by presenting an encoding, and a tool built on such encoding, that translates a large fragment of LEMMA's Domain Data Modelling Language (DDML) to Jolie types and interfaces. However, this encoding ignored the important aspects of modelling services, and in particular their interfaces in terms of operations and their associated communication patterns (e.g., synchronous vs asynchronous data provision). In this paper, we aim to bridge this gap and obtain the first prototype of an API generator from LEMMA service models.

Since the API is the layer the other two build upon, in this paper we focus on concretising the relationship between LEMMA and Jolie API layers. To this end, we extend previous work focused on a formal encoding from a large fragment of LEMMA's Domain Data Modelling Language (DDML) to Jolie types and interfaces [9] Our key contribution is extending the encoding in [9] to a significant fragment of LEMMA's Service Modelling Language (SML); the one used for defining a set of microservices with their interfaces, operations, and accompanying communication patterns. Our extended encoding supports the systematic translation of LEMMA domain models -which, following Domain-Driven Design (DDD) [6] principles, capture domain-specific types including operation signatures -to Jolie APIs. As a second contribution, we extend the tool presented in [9], called LEMMA2Jolie, to accept both DDML and SML models and translate these into Jolie APIs, following the extended version of the encoding presented in this paper.

Taken together, these contributions constitute a new milestone on the roadmap traced in [10] for building a conceptual and technical bridge between the communities of programming languages and MDE on microservices. Specifically, our previous work made domain information from microservices' design actionable [9]. Here, we build upon our previous work [9] and move forward by adding support for the Service Viewpoint in MSA engineering [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF]. While domain modelling is essential to most software systems and independent of the implemented architectural style, service modelling is essential to MSA, as it reifies the foundational concepts of information hiding and component interfacing. Therefore, this contribution completes previous work on APIs [9], and is pivotal for future activities that address the remaining elements, i.e., Access Points and Behaviours.

The remainder of the paper is organised as follows. Section 2 presents modelling concepts from LEMMA's DDML and SML and the relevant elements of the Jolie APIs required by the encoding, which we present in Section 3. Section 4 describes the implementation of LEMMA2Jolie and illustrates it with an example. Section 5 presents related work and a concluding discussion.

6:3

Background

This section describes and exemplifies domain and service modelling with LEMMA, and the development of microservice APIs with Jolie.

LEMMA Domain Modelling Concepts

LEMMA's DDML supports domain experts and service developers in the construction of models that capture domain-specific types of microservices. We include the core grammar of this language in Figure 1 (grayed elements are not relevant for the translation presented in this work).1

LEMMA's DDML captures the foundational DDD concepts for MSA design. DDD's Bounded Context pattern [6] marks the boundaries of coherent domain concepts, thereby defining their scope and applicability [START_REF] Newman | Building Microservices: Designing Fine-Grained Systems[END_REF]. A LEMMA domain model defines named bounded contexts (rule CT X in Figure 1). A context may specify domain concepts in the form of complex types (CT ), which are either structures (ST R), collections (COL), or enumerations (EN M ).

A structure gathers a set of data fields (F LD) each associated with a type that can be either a complex type from the same bounded context (id) or a built-in primitive type, e.g., int or string (S). LEMMA support continuous domain exploration by allowing the construction of underspecified models by means of the keyword unspecified. This concise solution provides domain experts and developers with a light-weight facility for refining models as they gain new domain knowledge [START_REF] Rademacher | Deriving microservice code from underspecified domain models using DevOps-enabled modeling languages and model transformations[END_REF]. structures can comprise operation signatures (OP S) to reify domain-specific behaviour. An operation is either a procedure without a return type, or a function with a complex or primitive return type. LEMMA's DDML supports the assignment of DDD patterns, called features, to structured domain concepts and their components. For instance, the entity feature (rule ST RF in Figure 1) expresses that a structure comprises a notion of domain-specific identity. The identifier feature then marks the data fields (F LDF ) or operations (OP SF ) of an entity which determine its identity.

The DDML also enables the modelling of collections (rule COL in Figure 1), which represent sequences of primitives (S) or complex (id) values, as well as enumerations (EN M ), which gather sets of predefined literals.

The following listing shows an example of a LEMMA domain model constructed with the grammar of the DDML [START_REF] Rademacher | Towards holistic modeling of microservice architectures using LEMMA[END_REF].

LEMMA

The domain model defines the bounded context BookingManagement and its structured domain concept ParkingSpaceBooking. It is a DDD entity whose bookingID field holds the identifier of an entity instance. The entity also clusters the field priceInEuro to store the price of a parking space booking, and the function signature priceInDollars for currency conversion of a booking's price.

LEMMA Service Modelling Concepts

We report in Figure 2 the (simplified) grammar of LEMMA's SML. Following the rules, we see that a LEMMA SML model can contain one or more microservices, each associated with a name (id) and a collection of interfaces. Each interface encloses a collection of operations, each identified by an id and a collection of P ARameters. These parameters define the messaging pattern of the operation by associating each parameterid : id, where the first id from the left is the name of the parameter and the second one is the name of its type (cf. Section 2.1) -with its timing of reception/transmission. Indeed, each parameter can either be synchronous or asynchronous and either be part of an inbound or an outbound message. We illustrate the matter with an example

LEMMA

Above, we defined an interface called Sample which contains a single operation, op. The operation has four parameters. Starting from the leftmost, we find the parameter a, which is synchronous and inbound. This means that a is part of the messages that op receives upon invocation. On the contrary, b is an asynchronous inbound message, which means that it can reach op at any time between the invocation of op and its termination. Looking at the outbound parameters, we have c which is synchronous, meaning that it is part of the message op sends when it terminated; d, on the contrary, is an asynchronous outbound parameter, which op can transmit at any time between its invocation and its termination.

Jolie Types and Interfaces

Jolie interfaces and types define the functionalities of a microservice and the data types associated with those functionalities i.e., the API of a microservice. Figure 3 shows a simplified variant of the grammar of Jolie APIs, taken from [START_REF] Montesi | Service-oriented programming with Jolie[END_REF] and updated to Jolie 1.10 (the latest major release at the time of writing).An interface is a collection of named operations (RequestResponse),where the sender delivers its message of type T P 1 and waits for the receiver to reply with a response of type T P 2 -although Jolie also supports oneWays, where the sender delivers its message to the receiver, without waiting for the latter to process it (fire-and-forget), we omit them here because they are not used in the encoding (cf. Section 3). Operations have types describing the shape of the data structures they can exchange, which can either define custom, named types (id) or basic ones (B) (integers, strings, etc.).

Jolie type definitions (T D) have a tree-shaped structure. At their root, we find a basic type (B) -which can include a refinement (R) to express constraints that further restrict the possible inhabitants of the type [7]. The possible branches of a type are a set of nodes, where each node associates a name (id) with an array with a range length (C) and a type T .

Jolie data types and interfaces are technology agnostic: they model Data Transfer Objects (DTOs) built on native types generally available in most architectures [4].

Based on the grammar in Figure 3, the following listing shows the Jolie equivalent of the example LEMMA domain model from Section 2.1.

6:6

Model-Driven Code Generation for Microservices: Service Models To map LEMMA DDD information to Jolie, we use Jolie documentation comments (///) together with an @-sign followed by the DDD feature name, e.g., entity or identifier. This approach enables to preserve semantic DDD information for which Jolie currently does not support native language constructs. The comments serve as documentation to the programmer who will implement the API. In the future, we plan on leveraging these special comments also in automatic tools (see Section 5).

LEMMA operation signatures are expressible as RequestResponse operations within a Jolie interface for the LEMMA domain concept that defines the signatures. For example, we mapped the domain concept ParkingSpaceBooking and its operation signature priceInDollars to the Jolie interface ParkingSpaceBooking_interface with the operation priceInDollars.

The following listing shows the Jolie equivalent of the example LEMMA service model from Section 2.2.

Jolie

The operation op defined by the interface Sample contains asynchronous input and output parameters which do not have a direct equivalent in Jolie and thus need to be encoded. We propose to implement op into a series of request-response and one-way operations correlated by a Token. The first is the request-response op_in which takes the synchronous inputs of op and returns the token to be used to invoke the operation to provide and retrieve the remaining parameters of the operation. The asynchronous input b is provided to the implementation of op by means of the one-way operation op_in_b which takes as argument the token provided by op_in and the value for b. The asynchronous output d is retrieved by invoking op_out_d with the given token and the synchronous output c by invoking op_out. This encoding leverages Jolie's behavioural language which allows the definition of sophisticated interactions among a client and a service within the same session.

Encoding LEMMA Domain and Service Models as Jolie APIs

In this section we extend the encoding from LEMMA Domain Models to Jolie APIs presented in [9] (Section 3.1) to support also Service Models (Section 3.2).

Encoding LEMMA Domain Models [9]

We recap the description of the encoding from LEMMA domain models to Jolie from [9]. The encoding of LEMMA domain models is reported in Figure 4 and consists of three encoders: the context encoder • C walks through the structure of LEMMA domain models to generate Jolie APIs using the encoders for operations ( • O ) and for structures ( • S ), respectively.

6:8

Model-Driven Code Generation for Microservices: Service Models

The operations encoder • O generates Jolie interfaces based on procedures and functions in the given models by translating structure-specific operations into Jolie operations. Because Jolie separates data from code that can operate on it (operations) the encoding needs to decouple procedures and functions from their defining structures as illustrated in Section 2.3 by the mapping of the LEMMA domain concept ParkingSpaceBooking and its operation signature priceInDollars to the Jolie interface ParkingSpaceBooking_interface with the operation priceInDollars.

Given a structure X, we extend the signature of its procedures with a parameter for representing the structure they act on and a return type X for the new state of the structure, essentially turning them into functions that transform the enclosing structure. For instance, we regard a procedure with signature

(Y × • • • × Z) in X as a function with type X × Y × • • • × Z → X.
This approach is not new and can be found also in modern languages like Rust [START_REF] Klabnik | The Rust Programming Language (Covers Rust 2018)[END_REF][START_REF]The rust reference[END_REF] and Python [START_REF]The python language reference[END_REF]. The operation synthesised by the • O encoder accepts the id_type generated by the • C encoder that, in turn, has a self leaf carrying the enclosing data structure (id s ). The encoding of functions follows a similar path. Note that, when encoding self leaves, we do not impose the constraint of providing one such instance (represented by the ? cardinality), but rather allow clients to provide it (and leave the check of its presence to the API implementer).

The main encoder • C and the structure encoder • S transform LEMMA types into Jolie types. contexts translate into modules and, similarly to other DDD features, using pairs of ///@beginCtx(context_name) and ///@endCtx Joliedoc comment annotations. All the other constructs translate into types and their subparts. When translating procedures and functions, the two encoders follow the complementary scheme of • O and synthesise the types for the generated operations. The other rules are straightforward.

Encoding LEMMA Service Models

The encoding of LEMMA service models is reported in Figure 5. The microservice interface encoder • MI translates the interfaces of a microservice into Jolie interfaces using the encoders • RR and • OW to translate its operations and • OT to generate the types required by them. The encoding assumes that each microservice works within a single context and fixes a type Token for data used to correlate invocations to Jolie operations that implement the same LEMMA operation (as discussed in Section 2.3), e.g., a UUID.

The type encoder • OT generates for each operation (i) a type collecting all its synchronous input parameters, (ii) a type for all its synchronous output parameters and (iii) at type for each of its asynchronous input parameters (to pair them with the token). Asynchronous output parameters do not require dedicated types.

The operation encoder • RR generates the request-response operations required to implement a LEMMA operation. If the LEMMA operation has only synchronous parameters, then it can be directly implemented as a single Jolie operation (similarly to procedure and functions of LEMMA's DDML). If an operation has asynchronous parameters, then it is encoded using multiple operations: (i) one to accept the synchronous inputs which is invoked first and provides the token used by the subsequent operations; (ii) one for retrieving each asynchronous output given a token; and (iii) one for awaiting the end of the implemented operation and retrieve all the synchronous outputs. Asynchronous inputs are provided using one-way operations generated by the encoder

• OW . microservice ms {IF } MI = IF MI ms interface if {IOP } MI ms = ///@interface(ms.if ) IOP OT if interface if { RequestResponse : IOP RR if OneWay : IOP OW if } op      sync in idSI : id ′ SI , async in idAI : id ′ AI , async out idAO : id ′ AO , sync out idSO : id ′ SO      OT if = ///@operationTypes(if.op) type op_in{idSI : id ′ SI } type op_out{idSO : id ′ SO } type op_in_idAI {token : Token, data : id ′ AI } op sync in idSI : id ′ SI , sync out idSO : id ′ SO RR if = ///@operation(if.op) op(op_in)(op_out) op      sync in idSI : id ′ SI , async in idAI : id ′ AI , async out idAO : id ′ AO , sync out idSO : id ′ SO      RR if = ///@operation(if.op) op_in(op_in)(Token) op_out_id AO (Token)(idAO) op_out(Token)(op_out) op      sync in idSI : id ′ SI , async in idAI : id ′ AI , async out idAO : id ′ AO , sync out idSO : id ′ SO      OW if = ///@operation(if.op)
op_out_id AI (op_in_idAI )

Figure 5 Jolie encoding for LEMMA's service modelling concepts.

LEMMA2Jolie and Example

LEMMA2Jolie

We implement our extended encoding (cf. Section 3) by including the parsing of SML models and the new rules of the encoding presented here into LEMMA2Jolie. LEMMA2Jolie is a tool that transforms LEMMA models into Jolie code and that was initially presented in [9] where we have shown the feasibility of producing Jolie code from LEMMA domain models. The additions to LEMMA2Jolie described in this paper target LEMMA service models and are relatively straightforward. Specifically, we integrate the parsing of the SML models, which generate an in-memory object graph containing types and service information. Then, these run through an execution engine for templates, that transforms the in-memory representation into Jolie code that the tool outputs in file format. We provide the extended version of LEMMA2Jolie in a permanent repository on Software Heritage2 .

6:10

Model-Driven Code Generation for Microservices: Service Models

Example

We exemplify the encoding of LEMMA service and domain models in Jolie APIs based on the Food to Go (FTGO) case study by Richardson [START_REF] Richardson | Microservices Patterns[END_REF]. FTGO consists of six microservices that realise the backend of a web application for online food ordering from local restaurants. The microservices are responsible for accounting, consumer handling, delivery management, kitchen management, order handling, and restaurant organization. In the following, we focus on FTGO's Order microservice which is responsible for handling food orders. The following listing shows an excerpt of the LEMMA domain model for the Order microservice3 .

Jolie

As described in Sect. 3, interfaces of modelled LEMMA microservices are encoded as Jolie interfaces. That is, from the OrderService's Orders interface, LEMMA2Jolie produces the Jolie interface org_example_OrderService_Orders with four RequestResponse operations. createOrder and getOrder map to the eponymous, fully synchronous operations in the LEMMA service model for the OrderService. On the other hand, monitorOrder_in and monitorOrder_out_response reify different parts of the modelled monitorOrder operation. monitorOrder_in is the synchronous trigger for the execution of the monitorOrder logic. The result of the trigger's invocation is a Token that identifies the execution of the triggered monitorOrder instance. monitorOrder_out_response then requires the Token to provide clients with the instance's data that was modelled by the asynchronous response parameter. Discussion, Related Work, and Conclusion

The use of MDE in both industrial and academic contexts, along with its effective support for developing intricate software systems, has led to the creation of numerous tools similar to LEMMA2Jolie [START_REF] Team | Sculptor-generating Java code from DDD-inspired textual DSL[END_REF][START_REF] Kapferer | Domain-specific language and tools for strategic Domain-driven Design, context mapping and bounded context modeling[END_REF][START_REF] Zimmermann | Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges[END_REF][START_REF] Terzić | Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures[END_REF][START_REF] Jhipster | Jhipster domain language[END_REF]. These tools act as code generators within the conceptual framework of MDE [2] and generate artefacts for the engineering of MSA. They accomplish this task through models built using specific modelling languages.

Compared to LEMMA2Jolie, most of the related alternatives focus on Java as the target technology [START_REF] Team | Sculptor-generating Java code from DDD-inspired textual DSL[END_REF][START_REF] Terzić | Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures[END_REF][START_REF] Jhipster | Jhipster domain language[END_REF], rather than service-oriented programming languages. Contrarily, LEMMA2Jolie focuses on Jolie, which has been introduced to reduce the semantic gap between microservice concepts and implementation languages. Jolie's APIs are by design technologyagnostic and support their implementation with different transport protocols and technologies (e.g., Jolie, Java, JavaScript) [START_REF] Montesi | Service-oriented programming with Jolie[END_REF][START_REF] Montesi | Process-aware web programming with Jolie[END_REF][START_REF] Montesi | Jolie: a Service-oriented Programming Language[END_REF]. Additionally, the modelling languages supported by the mentioned proposals and the resulting generated code only address single concerns in MSA engineering, such as domain modelling [START_REF] Team | Sculptor-generating Java code from DDD-inspired textual DSL[END_REF][START_REF] Kapferer | Domain-specific language and tools for strategic Domain-driven Design, context mapping and bounded context modeling[END_REF] or service API implementation and provisioning [START_REF] Zimmermann | Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges[END_REF][START_REF] Terzić | Development and evaluation of MicroBuilder: a model-driven tool for the specification of REST microservice software architectures[END_REF][START_REF] Jhipster | Jhipster domain language[END_REF]. In contrast, LEMMA's modelling languages provide an integrated solution for multi-concern modelling in MSA engineering by offering modelling languages for various microservice architecture viewpoints [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF].

As described in Section 3 and Section 4, the encoding we specify and its implementation demonstrate the practicality of combining the LEMMA and Jolie ecosystems. There are several areas for future exploration, including extending the findings to other programming languages, examining the maturity of LEMMA2Jolie, formally proving the correctness of the encoding, and expanding the integration in different directions.

Interesting future work includes assessing the practical usefulness of LEMMA2Jolie. We mention a few possibilities, inspired also by best practices found in previous research on modelling languages [START_REF] Sorgalla | Applying model-driven engineering to stimulate the adoption of devops processes in small and medium-sized development organizations[END_REF][START_REF] Rademacher | Towards holistic modeling of microservice architectures using LEMMA[END_REF]. The first is to conduct controlled user experiments with practitioners, for example in order to evaluate how LEMMA2Jolie contributes to improving quality and productivity. Second, we could recruit practitioners to use LEMMA2Jolie, in order to evaluate their experience with using it and the result of their efforts. Finally, we could use LEMMA2Jolie to recreate existing microservice architectures written in Jolie and then compare the existing and obtained codebases in qualitative and quantitative terms [START_REF] Guidi | A jolie based platform for speeding-up the digitalization of system integration processes[END_REF]11,3]. Some of these architectures [11,3] follow the API patterns recently identified in [START_REF] Zimmermann | Patterns for API Design: Simplifying Integration with Loosely Coupled Message Exchanges[END_REF], and checking whether these patterns can be faithfully captured in LEMMA2Jolie could extend our knowledge on the connection between API patterns and MDE for microservices [START_REF] Rademacher | Towards holistic modeling of microservice architectures using LEMMA[END_REF][START_REF] Rademacher | Towards an extensible approach for generative microservice development and deployment using In[END_REF].

To provide correctness guarantees of the encoding, we must first establish a formalisation of the semantics of both LEMMA's DDML and SML and Jolie APIs, and then prove that the encoding generates Jolie APIs that maintain the semantics of the input DDML and SML models. This effort is currently underway, as portions of Jolie have already been formalised [12,[START_REF] Montesi | Programming services with correlation sets[END_REF]8,[START_REF] Montesi | Service-oriented programming with Jolie[END_REF], and LEMMA implements context conditions [START_REF] Harel | Meaningful modeling: what's the semantics of "semantics[END_REF] to restrict the proper formation of DDML models concerning their intended semantics [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF].

We also intend to expand LEMMA2Jolie with capabilities for round-trip engineering (RTE). RTE accounts for the bidirectional synchronisation between models and generated code [START_REF] Paige | Evolving models in model-driven engineering: State-of-the-art and future challenges[END_REF]. In the context of LEMMA2Jolie, RTE would further strengthen the collaboration between domain experts, who capture relevant application concepts in non-technical DDML models, and microservice developers, who adapt generated Jolie code to their needs and leverage RTE to reflect these changes back to the model-level for an efficient communication with domain experts.

  context id {CT } CT ::= ST R | COL | EN M ST R ::= structure id [⟨ST RF ⟩] {F LD OP S} ST RF ::= aggregate | domainEvent | entity | factory | service | repository | specification | valueObject F LD ::= id id [⟨F LDF ⟩] | S id [⟨F LDF ⟩] F LDF ::= identifier | part OP S ::= procedure id [⟨OP SF ⟩] (F LD) | function (id | S) id [⟨OP SF ⟩] (F LD) OP SF ::= closure | identifier | sideEffectFree | validator COL ::= collection id {(S | id)} EN M ::= enum id {id} S ::= int | string | unspecified | . . .

Figure 1

 1 Figure 1 Simplified grammar of LEMMA's DDML [9]. Greyed out features are out of the scope of this paper and subject to future work.

Figure 2

 2 Figure 2 Simplified grammar of LEMMA's SML.

I

  ::= interface id {[RequestResponse id(T P 1 )(T P 2 )][OneWay id(T P )]} T P ::= id | B T D ::= type id : T T ::= B [{id C : T }] int[(R)] | string[(R)] | void | . . . R ::= range([ [ [min, max] ] ]) | length([ [ [min, max] ] ]) | enum(...) | . . .

Figure 3

 3 Figure 3 Simplified syntax of Jolie APIs (types and interfaces).

Figure 4

 4 Figure 4 Salient parts of the Jolie encoding for LEMMA's domain modelling concepts [9].

  ParkingSpaceBooking and their data fields, e.g., bookingID, are directly translatable to corresponding Jolie types.

	///@beginCtx(BookingManagement)
	///@entity
	type ParkingSpaceBooking {
	///@identifier
	bookingID: long
	priceInEuro: double
	}
	interface ParkingSpaceBooking_interface {
	RequestResponse:
	priceInDollars (ParkingSpaceBooking)(double)
	}
	///@endCtx	Jolie
	Structured LEMMA domain concepts like

  This domain concept is a DDD valueObject and as such responsible for encapsulating data that is shared between software components[6]. The data fields of value objects are usually immutable because they receive a value exactly once for data transmission. The Order microservice enables clients to communicate information relevant to food order placing using the CreateOrderRequest concept. LineItem: This domain concept models a single line item of some food order. Therefore, it identified the item on the available menu and its ordered quantity. LineItems: The LineItems concept gathers all line items of a food order. CreateOrderRequest concept relies on it to communicate a consumer's order to the selected restaurant. CreateOrderResponse: The Order microservice replies to CreateOrderRequesta with this valueObject. It clusters the identifier of the created order.That is, all synchronously typed parameters of the createOrder, getOrder, and monitorOrder receive a dedicated type per direction (createOrder_in and createOrder_out, getOrder_in and getOrder_out, and monitorOrder_in) given LEMMA's semantics of communicating synchronous data in coherent data transfer objects[4]. By contrast, each asynchronously typed parameter (response of monitorOrder) is mapped to a dedicated type (monitorOr-der_out_response) to enable clients the sending and receipt of asynchronous data at arbitrary and decoupled points in operations' runtime.

	context API { structure CreateOrderRequest⟨valueObject⟩ { immutable long consumerId, immutable long restaurantId, immutable LineItems lineItems } structure LineItem { string menuItemId, int quantity } collection LineItems { LineItem i } structure CreateOrderResponse⟨valueObject⟩ { immutable long orderId } structure GetOrderResponse⟨valueObject⟩ { immutable long orderId, immutable string state, immutable double orderTotal } } The domain model defines the API bounded context. It comprises five domain concepts: LEMMA ///@operationTypes(org.example.OrderService.Orders.createOrder) type createOrder_in { request : CreateOrderRequest } type createOrder_out { response : CreateOrderResponse } ///@operationTypes(org.example.OrderService.Orders.getOrder) type getOrder_in { orderId : long } type getOrder_out { response : GetOrderResponse } ///@operationTypes(org.example.OrderService.Orders.monitorOrder) type monitorOrder_in { orderId : long } type monitorOrder_out_response { response : GetOrderResponse } interface org_example_OrderService_Orders { RequestResponse: createOrder(createOrder_in)(createOrder_out), getOrder(getOrder_in)(getOrder_out), monitorOrder_in(monitorOrder_in)(Token), monitorOrder_out_response(Token)(monitorOrder_out_response) CreateOrderRequest: ///@interface(org.example.OrderService.Orders) }

The complete grammar can be found at https://github.com/SeelabFhdo/lemma/blob/main/de.fhdo. lemma.data.datadsl/src/de/fhdo/lemma/data/DataDsl.xtext.Microservices

2020/2022

Microservices 2020/2022

https://archive.softwareheritage.org/browse/origin/directory/?origin_url=https: //github.com/jolie/lemma2jolie Microservices 2020/2022

The complete model can be found at https://archive.softwareheritage.org/browse/ revision/d4447fe8bfcaa319e540ed89d160d8fe817e128f/?origin_url=https://github.com/jolie/ lemma2jolie&path=sample-2.data&revision=d4447fe8bfcaa319e540ed89d160d8fe817e128f

The actual model can be found at https://archive.softwareheritage.org/browse/content/sha1_ git:267211533f271c8140166b3acc3729906baf3126/?origin_url=https://github.com/SeelabFhdo/ lemma&path=examples/food-to-go/Order/Order.services

Please note that the file "sample-2.data" comprises the previous domain model and that the filename indicates the fact that the file clusters the LEMMA model code for the second usage example of LEMMA2Jolie in its repository at https://archive.softwareheritage. org/browse/revision/d4447fe8bfcaa319e540ed89d160d8fe817e128f/?origin_url=https: //github.com/jolie/lemma2jolie.Microservices 2020/2022

Note that monitorOrder is not part of the Order microservice's original interface[START_REF] Richardson | Microservices Patterns[END_REF]. Instead, we included this operation for illustration purposes.

Fabrizio Montesi: Work partially supported by Villum Fonden, grants no. 29518 and 50079, and the Independent Research Fund Denmark, grant no. 0135-00219.

https://github.com/jolie/lemma2jolie

6:11

GetOrderResponse: Using this domain concept, the Order microservice provides clients with information about the state of a certain order, e.g., "accepted'" or "cancelled", and its total costs.

The following listing shows an example LEMMA service model for the Order microservice 4 .

LEMMA

The model imports the above domain model including the API bounded context. LEMMA's import mechanism allows the composition of models for different viewpoints on a microservice architecture by enabling inter-model references [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF]. The purpose of these references depends on the composed model kinds. For a service model that imports a domain model as shown in the listing, inter-model references support typing of microservice operation parameters with modelled domain concepts (see below). Import statements in LEMMA start with the import keyword followed by a keyword that identifies the kinds of imported elements, e.g., datatypes for domain concepts that are to be used as types for microservice operation parameters. After the from keyword, modellers specify the path to the imported model, i.e., "sample-2.data" in the listing 5 , and a shorthand alias after the as keyword. Thus, in the service model, modellers can refer to the elements of the above domain model located in the file "sample-2.data" by the alias Domain.

After the import statement, the service model defines the functional microservice org.example.OrderService. In LEMMA's SML, microservices must have at least one qualifying naming level like "org.example" to allow the semantic clustering of services [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF]). The OrderService consists of a single interface called Orders that gathers the following operations:

6:12

Model-Driven Code Generation for Microservices: Service Models createOrder: This operation supports the creation of food orders in FTGO. To this end, it expects the synchronously incoming parameter request whose type is the domain concept CreateOrderRequest imported from the API bounded context of the above domain model. The synchronously outgoing parameter response then represents the result of food order creation as reified by the imported concept CreateOrderResponse. getOrder: This operation enables the retrieval of information about placed food orders. Therefore, it requires the identifier of an order and informs callers about its state by means of the GetOrderResponse concept from the imported domain model. As for createOrder, getOrder interacts with clients in a fully synchronous fashion. monitorOrder: Similar to getOrder, this operation provides callers with information about food orders. However, it expects continuous querying for this information leveraging the asynchronously outgoing parameter response. Thus, the operation can be used, e.g., by mobile apps to display notifications about order state changes without the need for re-establishing synchronous HTTP connections 6 .

Based on our encoding (Sect. 3), LEMMA2Jolie produces the following Jolie code from the LEMMA service model and the imported domain model.

Jolie

The code between the Joliedoc comments ///@beginCtx(API) and ///@endCtx(API) represents the result of our encoding for LEMMA's domain modelling concepts (Sect. 2). The code following the Joliedoc comment ///@interface(org.example.OrderService.Orders), on the other hand, adheres to the novel encoding for LEMMA's service modelling concepts (Sect. 3).

6:15

The extension of LEMMA2Jolie presented in this paper forms the basis for future support of Access Point and Behaviour derivation from LEMMA models (Section 1). To this end, LEMMA2Jolie would have to consider further languages of LEMMA, e.g., the Technology Modeling Language [START_REF] Rademacher | Aspect-oriented modeling of technology heterogeneity in Microservice Architecture[END_REF] and Operation Modeling Language [START_REF] Rademacher | Graphical and textual model-driven microservice development[END_REF], in the translation towards Jolie code. Further along this direction, we plan to investigate the integration with [START_REF] Montesi | Sliceable monolith: Monolith first, microservices later[END_REF] to automatically decompose the Jolie codebase generated by LEMMA2Jolie and synthesise suitable cloud deployment configurations.


Isabelle Léglise

Decolonizing Family Language Policy, or reimagining family multilingualism as an inclusive field

Keywords: decolonial approaches, Family Language Policy, family multilingualism, multilingualism, Southern perspective

As a commentary to a special issue dedicated to multilingualism within the family from Southern and decolonial approaches, this article examines what it could mean to 'decolonize the field of Family Language Policy' -or, rather, to reimagine this field in terms of the more all-encompassing label of family multilingualism. It draws on my own experience of the difficulty of fitting into a field configured in English, from my position as a French researcher working in the contexts of the so-called Global South and supervising students who come from backgrounds minoritized in France and who are personally involved in the subjects on which they work. This commentary has thus been written from relative marginality in this field and out of an experience of both familiarity and foreignness. By proposing four lateral moves, it adds to studies calling for viewpoints to be situated, for voices from the South to be included and for knowledge itself to be decolonized. These lateral moves form part of an attempt to decolonize this academic field if we are to take seriously the need to clean house within the academy itself so that knowledges rooted in Western/Northern experiences and traditions are simply part of the palette of knowledges.

Introduction

After Rafael Lomeu Gomes and Elizabeth Lanza invited me to write this commentary on their special issue on 'Family multilingualism: Decolonial and Southern approaches', I began to dream about what, from my point of view, it would mean to 'decolonise the field of family language policy', or, rather, to reimagine this field in terms of the more all-encompassing label of family multilingualism. Let me say first that I rarely let myself dream about what any particular field of research could be like. Most of the time we submit to the forms taken by scientific fields (locally, nationally, or internationally), accepting their configurations and the currents that influence them as givens [START_REF] Bourdieu | Homo academicus[END_REF]; we try to adapt ourselves to them, as the norms that we must conform to in order to become part of our chosen field. Taking on their baggage of quotations, keywords and references is compulsory if we are to get published, but to acquire these we must first be socialised appropriately. I will respond here by drawing on my own experience of the difficulty of fitting into a field configured in English, from my position as a French researcher, working in the contexts of the so-called Global South 1 and supervising doctoral students or postdocs who come from backgrounds minoritised in France and who are personally involved in the subjects they work on. My commentary, then, has been written from relative marginality in this field and out of an experience of both familiarity and foreignness.

The first conference on Family Language Policy (FLP) was held in France in 2016. Bernard Spolsky was to be one of the invited speakers, and Shahzaman Haque, who was among the first to engage with this field as it was understood in Anglophone research [START_REF] Haque | Différences de politiques linguistiques entre nation et famille: étude de cas de trois familles indiennes migrantes dans trois pays d'Europe[END_REF], invited me to give a plenary lecture. My initial response was to say that I was not competent to do this; I did not feel legitimate enough. A few months earlier, I had attended a presentation by Liz Lanza, who had spoken of a sixth phase due to emerge in Anglophone research on FLP after the latest special issue of the journal she was preparing [START_REF] Lanza | Multilingual encounters in transcultural families[END_REF]. I asked myself what phase we had reached in France, where a special journal issue on 'plurilingual families around the world' had just come out, focusing on language transmission in mixed families (Deprez, Varro and Collet, 2014); although the issue mentioned family language policy, it did not engage directly with that field. At that time, I had been working on multilingualism in French Guiana for about fifteen years. In 2000 I had begun to conduct a major survey focusing on multilingualism among schoolchildren and on language practices in different domains (families, schools, hospitals, government departments and businesses), in response to a request from my colleagues who asked for the support of a sociolinguistic analysis to clarify their decisions about educational language policy and the implementation of innovative programmes [START_REF] Goury | Des médiateurs bilingues en Guyane française[END_REF]. Among other questions fundamental to this research were: 'How do families, communities, official institutions and businesses manage languages? What are their language practices and implicit or explicit language policies?' I was interested 'in the management of plurilingualism at both the individual and collective level, with respect both to the practices and attitudes of speakers and to the language policies adopted'. I had shown that the use of French in the village of Mana, and its important position in language repertoires, was the effect at once of educational language policies and family language policies [START_REF] Léglise | Langues frontalières et langues d'immigration en Guyane française[END_REF][START_REF] Léglise | Contacts de créoles à Mana (Guyane française): répertoires, pratiques, attitudes et gestion du plurilinguisme[END_REF]. While I was able to observe educational language policy in action in the village's schools, including the middle school, my conclusions at the time -no doubt very hasty ones -about the favouring of French in family language policies were based on interviews with pupils, statements by various social actors and observation of a number of institutional contexts. These were accessible to a woman coming from metropolitan France; however, this did not extend to families, since at the time imposing my presence on them seemed inappropriate and too intrusive to me. It was only a decade later that, as part of a Franco-Brazilian team, I would conduct research with transnational families in Amazonia on the role of language as a trigger or facilitator in their plans for and experiences of international mobility [START_REF] Léglise | Documenter les parcours de familles transnationales: généalogies, biographies langagières et pratiques langagières familiales[END_REF]. But then, I was not interested in questions of 'language policy' as such within these families.

In France at that time, these questions were addressed under the heading of sociolinguistics 'tout court' -not within a field recognised as FLP, but in the form of a sociolinguistics of plurilingualism that was interested initially in the languages and ways of speaking of migrants and young people from immigrant backgrounds in mainland France [START_REF] Dabène | Le parler des jeunes issus de l'immigration[END_REF], and later in the study of bilingualism within the family [START_REF] Deprez | Les enfants bilingues: langues et familles[END_REF] and the transmission of languages in a minority context [START_REF] Héran | La dynamique des langues en France au fil du XXe siècle[END_REF][START_REF] Matthey | La transmission intergénérationnelle des langues minoritaires[END_REF][START_REF] Barontini | Approches théoriques du processus de transmission linguistique: questionner la terminologie des générations[END_REF]. The expression 'politique linguistique familiale', widely used in the 1990s when I was a student of language sciences in Paris, had been used by Louis-Jean [START_REF] Calvet | La sociolinguistique. Que sais-je?[END_REF] and then defined by Christine [START_REF] Deprez | Une politique linguistique familiale: le rôle des femmes[END_REF] as a way of studying how peoplewomen especially -implement bilingualism within the family: 'It is thus possible to imagine, in comparison [with state policies], a "Family Language Policy" which would account for the way families manage their languages. Such language planning becomes apparent in the choice of languages and the use made of them in daily life. It also appears in the way people, especially parents, talk about language' (Deprez, 1996: 35). 2 Twenty years later I was discovering the English-language publications in this field, at the same time as one of my doctoral students was exploring language maintenance within Léglise, Isabelle, 2023, Decolonizing Family Language Policy, or reimagining family multilingualism as an inclusive field, Journal of Multilingual Theories and Practices 4 :2 families in mainland France and in their plurilingual and necessarily heterogeneous family language practices [START_REF] Istanbullu | Transmission de langues minoritaires dans la migration: le cas de communautés arabo-turcophones[END_REF]. Reading research in English, we found a well-established field [START_REF] Curdt-Christiansen | Invisible and visible language planning: ideological factors in the family language policy of Chinese immigrant families in Quebec[END_REF][START_REF] Curdt-Christiansen | Family language policy: sociopolitical reality versus linguistic continuity[END_REF] in which one foundational question (among others) was 'How is it that some children, growing up in a largely monolingual society, become bilinguals while other children, growing up in a bilingual environment, become monolinguals?'. This question seemed to me to be sociologically naïve, because it seemed to pay no attention to the power relationships in the linguistic market [START_REF] Bourdieu | Ce que parler veut dire[END_REF] among languages, varieties and ways of speaking, whether valued or not. Ways of speaking -what I call language practices and which can also be called 'languaging' -are not all equal, meaning that they do not build up the same linguistic and cultural capital, and that by not knowing some of them -particularly those that are dominant or legitimate on a national level -speakers have less access not only to social mobility but also to education, health and citizenship, particularly in the Global South [START_REF] Léglise | Multilingualism and heterogeneous language practices: new research areas and issues in the Global South[END_REF]. To put it another way, 'despite the best efforts to treat languages as equal within the family, languages are not (and never have been or will be) equal in terms of their socioeconomic status and the cultural capital tied to their knowledge in a given society and in the global context' [START_REF] Sherman | Two sociolinguistic perspectives on multilingual families[END_REF].

The discovery of this Anglophone perspective proved to be interesting for addressing the phenomena of resistance and maintenance of family languages in the context of French and German assimilation and integration policies [START_REF] Istanbullu | Pratiques langagières intergénérationnelles: le cas de familles transnationales plurilingues (Antioche, Île-de-France[END_REF], as the article by King, Fogle and Terry-Logan (2008) indicated, but it did not match my experience in Amazonia [START_REF] Léglise | Documenter les parcours de familles transnationales: généalogies, biographies langagières et pratiques langagières familiales[END_REF]. 3 This mismatch and the resulting discomfort, which I will spell out further here, lead me to suggest four 'lateral moves' that are necessary if we are to address issues of multilingualism within families in a more inclusive and situated way, so as to encompass a multiplicity of experiences and voices that are generally invisibilised, excluded, marginalised or silenced [START_REF] Kerfoot | Introduction: Entanglement and orders of visibility[END_REF] because they are 'on the other side of the line' (Santos, 2007;[START_REF] Gomes | Family language policy ten years on: a critical approach to family multilingualism[END_REF] that has been drawn by our conceptualisations.

Broadening both the type of families studied and our conceptions of 'what makes a family'

One of the recurrent criticisms of work on FLP concerns the type of families studied. For a very long time, research on bilingualism within families never went beyond the study of 'elite bilingualism' [START_REF] Skutnabb-Kangas | Bilingualism or not: The education of minorities[END_REF], in middle-class nuclear families located in large Western cities who spoke English but kept up an additional language, from an elitist perspective [START_REF] Döpke | Can the principle of 'One Person -One Language' be disregarded as unrealistically elitist[END_REF]. One exception was research on migrant families, which addresses specifically 'non-middle-class, marginalised and under-studied transnational family types' (Curdt-Christiansen, 2013: 2). However, the majority of work over the last fifteen years on the FLP of transnational families has tended to focus on heterosexual families living in the West, with two parents and usually not many siblings. Particular cases have been investigated, such as mixed families whose OPOL strategies have been studied, for instance families with one or more adopted children [START_REF] Fogle | Child agency and language policy in transnational families[END_REF], and families that can be described as cosmopolitan, 'highly skilled' or 'middling transmigrant' [START_REF] Van Mensel | Children and choices: the effect of macro language policy on the individual agency of transnational parents in Brussels[END_REF]; more recent work has focused on single-parent families [START_REF] Vorobeva | Families in flux: at the nexus of fluid family configurations and language practices[END_REF]. Although we may note a diversification of data collection sites and contexts in the literature in recent years -for example in post-genocide situations [START_REF] Maseko | Family language policy in post-genocide Matabeleland: The case of a Ndebele family[END_REF] -North American and European contexts continue to dominate [START_REF] Smith-Christmas | Family language policy: new directions[END_REF][START_REF] Gomes | Family language policy ten years on: a critical approach to family multilingualism[END_REF]. Yet the proposed theoretical framework is based on precisely these examples. We can conclude without a doubt that the field of FLP is no exception to the tendency to treat research on the WEIRD contexts (Western, Educated, Industrialised, Rich and Democratic) as universal [START_REF] Henrich | The weirdest people in the world?[END_REF] and to assume that the resulting theories can then be applied to many other contexts (in the same way [START_REF] Pennycook | Innovations and challenges in applied linguistics from the Global South[END_REF] have shown for the field of education).

One way of decolonizing the field would be to move beyond families from WEIRD contexts to examine other experiences and other constructions of reality, as [START_REF] Sarcinelli | Does love make a family? The politics and micro-politics of filiation among same-sex families[END_REF] has done for LGBTQ families. Pia Lane's article proposes to do just that by looking at the experiences of Sámi parents who, as newspeakers, have decided to speak Sámi with their children. She shows that 'the challenges faced by these parents may be results of silences brought about by their colonial past', and concludes that 'language reclamation is a form of decolonisation because this may contribute to disrupting colonial heritage and heal hurts from the past'.

By looking at other families, particularly situated in the Global South, once we do the essential work of decentring relative to our own analytical frameworks we can question our conception of 'what makes a family' and move beyond the Western notion of the nuclear family to include all the people present (or not present) in the home with whom we communicate or develop strong ties, including aunts, cousins and grandparents as well as close friends or neighbours who may be responsible for the children. This is one of the lessons I learnt from my work with Brazilian families in French Guiana where, as in each generation successive unions produced children, we co-constructed genealogies to understand 'what makes a family' [START_REF] Léglise | Documenter les parcours de familles transnationales: généalogies, biographies langagières et pratiques langagières familiales[END_REF]. The family configurations could include children handed over at birth to an aunt or grandmother who declare them as their children, others in which children are sent to live with an acquaintance in the town to go to school for a few years or more, or situations, for example within indigenous families, where close friends must also be taken into account to understand the ties of interdependence that unite different individuals and define who is responsible for the children. This led me to conclude that to understand these transnational families, with their multiple citizenships, living across several different countries, we had to study family language practices that went beyond the traditional parentchild interaction, generally taking place in the parents' home, when the usual surveys dealing with FLP are conducted. While we want to explain the relationships between different languages within the family, we also need to look at interactions involving several generations and various members of what is conceived as the 'extended family' from a Western point of view, not only face-to-face but in telephone calls [START_REF] Istanbullu | Pratiques langagières intergénérationnelles: le cas de familles transnationales plurilingues (Antioche, Île-de-France[END_REF]2020) and other forms of on-line communication such as text messages and social networks, Snapchat and Facebook, for instance [START_REF] Androutsopoulos | Digital polycentricity and diasporic connectivity: a Norwegian-Senegalese case study[END_REF].

Understanding 'what makes a family' in each situation is important. Some studies of the educational practices of aboriginal families in Canada have emphasised how important it is for social workers to understand kinship systems and the notion of the 'extended family' [START_REF] Grammond | Les enjeux de la recherche concernant l'enfance et la famille autochtones. Enfances, Familles[END_REF]. Others have shown the importance of interdependence and the community in the conception of 'what makes a family' in South Africa (Siqwana-Ndulo, 1998), which from a Western perspective we would call the 'extended family'. Babalwayashe Molate and Carolyn McKinney stress here that the term 'extended' is a colonial one, since it implies that 'nuclear' is the norm. They focus instead 'on local epistemes in understanding both the concept and organisation of family from a Southern perspective, particularly among amaXhosa (isiXhosa speaking people) using the isiXhosa terminology ikhaya -signifying both "family" and "home".' They also make the argument that national household and social surveys should be designed in the same way rather than reproducing colonial constructs of language and family.

Another way of interrogating our conception of 'what makes a family' is to look at the obverse -'what doesn't make a family', in a Western society such as Norway. This is what Rafael Lomeu Gomes, Elizabeth Lanza, and Zahir Athari do here, through an analysis of the discourse on unaccompanied minors and 'anchor children', which reveals how the construction of cultural differences deprives racialised individuals of the capacity for reciprocity.

This discussion of what makes a family brings me directly to my second point.

Abandoning the depiction of the family as a place where rational decisions about language 'management' take place

My discussions with transnational families in Amazonia indicated that the reason I did not take an interest in their FLPs was that, from the point of view of the families we worked with, the language question was far less important than economic, health and educational opportunities for their children [START_REF] Léglise | Documenter les parcours de familles transnationales: généalogies, biographies langagières et pratiques langagières familiales[END_REF]. There was thus no reason to explore their FLPs. The topic of languages and ways of speaking was a secondary one for them and was seen as simply a consequence of their social environment. For these families, who live or have been living in very precarious situations, economic survival and daily life depend on linguistic adaptation to their immediate environment -their neighbourhood and their work -and they have no particular thoughts or plans relative to the benefits of learning one language or another. I have shown that adults' linguistic repertoires may expand or not depending on their environment and the needs that may happen to emerge: it is perfectly possible to live in French Guiana and speak only the Amazonian version of Portuguese, for example, both within the family and in the workplace, or alternatively to learn French or Creole because you work in an environment where these languages are present. Under these conditions, the question of what FLPs should be introduced does not arise, since the urgent issues are elsewhere -ensuring economic survival and good health, managing the family's illegal presence in the country and relations with the police. In fact, no rational decisions are taken about languages. So, while the question of language choice is a central one in the field of FLP for families (two-parent, heterosexual, Western) who are aware of the linguistic capital to be gained by the use of certain languages, this is not true of all families in all contexts. The very terms used -'policy', 'management' and 'choice' -presuppose a conception of the family as a place where decisions are made, implicitly or explicitly, about which languages to favour. As King, Fogle and Terry-Logan (2008: 910) We are in the presence of a behaviourist rhetoric, the influence of inputs on outputs, that is very far removed not only from my conception of relations among individuals but also from my experience with transnational families in French Guiana and in Amazonia more widely, and which does not seem to me to be compatible with the type of educational practices that adopt indirect, non-coercive strategies like those of indigenous families, who view children as autonomous beings capable of acting for themselves [START_REF] Grammond | Les enjeux de la recherche concernant l'enfance et la famille autochtones. Enfances, Familles[END_REF].

Moreover, drawing on the framework proposed by [START_REF] Spolsky | Language policy[END_REF], FLPs allot a central role to ideologies [START_REF] Haque | Etude de cas sociolinguistique et ethnographique de quatre familles indiennes immigrantes en Europe: pratiques langagières et politiques linguistiques nationales et familiales[END_REF], meaning primary, determining realities which give a rational explanation for the language practices performed. Yet as Rafael Lomeu Gomes (2018) points out, 'the predominance of canonical epistemologies in FLP (e.g. the pervasiveness of Spolsky's tripartite framework in which language policy is understood to be composed of language practices, language beliefs, and language management) obscures the lived experiences of people and theories from the global South'. Moreover, it implies a conception of language practices as controlled: the term 'management' in particular is drawn from managerial rhetoric.

However, research on language practices within families which adopts a more micro-level approach tends to reveal mutual adjustment and constant micro-alignment between speakerssocial actors as they interact [START_REF] Istanbullu | Pratiques langagières intergénérationnelles: le cas de familles transnationales plurilingues (Antioche, Île-de-France[END_REF][START_REF] Sánchez Moreano | Análisis de la interacción social en contextos de movilidad transnacional y de superdiversidad[END_REF]. This mutual adjustment can, of course, result in the long run in recurring social practices and the establishing of habitual behaviour [START_REF] Ghimenton | Code-switching et socialisation plurilingue au sein de trois familles italophones en France[END_REF][START_REF] Van Mensel | Quiere koffie?' The multilingual familylect of transcultural families[END_REF]. These fluid, intrinsically heterogeneous, language practices employed within families, where the interlocutors, as 'languagers', draw on the diverse resources of their repertoires without setting boundaries [START_REF] Léglise | Multilingualism and heterogeneous language practices: new research areas and issues in the Global South[END_REF], thus escaping from the coloniality of language [START_REF] Veronelli | The coloniality of language: race, expressivity, power, and the darker side of modernity[END_REF] and from 'named-languages', are invoked by most of the contributors to this issue. This brings me to a third point: how to (re)frame the field of study concerned.

Redefining the field by incorporating other approaches to family multilingualism

After some years of reflecting on the circulation of knowledge and the mechanisms of peripheralisation and provincialisation in research [START_REF] Mignolo | The geopolitics of knowledge and the colonial difference[END_REF][START_REF] Keim | La circulation internationale des savoirs en sciences sociales. Facteurs pertinents d'acceptation et de rejet des textes voyageurs[END_REF]Léglise, 2022a), I can now recognise that the source of my feelings of discomfort and illegitimacy when it came to speaking on FLP at that conference, some ten years ago, was related to the framing of this Anglophone field: by drawing boundaries and establishing a field, the new Anglophone study of FLP was wiping out previous knowledge about these subjects, in particular that produced in languages other than English, while also rewriting history -a history that I had myself been part of up until then, but which I now felt I no longer owned, since it had been erased and excluded from this new field, due to being 'on the other side of the line'.

In the two passages I quote below, for example, which identify Luykx as responsible for the 'first introduction of the term', and claim that 'the name was originally coined by Luykx (2003)', there is no room for my prior experience of years of familiarity with the French term 'politique linguistique familiale'. It does not exist and seems never to have existed. In fact, for a while I forgot that I myself had dared to use this concept in my work. Yet when I reread my own texts from twenty years ago, I find traces of it. Looking back, I first thought that my use of the term was slightly shameful, not really legitimate: although I was using the term at the time, was I perhaps misusing it because I was not really a specialist in this field? The first quotation, which proposes to replace the notion of 'transmission' by 'participation', and the second, which stresses the number of publications using FLP in their title, convinced me, if I needed proof, that the works published in French had no place in this field.

In the first introduction of the term 'Family Language Policy' as such, Luykx (2003: 41) emphasises that 'in the "language ecology" of the family, children are agents as much as objects. For this reason, socialization should be viewed in terms of "participation" rather than merely "transmission".' (Smith-Christmas, 2020: 218) While the name was originally coined by Luykx (2003) in her study of family language policy and gender socialization in bilingual Aymara households, it was through the now classic article by King, Fogle, and Logan-Terry (2008) that it gained currency in the establishment of a key field of scholarship. This field did not evolve in a vacuum, yet its clear profile in scientific inquiry is witnessed the myriad of publications bearing the title of family language policy. (Lanza and Gomes, 2020: 153) Francophone sociolinguistics research has long focused on the family as a site of language transmission and practice [START_REF] Tabouret-Keller | La nocivité du bilinguisme, cent ans d'errance[END_REF][START_REF] Leconte | La famille et les langues. Une étude sociolinguistique de la deuxième génération de l'immigration africaine dans l'agglomération rouennaise[END_REF][START_REF] Biichlé | Ces familles bilingues qui nous entourent. Des pratiques langagières et de la transmission des langues et identités dans des familles 'mixtes' plurilingues de France[END_REF], as a site of reciprocal linguistic and cultural mediation by parents and children between the languages of the family and the language of the school [START_REF] Lüdi | Changement de langage, langage du changement. Aspects linguistiques de la migration interne en Suisse[END_REF]; at the same time it has addressed the meaning of the notions of transmission and generation [START_REF] Barontini | Approches théoriques du processus de transmission linguistique: questionner la terminologie des générations[END_REF]. I have argued [START_REF] Léglise | Documenter les parcours de familles transnationales: généalogies, biographies langagières et pratiques langagières familiales[END_REF]) that within families, the description of linguistic repertoires, plurilingual language practices and language biographies [START_REF] Lambert | Mobilités et socialisation plurilingue: retour sur un mode de représentation 'bio-graphique[END_REF] has focused on the individual, as subject or social actor, not on the level of the family as institution (de [START_REF] Singly | Rural African family structure in the Eastern Cape Province, South Africa[END_REF] or research field [START_REF] Bourdieu | A propos de la famille comme catégorie réalisée[END_REF]. The Francophone tradition is thus very remote from Anglophone work on FLP, which is generally more interested in revealing ideologies than in linguistic resources operating within language practices. This also seems to me to explain the paucity of work in France that claims to belong to the field of FLP as understood in the Anglophone sense, with a very few exceptions [START_REF] Haque | Etude de cas sociolinguistique et ethnographique de quatre familles indiennes immigrantes en Europe: pratiques langagières et politiques linguistiques nationales et familiales[END_REF][START_REF] Wang | Les politiques linguistiques familiales dans les familles mixtes: études de cas sur la transmission et la non-transmission des langues chinoises dans trois familles franco-chinoises en France[END_REF]. In France, only eight PhD theses defended in the last twenty-five years use the expression 'PLF' in their titles or keywords -most of them with reference to Deprez's workwhereas more than forty theses deal with the transmission of languages within the family.

All the same, all of this research deals with family multilingualism. There are undoubtedly discussions to be had and connections to be found between Francophone and Anglophone work in this field, 4 as in many other areas of sociolinguistics (Léglise, 2022b) and also of course beyond these two canons. In any case, if we were to reframe the field as that of the study of multilingualism within the family, with the FLP approach as one branch of this, alongside the study of family language practices and the study of the transmission of languages within the family, that would give everyone a legitimate, necessary place to express themselves, thus creating 'a polyphony of multiple voices, academic traditions and discourses [that] can be heard by those who are eager to listen' (Léglise, 2022a: 292). This de-hegemonisation of the field also means changing our ways of working and our methods.

Changing our ways of exploring intimacy without studying the privacy of the Other

In their discussion of research, Sherman et al. (2016: 215) claim that the family is an easy domain to access: 'In comparison to other domains traditionally examined in these areas (schools, workplaces, official institutions, and the like), the family presents a highly accessible research site which allows for the collection of multiple types of data -audio and video recordings, different types of interviews, and also for longitudinal examinations of members of a given family.' Christine Deprez (1996: 36), in contrast, connected the multiplicity of approaches to the fact that 'The family "as a fieldsite" is always difficult for researchers to access. This difficulty makes it necessary to multiply and combine approaches.' In her case, data collection, begun ten years earlier with questionnaires administered to teenagers in Paris schools, was continued through lengthy interviews with adults and recordings of family conversations. Her work on bilingual practices in Paris families [START_REF] Deprez | Les enfants bilingues: langues et familles[END_REF] was also facilitated through recordings made by students who attended her courses.

My own case is different. For many years I confined myself to studying institutional domains in a post-colonial territory, French Guiana; as a woman from metropolitan France, to observe the French state's language policy in action, in practice, specifically in schools and hospitals, seemed to me to be the best way to scrutinise the coloniality of power relations. 'Entering' families and familial intimacy -particularly in post-colonial contexts -always seemed to me to be extremely intrusive. This may seem to contradict the first 'lateral move' I proposed -to look further afield. But why should we go and pester families living precarious lives, and intrude on their privacy? How can we adopt a non-extractivist research perspective, when exploring intimacy (as shown both by the anthropology of intimacy and by studies on the production of intimacy in the labour of research) requires both reflexivity, closeness and distance (Besnier 2015, Fraser and Puwar 2008[START_REF] Cook | Reflections on fieldwork: exploring intimacy[END_REF], and surely also legitimacy? One way to answer this question, once one has stepped through the front door, involves adopting and co-constructing their own interpretations, or practising 'knowing-with' rather than 'knowing-about', as Abraham Yeshalem, Tommaso M. Milani and Marie Rydenvald remind us in this very issue. Doing this, they adopt a variety of creative, biographical and speaker-centred approaches (Purkarthofer and Flubacher, 2022).

Another way of answering these questions is to pay attention to the limits imposed by one's personal discomfort, being clear about one's own positionality and try to move away from a voyeuristic gaze. When Syrian refugees and families arrived in France a few years ago, a lot of government funding was made available for research that involved working with/on these populations but I decided not to apply for funding. If, as a citizen, I wanted to help them, other ways of getting involved and participating were available. I felt that it would have been in a sense indecent of me to take an interest in their FLP. At the same time, I very much welcomed and supported research proposals from an 'insider perspective', which all the doctoral students and postdocs who have worked with me over the last fifteen years have possessed. Coming from backgrounds minoritised in the French academic world, seeking answers to questions arising from their own lives, in search of social and epistemic justice, working within their own community networks, they have successfully included voices usually pushed to the margins of the knowledge production system, 'conducting research in such a way that the worldviews of those who have suffered a long history of oppression and marginalisation are given space to communicate from their frames of reference' (Chilisa, 2012: 14). One example in this issue is the article by Lynn Mario T. Menezes de Souza, which presents his own family over three generations and four continents. In addition to the now standard interviews, biographies and recordings of language practices within families, different methodological approaches are being adopted while exploring one's own network or familial intimacy, ranging from observant participation [START_REF] Istanbullu | The language policy of trilingual transnational families living between Antioch, Paris and Berlin[END_REF] to auto-ethnography [START_REF] Wang | Socializing strategies, family language policies, and practices. Identities, Practices and Education of Evolving Multicultural Families in Asia-Pacific[END_REF]. For Menezes de Souza, drawing on the work of Bhabha, auto-biographical narrative is a way of recovering 'a previously silenced voice claiming and performing the right to dialogically address and be addressed in a colonial context typically marked by disturbed and interrupted dialogues'.

While these approaches are essential to the project of decoloni(ali)zing scholarly methods [START_REF] Maldonado-Torres | On the coloniality of being[END_REF][START_REF] Smith | Decolonizing methodologies: Research and indigenous peoples[END_REF], they are sometimes considered too disruptive in academic circles, which are highly experienced at reproducing themselves [START_REF] Bourdieu | Homo academicus[END_REF]. This reaction finds expression through the ways their authors are marginalised and dismissed within universities when looking for a permanent position, and within the global publication economy, in which gatekeeping is a recognised phenomenon [START_REF] Canagarajah | A geopolitics of academic writing[END_REF][START_REF] Piller | Peripheral multilingual scholars confronting epistemic exclusion in global academic knowledge production: a positive case study[END_REF]. Gatekeeping operates by reminding and imposing on researchers the need to cite authors seen as essential in the field, and use keywords (such as FLP) that precategorise approaches and ways of thinking, and by imposing dominant norms through referees' comments that sometimes seem to belong to another century. 5 So many reminders of order and coloniality, so many ways of ruling out change that is necessary and already underway: as we can see, the resistance is resolute. But the time has come to change the way we explore intimacy, without studying the privacy of the Other, letting many voices reclaim this research on their own lives.

Conclusion

Giving the label of FLP to research on the family, as Anglophone work has done, is the result of the practical identification of a field of study and its institutionalisation, which has been very successful over the last fifteen years. Starting from my own discomfort and feelings of illegitimacy, I have identified a series of discrepancies between my own experience -as a woman student and then as a researcher working in so-called Global South contexts, socialised in Francophone sociolinguistic frameworks but seeking to dialogue with works published in English -and what the field of FLP was actually proposing. I have shown that the very institutionalisation of the field, by drawing boundary lines, has produced the marginalisation and erasure of other experiences; and in a utopian moment, dreaming and reimagining, I have sought to undo this process.

By proposing four lateral moves, my text, which takes seriously what this special issue asksthat we look at multilingualism within the family 'from southern and decolonial approaches'offers just one more voice, from my positionality, to add to those calling for viewpoints to be situated, for voices from the South to be included and for knowledge itself to be decoloni(ali)zed. These lateral moves form part of an attempt to reimagine this academic field, if we are to take seriously the need to clean house within the academy itself, so that 'knowledges rooted in western/northern experiences and traditions are simply part of the palette of knowledges' (Léglise, Bagga-Gupta and Deumert, 2022: 275).

  note, an important question is how to identify 'Which caretakers attempt to influence what behaviors of which family members for what ends under what conditions by what means through what decision-making process with what effect'.

By 'Global South' I understand 'a metaphor for human suffering caused by capitalism and colonialism on a worldwide scale, and the resistance that seeks to overcome or weaken it'(Santos,

2011: 39), whatever the geographical location might be. On the necessity of decentring and of taking into account emic perspectives and alternative theoretical approaches[START_REF] Connell | Southern theory: Social science and the global dynamics of knowledge[END_REF], see[START_REF] Léglise | Multilingualism and heterogeneous language practices: new research areas and issues in the Global South[END_REF]. 2 This is the definition Deprez gives in the English abstract of the article. The French text in the body of the article reads: 'Cette politique linguistique familiale se concrétise dans les choix de langues et dans les pratiques langagières au quotidien, ainsi que dans les discours explicites qui sont tenus à leur propos, notamment par les parents'(pp. 35-36).3 On further reflection I finally accepted the invitation to speak at the conference, presenting a joint paper with Suat Istanbullu on methodological questions, based on our two approaches to the genealogies, language biographies and language practices over several generations within transnational families.4 This is why we have organised several workshops with Judith Purkarthofer, focusing in particular on comparing our research practice in Family Language Policy to Family Language Practices 5 For example, 'Using the observant participant methodology is itself a weak point. This is an established method in ethnography, not very common with linguistics, though'; 'Were there any problems related to observer's paradox? why not?'