Stéphane Ducasse

Marcus Denker

Nicolas Anquetil

Anne Etien

Damien Pollet

Steven Costiou

Lionel Akue

Julien Delplanque

Thomas Dupriez

Mahugnon Honoré Houekpetodji

Jason Lecerf

PhD Cea

Matteo Marra

Pierre Misse Chanabier

Théo Rogliano

Pablo Tesone

Benoît Verhaeghe

PhD Student] [ Berger-Levrault

Oleksandr Zaitsev

Allex Oliveira

Dayne Lorena

Guerra Calle

Hugo Lasnier

Chia Yu Li

Clotilde Toullec

Julie Jonas

Mohamad Chakroun

Independent

Victor Martín Dias

Christopher Fuhrman

Manuel Leuenberger

Milton Mamani Torres

Hayatou Oumarou

Giuseppe Antonio Pierro

Gordana Rakic

Moussa Saker

Pavel Krivanek

Guillermo Polito

Keywords: Computer Science and Digital Science: A1, 3, 3, -Blockchain A2, -Software A2, 1, -Programming Languages A2, 1, 3, -Object-oriented programming A2, 1, 8, -Aspect-oriented programming A2, 1, 10, -Domain-specific languages A2, 1, 12, -Dynamic languages A2, 3, 1, -Embedded systems A2, 5, -Software engineering A2, 5, 1, -Software Architecture & Design A2, 5, 3, -Empirical Software Engineering A2, 5, 4, -Software Maintenance & Evolution A2, 6, -Infrastructure software A2, 6, 3, -Virtual machines Other Research Topics and Application Domains: B2, -Health B2, 7, -Medical devices B5, -Industry of the future B5, 9, -Industrial maintenance B6, 5, -Information systems B7, -Transport and logistics

RMoD's general vision is defined in two objectives: remodularization and modularity constructs. These two views are the two faces of a same coin: maintenance could be eased with better engineering and analysis tools and programming language constructs could let programmers define more modular applications.

Reengineering and remodularization

While applications must evolve to meet new requirements, few approaches analyze the implications of their original structure (modules, packages, classes) and their transformation to support their evolution. Our research focuses on the remodularization of object-oriented applications. Automated approaches including clustering algorithms are not satisfactory because they often ignore user inputs. Our vision is that we need better approaches to support the transformation of existing software. The reengineering challenge tackled by RMoD is formulated as follows:

How to help remodularize existing software applications?

We are developing analyses and algorithms to remodularize object-oriented applications. This is why we started studying and building tools to support the understanding of applications at the level of packages and modules. This allows us to understand the results of the analyses that we are building.

We seek to create tools to help developers perform large refactoring. How can they keep track of changes in various locations in a system while ensuring integrity of current and new code by uniformally applying new design choices.

Constructs for modular and isolating programming languages

Dynamically-typed programming languages such as JavaScript are getting new attention as illustrated by the large investment of Google in the development of the Chrome V8 JavaScript engine and the development of a new dynamic language DART. This new trend is correlated to the increased adoption of dynamic programming languages for web-application development, as illustrated by Ruby on Rails, PHP and JavaScript. With web applications, users expect applications to be always available and getting updated on the fly. This continuous evolution of application is a real challenge [START_REF] Hicks | Dynamic software updating[END_REF]. Hot software evolution often requires reflective behavior and features. For instance in CLOS and Smalltalk each class modification automatically migrates existing instances on the fly.

At the same time, there is a need for software isolation, i.e., applications should reliably run co-located with other applications in the same virtual machine with neither confidential information leaks nor vulnerabilities. Indeed, often for economical reasons, web servers run multiple applications on the same virtual machine. Users need confined applications. It is important that [START_REF] Anquetil | Decomposing God Classes at Siemens[END_REF] an application does not access information of other applications running on the same virtual machine and (2) an application authorized to manipulate data cannot pass such authorization or information to other parts of the application that should not get access to it. Static analysis tools have always been confronted to reflection [START_REF] Furr | Profile-guided static typing for dynamic scripting languages[END_REF]. Without a full treatment of reflection, static analysis tools are both incomplete and unsound. Incomplete because some parts of the program may not be included in the application call graph, and unsound because the static analysis does not take into account reflective features [START_REF] Livshits | DynaMine: finding common error patterns by mining software revision histories[END_REF]. In reflective languages such as F-Script, Ruby, Python, Lua, JavaScript, Smalltalk and Java (to a certain extent), it is possible to nearly change any aspect of an application: change objects, change classes dynamically, migrate instances, and even load untrusted code.

Reflection and isolation concerns are a priori antagonistic, pulling language design in two opposite directions. Isolation, on the one hand, pulls towards more static elements and types (e.g., ownership types). Reflection, on the other hand, pulls towards fully dynamic behavior. This tension is what makes this a real challenge: As experts in reflective programming, dynamic languages and modular systems, we believe that by working on this important tension we can make a breakthrough and propose innovative solutions in resolving or mitigating this tension. With this endeavor, we believe that we are working on a key challenge that can have an impact on future programming languages. The language construct challenge tackled by RMoD is formulated as follows:

What are the language modularity constructs to support isolation?

In parallel we are continuing our research effort on traits1 by assessing trait scalability and reuse on a large case study and developing a pure trait-based language. In addition, we dedicate efforts to remodularizing a meta-level architecture in the context of the design of an isolating dynamic language. Indeed at the extreme, modules and structural control of reflective features are the first steps towards flexible, dynamic, yet isolating, languages. As a result, we expect to demonstrate that having adequate composable units and scoping units will help the evolution and recomposition of an application.

Research Program

Software Reengineering

Strong coupling among the parts of an application severely hampers its evolution. Therefore, it is crucial to answer the following questions: How to support the substitution of certain parts while limiting the impact on others? How to identify reusable parts? How to modularize an object-oriented application?

Having good classes does not imply a good application layering, absence of cycles between packages and reuse of well-identified parts. Which notion of cohesion makes sense in presence of late-binding and programming frameworks? Indeed, frameworks define a context that can be extended by subclassing or composition: in this case, packages can have a low cohesion without being a problem for evolution. How to obtain algorithms that can be used on real cases? Which criteria should be selected for a given remodularization?

To help us answer these questions, we work on enriching Moose, our reengineering environment, with a new set of analyses [START_REF] Ducasse | Moose: a Collaborative and Extensible Reengineering Environment[END_REF], [START_REF] Ducasse | Using Smalltalk as a Reflective Executable Meta-Language[END_REF]. We decompose our approach in three main and potentially overlapping steps:

1. Tools for understanding applications, 2. Remodularization analyses, 3. Software Quality.

Tools for understanding applications

Context and Problems. We are studying the problems raised by the understanding of applications at a larger level of granularity such as packages or modules. We want to develop a set of conceptual tools to support this understanding. Some approaches based on Formal Concept Analysis (FCA) [START_REF] Snelting | Reengineering Class Hierarchies using Concept Analysis[END_REF] show that such an analysis can be used to identify modules. However the presented examples are too small and not representative of real code.

Research Agenda.

FCA provides an important approach in software reengineering for software understanding, design anomalies detection and correction, but it suffers from two problems: (i) it produces lattices that must be interpreted by the user according to his/her understanding of the technique and different elements of the graph; and, (ii) the lattice can rapidly become so big that one is overwhelmed by the mass of information and possibilities [START_REF] Anquetil | A Comparison of Graphs of Concept for Reverse Engineering[END_REF]. We look for solutions to help people putting FCA to real use.

Remodularization analyses

Context and Problems. It is a well-known practice to layer applications with bottom layers being more stable than top layers [START_REF] Martin | Agile Software Development. Principles, Patterns, and Practices[END_REF]. Until now, few works have attempted to identify layers in practice: Mudpie [START_REF] Vainsencher | MudPie: layers in the ball of mud[END_REF] is a first cut at identifying cycles between packages as well as package groups potentially representing layers. DSM (dependency structure matrix) [START_REF] Sullivan | The Structure and Value of Modularity in SOftware Design[END_REF], [START_REF] Sangal | Using Dependency Models to Manage Complex Software Architecture[END_REF] seems to be adapted for such a task but there is no serious empirical experience that validates this claim. From the side of remodularization algorithms, many were defined for procedural languages [START_REF] Koschke | Atomic Architectural Component Recovery for Program Understanding and Evolution[END_REF]. However, object-oriented programming languages bring some specific problems linked with late-binding and the fact that a package does not have to be systematically cohesive since it can be an extension of another one [START_REF] Wilde | Maintenance Support for Object-Oriented Programs[END_REF], [START_REF] Dunsmore | Object-Oriented Inspection in the Face of Delocalisation[END_REF].

As we are designing and evaluating algorithms and analyses to remodularize applications, we also need a way to understand and assess the results we are obtaining.

Research Agenda. We work on the following items: Layer identification. We propose an approach to identify layers based on a semi-automatic classification of package and class interrelationships that they contain. However, taking into account the wish or knowledge of the designer or maintainer should be supported.

Cohesion Metric Assessment. We are building a validation framework for cohesion/coupling metrics to determine whether they actually measure what they promise to. We are also compiling a number of traditional metrics for cohesion and coupling quality metrics to evaluate their relevance in a software quality setting.

Software Quality

Research Agenda. Since software quality is fuzzy by definition and a lot of parameters should be taken into account we consider that defining precisely a unique notion of software quality is definitively a Grail in the realm of software engineering. The question is still relevant and important. We work on the two following items:

Quality models. We studied existing quality models and the different options to combine indicatorsoften, software quality models happily combine metrics, but at the price of losing the explicit relationships between the indicator contributions. There is a need to combine the results of one metric over all the software components of a system, and there is also the need to combine different metric results for any software component. Different combination methods are possible that can give very different results. It is therefore important to understand the characteristics of each method.

Bug prevention. Another aspect of software quality is validating or monitoring the source code to avoid the emergence of well known sources of errors and bugs. We work on how to best identify such common errors, by trying to identify earlier markers of possible errors, or by helping identifying common errors that programmers did in the past.

Language Constructs for Modular Design

While the previous axis focuses on how to help remodularizing existing software, this second research axis aims at providing new language constructs to build more flexible and recomposable software. We will build on our work on traits [START_REF] Schärli | Traits: Composable Units of Behavior[END_REF], [START_REF] Ducasse | Traits: A Mechanism for fine-grained Reuse[END_REF] and classboxes [START_REF] Bergel | Classbox/J: Controlling the Scope of Change in Java[END_REF] but also start to work on new areas such as isolation in dynamic languages. We will work on the following points: (1) Traits and (2) Modularization as a support for isolation.

Traits-based program reuse

Context and Problems. Inheritance is well-known and accepted as a mechanism for reuse in object-oriented languages. Unfortunately, due to the coarse granularity of inheritance, it may be difficult to decompose an application into an optimal class hierarchy that maximizes software reuse. Existing schemes based on single inheritance, multiple inheritance, or mixins, all pose numerous problems for reuse.

To overcome these problems, we designed a new composition mechanism called Traits [START_REF] Schärli | Traits: Composable Units of Behavior[END_REF], [START_REF] Ducasse | Traits: A Mechanism for fine-grained Reuse[END_REF]. Traits are pure units of behavior that can be composed to form classes or other traits. The trait composition mechanism is an alternative to multiple or mixin inheritance in which the composer has full control over the trait composition. The result enables more reuse than single inheritance without introducing the drawbacks of multiple or mixin inheritance. Several extensions of the model have been proposed [START_REF] Denier | Traits Programming with AspectJ[END_REF], [START_REF] Quitslund | Java Traits -Improving Opportunities for Reuse[END_REF], [START_REF] Bergel | Stateful Traits[END_REF], [START_REF] Ducasse | User-Changeable Visibility: Resolving Unanticipated Name Clashes in Traits[END_REF] and several type systems were defined [START_REF] Fisher | Statically typed traits[END_REF], [START_REF] Smith | Chai: Typed Traits in Java[END_REF], [START_REF] Reppy | A Foundation for Trait-based Metaprogramming[END_REF], [START_REF] Liquori | FeatherTrait: A Modest Extension of Featherweight Java[END_REF].

Traits are reusable building blocks that can be explicitly composed to share methods across unrelated class hierarchies. In their original form, traits do not contain state and cannot express visibility control for methods. Two extensions, stateful traits and freezable traits, have been proposed to overcome these limitations. However, these extensions are complex both to use for software developers and to implement for language designers.

Research Agenda: Towards a pure trait language. We plan distinct actions: (1) a large application of traits, (2) assessment of the existing trait models and (3) bootstrapping a pure trait language.

• To evaluate the expressiveness of traits, some hierarchies were refactored, showing code reuse [START_REF] Black | Applying Traits to the Smalltalk Collection Hierarchy[END_REF]. However, such large refactorings, while valuable, may not exhibit all possible composition problems, since the hierarchies were previously expressed using single inheritance and following certain patterns. We want to redesign from scratch the collection library of Smalltalk (or part of it). Such a redesign should on the one hand demonstrate the added value of traits on a real large and redesigned library and on the other hand foster new ideas for the bootstrapping of a pure trait-based language.

In particular we want to reconsider the different models proposed (stateless [START_REF] Ducasse | Traits: A Mechanism for fine-grained Reuse[END_REF], stateful [START_REF] Bergel | Stateful Traits and their Formalization[END_REF], and freezable [START_REF] Ducasse | User-Changeable Visibility: Resolving Unanticipated Name Clashes in Traits[END_REF]) and their operators. We will compare these models by ( 1) implementing a trait-based collection hierarchy, (2) analyzing several existing applications that exhibit the need for traits. Traits may be flattened [START_REF] Nierstrasz | Flattening Traits[END_REF]. This is a fundamental property that confers to traits their simplicity and expressiveness over Eiffel's multiple inheritance. Keeping these aspects is one of our priority in forthcoming enhancements of traits. • Alternative trait models. This work revisits the problem of adding state and visibility control to traits.

Rather than extending the original trait model with additional operations, we use a fundamentally different approach by allowing traits to be lexically nested within other modules. This enables traits to express (shared) state and visibility control by hiding variables or methods in their lexical scope.

Although the traits' "flattening property" no longer holds when they can be lexically nested, the combination of traits with lexical nesting results in a simple and more expressive trait model. We formally specify the operational semantics of this combination. Lexically nested traits are fully implemented in AmbientTalk, where they are used among others in the development of a Morphiclike UI framework. • We want to evaluate how inheritance can be replaced by traits to form a new object model. For this purpose we will design a minimal reflective kernel, inspired first from ObjVlisp [START_REF] Cointe | Metaclasses are First Class: the ObjVlisp Model[END_REF] then from Smalltalk [START_REF] Goldberg | Smalltalk 80: the Interactive Programming Environment[END_REF].

Reconciling Dynamic Languages and Isolation

Context and Problems. More and more applications require dynamic behavior such as modification of their own execution (often implemented using reflective features [START_REF] Kiczales | Efficient Method Dispatch in PCL[END_REF]). For example, F-script allows one to script Cocoa Mac-OS X applications and Lua is used in Adobe Photoshop. Now in addition more and more applications are updated on the fly, potentially loading untrusted or broken code, which may be problematic for the system if the application is not properly isolated. Bytecode checking and static code analysis are used to enable isolation, but such approaches do not really work in presence of dynamic languages and reflective features. Therefore there is a tension between the need for flexibility and isolation.

Research Agenda: Isolation in dynamic and reflective languages. To solve this tension, we will work on Sure, a language where isolation is provided by construction: as an example, if the language does not offer field access and its reflective facilities are controlled, then the possibility to access and modify private data is controlled. In this context, layering and modularizing the meta-level [START_REF] Bracha | Mirrors: design principles for meta-level facilities of object-oriented programming languages[END_REF], as well as controlling the access to reflective features [START_REF] Caromel | Reflections on MOPs, Components, and Java Security[END_REF], [START_REF] Caromel | A security framework for reflective Java applications[END_REF] are important challenges. We plan to:

• Study the isolation abstractions available in erights (http://www.erights.org) [START_REF] Miller | Capability-based Financial Instruments[END_REF], [START_REF] Miller | Robust Composition: Towards a Unified Approach to Access Control and Concurrency Control[END_REF], and Java's class loader strategies [START_REF] Liang | Dynamic Class Loading in the Java Virtual Machine[END_REF], [START_REF] Gong | New security architectural directions for Java[END_REF]. • Categorize the different reflective features of languages such as CLOS [START_REF] Kiczales | The Art of the Metaobject Protocol[END_REF], Python and Smalltalk [START_REF] Rivard | Pour un lien d'instanciation dynamique dans les langages à classes[END_REF] and identify suitable isolation mechanisms and infrastructure [START_REF] Fong | Capabilities as alias control: Secure cooperation in dynamically extensible systems[END_REF]. • Assess different isolation models (access rights, capabilities [START_REF] Saltzer | The Protection of Information in Computer Systems[END_REF],...) and identify the ones adapted to our context as well as different access and right propagation. • Define a language based on -the decomposition and restructuring of the reflective features [START_REF] Bracha | Mirrors: design principles for meta-level facilities of object-oriented programming languages[END_REF],

-the use of encapsulation policies as a basis to restrict the interfaces of the controlled objects [START_REF] Schärli | Object-oriented Encapsulation for Dynamically Typed Languages[END_REF],

-the definition of method modifiers to support controlling encapsulation in the context of dynamic languages.

An open question is whether, instead of providing restricted interfaces, we could use traits to grant additional behavior to specific instances: without trait application, the instances would only exhibit default public behavior, but with additional traits applied, the instances would get extra behavior. We will develop Sure, a modular extension of the reflective kernel of Smalltalk (since it is one of the languages offering the largest set of reflective features such as pointer swapping, class changing, class definition,...) [START_REF] Rivard | Pour un lien d'instanciation dynamique dans les langages à classes[END_REF].

Application Domains

Programming Languages and Tools

Many of the results of RMoD are improving programming languages or development tools for such languages.

As such the application domain of these results is as varied as the use of programming languages in general. Pharo, the language that RMoD develops, is used for a very broad range of applications. From pure research experiments to real world industrial use (the Pharo Consortium has more than 25 company members).

Examples are web applications, server backends for mobile applications or even graphical tools and embedded applications

Software Reengineering

Moose is a language-independent environment for reverse and re-engineering complex software systems. Moose provides a set of services including a common meta-model, metrics evaluation and visualization. As such Moose is used for analyzing software systems to support understanding and continuous development as well as software quality analysis.

Highlights of the Year

Highlights of the Year

• Steven Costiou was hired as CR.

• We released Pharo 7. More information at http://pharo.org.

• The paper Rotten Green Tests has been accepted at ICSE. https://hal.inria.fr/hal-02002346 5.1.1. Awards

Pharo

KEYWORDS: Live programmation objet -Reflective system -Web Application FUNCTIONAL DESCRIPTION: Pharo is a pure object reflective and dynamic language inspired by Smalltalk. In addition, Pharo comes with a full advanced programming environment developed under the MIT License. It provides a platform for innovative development both in industry and research. By providing a stable and small core system, excellent developer tools, and maintained releases, Pharo's goal is to be a platform to build and deploy mission critical applications, while at the same time continue to evolve. Pharo 60 got 100 contributors world-wide. It is used by around 30 universities, 15 research groups and around 40 companies.

• 7. New Results

Dynamic Languages: Virtual Machines

Illicium A modular transpilation toolchain from Pharo to C. The Pharo programming language runs on the OpenSmalltalk-VM. This Virtual Machine (VM) is mainly written in Slang, a subset of the Smalltalk language dedicated to VM development. Slang is transpiled to C using the Slang-to-C transpiler. The generated C is then compiled to produce the VM executable binary code. Slang is a powerful dialect for generating C because it benefits from the tools of the Smalltalk environment, including a simulator that runs and debugs the VM. However, the Slang-to-C transpiler is often too permissive. For example, the Slang-to-C transpiler generates invalid C code from some Smalltalk concepts it does not support. This makes the Slang code hard to debug as the errors are caught very late during the development process, which is worsen by the loss of the mapping between the generated C code and Slang. The Slang-to-C transpiler is also hard to extend or adapt to modify part of the translation process. We present Illicium, a new modular transpilation toolchain based on a subset of Pharo targeting C through AST transformations. This toolchain translates the Pharo AST into a C AST to generate C code. Using ASTs as source and target artifacts enables analysis, modification and validation at different levels during the translation process. The main translator is split into smaller and replaceable translators to increase modularity. Illicium also allows the possibility to introduce new translators and to chain them together, increasing reusability. To evaluate our approach, we show with a use case how to extend the transpilation process with a translation that requires changes not considered in the original C AST. [START_REF] Misse-Chanabier | Illicium A modular transpilation toolchain from Pharo to C[END_REF] GildaVM: a Non-Blocking I/O Architecture for the Cog VM. The OpenSmalltalk virtual machine (VM) was historically designed as a single-threaded VM. All VM code including the Smalltalk interpreter, the garbage collector and the just-in-time compiler run in the same single native thread. While this VM provides concurrency through green threads, it cannot take advantage of multi-core processors. This architecture performs really well in practice until the VM accesses external resources such as e.g., FFI callouts, which block the single VM thread and prevent green threads to benefit from the processor. We present GildaVM, a multi-threaded VM architecture where one thread at a time executes the VM while allowing non-blocking I/O in parallel. The ownership of the VM is orchestrated by a Global Interpreter Lock (GIL) as in the standard implementations of Python and Ruby. However, within a single VM thread concurrency is still possible through green threads. We present a prototype implementation of this architecture running on top of the Stack flavour of the OpenSmalltalk VM. We finally evaluate several aspects of this architecture like FFI and threadswitch overhead. While current benchmarks show good results for long FFI calls, short FFI calls require more research to minimize the overhead of thread-switch. [9]

Dynamic Languages: Language Constructs for Modular Design

Magic Literals in Pharo Literals are constant values (numbers, strings, etc.) used in the source code. Magic literals are the ones used without a clear explanation of their meaning. Presence of such literals harms source code readability, decreases its modularity, and encourages code duplication. Identifying magic literals is not straightforward. A literal can be considered self-explanatory in one context and magic in another. We need a heuristic to help developers spot magic literals. We study and characterize the literals in Pharo. We implemented a heuristic to detect magic literals and integrated it as a code critic rule for System Browser and Critics Browser in Pharo 7. We run our heuristic on 112,500 Pharo methods which reported 23,292 magic literals spread across 8,986 methods. We manually validated our approach on a random subset of 100 methods and found that 62% of the reported literals in those methods are indeed magic. [START_REF] Delplanque | Magic Literals in Pharo[END_REF] Towards easy program migration using language virtualization Migrating programs between language versions is a daunting task. A developer writes a program in a particular version of a language and cannot foresee future language changes. In this article, we explore a solution to gradual program migration based on virtualization at the programming language level. Our language virtualization approach adds a backwardscompatibility layer on top of a recent language version, allowing developers to load and run old programs on the more recent infrastructure. Developers are then able to migrate the program to the new language version or are able to run it as it is. Our virtualization technique is based on a dynamic module implementation and code intercession techniques. Migrated and non-migrated parts co-exist in the meantime allowing an incremental migration procedure. We validate it by migrating legacy Pharo programs, MuTalk and Fuel.

[10]

Dynamic Languages: Debugging

Sindarin: A Versatile Scripting API for the Pharo Debugger Debugging is one of the most important and time consuming activities in software maintenance, yet mainstream debuggers are not well-adapted to several debugging scenarios. This has led to the research of new techniques covering specific families of complex bugs. Notably, recent research proposes to empower developers with scripting DSLs, plugin-based and moldable debuggers. However, these solutions are tailored to specific use-cases, or too costly for onetime-use scenarios. We argue that exposing a debugging scripting interface in mainstream debuggers helps in solving many challenging debugging scenarios. For this purpose, we present Sindarin, a scripting API that eases the expression and automation of different strategies developers pursue during their debugging sessions. Sindarin provides a GDB-like API, augmented with AST-bytecode-source code mappings and object-centric capabilities. To demonstrate the versatility of Sindarin, we reproduce several advanced breakpoints and nontrivial debugging mechanisms from the literature. [START_REF] Dupriez | Sindarin: A Versatile Scripting API for the Pharo Debugger[END_REF] Challenges in Debugging Bootstraps of Reflective Kernels The current explosion of embedded systems (i.e., IoT, Edge Computing) implies the need for generating tailored and customized software for these systems. Instead of using specific runtimes (e.g., MicroPython, eLua, mRuby), we advocate that bootstrapping specific language kernels is a promising higher-level approach because the process takes advantage of the generated language abstractions, easing the task for a language developer. Nevertheless, bootstrapping language kernels is still challenging because current debugging tools are not suitable for fixing the possible failures that occur during the process. We take the Pharo bootstrap process as an example to analyse the different challenges a language developer faces. We propose a taxonomy of failures appearing during bootstrap and their causes.

Based on this analysis, we identify future research directions: (1) prevention measures based on the reification of implicit virtual machine contracts, and (2) hybrid debugging tools that unify the debugging of high-level code from the bootstrapped language with low-level code from the virtual machine. [START_REF] Phillips | Challenges in Debugging Bootstraps of Reflective Kernels[END_REF] 7.4. Software Reengineering

Decomposing God Classes at Siemens A group of developers at Siemens Digital Industry Division approached our team to help them restructure a large legacy system. Several problems were identified, including the presence of God classes (big classes with thousands of lines of code and hundred of methods). They had tried different approaches considering the dependencies between the classes, but none were satisfactory. Through interaction during the last three years with a lead software architect of the project, we designed a software visualization tool and an accompanying process that allows her to propose a decomposition of a God Class in a matter of one or two hours even without prior knowledge of the class (although actually implementing the decomposition in the source code could take a week of work). We present the process that was formalized to decompose God Classes and the tool that was designed. We give details on the system itself and some of the classes that were decomposed. The presented process and visualisations have been successfully used for the last three years on a real industrial system at Siemens. [START_REF] Anquetil | Decomposing God Classes at Siemens[END_REF] Rotten Green Tests Unit tests are a tenant of agile programming methodologies, and are widely used to improve code quality and prevent code regression. A green (passing) test is usually taken as a robust sign that the code under test is valid. However, some green tests contain assertions that are never executed. We call such tests Rotten Green Tests. Rotten Green Tests represent a case worse than a broken test: they report that the code under test is valid, but in fact do not test that validity. We describe an approach to identify rotten green tests by combining simple static and dynamic call-site analyses. Our approach takes into account test helper methods, inherited helpers, and trait compositions, and has been implemented in a tool called DrTest. DrTest reports no false negatives, yet it still reports some false positives due to conditional use or multiple test contexts. Using DrTest we conducted an empirical evaluation of 19,905 real test cases in mature projects of the Pharo ecosystem. The results of the evaluation show that the tool is effective; it detected 294 tests as rotten-green tests that contain assertions that are not executed. Some rotten tests have been "sleeping" in Pharo for at least 5 years. [START_REF] Delplanque | Rotten Green Tests[END_REF] Migrating GWT to Angular 6 using MDE In the context of a collaboration with Berger-Levrault, a major IT company, we are working on the migration of a GWT application to Angular. We focus on the GUI aspect of this migration which, even if both are web frameworks, is made difficult because they use different programming languages (Java for one, Typescript for the other) and different organization schemas (e.g. different XML files). Moreover, the new application must mimic closely the visual aspect of the old one so that the users of the application are not disturbed. We propose an approach in three steps that uses a meta-model to represent the GUI at a high abstraction level. We evaluated this approach on an application comprising 470 Java (GWT) classes representing 56 screens. We are able to model all the web pages of the application and 93% of the wid-gets they contain, and we successfully migrated (i.e., the result is visually equal to the original) 26 out of 39 pages (66%). We give examples of the migrated pages, both successful and not. [START_REF] Verhaeghe | Migration de GWT vers Angular 6 en utilisant l'IDM[END_REF] [11] [START_REF] Verhaeghe | GUI Migration using MDE from GWT to Angular 6: An Industrial Case[END_REF] Empirical Study of Programming to an Interface A popular recommendation to programmers in objectoriented software is to program to an interface, not an implementation (PTI). Expected benefits include increased simplicity from abstraction, decreased dependency on implementations, and higher flexibility. Yet, interfaces must be immutable, excessive class hierarchies can be a form of complexity, and speculative generality is a known code smell. To advance the empirical knowledge of PTI, we conducted an empirical investigation that involves 126 Java projects on GitHub, aiming to measuring the decreased dependency benefits (in terms of cochange). [START_REF] Verhaeghe | Empirical Study of Programming to an Interface[END_REF] Exposing Test Analysis Results with DrTests Tests are getting the cornerstone of continuous development process and software evolution. Tests are the new gold. To improve test quality, a plethora of analyses is proposed such as test smells, mutation testing, test coverage. The problem is that each analysis often needs a particular way to expose its results to the developer. There is a need for an architecture supporting test running and analysis in a modular and extensible way. We present an extensible plugin-based architecture to run and report test results. DrTests is a new test browser that implements such plugin-based architecture. DrTests supports the execution of rotten tests, comments to tests, coverage and profiling tests. [START_REF] Guerra Calle | Exposing Test Analysis Results with DrTests[END_REF] 7.5. Blockchain Software Engineering SmartAnvil: Open-Source Tool Suite for Smart Contract Analysis Smart contracts are new computational units with special properties: they act as classes with aspectual concerns; their memory structure is more complex than mere objects; they are obscure in the sense that once deployed it is difficult to access their internal state; they reside in an append-only chain. There is a need to support the building of new generation tools to help developers. Such support should tackle several important aspects: (1) the static structure of the contract, (2) the object nature of published contracts, and (3) the overall data chain composed of blocks and transactions. We present SmartAnvil an open platform to build software analysis tools around smart contracts. We illustrate the general components and we focus on three important aspects: support for static analysis of Solidity smart contracts, deployed smart contract binary analysis through inspection, and blockchain navigation and querying. SmartAnvil is open-source and supports a bridge to the Moose data and software analysis platform. [START_REF] Ducasse | SmartAnvil: Open-Source Tool Suite for Smart Contract Analysis[END_REF] The Influence Factors on Ethereum Transaction Fees In Ethereum blockchain, the user needs to set a Gas price to get a transaction processed and approved by Miners. To have the transaction executed, the Gas price has to be greater than or equal to the lowest Ethereum transaction fees. We present a set of data sampled every 15 seconds, from December 1st, 2018 to December 15, 2018, coming from different blockchain web APIs. The aim is to investigate whether and to what extent different variables -such as the number of pending transactions, the value of the USD/Ether pair, average electricity prices around the world, and the number of miners -influence the Ethereum transaction fees. This study is relevant from an economic perspective because more and more companies in different economic fields are adopting Ethereum blockchain. From historical data analysis, we found that only some of these variables do have an influence. For example, the number of pending transactions and the number of miners have a major influence on Ethereum transaction fees when compared to the other variables. [START_REF] Pierro | The Influence Factors on Ethereum Transaction Fees[END_REF] 8. Bilateral Contracts and Grants with Industry A second CIFRE around legacy system cartography will start in 2020.

  Software evolution, Maintenance, Program visualization, Program analyses, Meta modelling, Software metrics, Quality models, Object-oriented programming, Reflective programming, Traits, Dynamically typed languages, Dynamic software update, Pharo, Moose.

  Participants: Christophe Demarey, Clement Bera, Damien Pollet, Esteban Lorenzano, Marcus Denker, Stéphane Ducasse and Guillermo Polito • Partners: BetaNine -Reveal -Inceptive -Netstyle -Feenk -ObjectProfile -GemTalk Systems -Greyc Université de Caen -Basse-Normandie -Université de Berne -Yesplan -RMod -Pleiad -Sensus -Université de Bretagne Occidentale -École des Mines de Douai -ENSTA -Uqbar foundation Argentina -LAM Research -ZWEIDENKER -LifeWare -JPMorgan Chase -KnowRoaming -ENIT -Spesenfuchs -FINWorks -Esug -FAST -Ingenieubüro Schmidt -Projector Software -HRWorks -Inspired.org -Palantir Solutions -High Octane -Soops -Osoco -Ta Mère SCRL -University of Yaounde 1 -Software Quality Laboratory, University of Novi Sad -Software Institute Università della Svizzera italiana -Universdad Nacional de Quilmes -UMMISCO IRD -Université technique de Prague • Contact: Marcus Denker • URL: http://www.pharo.org 6.3. Pillar KEYWORDS: HTML -LaTeX -HTML5 FUNCTIONAL DESCRIPTION: Pillar is a markup syntax and associated tools to write and generate documentation and books. Pillar is currently used to write several books and other documentation. It is used in the tools developed by Feenk.com. • Partner: Feenk • Contact: Stéphane Ducasse • URL: https://github.com/Pillar-markup/pillar

10. 1

 1 .4. Invited Talks Steven Costiou: Keynote ICCR2019 6th International Conference on Cloud and Robotics (Remote and live debugging of IOT applications: tools for researchers and developers.) 10.1.5. Scientific Expertise • Anne Etien: expert for the French government on Research Tax Credit. • Anne Etien: expert for the ANRT to evaluate a CIFRE file. • Steven Costiou: program committee of the GDR-GPL 2020 challenges. 10.1.6. Research Administration • Steven Costiou: representative of the post-doc researchers of the CRIStAL lab for the 2019 HCERES evaluation. • Anne Etien is animator of the Software Engineering thematic Group of the CRIStAL lab since 2019. • Anne Etien is elected at the committee of Inria Lille -Nord Europe center since 2016.

•

  Best paper award: SATToSE 2019 Migrating GWT to angular 6 using MDE. https://hal.inria.fr/hal-02304301 • 2nd place best paper award IWST 2019: Illicium: a modular transpilation toolchain from Pharo to C. https://hal.archives-ouvertes.fr/hal-02297860 • 3rd place best paper award IWST 2019: GildaVM: a Non-Blocking I/O Architecture for the Cog VM. Moose is an extensive platform for software and data analysis. It offers multiple services ranging from importing and parsing data, to modeling, to measuring, querying, mining, and to building interactive and visual analysis tools. The development of Moose has been evaluated to 200 man/year.

	https://hal.archives-ouvertes.fr/view/index/docid/2379275
	6. New Software and Platforms
	6.1. Moose
	Moose: Software and Data Analysis Platform
	KEYWORDS: Software engineering -Meta model -Software visualisation
	FUNCTIONAL DESCRIPTION:

Mots

-cles : MetaModeling, Program Visualization, Software metrics, Code Duplication, Software analyses, Parsers • Participants: Anne Etien, Nicolas Anquetil, Olivier Auverlot, Stéphane Ducasse, Julien Delplanque, Guillaume Larcheveque, Cyril Ferlicot-Delbecque and Pavel Krivanek • Partners: Université de Berne -Sensus -Synectique -Pleiad -USI -Vrije Universiteit Brussel • Contact: Stéphane Ducasse • URL: http://www.moosetechnology.org

  The Pharo Consortium was founded in 2012 and is growing constantly. By the end 2019, it has 25 company members, 19 academic partners. Inria supports the consortium with one full time engineer starting in 2011. In 2018, the Pharo Consortium joined InriaSoft.We started a new collaboration with the software editor Berger-Levrault about software architecture remodularization. The collaboration started with an end study project exploring the architecture used in the company in order to later migrate from GWT to Angular since GWT will not be backward supported anymore in the next versions. A PhD CIFRE thesis started in 2019: Benoît Verhaeghe, Support à l'automatisation de la migration d'interface d'applications Web : le cas de GWT vers Angular.8.2.2. Arolla: Machine Learning-Based Recommenders to Support Software EvolutionParticipants: Nicolas Anquetil, Stéphane Ducasse, Anne Etien, Oleksandr ZaitsevWe started a new collaboration with the council company, Arolla, about software evolution. Arolla has daily problems with identifying architecture, design, and deviations from those artifacts. The goal of the thesis is to experiment which learning techniques can help with semi-automatically extracting design and architectural aspects and their violations. A PhD CIFRE has started in 2019: Oleksandr Zaitsev, Machine Learning-Based Tools to Support Software Evolution.

	8.1. Bilateral Contracts with Industry
	8.1.1. Pharo Consortium
	Participants: Esteban Lorenzano, Marcus Denker, Stéphane Ducasse
	From 2012, ongoing.
	More at http://consortium.pharo.org.
	8.2. Bilateral Grants with Industry
	8.2.1. Berger-Levrault: Remodularization of Architecture
	Participants: Nicolas Anquetil, Santiago Bragagnolo, Stéphane Ducasse, Anne Etien, Benoît Verhaeghe
	From 2017, ongoing.

•

  Santiago Bragagonolo: IWBOSE 2020 CFP Manager, Chair (workshop on blockchain software engineering). • Stéphane Ducasse: PC-chair International Conference on Software Reuse 2020. 10.1.2.2. Member of the Conference Program Committees • Marcus Denker has been a member of ICOOLPS 2019. • Steven Costiou has been member of IWST 2019. • Anne Etien has been member of BENEVOL 2019, IWor 2019, VISSOFT 2019, ICPC 2019, CIEL 2019, GDRGPL 2019, Modelwards Program Committees. • Guillermo Polito has been PC of IWST 2019 • Guillermo Polito has been PC of Meta Workshop 2019. • Vincent Aranega was in the PC of IWST 2019. 10.1.2.3. Reviewing Activities • Vincent Aranega reviewed for MODELSWARD19. • Damien Pollet reviewed for ICSOFT. 10.1.3. Journal 10.1.3.1. Member of the Editorial Boards • Anne Etien has been a member of the editorial board for the Special issue on Dynamic Languages of Science of Computer Programming journal. • Anne Etien has been editor for CEUR journal vol 2510. 10.1.3.2. Reviewing Activities • Anne Etien was reviewer for Journal of Systems and Software. • Steven Costiou was reviewer for Science of Computer Programming. • Guillermo Polito was reviewer for Journal IEEE Transactions on Industrial Informatics. • Damien Pollet was reviewer for Science of Computer Programming. • Gordana Rakic was reviewer for the 3rd call for The Programming Journal (and Programming 2020 conference). • Gordana Rakic was reviewer for the Computing and Informatics journal.

  10.2. Teaching -Supervision -Juries 10.2.1. Teaching PhD in progress: Mahugnon Honoré Houekpetodji, Multi-Facet Actionable for Information System Rejuvenation, SPI Lille, France, Stéphane Ducasse, Nicolas Anquetil, Nicolas Dias, Jérome Sudich PhD in progress: Carolina Hernández, Tools for MicroKernels Guillermo Polito and Luc Fabresse 10.2.3. Juries Dynamic program analysis for suggesting test improvements to developers, Oscar Luis Vera Perez, KTH Royal Institute of Technology, (Sweden), 17/12/2019. Adaptation non-anticipée de comportement : application au déverminage de programmes en cours d'exécution, Steven Costiou, Université de Bretagne Occidentale, Brest (France), 26/11/2018. Modélisation et évaluation de la sécurité des parcours d'authentification Youssou Ndaye, Université Rennes 1, France, 10/12/19 Challenges in the collaborative evolution of a proof language and its ecosystem Théo Zimmermann, Université de Paris, France, 12/12/19 ARIANE: Automated Re-documentation to Improve software Architecture uNderstanding and Evolution, Alexandre Le Borgne, IMT Mines Alès, France, 12/12/19. Contribution à la conception d'un Système de Recommandation dédié à la réutilisation de composants logiciels, Brice Evrard Tarehy, Université de Fianarantsoa, Madagascar, Jan. 2020. 10.3. Popularization 10.3.1. Articles and contents • Olivier Auverlot, Stéphane Ducasse, Luc Fabresse. TinyBlog: Créer votre première application web avec Pharo [15]. • Olivier Auverlot, Stéphane Ducasse, Luc Fabresse. TinyBlog: Develop your First Web App with Pharo [16]. • Stéphane Ducasse. Pharo with Style [17].

Traits are groups of methods that can be composed orthogonally to simple inheritance. Contrary to mixin, the class has the control of the composition and conflict management.

Partnerships and Cooperations

9.1. Regional Initiatives We have signed a convention with the CAR team led by Noury Bouraqadi of IMT Douai. In this context we co-supervised three PhD students (Mariano Martinez-Peck, Nick Papoylias and Guillermo Polito). The team is also an important contributor and supporting organization of the Pharo project.

Pablo Tesone did a PhD co-supervided by RMOD and Pr. L. Fabresse and N. Bouraqadi (finished in 2018). Currently, three PhD Students are co-supervised:

• PhD in progress: We have handed in a bilateral project (Campus France) between Novi Sad and RMOD: An innovative visual environment in service of developer experience. We expect results by the end of this year.

A Master thesis has been cosupervised. Nina Medic: Graph library with layout algorithms in Pharo.

Visitors:

• From 2015, ongoing.

We are working with the Uqbar team from different Argentinian universities. We hired three of the people: Nicolas Passerini(engineer), Esteban Lorenzano (engineer) and Pablo Tesone (PhD).

Pharo in Research:

Participants: Pablo Tesone, Esteban Lorenzano, Guillermo Polito, Marcus Denker, Stéphane Ducasse.

From 2009, ongoing.

We are building an ecosystem around Pharo with international research groups, universities and companies. Several research groups (such as Software Composition Group -Bern, and Pleaid -Santiago) are using Pharo. Many universities are teaching OOP using Pharo and its books. Several companies worldwide are deploying business solutions using Pharo.

International Research Visitors


Violette Bourg

P Ienny

A S Caro-Bretelle

N Le Moigne

Valérie Guillard

A Bergeret

Modeling of

Keywords:

Introduction

Production of thin films are mostly achieved by blown or cast film extrusion and used in a large scale of applications such as packaging (McNally, 2005). One important property of these thin films is their heat-shrinkability used to gather products. The shrinkage property is a direct consequence of the stretching of a molten polymer followed by a rapid quenching to freeze both the stress and the deformation undergone during the process [START_REF] Haudin | Étude des relations entre mise en[END_REF]. Indeed, [START_REF] Haudin | Étude des relations entre mise en[END_REF] showed that the shrinkage is the direct consequence of the fusion of the crystallites leading to an oriented amorphous phase in which the extended chains tend to recoil isotopically when reheated above its melting temperature.

The shrinkage property is therefore divided in two principal characteristics namely, the shrinkage rate and the shrinkage stress required so that the polymer film shrinks tight around the product and fulfill its function.

In the cast film extrusion process, the molten polymer is extruded flat through a slit die and then stretched in the air while a reduction in both its thickness and width occurs. During the stretching in the path between the extruder die and the rolls, the film is subjected both to a large extension in the longitudinal direction and to a continuous cooling flow. Finally, the molten polymer is quenched on thermoregulated rolls of the haul-off unit. When the film reaches the rolls, the temperature sudden drop leads to the crystallization resulting in the change from molten to solid state, preventing from any further decrease in width and thickness of the film. The deformation and the cooling conditions that take place in the air gap and onto the rolls directly affect the final properties of the film (such as optical properties, mechanical characteristics …) [START_REF] Barot | Modeling the film casting process using a continuum model for crystallization in polymers[END_REF].

Thus, the modeling of the cast film extrusion process can be divided in two stages: the first stage can be modeled considering the thermomechanical behavior of the molten polymer during the path of stretching in air (sometimes referred by authors as primary film (Barq T -First, the rheological model parameters were identified from rheological experiments under oscillatory shear small deformation at different temperatures, -Then, during the process, thermal and bidimensional kinematic boundary conditions were evaluated through optical instrumentation, -Finally, the implementation of the rheological behavior in the numerical modeling of the process associated with the boundary conditions leads to an estimation of the internal residual stress stored in plane directions while stretching, -The resulting modeled internal residual stress was then correlated to the restraint shrinkage stress determined by DMTA tests. Results obtained from various polyethylenes with different macromolecular structures (linear, branched) and their blends were finally discussed.

This study is thus devoted to the experimental and modeling of the cast film process and the understanding of the thermo-mechanical history of the material from the molten state to the heat-shrinkability of the casted films.

Shrinkage stress measurements thanks DMTA have been investigated for sake of comparison with the modeled internal residual stress. In the discussion part, insights are proposed to explain the deviation from the model.

Materials

A Low-Density Poly(Ethylene) (LDPE) film grade produced by ExxonMobil 171BA ® and a Linear Low-Density Polyethylene with butene comonomer (LLDPE) film grade produced by Polimeri Europa commercialized under the trade name Flexirene FG30 ® were used as model matrices. LDPE is produced by high pressure/high temperature autoclave polymerization favorable to create long-chain branched (LCB) macromolecules with some short-chain branched (SCB) macromolecules on the sides of the polymer backbone [START_REF] Ward | Structure and Properties of Oriented Polymers[END_REF]. On the other hand, linear PE is produced by the copolymerization of ethylene and butene which leads to the formation of short chain branches of 4 carbon length (i.e., ethyl). The main properties of the LDPE and LLDPE matrices given in the supplier datasheets are presented in Table 1.

Three additional blends consisting in various amounts of LDPE/ LLDPE (20/80%, 50/50% and 80/20% LDPE/LLDPE w/w) were studied. Pellets of LLDPE and LDPE were directly dried mixed and meltcompounded in the extruder.

LDPE, LLDPE and their blends processing

Cast film extrusion was performed with a laboratory-scale extruder Polylab system composed of a HAAKE RheoDrive4 motor unit/torque rheometer with three thermoregulated zones coupled with a HAAKE Rheomex 19/25 OS single screw extruder (with a Maddock screw). The extruder temperature barrel was fixed between 210 and 220 °C and the die at 230 °C. The screw speed was kept constant at 100 rpm. The extruder unit was equipped with a fish-tail designed die to process the molten polymer into a film. The die width was l 0 = 270 mm and the die gap was set at e 0 = 0.45 mm. The system was piloted by PolySoft OS ® software to set and control temperature zones, screw speed and torque (internal pressure). The extruder was connected to the air network which provides ambient temperature air to cool the hopper zone. The stretching of the molten polymer was carried out with a floor standing two-roll haul-off Thermo SCIENTIFIC unit with line speed ranged between v x = [1-11] m/min, cooled at 7 °C by rustproof liquid with a HAAKE Phoenix II P1 thermostat (Thermo SCIENTIFIC) equipped with a regulated speed pump.

A stretching distance of X = 135 mm was chosen, so that the polymer crystallization occurs only when being quenched onto the rolls (i.e., there is no more deformation as soon as the film touch the rolls [START_REF] Jay | Memory effects in crystallization of polypropylene during cast film extrusion[END_REF]). et al., 1992)) and the second stage that can be modeled using a purely thermal model of the polymer crystallization occurring onto the rolls [START_REF] Jay | Memory effects in crystallization of polypropylene during cast film extrusion[END_REF].

The first mathematical and physical description of the cast film process was introduced by Pearson in 1966 [START_REF] Pearson | Mechanical Principle of Polymer Melt Processing[END_REF] and then by [START_REF] Sergent | Etude de deux procédés de fabrication de films. Le soufflage de gaine[END_REF][START_REF] Sergent | Etude de deux procédés de fabrication de films. Le soufflage de gaine[END_REF]. These authors considered the process as isothermal (i.e., it did not take into account the polymer solidification) and the stretching was assumed as being unidimensional. Moreover, the molten polymer was considered as a Newtonian fluid. Later, Cotto et al. [START_REF] Cotto | Cast film extrusion of polypropylene films[END_REF]) used a thermomechanical model for the overall process that took into account the polymer crystallization to relate the influence of the temperature of the rolls on the formation of crystalline structures and morphologies. This thermomechanical behavior was used to build a process modeling based on the growing of the internal residual stress into the primary film, and a purely thermal model reflecting the crystallization related to the cooling on the roll was used for the second stage of the process. In their model, Cotto et al. used an approximation of the stress by using a simplified isothermal Newtonian model and by assuming a constant width even though they experimentally observed a slight contraction of the film during stretching in air. In addition, the model considered a mean elongation rate and a variation of viscosity with temperature described by an Arrhenius law. According to this modeling, the evaluated residual stress stored in the polymer film (homopolymer isotactic polypropylene PP) ranged between 4.45 x10 3 Pa and 1.762 x 10 4 Pa. The objective of this study was to correlate the microstructure of a series of PP films with their processing conditions. Indeed, it was already well-known that for an increasing flow intensity, the following morphologies are likely to be observed: spherulites, ellipsoidal spherulites, sheaf-like and finally cylindrites (as proposed in Keller's row-nucleated morphology model [START_REF] Keller | Oriented crystallization in polymers[END_REF]). Here, they found that the morphological features were not affected by the narrow range of stresses tested.

More recently, [START_REF] Barot | Modeling the film casting process using a continuum model for crystallization in polymers[END_REF]) used a combination of a generalized Maxwell model considering the melt as viscoelastic and a non-Hookean model to describe the transition of the molten polymer from a viscoelastic fluid to an elastic solid. However, they found out that the initial thickness taken into account as a boundary condition was over-estimated probably due to the fact that they neglected the "die-swell effect" and also because they used a single element of Maxwell. Even though the viscoelastic behavior would have required multiple relaxation mechanisms to be modeled adequately.

Even if a lot of efforts have been made in the modeling of the polymer film casting process over these past 30 years, only a few papers reported experimental data for model validation. In the present study, it is proposed an innovative modeling method to predict the shrinkage stress from the internal residual stress stored by the polymer film during the cast film extrusion process.

During processing, the molten polymer behaves as a non-Newtonian incompressible viscoelastic fluid and then undergoes large deformations and rapid cooling onto the thermostated rolls, resulting in a semicrystalline solid film. Thereby, all the deformations take place before the material touches the rolls where the film undergoes a rapid quenching. On this basis, the tailor-made procedure of the modeling of internal residual stress and comparison with shrinkage stress was conducted as follows:

Lamberti et al. [START_REF] Lamberti | Measurement and modelling of the film casting process. 1. Width distribution along draw direction[END_REF] have proposed to increase the distance from the die to the roll (take-up distance) usually used for industrial purpose in order to compel the crystallization to occur during the path in air. This would require taking account for the crystallization when modeling the width of the film during the stretching. Although our model does not consider the crystallization, the reduced distance between the die and the chill roll leads to consider a biaxial solicitation: depending on the draw ratio, the temperature and the material architecture, this solicitation will extend from uniaxial tensile one to pure shear one. This aspect requires having a method for measuring the biaxial deformations in the plane of the film.

The velocity of the melt at the die exit v 0 is given by Eq. ( 1).

= v m ρ S Ṫ 0 0 (1)
where m ˙is the mass flow rate, ρ T is the melt density and S 0 is the cross section of the die. The mass flow rate was evaluated by weighing the melt extrudate during 2 min (in triplicate for checking reproducibility). An approximation was made on the melt density ρ T by using the density at am- bient temperature ρ reported in Table 1. Table 2 summarizes the mass flow rate m ˙and velocity of the melt at the die exit v 0 for the different materials used in this study.

The take-up speed v x was measured thanks to a contact velocimeter. The take-up velocity of the rolls was used to control the draw ratio DR given in Eq. ( 2) and all the processing variables were kept constant for all tests (temperature, screw speed and distance). The biaxial deformation leads to define also a contraction ratio CR given in Eq. 3) where l x is the final width of the solid film, and l 0 is the width of the die.

