F Gamboa Quintanilla

O Cardin

P Castagna
email: pierre.castagna@univ-nantes.fr

Evolution of a flexible manufacturing system:from communicating to autonomous product

Keywords: . Emergent Intelligence, Embedded Devices, Co-operative control / manufacturing, Self-organization 1

Production activity control of industrial systems is evolving in two separate directions for the past decade, double evolution which seems contradictory at first. First, a deeper integration of all the actors in/each actor of the industrial system, from the raw materials suppliersup to the customerservice department dealing with customers'rising demands. This is known as the concept of "supply chain", generally international as the market is globalized. The second evolution is due to an increasing need for flexibility and reactivity, on one hand to answer to an increasingly varied demand, and on the other hand to have a better reaction to the disruptions appearing in the increasingly complex manufacturing systems. These evolutions imply a deep modification of the structure of these manufacturing systems, progressively mutating from an hierarchical organizationwhere the decisions are taken level by level, top to bottom, each level communicating its decisions to lower levelsto a networked organization, each node of this network being to some extent an/more or less an autonomous decision center. This control concept is very attractive, as it enables to significantly increase the control's robustness by considering modeling uncertainties and disruptions. However, very few academic papers deal with a detailed example of highly intelligent products in a context of product driven systems. This paper intends to show the evolution of a flexible manufacturing system, from a data oriented perspective to a product driven one.

INTRODUCTION

Production activity control of industrial systems is evolving in two separate directions for the past decade, double evolution which seems contradictory at first. First, a deeper integration of all the actors in/each actor of the industrial system, from the raw materials suppliers up to the customer service department dealing with customers' rising demands. This is known as the concept of "supply chain", generally international as the market is globalized. The second evolution is due to an increasing need for flexibility and reactivity, on one hand to answer to an increasingly varied demand, and on the other hand to have a better reaction to the disruptions appearing in the increasingly complex manufacturing systems. These evolutions imply a deep modification of the structure of these manufacturing systems, progressively mutating from an hierarchical organizationwhere the decisions are taken level by level, top to bottom, each level communicating its decisions to lower levelsto a networked organization, each node of this network being to some extent an/more or less an autonomous decision center [START_REF] Trentesaux | Pilotage hétérarchique des systèmes de production[END_REF].

It is interesting to spot the fractal characteristic of this evolution. Indeed, the evolution is present at the level of the supply chain, where the network is constituted of many managers and subcontractors. Furthermore, it is also possible to see this evolution inside the manufacturing workshop, considered more and more as a network of manufacturing resources which negotiate to balance the work load. At the lowest level, the so called smart sensors and actuators become able to communicate with each other through field buses. This shift from a hierarchical toaheterarchical structure is often carried out with a change in the way the production activity is controlled, which changes from predictive to reactive.

The predictive production activity control is based on the concept of scheduling. Scheduling which tries to forecast in time the date of execution of every task (transformation, transportation, preventive maintenance, etc.). This control is said to be predictive in the sense that decisions are made at a given time but are not applied until later on..The advantage of predictive scheduling is the ability to deal with the whole manufacturing system, so that by considering all the manufacturing resources, it can guarantee a relative optimization of the system's behavior. This optimization is unfortunately relative because of two main issues. The first is the algorithmic complexity of most of the efficient scheduling methods, making their application difficult for industrial implementation. The use of meta-heuristics is generally chosen to solve this problem, but then appears the second issue, which is the lack of flexibility of the solution given by the method. Indeed, the global approach carries a prediction of decisions which are not longer valid at the moment of their application. Therefore, in an industrial context, the efficiency of the best scheduling methods is often altered by the numerous disruptions occurring on the system which question the initially planned dates.

The Reactive control, another approach, is based in the application of the decisions made up in real time during production according to set of specified rules. The aim here is not to suppress any prediction feature in the decision making process, but to always take the decisions as late as possible, i.e. at the time of their application. This approach implies giving a more important place to the product, passing from a simple raw material circulating in the system to a real actor of the control system, able to interact with other components within the system. The genesis of this control vision can be found in the holon paradigm [START_REF] Valckenaers | Designing Holonic manufacturing systems[END_REF] [START_REF] Van Brussel | Reference architecture for holonic manufacturing systems: PROSA[END_REF].It was then was developed the concept of product-driven systems, which aims at giving the product an active and participative role in the decision making process and data flows created by the manufacturing system. All in order to fulfill theobjectives of transformation, transportation, maintenance, logistics, use and recycling [6][8]. This control concept is very attractive as it enables to significantly increase the robustness of the controlby considering modeling uncertainties and disruptions [START_REF] Roy | Main sources of inaccurate determination, uncertainty and imprecision in decision models[END_REF]. Pinot et al. [START_REF] Pinot | A study on the group sequencing method in regards with transportation in an industrial FMS[END_REF] compared a posteriori the solutions given by a predictive scheduler, a group scheduling algorithm (with two levels of flexibility) and by a product driven control, with respect to the transportation times which are modeled in scheduling algorithms.

This kind of control is very popular, as it marks the evolution of manufacturing systems towards a higher degree of flexibility. Technically, such evolution was made possible with the emergence of RFID technologies (Radio Frequency Identification) which give the product the ability to communicate and store data [START_REF] Cea | Ambient Services for Smart Objects in the Supply Chain Based on RFID and UPnP Technology[END_REF].However, very few academic papers deal with a detailed example of highly intelligent products in the context of product driven systems. This paper intends to show the evolution of a flexible manufacturing system (FMS), from data oriented to a product driven production.

In the next section, several concepts are introduced, some new, other from literature, and most importantly a classification of products into two levels of intelligence within a flexible manufacturing system.These two levels will be the basis of the last two sections, which present the evolution of a manufacturing system from level 1 to level 2.

DECISION MAKING IN A PRODUCT DRIVEN SYSTEM

2.1 Physical structure of a product in a product driven system.

The first thing to define when talking about product driven systems is the notion of product. Indeed, in such control, the product becomes a real actor in the decisions that define its future, and thus can no longer be considered as a single piece of raw materials. This implementation does not come without posing economic difficulties, especially when considering high manufacturing rates, characterized of having very large flows of low value products. When the WIP (Work in Process) is relatively low, one solution consists in associating each product to a component which will give its intelligence. Thus, for both economic and interoperability reasons, the intelligent product in a manufacturing system is often the combination of several components (Fig. 1). The simplest structure is made by the association of the product itself being manufactured and a transporter (base), for example a pallet carrying this product. It is the association product+transporterwhich has to be studied, as it can be potentially identified as an intelligent product

The production activity control function of a product driven system

In the context of product driven systems, [START_REF] Gouyon | A product driven reconfigurable control for shop floor systems[END_REF]suggests a control architecture basedon the concept of Holonic Manufacturing System (HMS). This is a distributed system (Fig. 2), based on cooperation between:

 Resource controllers, ensuring the correct execution of transformation andtransportation operations;  Product controllers, ensuring the completeness and the correct order of operations performed on the product.

[5] also suggeststhe use of the dynamic reconfiguration controlintroduced previously in literature. Other related works, such as [START_REF] Pannequin | Proposition d'un environnement de modélisation et de test d'architectures de pilotage par le produit de systèmes de production[END_REF], deal with the development of an environment (based on a distributed control through a multi-agent platform) designed to evaluate the control policies of product driven systems.On a general point of view, [START_REF] Pujo | Chapitre 1: Concepts fondamentaux du pilotage des systèmes de production[END_REF] defines manufacturing control as the set of functions necessary to start and track production, i.e. real-time control of planned fabrication orders containing, among others, the 3-tuple {task ; resource ; date).In the context of product driven systems, we suggest to add to this definition all the decisions which are induced by the flow of products, granting an acceptable behavior to the system according to one or several performance criterions. Indeed, what mainly seems to characterize a product driven system (are these/is this collection of) induced decisions. This definition implies the fact that two more tasks have to be performed: constant Tracking of production, implying a direct acquisition of data from the system itself, and a set of decisions, depending particularly on these data. The decision is thus found at the centre of such control systems. As a matter of fact, this paragraph intends to identify all the elements involved in a decision.Each decision could be split intofive main characteristics: To illustrate these concepts, we consider the example of the control used in a flow shop represented on Fig. 3: after using machine 1, a decision has to be made on whether moving to machine 2 or 3. The decision trigger corresponds then to the availability of the product at the exit of machine 1; the decision center is located within the control of machine 1. The parameters for the decision are the occupancy readingsof buffers 2 and 3, located in a database updated in real-time by the machines' decision centers, and the data related to the product at the exit of machine 1 (priority, due date, processing time, etc.) carried by the product. As for the product, the selected machine and its buffer form a system directly impacted by the decision. Ad minima, the influenced system are the other machine, as it will not handle the product.

