domain: spi sde

text:
Maud Rio
email: maud.rio@g-scop.eu

Tatiana Reyes
email: tatiana.reyes@utt.fr

Yacine Baouch
email: yacine.baouch@utc.fr

Romain Colon De Carvajal
email: romain.colon@insa-lyon.fr

Vincent Robin
email: vincent.robin@u-bordeaux.fr

Catherine Perpignan
email: catherine.perpignan@u-bordeaux.fr

Tom Bauer
email: tom.bauer@ensam.eu

Alexandre Mege-Revil
email: alexandre.mege-revil@centralelille.fr

William Bernaud
email: william.bernaud@laposte.net

Elie Lemarquis
email: elie.lemarquis@utt.fr

Alexandre Gaultier
email: alexandre.gaultier@utt.fr

Paul Saada
email: paul.saada@insa-lyon.fr

Integrating Sustainability in Industry of the Future Technological Learning Programs -A Platform to Co-create and Mutualise Course Experiences

Keywords: Design for sustainability, Ecodesign, Engineering Education, Collaborative Network, Common

come

Introduction

The socio-technical issues related to sustainability in today's industrial shaped worldwide economy required massive changes to refocus in a safe operating space that is the Earth [START_REF] Steffen | Planetary boundaries: Guiding human development on a changing planet[END_REF]. The ET-LIOS project financed by the French National Research Agency in 2020 supports sustainability in engineering to face the upcoming evolution for future industries. Six modules cover fundamental technological engineering skills, including one module on sustainable and responsible engineering for industrial actors. This paper focuses on this last module that aims to provide open-source teaching materials, and to train higher education teachers so that they can integrate sustainability (i.e. socioecological on short, medium and long-term) issues into their courses.

The research question investigated in this research is: how to support the integration of sustainability into engineering courses aligned with sustainable future requirements for industries? Three main barriers to the dissemination of knowledge on sustainability to higher education lecturer have been identified at the starting point in this research paper. Firstly, there is a plethora of fragmented course materials. However, their formats and contents are not adapted to properly fit the existing technological courses covered by teachers. Secondly, available courses on sustainability are scattered in several platforms. Concerned with a lack of time, and with very limited guidance support, higher education lecturers are therefore struggling to choose the training material in sustainability that would fit their discipline. The sequence to start with and the level of socio-ecological issues to address are unclearly prescribed. Thirdly, the existing materials rarely allow teachers to share their own skills and compose their course efficiently. These three main issues occur in the context of a sudden rising knowledge production of sustainability in engineering. An integrative approach of such contents has therefore been identified as a key requirement to answer the research question. This research paper therefore presents the collaborative proposition formulated by the twelve academic researchers and collaborators involved in this project to overcome these issues faced by engineering lecturers willing to integrate socio-ecological aspects into their engineering teaching. The proposition is meant to cover the following three objectives: to facilitate the diffusion of sustainability issues in engineering courses for higher education, to develop and maintain a sharing platform, and to secure a contribution and co-learning network of contributors.

Results presented in this paper show that the construction of the pedagogical materials allows identifying the targeted competences, the acquisition level adapted to an existing course, and additional pedagogical content organised on available strands. The proposed structuration supports teachers to elaborate sustainability-related contents in a flexible manner, and collectively. Teachers are enabled to pick and choose from a coherent pedagogical strand, to build their own course program, and to give it back to the community. In addition, an open-source collaborative platform supported by a trustable engineering network widely used in France (S.mart network: website link, consulted on the 28th of April 2022: www.s-mart.fr) support the teaching materials. Engineering lecturer can build, feed and share their courses and experiences within the engineering community. Feedback is requested in return to enable the hybridisation of contents across disciplines. The first experimentations conducted with teachers, and students are illustrated in this paper.

Section 2 presents the research context of the urgency for an integrative skill's sustainability-based approach in engineering teaching. Section 3 investigates the issues of sustainability knowledge dissemination faced by engineering teachers. Section 4 details the proposition of this research to overcome those issues and illustrates the application of the method proposed by an experiment conducted from March to June 2022 in engineering schools in France. The last section 5 concludes on the output of this research paper, and summarises the perspectives envisaged by the French community to ensure the future of the contributor network initiated, and its potential international connections.

The urge for an integrative skill's sustainability-based approach in engineering teaching

Faced with the ecological emergency [START_REF] Steffen | Planetary boundaries: Guiding human development on a changing planet[END_REF], and more particularly the climate emergency (IPCC, 2022). Immediate transitions of our (economic, political, cultural, etc.) models must take place at several levels of our society. For several years, initiatives with a more radical change objectives have emerged.

The Shift Project's transformation plan for the French economy (The Shift Project, 2022a), as well as the négaWatt scenario (Association négaWatt, 2021) are two relevant contemporary illustrations in France of the considerable and complex transformations required in the economy in the coming years.

Huge transformations may lead to unpredicted changes.

Engineers and Sustainability

In these well-nigh perceived issues of sustainability, the industrial system actors are facing a major contradictory injunction: integrating the long-term consequences of their activities on the environment, in the very short term into an extreme competitive market focused society. Industrial system actors ask for ambitious training to support them in bringing immediate concrete corrective actions, as well as being competent to lead profound changes in their activity. Complementarily at universities and engineering schools, training in sustainability engage this massive socio-technical-economic transformation required with the future engineering generation [START_REF] Grimal | Case study : Located pedagogical situations to improve global sustainable skills in engineering education and universities[END_REF].

Education and Sustainability

Many countries have given a prominent place to education for sustainable development (ESD) in their courses. From an early age and throughout their training course, learners are called upon to understand environmental, economic and social issues and to be trained in selection and decision-making. France and other European countries have changed their educational systems in order to integrate the concepts of sustainable development. ESD appears in programs from primary school to university with the aim of helping children, teenagers and young adults to identify their 'sustainable values', aligned with 'the five disciplines of learning organisations' report published in 1990 [START_REF] Senge | The five disciplines of learning organisation (Random House)[END_REF], and with the French University Guide for Sustainable Development andSocietal Responsibility published in 2016 (CGE / CPU, 2016). Such educational programs clarify the causal links between the acquired knowledge, and the societal practices in sustainability that occur. Importance is given to the improvement of complex thinking with forward-looking and systemic visions of the problems to be solved, as presented in 'the six dimensions of teaching the Great Transition' (FORTES, 2020), the 'skills for sustainability' [START_REF] Quelhas | Engineering education and the development of competencies for sustainability[END_REF] as well as 'the four areas of the Shift Project' (The Shift Project, 2022).

The Dissemination of Knowledge of Sustainability to Higher Education

Integrating sustainable development into technology curricula is slow and difficult [START_REF] Rose | Implementing a holistic process for embedding sustainability : A case study in first year engineering, Monash University, Australia[END_REF].

Different approaches presented by [START_REF] Lozano | Assessing sustainability in university curricula : Exploring the influence of student numbers and course credits[END_REF] are experimented today:

• Through a partial coverage of environmental and social issues in an existing course.

• In a dedicated sustainable development course added to the curriculum.

• Sustainable development presented as a concept in existing disciplinary courses.

• Sustainable development topics offered as a specialisation within the framework of specific training within an institution.

Study conducted by the Think Tank 'Shift Project' indicates that only 7% of French university courses address environmental issues in their training [START_REF] Vorreux | Mobiliser l'Enseignement Supérieur pour le Climat[END_REF].

The most popular approaches are either top-down based on lectures explaining the challenges of sustainable development, or transversal teaching elements relating to sustainable development in the courses of teachers volunteering. Sometimes, courses offer a specialisation module on environmental aspects (e.g. technological education at the master's level focusing on eco-design and life cycle analysis). Other countries such as Denmark switch from a 'nice to have' to a 'need to have' topic in the curriculum [START_REF] Olsen | Sustainability and LCA in Engineering Education -A Course Curriculum[END_REF]. In Mexico [START_REF] Lourdel | Méthodes pédagogiques et représentation de la compréhension du développement durable : Application à la formation des élèves ingénieurs [Phdthesis[END_REF] or Spain [START_REF] Segalàs | EDUCATION FOR SUSTAINABLE DEVELOPMENT GOALS IN SPANISH ENGINEERING DEGREES[END_REF] universities are trying to establish Bachelor curricula allowing the integration of sustainable development in technological training.

From these experiments, an additional approach to integrate sustainable development into technological training has been formalised by Lozano and[START_REF] Lozano | Assessing sustainability in university curricula : Exploring the influence of student numbers and course credits[END_REF][START_REF] Lourdel | Méthodes pédagogiques et représentation de la compréhension du développement durable : Application à la formation des élèves ingénieurs [Phdthesis[END_REF]: to develop a specific and integrated program, based on sustainability, which targets the demands of engineering professionals with this expertise.

The adapted pedagogical format to support interdisciplinary skills learning is still questioning students and teachers.

A diversity of lessons about climate change or energy efficiency topics are usually delivered in engineering schools. The environmental dimension of engineering is supported by methods to assess technologies: clean technologies, environmental impact assessment, efficiency, renewable sources, etc. However, pedagogical methods to support engineering students to find their role in this socio-ecological transition are rarely available and the associated ethics, the governance of such technology usage in the society, as well as the responsibility of the engineer in making a technological choice is barely mentioned in class, or not systematically addressed.

Teaching Sustainable Issues in Engineering

In this context, how to better support the integration of sustainability into engineering courses aligned with sustainable future requirements for industries to move towards socio-ecological issues? Three main issues related to the dissemination of sustainability skills in engineering curricula have been identified: 1) training, 2) technical and 3) operational. The analysis of these three issues in this section will allow clarifying the three main scientific barriers addressed in this paper.