= DR v v x 0 (2) = CR l l x 0 (3)
Every formulation was processed under the same operating conditions and stretched at increasing rates which are v 1 = 61.4 mm/s to v 6 = 170.9 mm/s. Furthermore, for sake of simplicity, the logarithm of DR and CR denoted E _ L M ("M" for machine) and E _ L T ("T" for transverse) were respectively used for representation. All relevant parameters are listed in Table 3.

The DR being dependent on the velocity of the melt, which is itself dependent on the density of the material, justifies the difference in kinematic ranges tested for each blend and therefore the convenience of using the notation v 1 to v 6 for take-up speeds.

The width of the solid films after chill rolls cooling exhibits different behaviors depending both on the stretching rates and the film composition (Fig. 1a). It can be observed that whatever the take-up velocity the film width is greater for LDPE and LDPE/LLDPE blends containing more than 50% LDPE. Final width (given by the contraction ratio) of LDPE-rich blends remains insensitive to the draw ratio up to the take-up speed v 4 and then slightly increases for higher draw ratios. Conversely, LLDPE width decreases continuously from low to high draw ratios. These results suggest that all films containing LCB experience a different plane strain according to the draw ratio value compared to LLDPE film that exhibit a linear chain structure. It can be assumed that adding LCB in blends prevents the film from reducing its width for the same fixed processing parameter. It highlights the importance of well characterizing the in-plane strain profile used as boundary conditions in the process modeling.