Fig.3.Flow shop with parallel machines

These definitions show that the product is, obviously, at the center of everything. The concept of intelligent products, as defined in [START_REF] Wong | The Intelligent Product Driven Supply Chain[END_REF] and developed in [START_REF] Mcfarlane | Auto ID systems and intelligent manufacturing control[END_REF], is used here. The authors definethe product as an entity, both physical and informational, abletostore data, communicate, act and/ormake decisions. They have also defined five basic functions:

1. Possess a unique identification; 2. Communicatewith its environment; 3. Store and handledata about itself; 4. Master a dialog languageto communicateits state and data; 5. Participate in the decision making processes duringitsevolution.

From these basic functions, [START_REF] Mcfarlane | Auto ID systems and intelligent manufacturing control[END_REF]defines two main levels of intelligence of the product.

The following paragraph illustrates these levels on the example of Fig. 3:

1. For level 1, the trigger is the event corresponding tothe arrival of a productat the exit of machine M1. Same as before,the product carries most or all of the decision's parameters (P). However, the decision centeris an entity of the manufacturing system, external to the product. This level can equally consider products possessing a simple identification (barcode, etc.), products with sensing capabilities to sense its environment (instrumented products) or even those possessing a read/write data storage and communication capabilities (such as RFID for example). This level integrates functions 1 to 3 of the intelligent product as defined in [START_REF] Mcfarlane | Auto ID systems and intelligent manufacturing control[END_REF], which then talks about data oriented product. 2. At level 2, the product isat the same time, both, the author of the triggering event and the decision center itself. It evaluates by itself the impact of the decision based on the data that it is able to store or retrieve directly from the environment. Its communication abilitiesmight enable it to communicate with other decision centers in order to make its decision. This level integratesthe products able to, both,evaluate the efficiency of thepossible alternative solutionsand interact with the system to apply the decision. This level also integrates all the functions of an intelligent product as defined by [START_REF] Mcfarlane | Auto ID systems and intelligent manufacturing control[END_REF].

The following sections introduce the control corresponding to a level 1 and to a level 2 for the same flexible manufacturing system.

LEVEL 1 MANUFACTURING SYSTEM

The flexible manufacturing system studied [START_REF] Cardin | Handling uncertainty in production activity control[END_REF] is a job-shop with an automated transport system and six workstations (Fig. 4). It is located in the workshop of the IUT de Nantes, France, and is integrated to a larger complex. The products presented in Fig. 1 are assembled: workstation 1 enables to put or retrieve a product base on the transporter; workstations 2, 3 and 5 are able to assemble the product base with colored items to build the product; workstation 4 is an automated vision quality control workstation; workstation 6 is dedicated to the manual assembling and disassembling of poor quality products. Full and empty product bases (representing manufactured products and raw materials) are stored in the AS/RS (Automated Storage/Retrieval System), and are delivered on workstation 1 through the transfer workstation. Colored items are also stored in the AS/RS, and are delivered on each workstation via the AGV (Automated Guided Vehicles).

On the FMS, a transporters' storehouse (made up by an accumulation conveyor) enables the storage of the idle/unassigned transporters. The 42 transporters are equipped with RFID tags. The production data of the transporter are written into the tag when it leaves the storehouse: number of products to transport (sequentially), recipe of each product in terms of operations, etc. At the same time, each workstation has a list of operations it is able to perform. Therefore, when the transporters move on to the main loop and arrive to the entrance of a workstation, a comparison between the next operation of the recipe and the list of operations the workstation is able to perform is made. According to the chosen rule, the transporters may enter the workstation or continue on the main loop. Once at the workstation, the data are read on the tag, and the workstation executes the operation needed by the product [START_REF] Cardino | Contribution of online simulation to production activity control decision support -application to a flexible manufacture system[END_REF]. Fig. 5 shows the topologic localization of the basic decisions that have to be taken all along the manufacturing process. Here are the questions that have to be answered at the corresponding decision points  DG1: At which date will the production begin?  DG2: How many transporters will be allocated to this order?  DG3: Which priority will be given to the order?  DG4: Should the transporter located at the entrance of the storehouse re-enter the storehouse or stay in the main loop?  DL1: Should the transporter located at the entrance of a workstation enter the workstation or stay on the main loop?

 DL2: At the end of an operation, can the product pass on to the next operation indicated by the recipe or should an additional operation be applied for quality matters?  DL3: Should the transporter enter the workstation or should it continue in the buffer to be treated later on?  DL4: Should the transporter continue in the buffer or should it rejoin the main loop?

Fig.4.Integration of the job-shop in its environment

Obviously, numerous other decisions might be taken, considering the production objectives. However, it is clear that the decisions are explicitly made by the workstations, based on the data carried by the product. This FMS is thus at level 1 of Wong's/the classification in [START_REF] Mcfarlane | Auto ID systems and intelligent manufacturing control[END_REF].

EVOLUTION TO A LEVEL 2 MANUFACTURING SYSTEM

The evolution presented here is due to the desire of changing the way the production orders are placed on the system. Instead of going through the supervision (informational flow), via the ERP, the will is to use the physical flow, and therefore the products. The idea is to equip every product base and every colored item with an RFID tag. These tags are meant to become the trigger of actions when read by an appropriate reader. The target architecture to implement is a holonic architecture, namely, PROSA [START_REF] Valckenaers | Designing Holonic manufacturing systems[END_REF][15]which presents a predictive/reactive behavior. The request for production is triggered by a resource holon located in the storehouse. When a production has to be started (for example, due date written on a product base is approaching), this holon retrieves a container of product bases, and transfers it to workstation 1. A request for transporters is then sent to the holon handling the storehouse. When a transporter is said to be available, the storehouse sends it to workstation 1.

Once on the workstation, the empty transporter negotiates the deposit of a product base with the Cartesian robot of workstation 1. When the product base is mounted, the transporter reads the data of the product database stores these data in its internal memory and leaves the workstation. Once on the central loop, it negotiates with the workstations' resource holons to reserve a time slot for treatment.

It is thus the transporter which can decide to enter or not to a workstation, and is thus able to act on its environment to turn off direction whenever needed. The issue here is for the transporter to be able to know its localization within the assembly line. This application will be made in a special fashion in order to save in costs and energy consumption: the transporter knows the exact configuration of the network; each time it senses it arrives to a turn, it is able to know the link it enters.

When a colored item is put on the product base, the transporter retrieves its associated data for traceability and quality control. These data are thus sent to the supervision application, so that the progress of the production order can be visualized.

Fig. 6 shows the developed hardware configuration of the transporter together with the product.

This evolution is extremely close to the notion of product-driven system. It is meant to form an experimental test bed for numerous fields of research to either:  Evaluate the pertinence of negotiation protocols;  Evaluate the performance of dynamic scheduling rules;  Evaluate the possibility of coupling predictive optimization techniques with reactive behavior;  Compare the performance of level 0 (classical control), 1 and 2 systems. Fig. 6.Hardwarecomponents of a level 2 intelligent product. Fig. 7 shows the class diagram of the architecture that was designed. This architecture is mainly based on the holonic reference architecture PROSA with its three basic holons being the product holon, resourceholon and order holon and the staff holons from which the "Directory Facilitator" is directly inspired on HCBA and on the Multi-Agent System's platform, JADE. The three basic holons are each in charge one aspect on the processes of exploration, negotiation and association that lead to the production of the product in question. The staff holons, in this architecture, where designed to give coordination between the interactions of the three main basic holons. More importantly, they provide data about the state of the system that indirectly increases the vision of the negotiating holons on the system's state. This augmentation in vision increases the possibilities of system while trying to approach optimality [START_REF] Valckenaers | Emergent short-term forecasting through ant colony engineering in coordination and control systems[END_REF]. Fig. 8 shows the investigated interactions between holons during the launch of an order coming directly from a client. The main character in this interaction scenario is the "Order Distributor". Its essential role is to split the client's main order into smaller, more manageable sub-orders that can be individually handled by a single transporter. The partition and allocation of sub-orders can be made with simplistic rules, for example, considering only the energy autonomy of each of the transporters and a defined weight between parallelism and the number of transporters used. Alternatively, it can be applied more complex and centralized algorithms with augmented vision of the system as in [START_REF] Cardin | Using online simulation in Holonic manufacturing systems[END_REF] to choose the distribution that will result in a greater efficiency. The negotiation process of the transporters with a sub-order assigned is detailed on Fig. 9.