Training Issues

To be competent to train students, teachers themselves need to be trained to sustainability. Studies published in 2021 show the lack of knowledge and competences on topics related to sustainability assimilated by teachers [START_REF] Imara | Integrating Education for Sustainable Development Competencies in Teacher Education[END_REF]. For [START_REF] Rampasso | An analysis of the difficulties associated to sustainability insertion in engineering education : Examples from HEIs in Brazil[END_REF], eleven difficulties related to the integration of sustainability in engineering education have been noted. In these difficulties some are related to pedagogical aspects and specially the 'lack of access to appropriate and constantly updated didactic material that contemplates all sustainability strands for engineering courses' [START_REF] Fenner | Embedding sustainable development at Cambridge University Engineering Department[END_REF][START_REF] Nowotny | Towards global sustainability : Education on environmentally clean energy technologies[END_REF].

Two surveys targeting engineering teachers from public and private spheres were conducted in France in 2021-2022 as part of this project. The results show the current difficulties faced by engineering teachers in the French context within the S.mart community (website links, consulted on the 28th of April 2022: www.s-mart.fr). Results were initiated during Perpignan (2021) doctorate research project.

The analysis of the answers to the surveys showed that the majority of the difficulties identified by [START_REF] Rampasso | An analysis of the difficulties associated to sustainability insertion in engineering education : Examples from HEIs in Brazil[END_REF] at the international level are also occurring in France. The interviewees expressed their lack of training and the lack of educational resources available to them to address the systemic vision, the historical, ethical and technical aspects related to sustainable development. This finding corresponds to the third and ninth difficulties stated by [START_REF] Rampasso | An analysis of the difficulties associated to sustainability insertion in engineering education : Examples from HEIs in Brazil[END_REF]. More than 80% of respondents were looking for training to help them integrate sustainability more precisely into their teaching.

Teachers ensure awareness and knowledge transfer by promoting deliberative exchanges, contacts and interactions with scientists, reasoning about controversies and 'fake news' through the implementation of projects [START_REF] Liu | In-service Teachers' Attitudes, Knowledge and Classroom Teaching of Global Climate Change[END_REF][START_REF] Monroe | Identifying effective climate change education strategies : A systematic review of the research[END_REF]. Teachers endorse a key role as students are often open-minded and interested in the scientific, social and ethical aspects of sustainable development and climate change. As shown by [START_REF] Tolppanen | Identifying and addressing students' questions on climate change[END_REF], teachers are sometimes confronted with highly challenging student questions. [START_REF] Bürgener | Sustainability competencies in teacher education : Making teacher education count in everyday school practice[END_REF] demonstrate the importance of the initial training of teachers and their access throughout their career to working methods, resources and tools allowing them to train and progress. Those crucial elements improve the quality of consideration of sustainability issues in training.

The teachers' training is therefore an additional major challenge in order to offer sustainable engineering education that is relevant, adapted to the students' needs and to support companies to handle the challenge of sustainability. Training a teacher cannot be reduced to providing a 'ready-to-use kit' of knowledge or lessons. In previous cited research, surveys showed that teachers are looking for a training process that helps them to design lessons as precisely as possible to their reality and to adapt the level and expectations of the students they are facing. This is especially true in the case of sustainability issues where knowledge is evolving extremely quickly and requires a holistic and interdisciplinary vision.

Technical Issues

The main technical issues faced by teachers are firstly the plethora of course materials available.

However, their format and content are not adapted to properly fit the existing technological courses they master. Secondly, available courses on sustainability are scattered in several platforms (e.g. funmooc.fr, uved.fr, eduscol.education.fr, enseignerleclimat.org). Concerned with a lack of time, and with very limited guidance support, higher education lecturers are therefore struggling to choose the training material in sustainability that would fit their discipline. The sequence to start with and the level of socioecological issues to address are unclearly prescribed.

Social Issues

First, the lack of engagement and supporting consideration by teachers, by program managers, engineering or technical schools, of the socio-ecological issues is a stumbling point. Inertia to modify academic programs is quite challenging to anyone willing to integrate them in their teaching activities.

Secondly, the existing materials rarely allow teachers to share their own skills, and compose their course efficiently, whether it is because colleagues do not want to share teaching materials or because it is considered as the property of the school that does not want to share it outside the educational institution.

Scientific Barriers of Knowledge About Sustainability to Engineering Education

Three main barriers to the dissemination of knowledge on sustainability to engineering education have been identified studying the technical, social and training issues in the previous sections. Firstly, there is a plethora of fragmented course materials of different formats and contents, and not adapted to properly fit the existing technological courses covered by teachers. Secondly, the courses are scattered in several platforms, with very limited guidance support to fit sequences into existing disciplines 28th International Sustainable Development Research Society Conference, Stockholm, 15-17 June 2022 material at a certain level. Thirdly, the existing materials are not meant to be shared to compose a course efficiently. The objective of the proposition developed in this paper is to overcome these three barriers, based on an integrative and holistic approach tested in France.

A Proposition for Teaching Sustainable Issues in Engineering Teaching

The proposition of this paper is a framework presented in the following section, and illustrated (on the first objective) by an experiment conducted from March to June 2022 in engineering schools in France.

The framework has been developed collaboratively in France through the ET-LIOS project financed by the French National Research Agency in 2020, aiming to support sustainability in engineering to face the upcoming evolution for future industries. Six modules cover fundamental technological engineering skills, including one module on sustainable and responsible engineering for industrial actors that is the focus of this paper. This last module aims to provide open-source teaching materials, and to train higher education teachers so that they can integrate sustainability (i.e. socio-ecological on short, medium and long-term) issues into their courses.

Conceptual Framework: Integrating Sustainable Issues in Engineering Training

Research Objectives and Proposition Specification

The framework proposed aims to meet three main objectives with the related propositions are specified in the following:

• The objective 1 is to facilitate the diffusion of sustainability issues in the existing engineering courses for higher education. The proposed solution is to develop a specific and integrated skillbased program for sustainable issues. The program is developed in an editorial chain software called Scenari-Opale [START_REF] Crozat | Scenari -La chaîne éditoriale libre : Structurer et publier textes, images et son[END_REF]. Specification to satisfy objective 1: skills and competencies should be defined, modules should be prototyped and experimented with teachers, teachers and students should be trained, and the acquired skills should be evaluated.

• The objective 2 is the necessity to develop and maintain a sharing platform: the resulting collaborative sharing platform called 'Ecocloud' is currently tested by the S.mart community in France.

Specification to satisfy objective 2: the design requirements of the teaching material sharing platform should be specified, the software functions and user interface should be tested, the capacity to maintain the platform has to be ensured in medium to long-term.

• The objective 3 is to secure a contribution and co-learning network, addressed by the creation of a 'common' as defined in the field of research initiated by [START_REF] Ostrom | Governing the Commons : The Evolution of Institutions for Collective Action[END_REF].

28th International Sustainable Development Research Society Conference, Stockholm, 15-17 June 2022 Specification to satisfy objective 3: the communication of the project should be ensured, the contributors to the teaching material and platform should be identified, the network to maintain the involved teachers, researchers, students, engineers, should be maintained over time.

Figure 1 summarises the framework addressed in this paper and the related research project agenda followed.

Figure 1: Research proposition overview

Integrating the Challenges of Ecological and Social Transition into Teaching

The first objective aims to train both teachers and students to sustainability with a proposed skills-based program and its contents.

A skills-based Framework to integrate sustainability issues into higher education training

A skills-based approach appropriated to interdisciplinary training has been chosen. The learning acquisitions are targeted by detailed objectives, allowing teachers to understand the ins and outs of sustainability issues (concrete benchmarks), and to easily integrate them into their teachings [START_REF] Blömeke | Modeling and Measuring Competencies in Higher Education[END_REF]Lozano, 2012). Teachers are able to combine resources of different nature: knowledge, knowhow and interpersonal skills together. Different levels of skill can also be combined, giving rise to observable results in learners (Barabel, 2020).

This framework was elaborated based on five sustainability-skill guides: the five disciplines of learning organisations published by [START_REF] Senge | The five disciplines of learning organisation (Random House)[END_REF] recommendations of [START_REF] Quelhas | Engineering education and the development of competencies for sustainability[END_REF], the six dimensions of teaching the Great Transition published in 2020 (FORTES 2020), and the four areas of The Shift Project report (2022b).

Each skill is described in a fairly similar way in these studies, with some variations in terminology depending on the sources, summarised in Table 1. From this literature review, the skills-based framework covers the system thinking, the prospective vision, the ethic, the change management, and the action skills categories.

Table 1: Corresponding skills of five skill-based frameworks in sustainability