E _ L M as a function of E _ L T is plotted in Fig. 1b. As a matter of fact, these results highlight that even when processed under similar processing conditions, in which the longitudinal displacements are imposed, and transversal are undergone, the material mechanical response in strain fluctuates. These results suggest the necessity to characterize the rheological behavior in the molten state to explain the strain path undergone by the material during the stretching and its dependence on the material formulation.

Experimental methods

Rheological measurements

The dynamical rheological measurements of LLDPE, LDPE and their blends were performed using a strain-controlled rheometer ARES (TA Instrument) equipped with a 25 mm parallel-plate geometry in oscillatory shear mode. Prior experiments consisted in strain sweep tests at 100 rad/s for each testing temperature to determine the linear viscoelastic domain. The strain value used for all oscillatory experiments was γ = 5%. Frequency sweep at strain γ = 5% were performed within the frequency ω range from 100 to 0.01 rad/s. Sample preparation con- sisted in the superposition of films to obtain an approximate thickness of the molten polymer of 0.8 mm after adjusting the gap between the two plates.

All measurements were reproduced twice and were well reproducible. Time sweep were conducted at γ = 1% and 5%, and ω = 1 rad/s to check that no thermal degradation occurred during the Table 2 Processing parameters of LDPE, LLDPE and their blends: m˙ mass flow rate; v 0 velocity of the melt at the die exit.