CONCLUSION AND FUTURE WORK

This paper presents the evolution of a manufacturing system from data oriented to product-driven. This evolution is made by reconsidering the concept of product, giving it embedded abilities to decide and communicate. Such evolution offers numerous perspectives, as it is sufficiently open for implementing different roles and behavior rules.

Furthermore, the control of a product-driven systembeing characterized by a distributed control architecture, each resource is controlled by a decision center. In is becomes obvious how the decisions taken by the system are distributed among the decision centers, and are thus not centralized. This repartition of intelligence throughout the system is an advantage in the way it eases the control of the system. However, the decision making process in such system is generally simplistic, as the parameters the decision centers have at their disposal generally represent just a subset of the data available about the whole system (generally the neighborhood of Sd), when the impact on Si, might be very important. The evaluation of the best decisionoften needs for the decision center to have:

1. An increased vision of the systemto dispose of a wider P set; 2. A prevision abilityenabling it to anticipate the impact of the decision on Si.

As shown in [START_REF] Valckenaers | Emergent short-term forecasting through ant colony engineering in coordination and control systems[END_REF], the efficiency of a holonic architectureis the abilityof holons to forecast the future behavior of the system. This is especially true in the case of product driven systems. It would thus be very interesting to apply at real scale the work developed in [START_REF] Cardin | Using online simulation in Holonic manufacturing systems[END_REF], dealing with the application of online simulation (or other similar tools) as a decision support system. If atomic automated decision centers could have these tools at their disposal, atomic decision making could be not simplistic any more, and therefore the global behavior could get closer to a hypothetic optimal behavior. These developments would emphasize the impact of a coupling between heterarchical and hierarchical architectures, generally referred as "semi-heterarchical". This coupling would mainly rely on the abilities of the Staff holon, central element of the prevision capacity.

Fig. 1 .

 1 Fig.1.Structureof an intelligent product

Fig. 2 .

 2 Fig.2.Product driven system architecture introduced by [5]

1 .

 1 The Decision Trigger (D): event triggering the decision making process; 2. The Decision Center (C): smart entityof the system which evaluates the decision; 3. The Decision Parameters (P): Set of data (measured, evaluated or planned)influencing the decision making process; 4. The System Directly impacted by the Decision (Sd): Subset of the systemon which the decision has a direct impact. 5. The System Influenced by the Decision (Si): Subset of the system on which the decision has an indirect influence.

Fig. 5 .

 5 Fig.5.Decision points in the assembly line.

Fig. 7 .

 7 Fig.7.Architecture Class Diagram.

Fig. 8 .

 8 Fig.8. New order holon management sequence diagram.

Directory


F Gamboa Quintanilla

O Cardin

P Castagna
email: pierre.castagna@univ-nantes.fr

Product Specification for Flexible Workflow Orchestrations in Service Oriented Holonic Manufacturing Systems

Keywords: Holonic Manufacturing, PROSA, Petri-Nets, Product Specification, Manufacturing-Services, Process Families, Workflow exploration

Holonic Manufacturing Systems are a response solution for the emergent need of flexible, reactive and productive manufacturing systems. This paper relies on PROSA, a classical holonic referencearchitecture, whichmakes use of a product specification, a process specification and a means to determine a resource's productionabilitiesand capacity, but does not define a specific method for representing such.This paper proposes an approach to define a product's process specification model that integrates the principles and advantages of Service-oriented Architectures, Petri-Nets and Product Families. Then, aredefinition of the basic holons is given to have a glimpse on a possible exploitation of this new approach, together with a short-term forecasting strategy, for the flexible orchestration of workflows. Finally, it is shown how the proposedproduct's process specification model enhances the HMS's flexibility,reactivity and productivity giving rise to a Service-oriented HolonicManufacturing System.

Introduction

For the last few decades it has been seen an evolution in the goods market trend which manifests with an increasing demand of customized products. This evolution has been boosted by the rise of the e-commerce market which makes available customization platforms to customers via internet. Companies in their search to compete in the marketplace have been looking for ways to expand their production lines and differentiate their offer with the belief of improving their sales [START_REF] Jiao | Product family design and platform-based product development: a state-of-the-art review[END_REF]. However, as [START_REF] Child | Sloan Management Review[END_REF] pointed out, as variety increases the law of diminishing returns does not keep pace. Thus, the problem of Customizationi.e. reaching Production Efficiency (PE), relies on process design, whose main concern is manufacturability and cost. For this reason, to attain PE and respond to product variety, the next generation Manufacturing Execu-tion Systems (MES) should provide increased levels of flexibility, re-configurability and intelligence [START_REF] Molina | Next-generation manufacturing systems: key research issues in developing and integrating reconfigurable and intelligent machines[END_REF]. Holonic Manufacturing Systems (HMS) havebeen recognized as a paradigm providing to MES the above mentioned attributes by means of a decentralized architecture. Such attributes are obtained thanks to the identification and recognition of autonomousintelligent entities, each one attributed with sub set of the various responsibilities in the system. These entities, called holons, are capable of cooperating with other entities and organize themselves for the achievement of a specific goal. PROSA [START_REF] Meyer | The power of product platform-building value and cost leadship[END_REF], reference holonic architecture, identifies and classifies three main holon roles,i.e.product, resource and order holons, each one in charge of managing a part of the production control system such as: product and process specifications, resources' capacity utilization and logistics, respectively. PROSA, in its definition, structures the design principles of an HMS. Such definition recognizes the existence of a product specification, process specification and the capacity of determining a resource's production abilities and capacity. However it does not establish specific tools to implement these. The objective of this paper is to propose a modelingstrategy for aproduct's process specification that welcomes product customization and enhances the HMS'flexible, reactive and productive potentialto attain production efficiency. A second objective is to propose a methodology to determine theResource Holons'(RHs) production capabilities that can interface with the proposed product's process specification.

The second section of this article gives a brief description of the type of system of application.The thirdsection of this article deals with the specification of the product, leading to a model including product and process families' specification. This section ends up with the proposal of using Petri Nets in order to represent product recipes. Finally the fourthsection is intended to show how these new concepts can be integrated into a HMS with the use of SoA's principlesfor flexibleworkflow orchestration.

Description of System of Application

Before going further in introducing the work presented in this paper, it is important to have a look on what kind of systems this work is address to. This will give the reader some context in order to have a better understanding of the ideas and concepts discussed in this paper. This work is mainly directed to companies needing to implement new production systems with enough flexibility to produce a great product variety that the new trend of product customization implies. Such need of flexibility comes from the idea that such flexibility will translate into a greater competitiveness in terms of product quality, speed of product delivery, greater product offer, and the ability to introduce faster, new products into production and market. Hence, this work is intended for those companies looking to push to the limit the efficiency of their production systems while keeping a high degree of flexibility in opposition to companies seeking for high volume productions where the system's physical configuration inclines more towards continuous flow production lines which favor high production flows by scarifying flexibility.