The system thinking engages a worldwide vision answering the capacity to understand the Earth systems and the consequences of the human way of living on the natural ecosystems. The aim is to learn the general skills in sustainability and to be able to develop a personal thinking about this. The main disciplines are biology, the ecology (environmental sciences) addressing ecosystems, agroecology topics, as well as the notion of planetary boundaries [START_REF] Steffen | Planetary boundaries: Guiding human development on a changing planet[END_REF].

Developing the prospective vision aims to support the capacity to adopt an historical approach of the socio-ecological stakes, of the Anthropocene era, and then to build a critical view, allowing developing a prospective vision. This skill helps to be capable of preparing tomorrow's world, referring to scenarios, as well as future visions, by analysing, evaluating them, and anticipate consequences.

History, sociology or economy are key disciplines in that learning process. Topics include Collapsology, the rebound effects or Jevon paradox, as well as the Anthropocene sciences in general.

The ethic refers to the disciplines of psychology and philosophy that address the personal engagement and responsibility of the engineer (or teacher in engineering). The aim is to think about the role of the engineer, the capacity to evaluate actions, and to face the individual feelings and desires in an introspective manner. The values and responsibilities as an engineer, and as a human being is questioned. Topics include personal development as well as societal responsibility.

The skill referring to change aims to question the engineering technic mobilisation to answer a societal objective. In this view, technic is non-neutral and has a political effect. Disciplines involved include the epistemology, the design sciences, the sociology, economy and political standards. Life cycle assessment, ecodesign are subjects that are linked to this capacity to develop critical thinking and adopt a position facing changes, based on an environmental-impact assessment result for instance.

The last category of skills concerns the action and aims at answering the current sustainable issues by specific action mode. The capacity to co-design viable solutions, in an inclusive manner, equitable and sustainable ones, in a complex thinking manner describe this skill which can be acquired and used in all discipline. It is particularly useful in the student's project.

Table 2 summarises the information on the aforementioned skills into different categories: the aim, the covered topic, the main disciplines related, the describing skills' verbs, and the main topics addressed.

Verbs used

To act, to co-design, Any subjects suitable for student projects

A taxonomy for Efficient Customisation and Use of the Scenari Software

An editorial chain software has been used to support this content, called Scenari-Opale [START_REF] Crozat | Scenari -La chaîne éditoriale libre : Structurer et publier textes, images et son[END_REF].

Scenari is based on Extensible Markup Language (XML) and is an open-source software. One of the main Scenari's functionality is to enable the content of the form (display). The taxonomy inherited from the use of this software comprises three levels: strands, modules and courses.

First, the 'strand' covers a pedagogical goal and corresponds to students work time slot of 5 to 15 minutes. The format may support a definition, a diagram, a video, a small quiz, etc. Each strand has an adaptable content that has to be usable in an independent manner and can be used to complement an already existing course. A strand owns a pedagogical goal. This goal is defined in order to reach a skill.

A strand is composed of content but also metadata. Second, the 'module' refers to an assembly of strands. A standard example would be a two hours' canonical lecture or tutorial. Third, the 'course' gathers or combines several modules. A course can cover for instance a six-month student engineer program.

The major contribution of the framework is that the competencies are built based on this taxonomy (courses, modules and grains) which makes the content of the courses flexible, dynamic and appropriable by the teachers.

Scenari's functionalities allow managing any strands, modules and courses and to publish them in different formats, such as a web-based, Portable Document Format (PDF), Sharable Content Object

Reference Model (SCORM) that is a set of standards used for elearning software products. Therefore, the proposed software allows the customisation of the educational content proposed by the ET-LIOS project (covering the various modules for the Future of Industry).

Structuration of the Educational Content

To define an educational content available on a dedicated platform, a state of the art of lessons related to the various themes of the transition has been produced.

The content lists all copyright-free modules provided in the teaching units included in the proposed in the sharing platform: module units provided by the partner of the project, MOOCS, etc.

Finally, each skill is subdivided into several courses. Each course is divided into modules that are divided into strands. Strands are the smaller subdivisions and contain the teachings of the state of the art of lessons related to sustainable issues in engineering teaching.

Training Content and Methodology Specification

The training content for students is similar to the one for teachers. A skilled based program is proposed to teachers and students. The objective is to enable participants to acquire the level 1* skills for each of the five-sustainability skills related to sustainability issues in engineering.

The formation takes place within the framework of existing teaching units. The educational content experimentation phase is carried out during several training sessions. Each session occurs in a distinct higher education place: either from an engineering school or a University in France. The training is displayed in a hybrid format (face-to-face and remotely at the same time).

The sessions alternate with lectures, debates and participatory workshops presenting and practising contents from the educational modules. The training session also offers the opportunity for teachers to use the Scenari-Opale software. During this dedicated workshop, they are invited to create their own educational content based on the existing educational strands, and on their own case studies.

The tree levels of skills defined in this study are the following:

*Level 1: Become aware, conceptualise knowledge and skills, question yourself.

Level 2: Analyse a given problem with a critical eye.

Level 3: Position yourself in relation to a given problem, solve complex case studies and propose solutions and means of action.

Developing and Maintaining the Ecocloud Collaborative Platform over the Years

As part of the ET-LIOS project, the Ecocloud collaborative platform hosts all the aforementioned courses. Ecocloud is a collaborative platform supported by the Scientific Interest Group (SIG) S.mart.

It was born in May 2016 within the initiative of the interdisciplinary research team working on the transition towards the sustainability of socio-technical systems (CREIDD) of the University of Technology of Troyes. This platform offers a space for sharing material, methods, tools, and networking between academic, private actors and grassroots initiatives, about sustainable development in the context of the industry of the future. The courses are primarily intended for teachers wishing to integrate sustainability into their practices, but the resources will also be available to the general public.

They will also be made available to the community under a specific creative commons license: CC-BY-NC-SA 4.0. This license is composed of 4 acronyms: 'CC' means 'Creative Commons', 'BY' means that 'licensees may copy, distribute, display, perform and make derivative works and remixes based on it only if they give the author or licensor the credits (attribution) in the manner specified by these', 'NC'

for 'Non Commercial' means that 'licensees may copy, distribute, display, perform the work and make derivative works and remixes based on it only for non-commercial purposes' and 'SA' for 'Share Alike' means that 'licensees may distribute derivative works only under a license identical to [not more

restrictive than] the license that governs the original work'.

This public copyright license will ensure that the content provided on the platform is reusable, modifiable and distributable to as many people as possible. This concerns the courses' strands developed for each skill, as well as the exercises and the case studies. Therefore, the Ecocloud platform is a pool of resources for research and teaching, already used.

In medium to long-term perspective, any member of the SIG S.mart is invited to complete the training materials and case studies initiated during the ET-LIOS project, as well as to enrich the existing strand database. As of the date of the first experiment on March 30, 2022, around thirty modules have been created in Scénari and made available on the Ecocloud platform in the following formats: PDF, presentations, and websites. These modules have been created thanks to the participation of many contributors from partner universities.

Developing a Contributor Network

The third objective is to ensure the network continues and contributes over time. A network of contributors and co-learners are federated during the ET-LIOS project and integrated into the SIG-S.mart national network. Keeping-up the contributive dynamic is challenging. A step-by-step roadmap throughout the training sessions calendar is planned, associated with a contributor's membership chart that clarifies the values supported by this network and the engagement of the initiative. Trained teachers and students can then become contributors. They are invited to enrich the Ecocloud platform. In return they train other academics depending on their level of involvement and the time, they are willing to invest in accelerating the integration of sustainability in educational programs.

Behind this notion of community sharing is addressed the issue of the commons that is the topic of the following sub-section.

Using the Common Concept to Ensure the Perennity of the Sharing Community

The concept of 'common' refers here to the field of research initiated by [START_REF] Ostrom | Governing the Commons : The Evolution of Institutions for Collective Action[END_REF]. Through this concept, she has shown that there are modes of management that escape the dichotomy between private and public management. In an institutional approach, she has shown that commons are preserved by rules set by communities that use these resources. Her work initially focused on 'natural' commons such as forests, fishing sites, etc. Natural common share 'common-pool resources', i.e. non-exclusive, but rival resources. This theoretical framework was then extended to think about knowledge common (Hess & Ostrom, 2007), particularly in relation to the development of digital technology. Whether natural or 'immaterial', commons generally refer to the articulation of three elements: a shared resource, a community that manages the resource, and rules of governance. The difference between knowledge commons and the others is that the use of knowledge is non-substitutable: one can use knowledge without preventing someone else from using it. On the contrary, each new usage can be a source of enrichment for others.

This theoretical framework is useful to underline some issues identified previously, as part of knowledge commons. The first specificity is legal, and concerns property. The common movement unity is the fight against enclosures, that is, against the privatisation of common utility resources. In terms of knowledge, this consists of breaking out of the logic of intellectual property. It is about putting resources in open sources so that they can be reused, or even modified by others. The framework of Creative Commons licenses (CC) allows protecting the use of an intellectual resource, while making it available. In the educational field, UNESCO called this 'Open Educational Resources', defined as 'learning, teaching and research materials in any format and medium that reside in the public domain or are under copyright that has been released under an open license that permits no-cost access, re-use, repurpose, adaptation and redistribution by others' (UNESCO, 2019). Rather than being a teacher building a course alone in a corner, and declaring being the sole owner, this approach proposes another logic. Beyond the legal aspect, there is the question of the constitution of a dynamic within the teaching community. The challenge of this research raised in this paper is indeed to build a community of practice within the teachers. It is not enough to share resources. It is also necessary to create a community.