frequency sweep test. The viscoelastic parameters, namely, dynamic viscosity (η), storage modulus ( ′ G ), loss modulus ( ′′ G ), complex visc- osity (η * ) and loss angle (δ) [START_REF] Ferry | Viscoelastic Properties of Polymers[END_REF] were recorded by using TA Orchestrator ® (TA Instrument) software.

The testing temperatures (150 °C, 170 °C and 190 °C) were chosen so that the polymer was above its melting temperature (to avoid any crystallization effects) and below a temperature where the material might undergo instabilities or degradation due to e.g., thermo-oxidation. These conditions constitute real experimental limitations for one who attempts to model the material behavior that undergone a larger range of temperature in the process.

In this work, the isochoric viscoelastic behavior is modeled through a hereditary integral: the Piola-Kirchhoff stress tensor at a time t, S t ( ), is related to the deviatoric part of the Green-Lagrange strain tensor E t ( ) by the following equation [START_REF] Green | The mechanics of non-linear materials with memory[END_REF]:

∫ = - S E t G t λ dev λ dλ ( ) 2 ( ) ( ˙( )) t 0 ( 4
)
where G is the relaxation function which can be expressed in the form of Prony series:

∑ ∑ = - - = = ∞ ∞ = - = G t G G G ψ t ψ t w e w ( ) ( ) ( ), ( ) with 1 k N k t λ k N k 0 1 1 1 1 k (5)
∞ G and G 0 are the shear modulus, ∞ G is equal to zero at infinitely long time for molten polymers and λ k are discrete relaxation times. This latest formulation is so-called the Generalized Maxwell Model (GMM (Laraba-Abbes et al., 2003a, 2003b)).