Due to product customization and the great product variety that it engenders, there is a high uncertainty on product demands. For this reason this work is mainly directed to production systems implementing a push-pull strategy or Make-to-Order (MTO)strategy where orders can arrive at any moment during production time, requesting estimations on delivery dates. These so called emergent orders give a dynamic behavior to the systems, changing its state with each new arrival. Such dynamism make the implementation of traditional scheduling systems not a viable solution as it makes its calculations based on a static state therefore having to recalculate with each new arrival. The degree of the MTO strategy can be either an Assemble-to-Order(ATO) or a Build-to-Order (BTO) strategy where product parts are already available or they can be ordered as production orders arrive. Orders can come in small batches or individual products as it is the customer who submits them.

The intended system of application owns a physical topology resembling that of a FlexibleJob-Shop (FJS). This is natural, as a job-shop is typically the initial production floor configuration for manufacturers willing to offer a variety of products thus; needing of flexibility. The constraints remain the same: all jobs are formed of a certain number of manufacturing operations that can be executed by one or more of the resources available in the production floor.

The production floor is composed of threemajor components: a set of work stations atransportationsystem and a set of work-in-process (WIP) products. It is a multistation manufacturing system where there exists more than one work-station or machine capable of doing one same operation. Such work-stations can count with stocks of materials or sub-products that will be needed to provide a certain manufacturing transformation to products in order to allow the implementation of an ATO and/or BTO strategy.

The transportation system gives physical interconnectivity between the different work-station. Due to the FJS characteristic of having more than one production sequence, the transport system is considered to be a multi-routing system where products can follow jumbled routings among the different work-stations. Such routing system might not be designed to have full reachability, thus it is considered the possibility of non-reachable physical states.

Due to the great number of product variants that can exists in the work-in-process, products are considered to possess an appropriate identification for its proper treatment and in order to keep track of its production evolution. Products in the WIP can use of auto-identification technologies as proposed in [START_REF] Wong | The Intelligent Product Driven Supply Chain[END_REF], in order to communicate its identification to the system so as that its environment can interact with it accordingly.

Taking into account system integration, it is considered the possibility of a system integrating all types of different technologies. For instance, a work station could well be an automated machine, an automated work cell or an operator in a manual or semiautomated work station. Although re-configurability is out of the scope of this paper, this aspect will later be demonstrated for adding flexibility in the system's reconfiguration.

Here are some characteristics or assumptions on the manufacturing process:  Operations are non-preemptive. Once a manufacturing operation has started it cannot be interrupted unless the product in question is going to be fully discarded.  There is no parallelism in the execution of manufacturing operations for one product. Parallelism is only present in an indirect way with the simultaneous production of composing sub-products.

Productivity in a Job-Shop production system is strongly linked to its physical layout. One of the main challenges is to design a layout that minimizes material handling costs, process inventories, idle times andthat attaints full reachability. The proposed product's process specification, presented in this paper, intends to exploit to a maximum the intrinsic flexibility of the manufacturing process itself according to its precedence rule with no regard on the physical resources. The strategies on how this flexibility will be exploited for the formation of workflows in terms of sequence and providers is out of the scope of this paper, however section 4 will give a slight insight on a possible solution.

3 Product Specification

Product Families

In their attempt to achieve mass customization, companies face the problem of an increased internal complexity due to again in product variety which raises production cost [START_REF] Child | Sloan Management Review[END_REF]. In order to solve this complexity problem and achieve economy of scale while satisfying Customer Needs (CN), companies have been adopting the development of product families,which seems to be a well-recognized solution to keep competiveness in the marketplace [START_REF] Martinez | Product family manufacturing plan generation and classification[END_REF].

The principle of product families development is based on the exploitation of the inherent commonality between different product variants. A product family refers to a set of individual products that share a set of common structural characteristics and yet are differentiated one another by certain specific features [START_REF] Meyer | The power of product platform-building value and cost leadship[END_REF]. Such commonality among product structures inside a product family inherently enables commonality as wellin the corresponding production process [START_REF] Martinez | Product family manufacturing plan generation and classification[END_REF]. This gives origin to process families, which in turn takes advantage on the existingcommonality in operations and sequences among the different family members.

A process family is therefore a collection of manufacturing tasks that respond to the realization of the corresponding structural modules within a modular product architecture. Process Families, in the same way as product families, carrythe attributes of commonality, modularity, reutilization and scalability [START_REF] Jiao | Product family design and platform-based product development: a state-of-the-art review[END_REF] [5] [START_REF] Simpson | Product platform design: Method and application[END_REF].This process specification is, actually the production recipe of a product family member and thanks to its modular nature, it can be reconfigured into different sequences/workflows, also called process orchestrations.

All in all, a product data model, in a customization production system implementing product families, comprises a product family specification (physical domain) and a process family specification (manufacturing domain).

Product Model

In the context of product customizationand product families design, there are two main challenges in the organization of a product's production data model. First, instead of being a collection of individual product variants, the model should explain the relationships between these variants. Second, an individual product variant should be defined out of the selection of the parameters related to the product family. Such parameters are the result of a customer specification process, i.e. product customization. Thus,a specific description of a product's variant production process is a function of both parameters specification and a processfamily description. For such, the following Product Manufacturing-model, Fig. 1, is proposed for representing the process family of a specific product family.

Fig.1. UML Product Manufacturing-Model

This model is based on the product model described in ISA SP-95standard, which contains all the necessary information for the manufacture of a product. To adapt this model to product families, and product customization, the information is clustered in three main classes:

 Customization Parameters: Collection of variables to be defined by the customization process for a given product family. They possess an identifier and a range of allowed values corresponding to a structural module. . The level of customization for a given product family is reflectedby the cardinality of this class as the more customizable parameters there is the more product variants a family represents.

The instantiation of all customizable parameters of a product family, results in a list of defined parameters for a product variant. Examples of these parameters are: Laptop Color, Hard disk capacity, type of screen, type of Wi-Fi antenna, type of keyboard, optional Bluetooth, etc. These will then be mapped into process parameters which are explained later with the Manufacturing-Service class.

 Manufacturing-Service: Represents a manufacturing-task or group of tasks forming part of the products production process and it resultsfrom the mapping of a given structural module from the physical domain into the process domain. It is a manufacturing processmodule describing manufacturing transformationabilitywith no regard of the methods and technology for its implementation. This class also contains the class Parameterswhich correspond to certain variables needed to be determined for the correct execution of the manufacturing task. Theseservice parameters are determined according to the choices made for the customization parameters in order to reproduce such specifications.  Manufacturing-Service Precedence/ Production Conditions: Information explaining the relation and interdependencies between the different ManufacturingServices forming the given process family. It represents the precedence rules between servicesfor the orchestration of production workflows. Its cardinality can be zero,considering the possibility of the existence of anon-decoupled production process characterized by a single manufacturing service,(no need of precedence).

It is therefore the instantiation of these three elements that completely determine the information required for the realization of a product variant. Such specification is independent of the physical platform as manufacturing servicesare mere operation descriptions with no consideration of the resources or methods implementing them. This quality makes the product manufacturing-specification compatible with all types of resource models as long as they can provide the required services. Product differentiation is then achieved by both; parameter specification and configuration of the different manufacturing service modules through the addition, subtraction and/or substitution of these. In this manner, the model explains the process family description through servicesand their interdependencies; and customer specification throughcustomization parameters specification and the bill of manufacturing servicesfor configurable product families as some manufacturing services can be held out for some family members

3.3

Manufacturing-Services.

As mentioned before,manufacturing servicesare the result of the direct mapping of structural features of a product family into the process domain. Such services, as stated in [START_REF] Grönroos | Service Management and Marketing. A customer relationship management approach[END_REF] for Service Oriented Architectures, represent a single operation or a series of operations of more or less intangible nature, that normally take place in the interactions between a customer and a provider, given as a solution for a customer problem. Services can then be standardized and a bank of these reusable services (operations) can be created for further reutilization in case of existing commonality with other product families.  Operation: Represent the activities related to the service. From the consumer perspective: these are descriptions of the transformations made on the product, more generally, a service identifier. From the provider's perspective: this isthe function with the algorithms executing the service, as shown in Fig 2 . Contrary to service description, service algorithms are proprietary to the provider and therefore dependent on the resource's technology. The service has a list of attributes on which its performance can be evaluated. Such attributes values are different for each of the methods that implement the service as it is seen in the aggregation relation with the Method class. For instance, an evaluation attribute could be the operation energy consumption. A machine using newer technology could consume less energy than other othermachines when providing the same manufacturing service.  Parameter: They can be of two forms: variables and materials. In the first case, they arevariables with a range of allowed valuescorresponding to a design parameter from the physical domain(e.g. Element X positioned by coordinates). In the lattercase, they indicate the category of the component to be added to the main product by the operation. The selection of the material or sub product is done inside a range of component variants belonging to the same category (e.g. Category: HDD, Range: {200 GB, 300 GB, 400 GB, 1Tb}). It is determined after the customization process and used tofully determine the operation description.