Resources are only one element among three: the community, the resources and the governance between individuals among them and with the resources.

Validity of the Framework

Referring to the various methods of research validation available in the literature, the following validation techniques were selected for each objective to demonstrate the relevance and consistency of the research proposal:

• objective 1 validation criteria: diffusion of sustainability issues in the existing engineering courses for higher education.

Following-up on the training sessions, teachers and students are asked in a short-term period to give feedback about the number of educational contents they introduced in their teaching, as well as the number of students trained (or to be trained in the coming year).

The assessment of skills acquired during the training sessions is based on a self-assessment grid covering the five domains of sustainability, identified in this research to support an ecological and social transition in engineering fields (cf. Table 1). This self-assessment grid is completed by the participants at the beginning and end of the training sessions to compare the levels and identify the skills acquired.

For each competence, the trainer rates from 0 to 4 depending on his level of mastery of the skill: (0) I do not master the skill (1) I understand the skill (2) I master the skill a little (3) I master the skill well (4) I master the skill perfectly. A post-training session follow-up is then carried out to assess the number of educational contents introduced in teacher activities as well as the number of students trained.

• objective 2 validation criteria: relevance of a sharing platform.

In order to estimate the impact generated into the S.mart community, the number of weekly visits and the number of educational strands create and downloaded will be evaluated.

• objective 3 validation criteria: the existence of a contribution and co-learning network.

The assessment indicators are the number of contributors, and the individual average of devoted time to contribute to the network activities (transforming training, enriching exciting, integrating new strands, helping others, giving feedback, sharing ideas, disseminating, assessing proposed contents and improving, etc.). An estimation of the training material disseminated by additional contributors, distinct from the initial project partners, is an additional impact indicator. Also, the number of weekly visits, the number of educational strands create and downloaded is installed to estimate the impact generated into the S.mart community.

Conclusions

This paper addressed the issues faced by engineering lecturers willing to integrate socio-ecological aspects of their engineering teaching material. Institutional barriers, organisational issues, in addition to the diversity of the course materials available to teachers that are not adapted to their contexts, prevent sustainability issues to be fully addressed in engineering schools and universities. The objective of the ET-LIOS research project introduced in this paper is firstly to facilitate diffusion of sustainability issues in engineering courses for higher education, secondly to develop and maintain a sharing platform and thirdly to secure a contribution and co-learning network. This research questions the support to integrate sustainability into engineering courses aligned with sustainable future requirements of industries. The originality of this research is to focus on technical issues, such as the organisation, the heterogeneity of material courses, the institution gaps, the personal engagements, the sharing visions, as well as the social issue, including the inertia to change academic programs.

To address this research question, the paper proposes a methodology for the construction of pedagogical Finally, the issue of 'a' common created arises at several levels. At the software level: how to ensure that the platform is maintained over time? At the community level: how to ensure that the dynamics of contribution and co-learning endure? Some of these questions are related to governance issues: who will host and maintain the platform? Who is willing to contribute, and on what aspect? These different aspects will have to be addressed in the following years.

In the systemic vision of sustainability, this initiative is meant to be connected to similar ones developed around the world. The research agenda is to extend the Ecocloud platform and the associated training material, and community-sharing network to other countries. Some material could be translated into different languages or associated with creative common material that deliver similar strand contents in another language, illustrated with additional sociocultural visions and experiences. The diversity of approaches may contribute to increasing the gap between the plethoric material courses available at the same time in worldwide universities. This diversity may also enable a number of connections to occur within the contributor network, to enrich contains, practices, build required controversies, in a systemic and ever-evolving format led by worldwide citizens.

  materials allowing identifying the targeted competences, the acquisition level adapted to an existing course, and additional pedagogical content organised on available strands. Organised in a skills-based framework, teachers are supported to elaborate sustainability-related contents in a flexible manner, and collectively. Teachers that participated in the experiment could pick and choose from a coherent pedagogical strand, to build their own course program, and to give it back to the community. In addition to this methodology, open-source tools are made available on the 'Ecocloud' platform supported by a trustable engineering network widely used in France (S-mart network). In addition this sharing experience within the engineering community provides some feedback in return, enabling the hybridisation of contents across disciplines, experimented in real on students and reviewed by peers and confreres. The proposed method covers distinctively the three objectives of this research. The associated assessment indicators have been explained and applied during the first experiments conducted from March to June 2022, of training sessions for sustainability and on the collaborative platform. The advantages and limitations of the first results obtained in this first experimentation occurred at the University of Technology of Troyes in March 2022. The role of academia appeared to be central to invite students building-up their aspirations as future engineers of a sustainable society, as well as engineers already part of the industry who are willing to rethink plurality, diversity and frugality. Such considerations are part of a sustainable way of living unbalanced with the whole living planet.

  , the sustainable development and societal responsibility University French skills guide published in 2016 (CGE / CPU, 2016), the skills for sustainability 28th International Sustainable Development Research Society Conference, Stockholm, 15-17 June 2022

Table 2 :

 2 Main skills for a sustainable foundation adapted to engineering fields

	System thinking-	Prospective -vision of	Ethic	Change -	Action
	worldwide vision	the future		e.g. Sustainable
				design
	Aim: learning general	Aim: adopting an	Aim: thinking	Aim: mobilising	Aim: answering
	skills in sustainability and	historical approach, then	about the role of the	engineering technic	current issues by
	being able to direct a	a prospective one.	engineer,	and considering their	specific action
	singular thinking.	Understanding the	evaluating his/her	political non-	modes. Co-designing
		socio-ecological stakes	own actions and	neutrality, so as to	viable solutions,
		of the Anthropocene era	facing his/her	answer societal	inclusive and
		and developing critical	proper feelings and	objectives (Shift	equitable ones,
		views.	desires.	project).	supporting

Acknowledgements: Maud Rio: Writing -Review & Editing, Methodology, Investigation, Validation; Tatiana Reyes: Project administration, Funding acquisition, Supervision, Writing -Review & Editing, Methodology, Validation; Yacine Baouch: Writing -Original draft, Methodology, Investigation, Validation; Tom Bauer: Writing -Original draft, Methodology, Investigation, Validation; William Bernaud: Writing -Original draft, Methodology, Investigation, Validation; Romain Colon de Carvajal : Writing -Original draft, Methodology, Investigation, Validation; Elie Lemarquis : Writing -Original draft, Investigation, Resources; Alexandre Mege-Revil : Writing -Original draft, Methodology, Investigation, Validation; Catherine Perpignan: Writing -Original draft, Methodology, Investigation, Validation; Vincent Robin : Writing -Original draft, Methodology, Investigation, Validation; Paul Saada : Writing -Original draft, Investigation; Alexandre Gaultier: Reviewing & Validation.

Funding: This work was supported by the French Program of investments for the future: [grant numbers ANR-20-NCUN-0009].

Results and Discussion

During the spring semester 2022, preliminary experiments were launched to begin testing objectives 1 and 2 with the following results.

The first experiments occurred from March to early June 2022 revealed the difficulty to engage teachers in a two-or three-day training session. The participants of the first experiment conducted at the University of Technology of Troyes were either in charge of teaching programs concerned with the necessity to integrate sustainability issues into the courses, as well as teachers searching for being trained to sustainability issues (in a coherent and holistic view) and searching for training materials that would be adapted to their domain. Additional participants were PhD students and engineers intervening as external lecturer, concerned by the topic and willing to change their training material to better face the challenge of sustainability. The program offered various conferences and participatory workshops covering the main concepts to be acquired in the five categories of skills.

In a conference mode, the following questions were asked to the participants: how to introduce sustainability issues into teaching? What are the main planetary issues of our time? What are the main eco-design and environmental assessment techniques? Which engineering ethics to adopt? At the end of the training session, several participants in charge of teaching programs felt an urge to accelerate the integration of such training into their programs. Emotions arose in participants when the planetary boundary issues were explained. As the research agenda was to firstly introduce level 1 skills about sustainability, and secondly to propose some solutions to facilitate this training material to be developed, shared and evolved, this emotion was not locking participants in a despair situation. This sadness about the massive impacts occurred by the industrial society, causing irreversible damages on the ecosystems conditioning the liveability of the Planet, could therefore be turned into an energy of engagement.

Concerning the experimentation with the students, the contribution of knowledge in ecological and social transition could be carried out within the framework of already existing teaching units. The control group consisted of twenty vocational bachelor's students in engineering not trained in sustainability, nor transition to sustainability.