In the case of oscillatory shear tests at w frequency, the shear

component of E t ( ) is = E t γe ( )
iwt and the shear component of S t ( ) from Eq. ( 4) is:

∑ = ⎡ ⎣ ⎢ - - + ⎤ ⎦ ⎥ ∞ ∞ = S t G G G w w iλ iwλ E t ( ) 2 2( ) 1 ( ) k N k k k 0 1 (6)
The storage and loss modulus can be therefore written as:

∑ = ⎡ ⎣ ⎢ - - + ⎤ ⎦ ⎥ ∞ ∞ = G t G G G w ω λ ω λ ( ) 2 2( ) 1 k N k k k ' 0 1 2 2 2 2 (7) ∑ = ⎡ ⎣ ⎢ - - + ⎤ ⎦ ⎥ ∞ = G t G G w ωλ ω λ ( ) 2( ) 1 k N k k k '' 0 1 2 2 (8)
4.2. Optical methods

Photomechanical analysis by digital image correlation

To model the internal residual stress developed during the stretching of the films, boundary conditions of strain and temperature profiles should be determined as accurately as possible from the die exit just after the die-swell region to the roll generator (X = 135 mm). To take into account every single phenomenon occurring during the cast film process, the die-swell region (i.e., where the polymer swells at the die exit due to normal stresses in the melt) has to be considered.