It is the decoupling of parameters from the operation that allows bringing product customization to the process domain. Therefore, as product customization is based on the reutilization of structural features, the manufacturing servicesused to produce such features can be adapted to the different product variants and/or families through service parameterization. The group of servicesthat can be derived from this model can be seen as a family sharing a same operation description but differentiated by the values in their parameterization.

Sequence Modeling through Petri-Nets

As mentioned in the Product Manufacturing-model, a product specification should express all the information needed for the manufacture of a specific product: parameters, manufacturing services and service precedence conditions. Its modeling tool should be capable of expressing all the possible service choreographies (workflows) that can produce the specified product. In addition, it must also facilitate the online edition, be easy to understand and program and should have low memory footprint for potential embedded applications.

Traditionally in process design, static models are implemented specifying only one single predefined production plan. Mendes et al. in [START_REF] Mendes | Process Optimization of Service-Oriented Automation Devices Based on Petri Nets[END_REF] enrich the process model by considering the existence of different alternative services for a given production state. They used the Petri-Nets formalism as modeling tool with the objective of involving decision motors in the system. The approach proposed in this article has the intention of going farther in enriching the process model by increasing the decision area by questioning the order of execution of tasks. Petri Nets, a well-known modeling formalism in the academic and industrial domain, turns out to be a very good candidate for this purpose. This is mainly due to its characteristic ability to capture the synchronous and asynchronous aspects between the manufacturing services involved in the production process. Thanks to this and to their evolution mechanisms; petri-nets have the advantageous capacity of representing a great number of sequence combinations with a single net. This is of great importance as the main goal is to design a product manufacturing information model that allows the exploitation of the HMS's inherent flexibility, which in turn will project through the exploration of all the possible alternative production workflows that produces a specific product.

The proposed product production model is represented using a Petri-Net extension which includes the inhibitor arcs and the test arcs. For more information on the Petri-Net formalism, refer to [START_REF] Cassandras | Introduction to Discret Event Sistems[END_REF]. In this model, manufacturing servicesare represented by the net's transitions. The different production states are indicated by the net markings. These markings, implicitly determine the manufacturing servicesthat have been executed at a given point. The service interdependencies/precedence rulesareinherently defined by the collection of arcs relating places and transitions and the evolution rules of the Petri-Nets formalism.Testarcs together with the inclusion of permission places are used to indicate the selection of the optional modules that differentiate versions of the product i.e. product sub-families. A token is added to the permission places of those optional services that have been selected to be included in the process. Inhibitor arcs on the other hand are used to include more complex precedence conditions like those of mutual exclusion and negation which can be especially present in chemical processes. Finally, the set of parameters isadded as attributes associated to the manufacturing services(transitions).

To better understand the Petri-Net approach, Figs. 3-5showan illustrative example of a theoretical process family using Legos. It consists of a Lego platform representing the transporter of the product, and a set of blocks each onestanding as an instance of a theoreticalservice type. Three types of Legos are used to represent such types and are differentiated according to their sizes as it can be seen in Fig. 3. Manufacturing service type 1 is represented by a 2x2 Lego block, a service type 2 by a 2x4 and finally a service type 3 by a 2x6 Lego block. Each service has a set of parameters to be specified for its instance from which a subset is not customizable and is definedby the process designers. The other sub-set of parameters is used to capture the customers' choices in the process domain;they include the scalable aspects of customization intothe production process whiletest arcs and permissions places capture the configurationalaspects of customization of the product. The idea behind this example is to illustrate the structural interdependencies in the Lego structure to illustrate the process family precedence conditions and how this can be represented with a Petri-Net.

Fig.3.Types of Services

Fig.4.Product Base Configuration

In this example, color of the Lego block is the customizable parameter while their coordinates are set a priori during process design creating an instance of the service type. The base configuration of the product family is exposed in Fig. 4.Such base subproduct can then be transformed into a member of one of thedifferent product subfamilies, as shown in Fig. 5,belonging to the process family to be modeled. As it can be seen, it can result in two different versions. Version1 includes two service type 1 instances which are differentiated by its coordinates from those instances in version 2. This shows a configurational choice available for the customer, which in this case would be of mutual exclusion. Therefore, this product family is customizable in color; each of the blocks of the structure can take oneof the colors available, as indicated in Fig. 3, plus a certain customization level in the product structure defined by the optional modules issuing a version 1 or a version 2 product.

Fig.5.Product Variants of a Family

As it is illustrated in Fig. 4, the base configuration of the Lego product is realized by the application of 5 instances of service type 1 {1.1,1.2,1.3,1.4,1.5}, two instances of service type 2 {2.1,2.2} and one instance of service type 3 {3}. Then parting from such base configuration versions 1 and two can be realized by the application of two servicetype 1 being {1.6,1.7} and {1.8,1.9}. Table 1 contains the bill of manufacturing services involved in the realization of the given product family and the precedence conditions for each one of them. Using the Lego structure to demonstrate the interdependencies between services it can be seen that services 1.1 through 1.5 are independent of any other service other than the existence of a platform. This same independence is expressed in Table 1 with a zero precedence condition. Service 2.1 and 2.2 are directly dependent on the previous application of services 1.1&1.2 and 1.3&1.4 respectively. However, in order to make a richer example, a more complex precedence condition is used as indicated in Table1. In this case the main interest is to avoid the situation of applying services 2.1 and 2.2 before service 1.5 has been applied. This can represent a scenario with a physical limitation like that of a robotic arm, in an assembly process, being unable to place block 1.5 once blocks 2.1 and 2.2 have been placed. Hence, the possible sequences (with respect to this three services) are {1.52.12.2}, {1.52.22.1},{2.11.52.2} and {2.21.52.1}. It is important to note that complex conditions like this should be expressed in canonical form as a sum of maxterms. Service 3, on the other hand, has a compound and condition. It depends on the previous application of services 2.1 and 2.2, followed by the rest of the services in the list with its single precedence conditions.

Table 1.Example: Manufacturing Services Precedence Table

Serving from the precedencetable and a series of modeling rules, the following Petri-net structure can be derived (Fig. 6). As mentioned before, the production state of the product in question is given by the net's marking which enables the triggering of certain transitions. Thanks to this, at a certain production state, it can be known the allowed manufacturing services to execute next that will respect the serviceprecedence rules. This allows the exploration of the alternatives given by the asynchrony between certain services. The selection of production modules, resulting from the personalization process, is done by adding tokens to those services forming part of the different productversions. From the example, if version1 is to be done, a token will be added to the permission place linked to both Services 1.6 and 1.7bythe testarcs which will avoid the habilitationof those transitions.

In short, a single Petri-Net can generate a state-automaton representing the arborescence of all possible production workflows while consuming a small amount of memory and a more straight forward programming and design.

Manufacturing Service Type Precedence Condition

Service

Integration into SoHMS

The proposed approach for modeling product specification through services and Petri-Nets gives origin to a Service oriented Holonic Manufacturing System (SoHMS). This takes the core of a Service oriented Architecture (SoA) with the provider and customer entities havinga holonic behavior with roles defined by PROSA.Next, it will be explained some of the activities of the PROSA's basic Holons that will show how to integrate the proposed approach and how this gives answer to this paper' objectives: enhancing the HMS flexibility, reactivity and productivity and a way to determine the RHs production capabilities.

Holons' Roles

Product Holon (PH)