Educational workshops mainly targeting the sustainable design and change part were carried out. This public felt at the beginning little concerned with the themes of sustainability. The participants developed a strong interest in the disciplines of transition as well as enthusiasm for collective change along the training process. The results of the evaluation grid show the evolution of their skills between the beginning of the teaching (almost zero skills) and the end of the teaching (level 1 of the 'change management' skills acquired by a majority of the students.


David A Kosower

J J Lopez-Villarejo
email: jjlopezvillarejo@gmail.com

Flowgen: Flowchart-based documentation for C++ codes

Keywords: Flowgen, C++, visual documentation, UML activity diagram, flowchart, high-level design, annotated sources, Doxygen Linux, MacOS, Windows RAM: varying C++, visual documentation, UML activity diagram, flowchart, annotated sources Classification: External routines/libraries: LibClang, PlantUML Nature of problem:

We present the Flowgen tool, which generates flowcharts from annotated C++ source code. The tool generates a set of interconnected high-level UML activity diagrams, one for each function or method in the C++ sources. It provides a simple and visual overview of complex implementations of numerical algorithms. Flowgen is complementary to the widely-used Doxygen documentation tool. The ultimate aim is to render complex C++ computer codes accessible, and to enhance collaboration between programmers and algorithm or science specialists. We describe the tool and a proof-ofconcept application to the Vincia plug-in for simulating collisions at CERN's Large Hadron Collider.

Introduction

Modern high-performance scientific computing -such as numerical simulations, model fitting and data analysis, and computational optimization -often involves fairly complex algorithms written in C++. This complexity comes, roughly speaking, from the difference between two aspects: the high-level (abstract) design on one hand, and the details of the specific code implementation on the other. Moreover, the highlevel design is not always easily understood from the implementation. The intricate mixture of the two aspects creates an understanding gap between different (groups of) developers with different expertise, hampering their collaboration on a given code. Code developers would thus like to disentangle the two. Software documentation for developers does not however offer a human-understandable, high-level overview of what the code actually does. It also fails to keep this overview up to date with the code. Good coding standards and strategies such as code modularity or incremental development surely aid collaborative work, but cannot substitute for a higher-level view. Providing such a view in visual form is the challenge we seek to meet.

Comments provide the building blocks for a successful resolution of this challenge. A requirement for proper comments is a part of any coding standard nowadays. In particular, most code includes (some) comments on the actions carried out in the succeeding lines. We propose using these comments, extending them with annotations that allow us to render them along with the code in a graphical manner. The tool we construct uses the annotations, along with information derived from C++ control structures, to produce a so-called Unified Modeling Language (UML) [START_REF] Booch | The Unified Modeling Language User Guide[END_REF] activity diagram or flowchart in non-specialized language (see fig. 1). The tool then produces a graphical representation of this activity diagram. This approach can be applied to the full set of functions in a code package, or to a subset of them, as well as to class methods (member functions). Our focus is on producing a "high-level" activity diagram, one related closely to the algorithm as designed and written by its architects and developers, rather than a "low-level" one more closely tied to source code. Existing tools, described below, generate diagrams of the latter type.

We call the tool Flowgen. It generates a set of interconnected high-level UML activity diagrams, one for each annotated function or method in the C++ sources. Flowgen's approach is independent of any particular programming paradigm [START_REF] Nørmark | Overview of the four main programming paradigms[END_REF]. Its approach is modeled on that of Doxygen [3], the de facto standard tool for generating documentation from annotated C++ sources. It binds source code and activity diagrams together, so that it is easier to maintain consistency between the two. It provides behavioral diagrams, which complement Doxygen's structural information. We are currently applying Flowgen to the Vincia code (http://vincia.hepforge.org), a plug-in to the highenergy physics event generator PYTHIA 8, used to simulate proton-proton collisions at CERN's Large Hadron Collider. We believe it will be useful in a broad range of scientific computing codes.

Flowgen seeks to provide an easy-to-read, shared standard of communication (the activity diagrams) in a project, and thereby to promote the goals of:

• Facilitating code development in international collaborations, among developers with different levels of expertise and coding skills, possibly located in distant locations. This involves,

speeding up the training of new developers;

allowing the participation of "pure specialists" in the subject at hand, scientists with limited programming skills but an understanding of the high-level algorithm(s);

simplifying the work of "pure" programmers, allowing them to concentrate on questions of performance;

• Providing better backwards traceability: a way to check that the final code package meets the scientific requirements;

• Enabling iterative and incremental development of complex algorithms, a form of agile software development [6];

In this article, we present a proof-of-concept for these goals and address an additional one,

• Increasing readability and transparency, displaying the flow of actions at a single glance.

Doxygen has emerged as a de facto standard for C++ structural documentation. It can generate either on-line documentation in html format or an off-line reference manual in L A T E X (or both) from a set of source files. In combination with the visualization tool Graphviz [START_REF] Ellson | Graph Drawing Software[END_REF], it can generate class inheritance and call graphs (basically UML class diagrams). They contain structural information on how classes relate to each other, what class members there are, and (optionally) comments on what each class member's role is. Annotations in the source code allow the programmer to enrich the documentation it produces. Doxygen makes it easy to keep the documentation consistent with the source code.

UML was developed by the Object Management Group [4], and has become an industry standard. It is intended to help specify, visualize, and document models of software systems using various types of diagrams. We provide an overview of UML in Appendix A. For our purposes, there are two main categories of diagrams: behavioral and structural. The class diagrams that Doxygen generates are structural. The activity diagrams [8] we seek to generate are behavioral. They are the object-oriented equivalent of flowcharts and data-flow diagrams. UML is used within the modeling approach to documentation, widely used in industry (though rarely in the scientific domain). In this approach, software applications are designed before coding, allowing designers to work at a higher level of abstraction. Details can be hidden or masked, and one can focus on different levels or aspects of a prototype.

We adopt Doxygen's philosophy of working with source files; Flowgen produces behavioral, high-level UML activity diagrams as a complement to Doxygen's structural ones. They are intended to describe the semantics of what a code does, abstracted from C++ language-specific implementation details. They can cover these semantics at different levels of detail, at broad strokes corresponding to functions at the core of a call graph, or at a finer level corresponding to leaves of a call graph. They can also cover different levels of detail: a coarse level corresponding to long sequences of actions accomplishing a major task, as well as zooming in to a single action accomplishing an elementary task. Flowgen's complementarity to Doxygen's makes possible a future integration of the two tools.

A number of existing tools (both open-source and proprietary) allow programmers to generate activity diagrams from C++ source code. These include: Moritz (an extension to Doxygen), IBM Rational Rhapsody, Crystal FLOW, AthTek Code to FlowChart Converter, Code Visual to Flowchart, AutoFlowchart, devFlowcharter. These tools generate diagrams based on the code, rather than on developers' comments. The diagrams they produce are closely tied to the code and are thus low-level activity diagrams in our language.

In following sections, we discuss different aspects of Flowgen in more detail. In sect. 2, we present a simple example of annotations and the resulting output. In sect. 3, we describe the code annotations used by Flowgen; in sect. 4, we describe how Flowgen is implemented; and in sect. 5, we discuss tests and lessons. We give some concluding remarks and an outlook in sect. 6. Because we have relied in general principles for its design, we believe that Flowgen can be used for general scientific computing packages.

A simple example

As an example of using Flowgen, consider a simple set of annotated C++ source files: main.cpp, aux.h, and aux.cpp. The comments marked with //$ are Flowgen annotations, which we shall describe in the next section. The tool uses them, along with extracted knowledge of the program's control flow -decision points (if statements), loops, calls -to generate a single flowchart for each function or method. In our example, the tool is invoked via the following command lines: > python3 build_db.py main.cpp > python3 build_db.py src/aux.cpp > python3 makeflows.py main.cpp > python3 makeflows.py src/aux.cpp > java -jar plantuml.jar flowdoc/aux_files/ *.txt > python3 makehtml.py main.cpp > python3 makehtml.py src/aux.cpp Listing 4: command-line instructions for running Flowgen Flowgen reads the source files of the project one by one and produces a set of interrelated .html files, connected via hyperlinks, which are stored in the folder flowdoc/. For this simple example, the output consists of the diagrams in fig. 2, which are included in the .html files. For code built using the make utility [9], it is easy to adapt the makefile to run Flowgen. Flowgen generates the aux.html file from aux.cpp. There is again a single diagram for the VINCIA::shower() method; but here, with two different zoom levels (0 and 1), shown in the pair of diagrams at the bottom of fig. 2. These zoom levels correspond to the numerical qualifiers following the //$ annotations in listing 3 (no qualifier corresponds to '0').

Figure 3: A low-level activity diagram for main() in listing 1, to be contrasted with Flowgen's high-level output in figure 2.

In fig. 3, we give an example of a low-level activity diagram, for the main() function, that a tool might generate from code lacking annotations. This is roughly the kind of output generated by the tools mentioned in the introduction.

Code Annotations

Flowgen produces high-level UML activity diagrams, which we'll call simply activity diagrams, from annotated C++ code. It outputs these to a set of html files, one for each source code file.

The basic building blocks of an activity diagram are actions, each a statement or sequence of statements in the code. Each action conceptually accomplishes a discrete task. A sequence of actions builds up an activity. An activity may include different flow paths. An activity has a beginning and an end. In the diagrams produced by Flowgen, these are indicated by special round symbols (see the lower-left example in fig. 2). Conditional branches are indicated by diamond-shaped elements. The diagrams generated by Flowgen are interactive. In particular, they allow zooming and browsing. By zooming we mean the possibility of inspecting the graphical description at different levels of detail, as previously annotated by the programmer. By browsing we mean the possibility of navigating through the network of interconnected activity diagrams associated with different functions or methods in a package. Navigation is implemented using standard html hyperlinks. In the code, activities are annotated functions or methods, for example the C++ main() function (see also fig. 4). (Flowgen's annotation grammar recognizes Doxygen annotations of functions or methods. This feature will eventually allow their use as additional comments in Flowgen activity diagrams.) The actions, along with the level of detail to which they correspond (zoom level), are specified in the source code by the programmer. The basic syntax is as follows, //$ options action description The beginning and end of the full activity to which the action belongs are determined by the code itself, as are the different flow paths within the activity.

An up-to-date specification for the annotation can be found on the project's website, http://jlopezvi.github.io/Flowgen. These include the formal specifications (Extended Backus-Naur Form). Here we summarize the essentials: • In if-elseif-else statements (see fig. 6)), annotation allows the controlling condition to be described in a human-readable way. The annotation is //$ condition description which should be placed on the line immediately preceding the if, elseif or else statement that it describes. Loop control structures (while, do-while, for) allow similar annotations. • Parallel actions (see fig. 8): the tag '<parallel>' allows the programmer to indicate whether a sequence of actions could (in principle) be executed in parallel.

(This tag has not yet been implemented.)

• A postfix annotation, code line with a function call //$ allows the programmer to highlight calls to functions or methods (see fig. 2 and the call to the method VINCIA::shower() in the example in the previous section). The call will appear explicitly in the diagram. This annotation also inserts a hyperlink to the diagrams for the functions or methods. This allows a developer to browse from the caller's diagram to the called function's diagram.

• Zoom levels: the programmer can indicate at which level of detail a description of an action should appear by adding an integer immediately after the opening '//$' of an annotation (see fig. 2 and the associated listing 3). Higher numbers indicate a finer level of detail; the zoom level is 0 by default, corresponding to the coarsest level of detail. This makes different zoom levels possible in visualizing the html output.

Implementation

In this section we discuss the implementation of the Flowgen tool. In the first of two subsections, we discuss the requirements arising from the specifications presented in the previous section, as well as the choice of technologies; in the second, the design concept and the specific implementation.

Requirements and Technologies

We can classify the annotations discussed in the previous section into three groups from a 'technical' point of view. This classification is useful to understand the requirements of our tool.

-actions (//$ options action description): these will be given sequentially within compound statements, that is sequences of code lines inside braces. Action annotations can appear anywhere inside a compound statement.

-contextual annotations adding descriptions to control-flow structures (//$ description): the precise position of these annotations is important, and they must be associated to the corresponding control structure (if, for, etc.)

-call highlighters (code line //$): the preceding code line must be analyzed to identify function calls; and the calls should be matched with the corresponding diagrams for the called functions, if they exist.

The need to link actions to the C++ code, and in particular with detailed knowledge of the syntax of the C++ code, makes it necessary to use a C++ parser. We have used the libclang library of the Clang project (http://clang.llvm.org/). We use it to perform the syntax analysis phase of C++ parsing, which yields an abstract syntax tree (AST). This tree is then used by Flowgen to extract information it needs.

Clang is a C language family front-end for the LLVM compiler1 . Clang's development is completely open-source, with several major software development companies involved, including Google and Apple. Clang features static analysis utilities and bindings to Python via a standardized library called libclang. Clang also includes full support for annotations with the Doxygen format (called "full comments") but, at present it leaves remaining comments out of the generated AST. The documentation is at present mostly at the developer level.

For most of our purposes, however, regular-expression and scripting techniques are well-suited and convenient. For these, our language of choice is Python (more specifically, Python 3).

Graphviz [START_REF] Ellson | Graph Drawing Software[END_REF] is a standard open-source graph-drawing package. Beyond it, there are at least two free solutions that automate the generation of graphs: UMLet [ Clang library. For each source file, the script writes a corresponding text file (with suffix .txt) containing a PlantUML description, giving the commands to draw the diagrams for all the annotated functions or methods. PlantUML is then run (externally) in order to obtain the diagrams in png format, as well as image maps in cmapx format. The latter are used in the html pages to attach hyperlinks to certain rectangular regions of the png images (for example, to attach hyperlinks to calls to functions or methods).

Finally, in the 'makehtml' phase, another Python script generates an html file for each source file. The html files include the png images and use the information in the cmapx files.

The three phases can be automated in a makefile.

Discussion

We have tested our initial implementation of Flowgen on a variety of source files, which include code with nested if statements, calls to functions and class methods, annotation with different zoom levels, and links to be followed in browsing. A full, realistic example2 for a single method in the Vincia code mentioned in the introduction can be found on the project's website (http://jlopezvi.github.io/Flowgen/) and as accompanying files on arXiv. The example is a long procedural method where separation into several smaller methods is possible and may be desirable. The code was taken from another Vincia developer. We selected amongst those comments already present the ones that reflected a description of the actions performed by the code, and annotated them, including a zoom level where appropriate. We also indicated where parallel processing was possible. In addition, we annotated some conditions for if statements and loops. We believe that the resulting diagram makes understanding the algorithm much easier, and that this understanding compensates for the additional effort in annotation.

We believe that even the elementary example depicted in fig. 2 shows the benefits of the tool we are proposing. The diagrams combine two different views of the code, a high-level semantic view on the one hand, with code-level implementation details such as branching, or variable and method names important to annotated activities. It offers a common ground for specialists of different backgrounds to collaborate more efficiently.

We regard the present implementation as a proof of concept. We note in passing that the activity diagrams generated from the code by Flowgen can be modified by hand, as the PlantUML input files are text files. This could in principle be used to modify or evolve the design of the code; the code and accompanying annotations could then be updated to match. The Flowgen tool can thus be used to facilitate iterative and incremental ('agile') development at a higher level than direct coding. We intend to apply Flowgen more widely within the Vincia collaboration, and to refine it as we gain experience. The present version of the tool is in any case available from the project website.

Conclusions and Outlook

We have described an initial version of Flowgen, a documentation tool that generates high-level UML activity diagrams from annotated C++ sources. These diagrams give a description of the dynamic behavior of the code. The tool is complementary to the Doxygen documentation tool, which provides the user with structural information about static aspects of the code. Flowgen employs annotations similar in spirit to those of Doxygen, designed so as not to interfere with the annotations used by the latter. As Flowgen matures, this preserves the possibility of combining the two tools.

A behavioral description of a software package, using activity diagrams, allows us to see at a glance its procedural flow of actions. Flowgen gives a graphical representation of this procedural flow, and adds two other capabilities: the possibility of zooming to different levels of detail; and the possibility of browsing to diagrams for other called functions within the package.

Flowgen requires annotating the code to indicate the discrete actions and select calls to hyperlink, and optionally to add descriptions to control structures, indicate parallelizable code, and different levels of detail for later visualization. The additional effort to produce a basic visualization is modest; a complete high-level description would obviously require additional effort in rethinking the textual parts of comments.

We have designed the tool primarily for codes written in a procedural (or "imperative") programming paradigm [START_REF] Nørmark | Overview of the four main programming paradigms[END_REF], one of the paradigms possible in C++, and the one which encompasses the bulk of scientific codes. It is primarily designed for developers and designers, rather than users, but is explicitly intended to address a broad spectrum of programming abilities, from skilled programmers to designers with an understanding of the underlying science and algorithms but limited programming abilities.

Acknowledgments

Figure 1 :

 1 Figure 1: A UML activity diagram for thirsty people. c Object Management Group [4]; the colored version shown here is c yWorks [5].

Figure 2 :

 2 Figure 2: Output for the simple example of listings 1-3. Above: diagram for main() in main.html. Below: diagrams for VINCIA::shower() in aux.html, corresponding to zoom levels 0 (left) and 1 (right).

Figure 4 :

 4 Figure 4: Example of an activity: annotated code and graphical form in an activity diagram.

  Figure 5: Example of actions: annotated code and corresponding graphical form in an activity diagram.

Figure 6 :

 6 Figure 6: Example of nested if-statements: annotated code and graphical form in an activity diagram.

Figure 7 :

 7 Figure 7: Example of a return statement: annotated code and graphical form in an activity diagram.

Figure 8 :

 8 Figure 8: Example of parallel actions: annotated code and graphical form in an activity diagram.

Figure 9 :

 9 Figure 9: Flowgen's flowchart, with the three required tools and libraries: Python, Clang and PlantUML

Figure 10 :

 10 Figure 10: Types of diagrams included in the UML 2.4.1 specification [11]. c OMG.

  They are shown in the following listings,

	};
	Listing 2: aux.h
	#include "aux.h"
	#include <iostream>
	void VINCIA::shower(){
	//$ do VINCIA parton shower
	std::cout << "the parton shower code would go here";
	//$1 1) prepare system of partons
	//$1 2) do phase 1 of shower
	//$1 3)...
	return;
	};
	Listing 3: aux.cpp
	#include "aux.h"
	#include <iostream>
	int main()
	{
	int control_flag=0;
	//$ ask user whether to proceed
	std::cin >> control_flag;
	if (control_flag==1){
	//$ call shower
	// pointer to the object VINCIA
	VINCIA* vinciaOBJ = new VINCIA();
	vinciaOBJ->shower(); //$
	}
	return 0;
	}
	Listing 1: main.cpp
	class VINCIA {
	public:
	void shower();

  [START_REF] Auer | Proceedings of 11th International Conference on Enterprise Information Systems (ICEIS 2009)[END_REF]

	Python script	Clang	PlantUML
	build_db phase: for each source file,...
	identify annotated functions/methods
	and generate a database .flowdb
	makeflows phase: for each source file,
	read and ...	get locations of the
		anotated functions/methods
	process relevant
	functions/methods' bodies
	sequentially (line by line)
	[semantics of C++ needed]
	[no]	retrieve information
	write PlantUML text files
			draw diagrams, including
			maps to generate hyperlinks
	makehtml phase: for each source file, generate
	.html file, using the maps and the diagrams

LLVM is one of three major free C++ compilers which support C++11, the other two being the Intel C++ compiler and the GNU C++ compiler (g++).

Flowgen is not yet able to to process the <parallel> tag or the loops in this example.

We thank Serguei Roubtsov of the Technical University of Eindhoven for giving us feedback from a computer scientist's point of view, and for a critical reading of the 16 manuscript. We also thank Peter Skands for the original idea for Flowgen, offered during a lunchtime discussion at CERN. This research is supported by the European Research Council under Advanced Investigator Grant ERC-AdG-228301.

(http://www.umlet.com/) and PlantUML (http://plantuml.sourceforge.net/). The programs draw diagrams from a description given in textual form in a simple and intuitive language. We have chosen to use PlantUML; we hope that its continued development will also enhance the capabilities of our documentation tool. As an interface to a visualization system, Flowgen uses standard html, just as Doxygen does. This choice allows the use of any web browser as the visualization system and will facilitate the integration of Flowgen with Doxygen.

We end this subsection by listing the software prerequisites for Flowgen:

Design Concept and Implementation

In order to produce activity diagrams, Flowgen must execute the following steps:

1. Read sources (annotated C++ code), parse them, and link the parse tree to the annotations, using Clang and Python3. 2. Produce an abstract representation of the diagram, using Python3. 3. Render the abstract representation of the diagram into graphical form, making concrete display choices for widths, lengths, fonts, colors, etc. This step uses PlantUML. 4. Embed the generated set of diagrams into html files, to allow zooming and browsing, as explained in sect. 3. This step uses Python3.

We present a more detailed account of how Flowgen operates in fig. 9. We distinguish three phases, which however do not precisely correspond to the list above.

In the initial 'build db' phase, for each source file (headers excluded), a database is generated which contains a list of the annotated functions or methods. Generated database files are text files and carry the extension '.flowdb'. This phase is necessary for multi-file projects, because Clang cannot simultaneously process multiple translation units.

A Python script controls the main phase, 'makeflows'. It first reads the sources and calls Clang to get information on the annotated functions or methods: namely, their starting and ending locations in the source files. The script then processes the corresponding ranges line-by-line. Some annotations (actions) are identified by simple regular-expression parsing. More complicated structures are captured by using the Appendix A. Unified Modeling Language -UML

The Unified Modeling Language [START_REF] Booch | The Unified Modeling Language User Guide[END_REF]


F Ames

R Baartman

P Bricault

K Jayamanna

M Mcdonald

P Schmor

T Lamy

ACCELERATION OF CHARGE BRED RADIOACTIVE IONS AT TRIUMF

Most ion sources at ISOL (isotope separation on-line) facilities can produce only singly charged ions but efficient post acceleration requires high charge states. For light ions this can be achieved by stripping after a first moderate acceleration but with heavy ions this is no longer possible and charge state breeding is necessary. The breeder should be able to work at a high efficiency for the required charge state and especially for short-lived radioactive isotopes the process should be fast. For the ISAC facility at TRIUMF an ECRIS charge breeder (14.5 GHz PHOENIX from Pantechnik) has been chosen as it is well adapted to the continuous mode operation of the accelerator. After off-line optimization on a test bench the source has been moved on-line to the ISAC facility. Mass separated beams of radioactive ions from the on-line ion sources can be directed into the source. During a first test in fall 2008 a beam of 80 Rb 14+ was successfully created from 80 Rb 1+ and accelerated by the ISAC post accelerator. The paper includes a summary of the results from the test bench and from the on-line commissioning.

INTRODUCTION

At the radioactive beam facility ISAC at TRIUMF radioactive ions are produced by bombarding solid targets with up to 100 µA of protons from TRIUMF's 500 MeV cyclotron. The target material is operated at high temperature so that products can evaporate into an ion source where singly charged ions can be extracted. The desired isotope is separated with a magnetic mass separator and the ion beam can be transported to low energy experiments at an energy of several 10 keV or injected into a post accelerator for serving high energy experiments. The acceptance of the post accelerator requires a maximum A/q value of 30. However, this applies only to the first accelerator stage, a 4 rod RFQ, which accelerates to 150 A keV. The following drift tube and superconducting cavity sections are able to accelerate the ions up to 5 A MeV. They require A/q<7. At the moment this is achieved by a stripping foil after the RFQ. If additional losses from this stripping process are to be avoided the charge breeding should lead to A/q<7. Charge state breeding is done by injecting singly charged ions from the on-line ion source into an ion source for highly charged ions. So far two types of such ion sources have been used in different laboratories around the world. An Electron Beam Ion Source (EBIS) for pulsed beam operation and an Electron Cyclotron Resonance Ion Source (ECRIS) for continuous beam operation. With nearly 8 years operating experience the EBIS type breeder at ISOLDE at CERN routinely reaches breeding efficiencies of 5-10% for almost all available isotopes [1]. It operates in a pulsed mode with a repetition frequency of 5 to 50 Hz. The system can handle up to about 10 8 ions per second. Charge breeding of radioactive ions with an ECRIS so far has been reported from TRIAC at KEK [2] and ISOLDE [3]. Typical breeding efficiencies reported are about 3% for condensable elements and up to 10% for noble gases. For radioactive ions there is practically no limit for the beam intensity achievable from an ECR ion source.

THE ISAC ECR CHARGE BREEDER

At ISAC a 14.5 GHz ECRIS (PHOENIX from PANTECHNIK) has been chosen. Some modifications of the original design especially for the injection and extraction optics have been done followed by excessive testing at an off line test facility. The charge breeder is operated at a high voltage close to the energy of the singly charged ions. This allows an electrostatic deceleration before capturing the ions inside the ECR plasma. While confined in the plasma the ions are undergoing collisions with high energy electrons and are ionized to high charge states. Highly charged ions are extracted opposite to the injection side of the source and accelerated again to ground potential.

Excessive testing of the system has been done at an off line test facility. Results have been already reported elsewhere [4] and will be only summarized here. Stable singly charged isotopes from ion sources similar to those used at the on-line facility have been injected and their charge breeding optimized. The extracted beam of highly charged ions has been analyzed by a combination of magnetic and electrostatic benders. Efficiencies obtained for a charge state in the maximum of the distribution are around 3% for alkaline elements and 5-6% for noble gases. For elements up to Cs A/q values less than 7 can be reached.

The ISAC RFQ has a velocity acceptance of 2 A keV. This requires the source to operate at different extraction voltages depending on the A/q value. Therefore, a two gap acceleration system has been installed which allows adapting the focusing of the highly charged ions to the extraction voltage. A similar two gap deceleration system allows better control of the incoming beam. Emittance measurements of several charge states of Cesium at extraction voltages between 10 and 18 kV have been performed. The normalized emittance increases from 0.02 π mm mrad at q=12 to 0.04 π mm mrad at q=18. Between 15 an 18 kV it does not depend on the extraction voltage. Only at very low voltages near to 10 kV an increase to about 0.05 π mm mrad for high charge states can be found. Space charge effects on the ion beam between the source extraction and the mass separator magnet can explain this.

The total beam current extracted from the charge breeder can be as high as several 100 mA but the radioactive ions are produced only in small quantities (single ions up to 10 10 per second). That means background currents from support gas ions or from residual gas are many orders of magnitude higher than the current from the radioactive ions. Even with the use of clean Helium as support gas of the ECR plasma a good mass resolution is essential for the separation of the desired highly charged ions from background peaks. A combination of magnetic and electrostatic sector fields ensures this and separates scattered or charge exchanged ions from the beam.

The charge breeder has been moved to and set-up at the ISAC on-line facility during the first half of 2008. It has been installed in a U shaped beam line in a shielded area directly after the mass separator for the radioactive ions [Fig. 1). The ion beam branches off the existing beam line with a switchable electrostatic bender. After mass separation of the highly charged ions the beam line joins the existing one again in a vertical Y shaped electrostatic bender leading to the experimental hall with the post accelerator. A surface ion source for Cesium ions (HeatWave Labs, Model HWIG-250) is included to allow the set-up of the charge breeder independently from the on-line ion source.

Figure 1: Layout of the charge breeder installation at ISAC

The charge breeder has been put into operation at its new location first with stable ions both from the test ion source and from on-line ion sources to confirm proper functionality. Unlike at the measurements at the test bench the on line sources and the charge breeder are operated with separate power supplies for the high voltage. This requires a fine adjustment of the absolute value of both. Figure 2 shows the dependence of the charge breeding efficiency of stable 133 Cs 17+ from the test source as function of the voltage difference between the breeder high voltage and the potential of the test source. For optimum performance this voltage difference has to be adjusted with an accuracy of less than 1 V. In order to guaranty this both power supplies are specified to a stability and reproducibility of some 10 -5 .

RADIOACTIVE ION CHARGE BREEDING AND ACCELERATION

The first test with ions from the on-line ion source was performed in October/November 2008 with Rb and Cs ions produced from a Tantalum target equipped with a surface ion source. The injection into the charge breeder has been set up with a beam of about 180 pA of stable 87 Rb from the on-line source. Beams of radioactive ions have been first sent directly into the experimental hall to a tape station in order to identify the isotopes and determine their intensity from gamma or beta radiation. After this they have been directed into the charge breeder. The extracted highly charged ions have been sent to the tape station again to determine the efficiency for the different charge states. Figure 3 shows a typical result for the dependence of the efficiency on the extracted charge states of 80 Rb; only charge states from 10 to 16 around the maximum in the distribution have been measured. Similar measurements have been performed for the two radioactive isotopes 120 Cs and 124 Cs. The maximum in the charge state distribution for the cesium isotopes was at q=19+ leading to A/q values of 6.31 and 6.52 respectively. Breeding efficiencies for both elements were about 1% in the maximum of the distribution, which is still lower than the values obtained at the test bench, but further optimization especially of the ingoing beam should improve this value. In order to test the beam transport to the accelerator and the acceleration of highly charged ions, a beam of 1.1•10 5 ions/s 80 Rb 14+ has been injected into the RFQ. This isotope and charge state has been chosen as it is accompanied by a strong beam (~100 nA) of 40 Ar 7+ at the same A/q value coming from the charge breeder. This allows an easy tuning of the beam line optics and the accelerator. The Ar originates from impurities in the Helium support gas of the ECR plasma. Most physics experiments with radioactive ions will not be able to accept such high background of stable ions. In such a case a different charge state has to be chosen and the accelerator has to be optimized with beam from an offline source delivering stable ions with the same A/q value. After acceleration the beam has been sent through a bending magnet for energy analysis and implanted into a Faraday cup. A Ge detector was placed beside this cup and the gamma radiation from the 80 Rb has been measured. The gamma detection efficiency has been determined with calibrated 60 Co and 152 Eu sources placed inside the cup and on a slit in front of it. 3.5•10 4 80 Rb ions/s have been measured leading to an efficiency of 32%. Simultaneously the current from the 40 Ar 7+ on the Faraday cup leads to a transmission of 33%. The transmission has not been fully optimized at this time but the result shows, that there are no further losses associated with the radioactive ion or the higher charge state. Further matching of the beam from the charge breeder into the accelerator will be necessary and should improve the transmission.

SUMMARY AND OUTLOOK

For the first time radioactive ions charge bred in an ECR ion source have been accelerated at the radioactive beam facility ISAC at TRIUMF. This has extended the range of available accelerated beams of radioactive ions towards heavier masses beyond A=30 and will open up a new era of experiments with those ion beams at TRIUMF. Although, the efficiency for the charge breeding of 80 Rb was only 1% in this first test run based on results obtained at a test bench higher values should be possible. It will need further optimization of the system by better matching the incoming beam of singly charged ions to the charge breeder. Further tests with different on line target ion source combinations are scheduled within this years running period for a final commissioning of the charge breeder. Besides the condensable elements beams from gaseous ions will be used as well as molecular species. In some cases the break up of the latter ones may allow isobaric purification of the extracted radioactive ion beam.

Figure 2 :

 2 Figure 2: Efficiency for the production of Cs 17+ as function of the potential difference between the singly charged ion source and the charge breeder

Figure 3 :

 3 Figure 3: Efficiency for the production of high charge states of 80 Rb

ACKNOWLEDGEMENT

TRIUMF receives federal funding via a contribution agreement through the National Research Council of Canada


Mickaël Coustaty
email: mcoustat@univ-lr.fr

N Sidère

Jean-Marc Ogier
email: jmogier@univ-lr.fr

Pierre Héroux

Jean-Yves Ramel
email: ramel@univ-tours.fr

Chouaib Hassan

Nicole Vincent

Salim Jouili

Salvatore Tabbone

Mickael Coustaty

Nicolas Sidere
email: nicolas.sidere@univ-tours.fr

Pierre Heroux
email: pierre.heroux@univ-rouen.fr

Content-Based Old Documents Indexing

Keywords: Old documents, CBIR, Indexing, Graph

la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d'enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Introduction

With the improvement of printing technology since the 15th century, there are a huge amount of printed documents published and distributed. The printed book quickly becomes a regular object in the world. By 1501 there were 1000 printing shops in Europe, which had produced 35,000 titles and 20 million copies. Since that time, a vast amount of books have been falling into decay and degrading. This means not only the books themselves are disappearing, but also the knowledge of our ancestors. Therefore, there are a lot of attempts to keep, organize and restore ancient printed documents. With the better digital technology, one of the preservation methods of these old documents is the digitization. However, digitized documents will be less beneficial without the ability to retrieve and extract the information from them which could be done by using techniques of document analysis and recognition.

2 NaviDoMass and Ancient Document Indexing challenge NAVIDOMASS (Navigation into Documents Masses) is a french collaborative project. With the collaboration of seven laboratories in France, the global objective of this project is to build a framework to derive benefit from historical documents. It aims to preserve and provide public accessibility to this national heritage. NAVIDOMASS is a three-year project expected to complete in 2010. It is established on four principles: anywhere (global access), anyone (public and multilingual), anytime and any media (accessible through various channels such as world wide web, smartphone, etc.). The focus of NAVIDOMASS is on five studies: (1) user requirement, participative design and ground truthing, (2) document layout analysis and structure based indexing, (3) information spotting, (4) structuring the feature space [HSO + 08,JT08] and (5) interactive extraction and relevance feedback. As a part of NAVIDOMASS project, this paper focuses on the graphics part : graphics indexing and CBIR. However, the main interest of this study is based on specific graphics called drop caps and is inspired by [START_REF] Pareti | Ancient initial letters indexing[END_REF] and [START_REF] Uttama | Segmentation and retrieval of ancient graphic documents[END_REF]. Even if the use case of this paper is reduced to drop caps indexing (also called dropcaps or ornemental letters), the aim of this study is to develop complex graphic indexing techniques. By complex graphic, we mean here any graphic document which does not respect a rigourous structure, as one can find in the domain of symbol recognition for instance.

Old images difficulties

Old documents images are particularly difficult images. First of all, they are only composed of lines due to stamps that were applied on paper. Next, the second difficulty rely on the degradation of paper and documents. Finally, many of images contained in old documents are composed of multiplicity of informations and their content is a mixed of simple elements.

Information Extraction

Due to the difficulties above-cited, traditional algorithms to extract region of interest are not efficient. Thus, we chose to develop a new region of interest method to extract information. This new method, which relies on a Aujol and Chambol decomposition ([AAFC05]), simplifiy images to disjoin simple elements. Then a Zipf Law ( [START_REF] Pareti | Ancient initial letters indexing[END_REF]) is applied to separate foreground from background. These two decomposition permit to obtain connected components and we finally select some of them using their topologic attributes (area, eccentricity, location, ...). Each connected component extracted with its description is associated to a node. All the node are linked to build a graph of each image. Finally, this graph is used to structure the description space and to retrieve similar images.

Indexation

Indexation of structured data is highly correlated with the use of graphs. However, the indexing of structural data makes an intensive use of graph distance which is a problem known for its high computational cost. We choose to develop a new graph embedding method, with the encapsulation of the topology of the graph and the associated labels in a numerical matrix, which reduce the distance complexity to linear. Our approach relies on the non-isomorphic graphs network which includes every graphs with maximum N edges. These graphs, called patterns, builds a lexicon. The topology of the graph is embedded by the count of the occurences of the patterns from the lexicon. The attributes are listed and also counted to take care of the label information. The table 1 shows an example of our matricial representation of the graph in figure 1. This representation allows the use of classical distance computation, ie euclidean distance, to measure the dissimilarity between two matrix, ie two graphs.

0 0 0 A2, endpoint 1 2 3 2 1 1 A3, endpoint 1 1 2 2 0 1 X1, Y1 0 3 6 5 2 2 X1, Y2 0 0 0 0 0 0 X2, Y1 0 1 2 1 1 1 X2, Y2 0 0 0 0 0 0

Conclusion

This paper presents a french collaborative project which proposes a full indexing system to navigate into a large database of old documents by contents. The first step extract region of interest specifically to old documents images attributes. Once these region are extracted, they are fully describe by selected features and indexed using a low computational cost graph matching algorithm. This one relies on a new graph embedding method which encapsulate the topology of graphs and the associated labels in a numerical matrix. This work is actually in development and results are expected for the end of this project. In perspective of this project, an interactive process that include user will be efficient to guide extraction of information and indexing process. The mass of information contained by old documents make retrieving system difficul and results expected depends on user mainly. A relevance feedback permit to give a significant information to adjust different process parameters.

  Fig. 1. A simple labelled graph

Table 1 .

 1 Co-occurence matrix of the graph in fig.1

Mickael Coustaty 1 , Nicolas Sidere 3 , Jean-Marc Ogier 1 , Pierre Heroux 2 , and Jean-Yves Ramel 3