To achieve this determination, a photomechanical analysis coupled with digital image correlation and infrared thermography were used. These methods allow to depict both temperature and strain profiles from the die (X = 0) where the material has not been stretched yet (where the temperature is roughly the one of the polymer melt in the die of the extruder) to the chill roll. To avoid the well-known "dog bone" defect (also known as "edge beads defect", i.e., thickening of the films at boarders) already reported by many researchers [START_REF] Agassant | Cast film extrusion[END_REF][START_REF] Demay | An overview of molten polymer drawing instabilities[END_REF][START_REF] Lamberti | Measurement and modelling of the film casting process. 1. Width distribution along draw direction[END_REF], digital image correlation and infrared thermography has been exclusively carried out in the central zone of the films.

The boundary conditions also require the knowledge of the strain at the roll generator. This was achieved by means of both an interpolation to obtain smooth strain profile and an extrapolation to determine the boundary conditions of strain and temperature on the roll (X = 135 mm).

Digital image correlation

Image correlation or "map-matching" techniques are part of optical methods used to measure the displacement fields on a surface sample by comparing pictures acquired at different states of strain [START_REF] Caro-Bretelle | Dissipative behaviour analysis of beprocessed polyethylene terephthalate using digital image correlation and updated finite element analysis[END_REF]Laraba-Abbes et al., 2003b, 2003a). This technique has been used to monitor the displacement and strain in drastic conditions such as the ones encountered at the surface of a molten polymer during processing [START_REF] Boulahia | The Use of the DIC Method to Involve the Strain Instability Occurred in an Undergoing High Shear During the ECAE Process[END_REF][START_REF] Muniandy | Online strain measurement during blown film extrusion[END_REF].

A high-resolution charge-coupled device camera (Redlake Megaplus II, 1920 × 1080 continuous and square pixels, coded in 256 grey levels) was fixed to a linear stage and positioned so that the whole stretching zone of interest was recorded. The magnification was fixed up to 260 μm/pixel to keep the camera static and avoid distortion (out-ofplane) effects caused by the film thinning during the stretching. Images were recorded at a frequency of 10 Hz. The optical axis of the camera remained perpendicular to the in-plane surface of the specimen during the test. The two-dimensional coordinate system of the image corresponds to the stretching machine direction (MD) and transverse direction (TD) (Fig. 2). This coordinate system can be considered as a principal referential. From this point of view, the shear plane strain is not evaluated in the sense that it can be considered null. To improve the contrast between the translucent molten polymer and ambient white light source, a carbon black powder was used as an optical signature. The acquisition was launched when a stationary state was reached.

The digital image correlation, carried out after the test, is based on direct image correlation computation, leading to subpixel accuracy on the two-dimensional displacements components. Digital image correlation was performed with an in-house developed software, CinEMA ® (Caro- [START_REF] Caro-Bretelle | Dissipative behaviour analysis of beprocessed polyethylene terephthalate using digital image correlation and updated finite element analysis[END_REF]Laraba-Abbes et al., 2003b, 2003a). As a matter of fact, a sequence of pictures is chosen so that (i) the first image shows the signature the closest as possible to the die and (ii) the last image shows the signature the closest as possible to the frozen line, i.e., at the rolls generator, where the material strain does no longer change (Fig. 2). A virtual square mesh of 5.2 by 5.2 mm² on the sample is used to achieve digital image correlation in the center of the die where the stretching is supposed to be as homogeneous as possible.

From two treated images, a correlation calculation is made at every meshing point. Distance between two adjacent mesh points denoted Gs for Grid Step corresponds to the gauge lengths. Thus, stretching ratios have been measured using relative displacements between points: as shown on the Fig. 2. points 4 and 5 are used to evaluate the longitudinal stretching in the machine direction (e _ L M ) and points 1 and 4 are used for transverse one (e _ L T ). This new notation of the deformation is used to differentiate E _ L M and E _ L T determined by the so-called global analysis from those determined locally by photomechanical analysis. The choice of the Grid step length is a compromise between two constraints: firstly it has to be large enough to increase sensitivity for strains and secondly small enough to represent accurately the strain state as close as possible to the die.

Assuming the extra diagonal terms of the logarithmic strain tensor are equal to zero (stretching direction and x coordinate both coincide with the MD), it leads to the in-plane logarithmic strain tensor components:

⎜ ⎟ = ⎛ ⎝ - - ⎞ ⎠ = e L n x t x t x t x t Ln λ t | _ | ( ) ( ) ( ) ( ) ( ( )) L M t x 4 5 4 0 5 0 (9) ⎜ ⎟ = ⎛ ⎝ - - ⎞ ⎠ = e L n y t y t y t y t Ln λ t | _ | ( ) ( ) ( ) ( ) ( ( )) L T t y 1 4 1 0 4 0 (10)
Where x t y t ( ( ), ( ))

i i
correspond to the coordinates of the point "i" of the mesh at the time "t" and λ t λ t ( ), ( )

x y are the in-plane components of the strain gradient F , namely principal elongations.

In addition to the previously mentioned global analysis, the photomechanical analysis allows depicting the strain path over time during the stretching and has been exclusively carried out in the central zone of the films where the deformations are more homogeneous.

However, regarding the high take-up speed tested (from v 1 = 61.4 mm/s to v 6 = 171 mm/s), the digital image correlation pro- cedure was not able to give a satisfactory correlation rate over the entire stretching distance due to excessive deformation increment between two successive images next to the chill roll. Moreover, the prediction of the internal residual stress implies knowing the boundary conditions in terms of temperature and strain from the starting to the end of the stretching stage. Thus, it was required to interpolate the curves describing the evolution of in-plane logarithmic strain components with distance from the die (given by "X " coordinate of the point 4 see Fig. 2). Then, the values of these components at the roll point (X = 135 mm) were extrapolated. Longitudinal and transversal interpolation/extrapolation as a function of the die distance (at X = 135 mm) according to the experimental data are shown in Fig. 3a andb, respectively in the case of LDPE.