The PH, as in PROSA, contains the product specification using the present approach, though Petri-Nets, Services and parameters specification. However, instead of standing as just an informational server, the PH leaves its passive character and adopts a more active one by involving itself in the decision process. Its main responsibility is then the exploration of the best possible production solutions according to the rules inherently expressed in the Petri-Net production recipe. It is also responsible for the evaluation and the selection of the best explored solution according to a certain criterion, e.g. the end of service date. Exploration is done in two stages: prior to the order launching and during order production, with the intention of reevaluating the system's state and react to changes by proposing new solutions based on the present state. Such decision is then communicated to the OH for their execution.

Order Holon (OH)

The OH contains the selected solution by the PH in the form of an execution table with all the information related to their proper execution,i.e. time constraints and servicecontractors. Its main responsibility is to ensure the proper execution of a task or series of tasks in the manufacturing system.

It is in charge of the routing of the product through the production plant (factory) from one resource to another according to the physical ports indicated in anexecution table issued by the PH after workflow exploration. As production evolves, it notifies the production state to the associated PH for a continuous evaluation of new alternatives. Similarly, as production goes by, it sends intention confirmations to all the contractors to maintain contracts valid (reservations) and waits for their acknowledgments..Such reservations have a limited lifetime and become invalid in case of not being validated with a certain frequency. This is done in order to detect changes in the system's state as first stated in [START_REF] Valckenaers | Emergent short-term forecasting through ant colony engineering in coordination and control systems[END_REF].

Resource Holon (RH)

A RH is a virtual representation of the physical resources that provide production capabilities in the factory floor. Such virtualization can be of one or ofa group of physical resources for which manufacturing functions have been pre-programmed according to their internal models. In the same way as the agents in the operator level defined in [START_REF] Nagorny | A service-and multi-agent-oriented manufacturing automation architecture[END_REF], the RH can offer services that involve the interaction of various machines with a shared physical environment. The main idea behind this is that, by the unification of the individual physical resources' abilities, more complex manufacturing servicescould be offered, thus augmenting the manufacturing abilitiesof the SoHMS.

In contrast to PROSA's initial definition, it does not contain the controller of the resource. Its mainactivity in the HMS platform is the exposition of servicesand the negotiation for the allocation of the resources' activities according to a specific criterion (e.g. maximize resource utilization). In a lower level, there is a corresponding RH that can be called the "Operator-RH"(inspired by [START_REF] Nagorny | A service-and multi-agent-oriented manufacturing automation architecture[END_REF]), which contains the list of preprogrammed functions for the cluster of physical resources forming an RH. This operator-RH contains the utilization time-table of each of the physical resources involved that the higher level RH accesses to manage its allocation. This separation is important as both activities; resource allocation and service execution require execution environments with different time constraints.

4.2

Holonic Interaction

Fig. 7 shows a UML sequence diagram to express, in a general way, the production lifecycle of a single product. It all starts with the exploration of the possible production sequences according to the product specification Petri-Net. The issue of such exploration is a set of different trajectories that can achieve the production of a terminated product. Such trajectories are differentiated one another by the order of execution of their servicesaccording to their precedence rules, the candidate service providers and the estimates of their execution. Once the exploration is concluded, the PH evaluates the alternative solutions according to a specific criterion (depending interests) and selects one solution, making it the intention workflow. After defining the production workflow, the PH attributes contracts to establish reservations based on the RHs' service proposals and waits for contract establishments confirming the validity of the production plan. Once the intention has been already established, the PH passes the confirmed intention to the associated OH for managing its execution through the production factory.At the same time, the PH enters in a mode of reactivity to re-explore and re-establish a new solution in the case of a disturbance on the system that invalidates the original production workflow.

Exploration of Alternative Workflows

Exploration starts by attributing an initial marking to the product specification Petri-Net. The marking, as stated before, represents production possibility states, i.e. states do not depend on history but on the permissible future actions. At a given marking, the set of enabled transitions represent the permissibleservicesthat can be executed for that production state. The PH then sends tasks announcements to the cloud of RH requesting for proposals coming from the RHs capable of providing such services.. These are then added to the solution graph and continue exploration in time of each of these proposals in terms ofsequence and in terms of provider selection.This process continues until all possible trajectories are explored, generating an automaton with solution forecasts, as illustrated in Fig. 8. Such exploration process is based in the emergent short term forecasting approach proposed in [START_REF] Valckenaers | Emergent short-term forecasting through ant colony engineering in coordination and control systems[END_REF].

In this way, the exploration process concludes with an arborescence of possible solutions according to the systems present state. Later on, by the use of graph search algorithms, the evaluation of the best solution can be done for their reservation and subsequent execution as presented above.

Fig.8.Workflow Exploration and Selection 1

Continuous Exploration

One of the main requirements for SoHMS is a good reactivity to production disturbances. For this reason the PH enters in a reactive mode that enablesit to re-start the exploration for new possible workflows, again in terms of service sequence, provider and time of execution, whichcould have a better performance than the original solution proposed. This re-exploration for new solutions can be done in a periodic manner and/or in an event-driven manner parting from the present production state:

 Periodic Re-Exploration: The exploration of new alternatives is made every fixed period of time in order to detect changes, in the system, that are not directly related to the PH in question. Such changes have an indirect impact in the product production planand aren't directly notified to the PH's to trigger exploration. Examples are: changes of intention of other PH, breakdowns of RHs out of the PHs Holarchie (non-contractor RHs), etc.  Event-Driven Re-Exploration:Exploration is triggered by the notification of a disturbance involving one of the holons directly associated to the PH production plan (holons belonging to the sameholarchie). In this case if an associated RH suffers a disturbance, the PH can immediately start exploration of new feasible alternatives.

Conclusion and perspectives

Using Petri-Nets and the concept of Services in an HMS, creating a SoHMS, brings several advantages to the control system. The Petri-Nets, thanks to its great expressiveness of the synchronous and asynchronous aspects between manufacturing tasks, allows the PH to explore all possible production solutions. This advantage adds flexibility to the system as it is not limited by the production specification but by the constraints inherent to the product's production interdependencies. Equally important, they express with great simplicity a potential explosion of production trajectories that would be difficult to model otherwise, as such arborescence depends on the combinatorial nature of manufacturing servicesand on contractor selection.On the other hand, the inclusion of the concept of services, giving rise to the SoHMS, introduces a defined and unified way to describe manufacturing tasks as means to determine accurately a RH's manufacturing capability,based on the task nature more than on the resources' model. This facilitates the introduction of different resource technologies as it is independent of the technology used. Moreover, it welcomes the customer specification in the manufacturing specification and imports the advantages of service reutilization (as in product families) for cost reduction and faster design to production time. Finally, the short-term forecasting approach for the exploration of production alternatives represents a step for augmenting the systems productivity and come closeto optimality by augmenting the vision of the system for the whole production lifecycle of theproduct.

On future work, more detail will be added on the reactive mechanism for the reexploration of new solutions due to disturbances. For such, also social behavior rules will be defined as to avoid chaotic interactions in the system [START_REF] Valckenaers | Emergent short-term forecasting through ant colony engineering in coordination and control systems[END_REF]. Work is also to be done in defining the RH model and behavior algorithms for scheduling its local resources as to maximize their utilization or other criteria. Due to the potential explosion of alternative solutions, the exploration of all these can be time consuming and difficult tocompute. In such case, machine learning algorithms could help in identifying those trajectories that give the best results according to the evaluation criterion used and limit the exploration of new solutions to a limited number around these solution areas.