The e _ L M and e _ L T strain profiles at low take-up speed (v 1 ) were found to be well fitted by the three parameters of the following equation Eq. ( 11). Assuming that the strain evolution with the distance from the die is similar at higher velocity, the e _ L M and e _ L T data from v 1 to v 6 were thus also fitted with Eq. ( 11).

=

-- y A e (1 )

B CX ( ) (11)
where A, B and C are the three variable parameters, y being replaced by either e _ L M or e _ L T Then, this equation was used to extrapolate the strain from the last distance correlated to the frozen line at X = 135 mm (where the strain no longer changes).

Temperature profile

Infrared thermography was performed to determine the temperature profile along the machine direction using an infrared pyrometer Optris ® PI 160 120 Hz with 160 × 120 pixels resolution detector and PI connect software. The spectral range of the infrared camera is comprised between 7.5 and 13 μm. The pyrometer was set at 50 cm above the molten polymer film to avoid contact and so that the entire stretching area could be measured. This distance is also the standard distance suggested by the camera supplier. The resolution of the area was 1.25 mm/pixel.

DMTA measurements

Restrained shrinkage tests were performed using a Dynamic Mechanical and Thermal Analysis DMTA 50 01dB-Metravib with a 0.01 N sensitivity transducer. DMTA was used upside down so that the moving part of the frame could be immersed in a thermo-regulated oil bath. Film samples of 35 mm length and 10 mm width were precisely cut along the machine direction and clamped at a fixed gauge length of 23 mm. Moreover, because of the aforementioned inhomogeneous deformations along the transverse direction, the choice of this zone is considered to be more representative of the final film properties, especially the shrinkage, which was carried out on the same representative area.

The sample was mounted between the two clamps, held taut, allowing a slight static pretension by means of the moving clamp. The restrained shrinkage test consists to measure the force released when immersing the sample into an oil bath maintained at 130 °C. During the test, the distance between clamps was maintained constant in order to avoid the sample to shrink longitudinally (restrained shrinkage). The resulting shrinkage stress was determined at the maximum force peak as the ratio between the growing force and the thickness of the initial section of the sample. The recording of the force was launched when the frame was lowered manually into the bath. Each test was reproduced at least 5 times per blend.

Numerical modeling

The model presented in Eqs. ( 4) and ( 5) has been implemented in its differential form through the use of internal variables. Eqs. ( 4) and ( 5) are equivalent to:

∑ ∑ = + - - - = + ∞ = ∞ ∞ = S E E α E X t G dev t G G λ dev t t G dev t t ( ) 2 ( ( )) 2( ) ( ( ( )) ( )) 2 ( ()) () k k k N k k N 1 0 1 (12) with = - ≤ ≤ α E α λ t dev t t k N ˙( ) ( ( )) ( ), 1 k k k (13) The parameters ∞ G , = ∑ G G k 0 , λ k , ≤ ≤ k N 1
, are known from Table 4.

In the case of biaxial solicitation, the strain tensor E, the stress tensor S and the internal variables α k , ≤ ≤ k N 1 can be written in a tensorial form: . Moreover, -α t ( ) i p 1 can be deduced from differential equations Eq. ( 12), their components being assumed null at = t 0. For example, the component along z at = t t p can be estimated from its component at = - t t p 1 thanks to the equation:

= ⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ = ⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ = ⎛ ⎝ ⎜ ⎜ ⎞ ⎠ ⎟ ⎟ E S α E E E S S
= + ⎛ ⎝ - - + + ⎞ ⎠ ≤ ≤ - α t dt λ dt E E E α t k N ( ) 1 3 1 3 2 3 ( ) , 1 zk p k x y z zk p 1 (15)
The same kind of equation is solved to estimate α t ( )

x k p and ⩝ ∈ … α t p n ( ), [0 ] y k p . At =
t t p , we can evaluate S t ( ) x p et S t ( ) y p thanks to Eq. ( 12). These equations, implemented in MATLAB ® , allow to depict the evolution of the internal residual stress (according to the direction x and y) taking into account the evolution of the behavior of material identify from previous shear tests (which allow the identification of G 0 ,

∞ G and for = … k N τ w 1 , , k k
) and according to the strain/temperature profiles measured through DIC/ infrared thermography (as boundary conditions). The nominal stress tensor is computed from the second Piola Kirchhof tensor via the relation:

= - σ det F FSF ( ) t 1
where F is the strain gradient.

Results and discussion

6.1. Boundary conditions

Rheological behavior of LDPE, LLDPE and their blends

In a first place, the sets of rheological parameters G λ { , } k k given by (Eqs. ( 7) and ( 8) were identified based on a generalized Maxwell model associated with N = 7 elements for LDPE at 3 temperatures 150 °C, 170 °C, and 190 °C. The identification was performed by minimization (least-mean squares) between the numerical values of ′ G , ′′ G and the corresponding experimental data obtained through oscillatory shear.

Loss and storage experimental moduli of LDPE were fitted by generalized Maxwell model as represented as an example in Fig. 4 and sets of G λ { , } k k parameters are listed in Table 4. Smooth fits were obtained for all polymer blends. This identification highlights the requirement to extrapolate the data of the generalized Maxwell model sets of parameters for the loading conditions undergone during the process. The behavior under small strain (γ = 5%) is extrapolated to predict the behavior under larger strain and larger temperature scale experienced during the process.

As previously discussed, differences in molecular structures (longchain/short-chain branching) may result in different rheological behaviors under the same solicitation and therefore in different moduli and relaxation times (i.e., longer times are required for the LCB to relax compared to that of linear). Therefore, the sets of parameters of relaxation strength moduli and relaxation time G λ { , } k k were implemented in the predictive model of the internal residual stress. In addition, these sets of rheological parameters were also dependent on the temperature profile over the stretching zone.

Photomechanical analysis

The strain profile (e _ L M as a function of e _ L T ) of LDPE and LLDPE obtained for the two extreme values of take-up speeds (v 1 and v 6 ) through DIC are presented in Fig. 5. LDPE strain profile shows that the deformation takes place almost only along the machine direction while a substantial e _ L T strain is noticed in the case of LLDPE, whatever the take-up speed.

Furthermore, due to excessive velocity of the film, it is important to point out that the higher the take-up speed, the smallest is the distance that could be reached with the DIC. Insofar, for the highest speeds, the correlated distance from the die decreases and the extrapolation had to be done on a greater distance for high speeds than for low ones.

k λ k G k w k G k w k G k w k 0 0
1.49.10 5 -1.35.10 5 -1.11.10 5 -1 1 0 -4 2.3.10 -4 1.54.10 -9 2.3.10 -4 1.71.10-9 2.3.10 -4 2.08.10 -9 2 1 0 -3 5.49.10 -4 3.6.10 -9 5.49.10 -4 4.07.10 -9 5.49.10 -4 4.97.10 -9 3 1 0 -2 9.39.10 4 6.3.10 -1 8.92.10 4 6.61.10 -1 7.64.10 4 6.91.10 -1 4 1 0 -1 3.52.10 4 2.4.10 -1 3.09.10 4 2.29.10 -1 2.43.10 4 2.20.10 -1 5 1 1.57.10 4 1.0.10 -1 1.21.10 4 8.95.10 -2 8.35.10 3 7.55.10 -2 6 1 0 1 4.05.10 3 2.7. 10 -2 2.50.10 3 1.86.10 -2 1.40.10 3 1.27.10 -2 7 1 0 2 5.72.10 2 3.8.10 -3 2.14.10 2 1.59.10 -3 7.93.10 1 7.18.10 -4 Table 4 Identification of GMM parameters for LDPE at 150 °C, 170°C and 190°C.

5. Numerical modeling. The simulated internal residual stress stored in LDPE, LLDPE and 50/50% LDPE/LLDPE blends as a function of the time required to reach the roll generator (X = 135 mm) is represented in Fig. 7. Whatever the PE formulation and the take-up speed, it can be observed that the ultimate internal residual stress remains low below 4 × 10 5 Pa.

For LLDPE at v 1 , the time at which the internal residual stress starts to increase almost exponentially is approximately 5 s whereas at v 6 , this time is almost twice lower. For LDPE, the time at which the internal residual stress increases significantly is approximately 1 s whatever the take-up speed. The 50/50% LDPE/LLDPE blend exhibits an intermediate behavior. The stress deviates at 2.5 s at v 1 and at approximately 1.5 s at v 6 . At the lowest take-up speed v 1 , the internal residual stress appears to grow sharply at lower times, this phenomenon being more pronounced for higher amount of LDPE. From these findings, it can be proposed that LCB contained in LDPE result in higher entanglements which promote an earlier storage of the internal residual stress compared to the linear structure of LLDPE. Moreover, the behavior of the blends seems to indicate that the time required to store a defined level of stress during the stretching is related to the LCB content, i.e. the amount of LDPE in the blend is well correlated to the time required to store a defined level of stress during the stretching. Furthermore, increasing the take-up speed leads to similar effect than increasing LCB content, an earlier and more pronounced increase of the internal residual stress stored in the polymer melt. As a matter of fact, it was shown that LCB content was well related to the characteristic relaxation times of the chains and that LLDPE always exhibited lower relaxation times than LDPE rich-blends. Therefore, it can be suggested that increasing the speed prevents the chains from relaxing in the time of the stretching stage.

Comparison between simulated internal residual stress and measured shrinkage stress

Restrained shrinkage experiments in DMTA were carried out on all films and for all take-up speeds. When the sample was immersed in the oil bath maintained at 130 °C, a shrinkage force, corresponding to the relaxation of the films frozen in a stretched state at the end of the film extrusion process, can be recorded. When the films were totally relaxed, the recorded force suddenly drops down and the sample was manually pulled off the oil bath. Therefore, the force spectrum exhibits a peak which is defined as the shrinkage force. Fig. 8 presents the experimental restrained shrinkage stress versus the LDPE weight fraction.

It should be emphasized that all the internal residual stress accumulated during the stretching process is expected to be released instantaneously during the shrinkage experiments. Indeed, the quenching at 130 °C is sufficiently fast to allow the stress to be quasi-instantaneously released, i.e., preventing the polymer chains to relax and rearrange slowly which would compensate the sudden stress release by a slow conformational change recovering the deformation.

Whatever the take-up speed considered, the LDPE always exhibits a higher shrinkage stress than LLDPE. LLDPE shrinkage stress at v 1 (1.69 × 10 4 Pa) is approximately four times lower than those at v 6 (6.71 × 10 4 Pa) but the values remain low compared to those recorded for LDPE. Indeed, the shrinkage stress of LDPE increases from 6.56 × 10 4 Pa at v 1 to 1.91 × 10 5 Pa at v 6 . Even though the 20/80 LDPE/LLDPE blend exhibits shrinkage stress values that increased according to the take-up speed, this observation is not confirmed for the other blends and for LDPE. Moreover, no final conclusion can be drawn from the behavior of the pure matrices and the LDPE/LLDPE blends at a given take-up speed. Shrinkage stress seems though to highlight a Therefore, the extrapolation is more accurate for low take-up velocities than for higher ones.

Temperature profile

Fig. 6 presents the temperature profiles between the die and the chill rolls for LDPE and LLDPE for at the extreme values of DR (v 1 and v 6 ). The temperature at the die was set at 230 °C for all experiments. It should be pointed out that the temperature profiles of all polymers exhibit a shoulder at the die exit. The temperature on the stretching distance ranges from 245 °C to 85 °C when touching the roll. No major difference in the temperature profiles measured was noticed between v 1 and v 6 for the LLDPE whereas the temperature profile of LDPE at low take-up speed is similar to LLDPE ones but greatly differs at high takeup speed. Besides, the LDPE v 6 profile shows a higher cooling rate which could be attributed to the higher thickness reduction compared to the others.

These temperature profiles suggest that the polymer does not crystallize before it touches the chill rolls (T c = 102°C) .

Simulated internal residual stress

From the knowledge of the boundary conditions that constitute rheological parameters, strain and temperature profile presented in Section 6.1, the internal residual stress stored during the stretching of the films was simulated according to the equations presented in Section synergistic effect for the blends, but this synergistic effect does not follow any particular law, being sometimes negative or positive and seems to be shifted on blend compositions for the various take-up speeds. The largest discrepancies in shrinkage stress according to the take-up speeds is found for the 50/50% LDPE/LLDPE blend which increases by more than a decade from v 1 to v 6 .

The simulated data of the internal residual stress are compared to those of the restrained shrinkage stress obtained by DMTA experiments (Fig. 9) for LDPE and LLDPE.

The simulated internal residual stress and experimental restrained shrinkage stress exhibit values in the same order of magnitude although the simulated values are systematically higher than the measured ones. Moreover, larger discrepancies are found for take-up speeds larger than v 3 , especially for LLDPE. Interestingly, LDPE simulated internal residual stress and shrinkage stress are close, even for high take-up speeds, even though the model deviates strongly above the take-up speed v 5 .

Several hypotheses could explain the deviations of the modeled residual stress compared to those of experimental restrained shrinkage. As mentioned above, the higher the take-up speed (velocity), the greater distance extrapolated is needed to depict the strain between the die and the roll. Also, even though the process involves large deformations, we choose a model for small deformations, in the linear viscoelastic domain.

The generalized Maxwell model was fitted on rheological data obtained from shear tests in the linear viscoelastic domain (at γ = 5%) and extrapolated at higher deformations and larger temperature scale undergone by the melt during the stretching. Indeed, the highest value predicted from DIC E _ L M = 3.43 obtained for the LLDPE at v 6 corre- spond to a dilatation of 3000% which is out of the linear viscoelastic domain.

Finally, even though deviation have been found, it is worth mentioning that measured internal residual stress and simulated one are in the same order of magnitude which constitute an encouraging result.

Conclusion

The internal residual stress stored within the polymer film during the stretching phase of the cast film extrusion process has been modeled. First, a generalized Maxwell model with 7 elements was fitted on the storage and loss moduli data (for all LDPE/LLDPE compositions and for all temperatures) obtained through oscillatory shear tests. The resulting boundary conditions used sets of parameters G λ { , } k k , as associated with the temperature and strain profiles allowed to predict the biaxial stress undergone during the stretching process. The modeled ultimate stress stored in LDPE and LLDPE films was compared to the shrinkage stress measured by DMTA. Both stresses were found to be in the same order of magnitude.

Besides, the branched and linear materials revealed significant differences in their behavior. The global deformation response under the large elongation undergone during the stretching was found to be definitely biaxial for the LDPE whereas the LLDPE response was quasiuniaxial. This is an interesting result considering that LDPE and LLDPE were processed under the same operating conditions. These contrasted responses of the films under stretch have been justified by differences in their rheological behavior, primarily due to the presence of LCB in LDPE.

From the temperature profile, the generalized Maxwell model parameters were interpolated in the range of temperatures performed in the rheological tests and extrapolated out of this range. Moreover, the photomechanical analysis and digital image correlation were carried out to establish planar strain profiles. Smooth strain profiles were obtained at low velocities but the need of an extrapolation on a greater distance as the take-up speed increased was highlighted. This could constitute one possible reason explaining the deviation between modeled and experimental data of shrinkage stress. The strain profiles at high take-up speed may be obtained over the entire distance without any extrapolation required if using a high-speed camera.

The generalized Maxwell model is often used to describe viscoelastic (i.e., small deformations) polymeric melts. However, the non-linear behavior of the material during the cast film process requires extrapolations that may also constitute a valid reason for the deviation observed between the modeled internal residual stress and the shrinkage stress.

Numerical simulation constitutive equations were established corresponding to biaxial deformations.

Finally, the stress storage rate is such as the sensitivity of the time increment on the numerical value would require a deeper analysis.

Further work will consist in integrating non-linear rheological behavior of the matrix that could predict closely the reality of the blowing process. This is particularly true for LCB polymers that exhibit high strain hardening at high deformation rate like those encountered in the blowing process.

This work was a part of a Ph.D. aiming at substituting an oil-based matrix by a biodegradable biopolyester to demonstrate its potential use in heat-shrinkable film for packaging application. Therefore, the model could be applied to predict the residual stress of a potential new matrix of different architecture (e.g. crosslinked) to know if it would be suitable for this specific application.

Fig. 1 .

 1 Fig. 1. (a) Width of LDPE (○), LLDPE (+) and LDPE/LLDPE blends (⬜) 80/20%, (◇) 50/ 50%, (△) 20/80% and b) Global analysis as a function of the take-up velocity v x .

Fig. 2 .

 2 Fig. 2. Cast film extrusion: schematic principle of digital image correlation.

Fig. 3 .

 3 Fig. 3. Calculate strain distribution along center axis (a) MD (b) TD versus the distance from the die for LDPE at v 1 and v 3 . Full and open symbols represent experimental and interpolated/ extrapolated (at X = 135 mm) data respectively.

Fig. 4 .

 4 Fig. 4. Storage G ' (○) and loss G '' (◇) moduli experimental data fitted by the Generalized Maxwell Model (in dashed line) for the LDPE at 150 °C.Fig. 5. Strain profiles at extreme draw ratio evaluated through DIC. For (★) LDPE at v 1 (•) LDPE at v 6 and (▼) LLDPE at v 1 (▲) LLDPE at v 6 . Interpolation/ extrapolation are represented in dashed lines. The corresponding open symbols represent the extrapolated value at X = 135 mm.

Fig. 6 .

 6 Fig. 6. Experimental Temperature profile of LDPE at v 1 (○) and v 6 (•) and of LLDPE at v 1 (△) and v 6 (▲).

Fig. 7 .

 7 Fig. 7. Simulated internal residual stress profile of LDPE at v 1 (◇) and v 6 (+), 50/50% LDPE/LLDPE at v 1 (○) and v 6 (⬜), and LLDPE at v 1 (△) and v 6 (☓) versus time.

Fig. 8 .

 8 Fig. 8. Experimental shrinkage (residual stress) versus LDPE weight fraction for v 1 (+), v 2 (☓), v 3 ( ), v 4 (△), v 5 (⬜), and v 6 (○).

Table 1

 1 Density (ρ), 1 Melt Flow Rate (under a load of 216 kg at 190 °C), melting temperature (T m ) and structure of LDPE and LLDPE as given in supplier datasheets.

	Structure

ρ (g. cm -3 ) 1 MFR (g.10 min -1 ) T m (°C)

Table 3

 3 Take-up speed and corresponding final dimensions of LDPE, LLDPE and LDPE/ LLDPE blends: DR: draw ratio; CR: contraction ratio; E _

	LDPE/LLDPE	Denomination Velocity (mm/	DR	CR	_ E L M	_ E L T
	(%)		s)
	100/0	v 1	61.4	7.0	0.65 1.95	-0.43
		v 2	85.5	9.4	0.64 2.24	-0.44
		v 3	106.8	11.8 0.66 2.46	-0.42
		v 4	128.2	14.1 0.66 2.65	-0.41
		v 5	149.6	16.5 0.67 2.80	-0.40
		v 6	170.9	18.9 0.68 2.93	-0.38
	80/20	v 1	61.4	7.5	0.66 2.01	-0.42
		v 2	85.5	10.0 0.66 2.30	-0.42
		v 3	106.8	12.5 0.66 2.52	-0.42
		v 4	128.2	14.9 0.67 2.70	-0.40
		v 5	149.6	17.4 0.68 2.86	-0.39
		v 6	170.9	19.9 0.68 2.99	-0.38
	50/50	v 1	61.4	7.6	0.60 2.03	-0.51
		v 2	85.5	10.2 0.60 2.32	-0.51
		v 3	106.8	12.7 0.61 2.54	-0.50
		v 4	128.2	15.3 0.62 2.73	-0.48
		v 5	149.6	17.9 0.62 2.88	-0.47
		v 6	170.9	20.4 0.63 3.01	-0.46
	20/80	v 1	61.4	7.4	0.47 2.01	-0.75
		v 2	85.5	9.9	0.46 2.29	-0.78
		v 3	106.8	12.4 0.46 2.52	-0.78
		v 4	128.2	14.9 0.45 2.70	-0.79
		v 5	149.6	17.3 0.47 2.85	-0.76
		v 6	170.9	19.8 0.47 2.99	-0.75
	0/100	v 1	61.4	7.8	0.42 2.05	-0.87
		v 2	85.5	10.3 0.38 2.34	-0.97
		v 3	106.8	12.9 0.34 2.56	-1.08
		v 4	128.2	15.5 0.32 2.74	-1.14
		v 5	149.6	18.1 0.30 2.90	-1.20
		v 6	170.9	20.7 0.29 3.03	-1.24

L M : log (DR); E _ L T : log (CR).

Acknowledgments

Authors are embedded to the French Environment and Energy Management Agency-ADEME (no TEZ11-26) and to Ceisa Packaging Company (Bernay, France) for their financial support.