Fig. 2 .

 2 Fig.2.UML Manufacturing-Service Model; (provider's perspective)

Fig. 7 .

 7 Fig.7.Order Launching in aSoHMS

The state diagram arborescence shown in this image does not correspond to the Petri-Net in the example. This was simplified for visualreasons.


Alex Ballu
email: alex.ballu@u-bordeaux.fr

Luc Mathieu
email: luc.mathieu@u-psud.fr

Jean-Yves Dantan
email: jean-yves.dantan@ensam.eu

Formal language for GeoSpelling

Keywords: Geometrical Product Specification, Specifications semantic, GeoSpelling, Formal language

In order to tackle the ambiguities of Geometrical Product Specification (GPS), GeoSpelling language has been developed to express the semantics of specifications. A detailed syntax of GeoSpelling is proposed in this paper. A specification is defined as a sequence of operations on the skin model. The syntax is based on instructions used in computer programming language: call to functions and flow control by condition and loop. In GeoSpelling, the call to functions corresponds to the declaration of operations; loops make it possible to manage a set of features with rigor and conditions to select features from a set.

INTRODUCTION

Experience of metrology by coordinates led us to observe that the difficulties encountered by the industry with the language of standardized tolerances appear during the verification step. When faced with the physical part, the metrologist asks questions that the designer had not thought of.

The metrologist, who does not find perfect shapes, encounters difficulties in defining a correct measuring process.

Standardized graphical language for GPS (Geometrical Product Specification) appears to be ambiguous. One needs to consult the standards to try to understand the specifications on a technical drawing.

We have been developing GeoSpelling for more than 15 years, in an attempt to overcome the difficulties experienced in understanding and defining the geometrical specifications. The objective of the GeoSpelling language is to enable the semantics of specifications to be expressed and to define their meaning clearly. This work revealed some ambiguities in the standards [START_REF] Ballu | Univocal expression of functional and geometrical tolerances for design, manufacture and inspection[END_REF][2] and the concepts of GeoSpelling have been integrated into ISO 17450-1 standard [START_REF]Geometric Product Specification (GPS) -General concepts -Part 1: Model for geometrical specification and verification[END_REF]. Nevertheless, GeoSpelling is not relevant only to standardized specifications; it is also relevant for all geometrical specifications useful for expressing geometrical requirements during the development cycle of a mechanical product. However, GeoSpelling still lacks a complete syntax for it to be completely unambiguous. As a specification is defined as a sequence of operations on the skin model, we propose a syntax similar to the syntax of procedural computer programming language. In computer programs, the instructions are essentially: call to functions and flow control by condition and loop. In GeoSpelling, e i p N d call to functions corresponds to the declaration of operations, but the concepts of condition or loop are absent and still need to be defined. First, we review the main features of GeoSpelling, then the syntax, inspired from computer programming language, is described through examples.

MAIN CONCEPTS OF GEOSPELLING

GeoSpelling is a model used to describe ideal and non-ideal geometry. It enables us to express the specification from function to verification using a common language. This model is based on geometrical operations which are applied not only to ideal features, defined in a CAD system, but also to the non-ideal features representing a real part.

The language is generic. With GeoSpelling, standardized specifications can be described using only six operations and a limited number of basic characteristics.

Skin model

Our first idea was to imagine the parts with potential defects for tolerancing and to consider a part model with deviations. This was called the skin model [START_REF] Ballu | Global View of Geometrical Specifications[END_REF][5] [START_REF] Anwer | The skin model, a comprehensive geometric model for engineering design[END_REF]. The skin model (or non-ideal surface model) has been defined in ISO 17450-1 [START_REF]Geometric Product Specification (GPS) -General concepts -Part 1: Model for geometrical specification and verification[END_REF] as "a model of the physical interface of the workpiece with its environment".

i p

N i

Specification operator

Our second idea was to establish a process based on successive operations to define geometric features and complex characteristics from the skin model.

From there, the following definition of geometric specification was created:  a tolerance is a condition,  on a dimension defined by a characteristic expressed,  on a geometric feature or between geometric features,  identified by operations from the skin model.

On this basis the ISO TC 213 committee has defined the concepts of specification operator and verification operator in ISO 17450-2 [START_REF]Geometrical product specifications (GPS) -General concepts -Part 2: Basic tenets, specifications, operators, uncertainties and ambiguities[END_REF]. The specification operator is a sequence of operations from which the semantics of the specification can be defined. The verification operator defines the sequence of operations actually carried out to verify a particular part.

Geometric features

Two types of features are distinguished: ideal features and non-ideal features.

Ideal features

Ideal features are features such as:

 a plane of the nominal model of the part,  a cylinder fitted to a nominally cylindrical real feature.

An ideal feature can be defined by an equation. Among the ideal features, we distinguish those that are completely independent of the real surface of the part, called nominal features, which c t o C constitute the nominal model defined by the CAD system, and the associated features obtained by an operation of association from features of the skin model.

Ideal features are characterized by their invariance class [START_REF] Clément | Theory and practice of 3D tolerancing for assembly[END_REF] and their type. They are often unbounded, but they may be limited.

Non-ideal features

Non-ideal features are features such as:  a surface portion of the skin model,  a median line.

A non-ideal feature cannot be defined by an equation. It depends completely on the skin model. The first non-ideal feature defined in the process of operations to describe a specification is the skin model itself.

Operations

The operations used to define the features can be divided into six classes (Fig 2 ): partition, extraction, filtration, collection, association and construction.

Partition is an operation used to identify bounded feature(s) from non-ideal feature(s) or from ideal feature(s).

Filtration is an operation used to create a non-ideal feature by reducing the level of information of a non-ideal feature.

Extraction is an operation used to identify specific points from a non-ideal feature.

Collection is an operation used to consider more than one feature together.

a t

Association is an operation used to fit ideal feature(s) to non-ideal feature(s) according to criteria.

Construction is an operation used to build ideal feature(s) from other ideal features under constraints.

Characteristics

Characteristics, useful in the definition of specifications, belong to five families:

 Intrinsic characteristic (Fig 3)

 Situation characteristic between ideal features (Fig 4)

 Situation characteristic between ideal and limited features  Situation characteristic between ideal and non-ideal features (Fig 5)

 Situation characteristic between non-ideal features (Fig 6)

To ensure a good understanding of this paper, some details about characteristics must be given.

Distances between two features are based on functions of the distances from the points of one feature to the other. The distance of a point of one feature to the other is defined as the minimum distance from this point to the points of the other feature. The main functions are minimum, maximum, mean and mean of the squares (variance) of the distances. The distance based on the mean of the squares of the distances is denoted quadratic distance in this paper.

Mathematically, a distance is positive, however, signed distances are very useful to express geometrical specifications. The sign depends on the relative position of the point with respect to the feature. In 3D space, a signed distance could be defined with respect to a surface, where one side of e i p t i t the feature is defined as positive, and the other as negative. If the feature is a material limit, the sign is defined positive towards the outside of the material and negative towards the inside.

For example, minimum material distance is very useful to indicate that a feature is outside material with respect to another feature. In this case, material distance is positive (Fig 7).

Taking into account the limited length of the paper and the large number of characteristics in the approach, we recommend reading appendix B of ISO 17450-1 [START_REF]Geometric Product Specification (GPS) -General concepts -Part 1: Model for geometrical specification and verification[END_REF] and [START_REF] Ballu | Language of specification: GeoSpelling, Geometric tolerancing of product[END_REF].

FORMALIZATION OF THE SPECIFICATION OPERATOR

Geometrical specifications are used to illustrate the efficiency of the GeoSpelling model. First, the specifications are presented, then the semantics are carried out using GeoSpelling and finally this expression is formalized. The geometrical specifications are for parts of a workpiece holder for a milling machine, introduced by Anselmetti and fully described in [START_REF] Villeneuve | Geometric tolerancing of product[END_REF].

Perpendicularity tolerance

Let us consider a simple specification: a perpendicularity tolerance of a plane with respect to a cylinder (Fig. 8).

Specification operator of the perpendicularity

As a first approach, one could interpret the specification as the angle between a plane and the perfect axis of a cylinder. However, the skin model representation of the part shows that the interpretation is not so straightforward (Fig. 9). There is no ideal plane and no ideal cylinder on the skin model! According to ISO 1101 [START_REF]Geometrical product specifications (GPS) -Geometrical tolerancing -Tolerances of form, orientation, location and run-out[END_REF]:  the maximum distance between the plane PL1c and the surface S1c is evaluated  the value of the characteristic shall be less than or equal to half of the tolerance value 0.05.

Formal expression of the specification operator

To reduce the ambiguities even further, the specification operator could be expressed more formally, using a sequence of instructions like a computer program code (Table 1). Note: it is not really a computer program, because the skin model is defined by an infinite number of parameters so as to be able to consider all types of geometrical variations (location, orientation, form, texture). Infinite describability implies that the model cannot be represented or used as a variable in a computer program [START_REF] Anwer | The skin model, a comprehensive geometric model for engineering design[END_REF].

A p t e

The rules of syntax used in table 1 are described in the following paragraphs.

Comments

A comment begins with the character %.

Objects

By convention, the variables (objects) are in capital characters (except for surface identifier): SM1, NM1, NCY1a, S1a, D1aMIN, DEV… The constructor to create an object of a class has the same name as the class: Cylinder() to create a cylinder, Plane()… Dmatmin(), Dmax(), Angle() are the constructors of the corresponding characteristics.

A constructor may have arguments. For example, Dmatmin(S1a,CY1a) creates a characteristic of type "Minimum material distance" between S1a and CY1a.

Cylinder() creates an object representing a cylinder, but the cylinder itself is not defined, the situation and diameter are not instantiated.

Similarly, Dmatmin(S1a,CY1a) creates the object representing the distance, but the distance itself is not evaluated (computed). The evaluation is done by the function Eval(D1c).

Operations

The operations of GeoSpelling are functions which have the same name: Partition(), Association()… They are not detailed in this paper.  the objective to minimize (Dia(CY1a)).

CALL TO FUNCTION AND LOOP INSTRUCTION

The next example is a position tolerance of a median line with a datum system. It shows that formalization is not so easy.

Position tolerance

Position tolerance is presented in figure 10 and the skin model in figure 11.

The formal expression of the specification is presented in table 2. Datum C and datum D are defined according to ISO 5459 [START_REF]Geometrical product specifications (GPS) --Geometrical tolerancing --Datums and datum systems[END_REF]. The position deviation is the maximum distance from the median line (ML2e) to the datum axis D (Axis(CY2d)).

Call to function

In the position operator, the identification of the toleranced feature uses a call to the "MedianLine" function to define the median line: ML2e = MedianLine(S2e). The process for defining the median line is given in table 3. As in a computer program, a call to function makes a reusable code possible. It makes sense to define a function dedicated to the median line because this concept is often used in GPS.

The definition of a function begins with the keyword "function". In the example (Table 3):

 the name of the function is "MedianLine".

c r i y

 the input is a non-ideal cylindrical surface (SCY),  the output is the median line (ML).

In general, the number of inputs and outputs are not limited to one, as for the MedianLine function.

Loop instruction

According to ISO 14660-2 [13], the median line of a non-ideal cylindrical surface is: "the locus of centres of cross-sections, where  the centres of cross-sections are centres of associated circles; and  the cross-sections are perpendicular to the axis of the associated cylinder obtained from the extracted surface" With GeoSpelling, we can translate this expression as (see figure 12 The median line operator is more complex than the previous operators because:

 there is an infinite number of planar sections PL solutions of the construction,  the partition of the non-ideal circular line and the association of the circles must be done for each plane PL.

To meet these needs of expression, we propose a formalization in table 3. The construction of the planes is defined as the solution of a mathematical problem with a perpendicularity constraint with respect to the axis of CY. As there is no single solution, the variable SET_PL is the set of all the perpendicular planes. It is important to note that the number of solution planes is infinite. The consequence is that the planes cannot be computed.

The repetition of the partition and of the association for each plane is expressed with a loop instruction. We use the loop instruction "foreach": For each value x of the set X, a series of instructions is produced. With the "collect" keyword closing the "foreach" instruction, the different values y are collected in a set Y.

CONDITIONAL INSTRUCTION

The two main types of control instruction in computer programs are loop instruction and conditional instruction. We have introduced the loop instruction, and the study of a size tolerance will illustrate a use of conditional instruction.

Envelope requirement

Consider the size tolerance for the cylinder NCY2e (fig. 10). The envelope requirement operator is simple to express (table 4).

Note: the objective of the association is to maximize Dia(CY2e) which is equivalent to minimizing -Dia(CY2e).

Size tolerance

The size tolerance is more complex. The size of a non-ideal cylindrical surface is based on the distances of the opposite points on the feature, where [ISO 14660-2]:

 "the connection line between the points includes the associated circle centre; and t e t t  the cross-sections are perpendicular to the axis of the associated cylinder obtained from the extracted surface" In this case:

 there is an infinite number of cross PL as for the cross sections in the case of the median line,  there is an infinite number of connection lines in each cross section passing through the associated circle center, It is not noted in the standard that intersection of the line connection with the non-ideal cylindrical surface must have two points. As the partition is done on non-ideal features, it is possible to have just one intersection point. We are going to introduce a conditional instruction to manage this case (table 5). Traditional syntax is used:

if condition … else … end
In the example, the condition addresses the number of points of the result of the partition For the example, the condition is on the BIPOINT class. Normally BIPOINT is a set of two points, belonging to the class "BiPoint". If the class of BIPOINT is the class "BiPoint", then the distance between the two points is computed, otherwise, the variable is null.

During the collection of the distances, if D is null, no variable is collected.

After the loop, the minimum and the maximum of the set of distances is determined. c t

CONCLUSION

A formal expression of specifications based on GeoSpelling is illustrated using examples. In addition to operations, which are considered as the functions of a computer program, control instructions are used. Control instructions are a loop instruction of type "foreach" and a conditional instruction of type "if then else".

The rigor of the proposed code makes it difficult to use because the function and instructions are low level instructions. Efforts must be made to simplify in order to obtain a user-friendly language. To this end, higher level functions must be developed.

The functional specification between two parts of an assembly is not studied in this paper.

However, the formalization of GeoSpelling presented here enables such specifications to be expressed by introducing complementary concepts.

Applications of the formal language based on GeoSpelling go beyond the simple expression of the semantics of the specification. It could be used to simulate metrology, assembly or manufacturing sequences. These applications will be presented in future papers.

o t e

[13] ISO 14660-2:1999, "Geometrical Product Specifications (GPS) --Geometrical features --Part 2:

Extracted median line of a cylinder and a cone, extracted median surface, local size of an extracted feature".

e t y

  The skin model is a closed surface including geometric defects such as orientation and position deviations, and texture defects. It is distinct from the nominal part model, which only considers perfect shapes (Fig1).



  a non-ideal surface S1a is identified by an operation of partition from the skin model, S1a corresponds to the nominal cylinder NCY1a  an ideal cylinder CY1a is identified by an operation of association, according to the following criteria -Constraint: Minimum material distance between CY1a and S1a ≥ 0 (CY1a is outside material) -Objective to minimize: Diameter of CY1a  a non-ideal surface S1c is identified by an operation of partition from the skin model, S1c corresponds to the nominal plane NPL1c  an ideal plane PL1c is identified by an operation of association, according to the following criteria -Constraint: Angle between PL1c and the axis of CY1a = 90° -Objective to minimize: Maximum distance between PL1c and S1c



  For partition (Partition(SM1,NM1,NCY1a)), the inputs are:  the skin model (SM1),  the nominal model (NM1), t y the nominal surface corresponding to the feature to partition. For association (Association(CY1a, D1aMIN>=0, Dia(CY1a))) the inputs are:  the associated feature (CY1a),  the constraints (D1aMIN>=0)

2 

 2 ): an ideal cylinder CY is identified by an operation of association, according to the least squares criteria -Objective to minimize: quadratic distance between CY and SCY (non-ideal cylindrical surface)  a set of planes PL is identified by an operation of construction (with an infinite number of solutions), according to the following criteria -Constraint: Angle between PL and the axis of CY = pi/for each plane PL  a non-ideal circular line SCE is identified by an operation of partition from SCY, SCE is in the plane PL an ideal circle CE is identified by an operation of association, according to the least squares criteria -Objective to minimize: quadratic distance between CE and SCE  the median line (ML) is identified by an operation of collection on all the centers of circles CE.

Fig. 1 .Fig. 2 .Fig. 3 .Fig. 4 .Fig. 5 .Fig. 6 .Fig. 7 .

 1234567 Fig. 1Nominal and "skin" models

Fig. 8 .Fig. 9 .

 89 Fig. 8. Perpendicularity tolerances

Table Caption List

 Caption Table 1Formal expression of perpendicularity

		Figure Captions List
	Table 2	Formal expression of position
	Table 3	Formal description of the median line
	Table 4	Formal expression of envelope
	Table 5	Formal expression of size