Mouhamadou L Diong

Patrick Bas

Chloé Pelle

Wadih Sawaya
email: wadih.sawaya@telecom-lille1.eu

Document authentication using 2D codes: Maximizing the decoding performance using statistical inference

Authentication of printed documents using high resolution 2D codes relies on the fact that the printing process is considered as a Physical Unclonable Function used to guaranty the security of the authentication system. The 2D code is corrupted by the printing process in a non-invertible way by inducing decoding errors, and the gap between the bit error rate generated after the first and second printing processes enables to perform the authentication of the document. In this context, the adversary's goal is to minimize the amount of decoding errors obtained from the printed code in order to generate a forgery which can be considered as original. The goal of this paper is to maximize the decoding performance of the adversary by inferring the original code observing the printed one. After presenting the different kinds of features that can be derided from the 2D code (the scanner outputs, statistical moments, features derived from Principal Component Analysis and Partial Least Squares), we present the different classifiers that have been evaluated and show that the bit error rate decreases from 32% using the baseline decoding to 22% using appropriated features and classifiers.

Introduction

Fighting forgery and falsification constitutes a major challenge in various industrial sectors (Medicines, Documents, consumer goods, etc). Those issues are becoming increasingly critical with the fast development of global exchanges and internet. The development of digital devices such as digital camera, printer, scanner and copying-machines, also facilitates attacks from forgers. According to the Organization for Economic Co-operation and Development (OECD), international trade in counterfeit and pirated goods reached more than US $250 billion in 2009 [START_REF] Press | Counterfeiting and piracy endangers global economic recovery, say global congress leaders[END_REF]. According to the World Health Organization in 2005, more than 10 per cent of medicines on the global market are forgeries and this figure rises to nearly 25 per cent in developing countries [START_REF] Press | Global congress addresses international counterfeits threat immediate action required to combat threat to finance/health[END_REF]. To fight against fraud, the companies use to adopt authentication methods which consist in printing secret signatures (holograms, security inks. . . ) on products to distinguish them from falsified ones. However, the solutions based on those signatures, are generally complex and therefore create heavy costs and constraints. The authentication system that is studied in this paper has been firstly proposed in [START_REF] Picard | Improved techniques for detecting, analyzing, and using visible authentication patterns (Jul 28 2005)[END_REF][START_REF] Picard | Towards fraud-proof id documents using multiple data hiding technologies and biometrics[END_REF]; it proposes to use copy detection patterns represented as 2D codes in order to detect forged documents. The authentication mechanism is based on the property that the printing process can be considered as a Provably Unclonable Function because of the non-invertibility of the whole printing process. This non-invertibility is due to different factors such as the high resolution of the printer, the random organization of the fibers on the paper or the stochastic formation of the ink drop (or the toner powder) of printers. Similar techniques exist for authenticating items using non-invertible 3D profiles created by later marks [START_REF] Shariati | Random profiles of laser marks[END_REF] or material singularities [START_REF] Gassend | Controlled physical random functions[END_REF]. But the originality of the proposed system relies in the fact that the side-information (the 2D code) carries the output of the PUF (the printing process) and that no other helper information than the 2D code is needed to perform authentication. Using this system, an adversary that wants to copy the 2D code will have to perform a new print and scan process; and once decoded the forged 2D code will present more errors than the original one. Authentication will be performed by measuring the average number of decoding errors, the original codes creating an amount of errors significantly lower than copied ones.

Definition of the authentication system

This authentication process can be formally defined as follow. Let us consider the game (see figure 1) which involves one main communication channel -the printand-scan process -and three players: the legal sender Alice, the legal receiver Bob and the adversary Eve. The figure 3 summarizes the different communication channels between the three players.

Alice sends, for instance a text document to Bob. Bob wants to verify the authenticity of this document using for example a binary graphical code (X Alice ) printed in grayscale (Y Alice ) on the document. The size of the code is arbitrary (100 × 100 for instance). The figure 1 shows an example of random graphical code that Alice can use. In this setting, this code is considered to be a secret key between Bob and Alice.

Once the code is printed, we obtain a grayscale code Y Alice (see figure 2). The adversary Eve wants to produce a forged document with a graphical code Y Eve . She wants also that the legal receiver accepts her code as if it comes from Alice. Therefore, her goal is to make Y Eve statistically as close as possible to Y Alice . On the other side, the receiver Bob wants to build an authentication system T which discriminates between a document coming either from Alice or from Eve.

We can consider that Alice is a passive player and the security game is between Eve and Bob. We merge the printing process and the scanner into the main channel. We use a classical methodology for security in order to try to find the "worst case attack" performed by Eve and to evaluate the authentication system associated to this attack. The goal of Bob is to build a authentication system T whose response will enable to decide between hypothesis H 0 (the code received Y is accepted) or hypothesis H 1 (the code Y is rejected). One possible solution consists in building an estimation function G Bob Y G Bob / / X and to compute the error estimation

Y Eve Y X Alice Y Alice Y Alice Y Alice X Eve Eve Generator X Alice
ε ( Y | X Alice ) = G Bob (Y ) -X Alice .
The authentication test T is achieved after choosing a certain threshold η:

H 0 : Y = Y Alice if ε(Y | X Alice ) ≤ η H 1 : Y = Y Eve else. ( 1
)
The choice of η should be driven by two constraints:

1. We want to accept as much as possible the codes coming from the legal sender Alice; this constraint corresponds to the minimization of the Probability of False Alarm (P f a or Probability of detecting a genuine document as a copy):

P f a = P(ε(Y | X Alice ) > η | Y = Y Alice ). 2.
The second error consists in detecting as false the codes coming from Eve; this constraint corresponds to the minimization of the Probability of Non Detection (P nd or Probability of detecting a copy as genuine document ):

P nd = P(ε(Y | X Alice ) ≤ η | Y = Y Eve ). (2)
This authentication system is based on the fact that there is no reversible degradation after printing, we can replace the error estimation by any norm or function that reflects these phenomena. In order to perform a security analysis using this basic authentication system and to evaluate the potential attack of the adversary, we assume that Bob and Eve have exactly the same tools (printer, scanner, software for acquisition). Eve and Bob have at their disposal noisy samples of printed images, important computation capacities and the graphical code Y Alice printed by Alice. The only differences are that (1) Bob knows the original code X Alice and Eve does not and (2) that Eve uses a more advanced decoder than Bob. This second assumption enables to evaluate the risk taken by Bob if he overestimates the security of its PUF. 1. Assumptions for the game between Eve and Bob.

Adversary's options

The main goal of the opponent Eve is to reproduce what she observes as precisely as possible. In fact, ideally, this accuracy should be such that the legal receiver cannot distinguish the codes coming from the legal sender and those from the opponent. We study mathematically the different implications of this formulation of the problem. Given (see also Fig. 2):

-X Alice (and X Eve ) the binary code that Alice (respectively Eve) sends through the print and scan channel, -Y Alice (and Y Eve ) the printed grayscale code obtained from X Alice (respectively X Eve ), -ϕ the print and scan channel, -G Eve the estimation function built by the opponent Eve, -ψ the adversary channel, composed of two print and scan channel and a decoding function.

Under those notations, the main channel (i.e. legal channel from Alice to Bob) consists in one print and scan step:

X Alice ϕ / / Y Alice ,
while the adversary channel:

X Alice ψ / / Y Eve ,
consists in two print and scan steps and one estimation step between:

X Alice ϕ / / Y Alice G Eve / / X Eve ϕ / / Y Eve .
So then, the adversary's channel corresponds mathematically to:

ψ = ϕ • G Eve • ϕ. (3)
The following equation summarizes the ideal goal of the adversary:

ϕ(X Alice ) = ψ(X Alice ). (4)
If we have indeed this equality, the two channels are identical (in fact, they produce identical results). Using the expression in eq.( 3), we can rewrite the problem as:

ϕ(X Alice ) = (ϕ • G Eve ) • ϕ(X Alice ) = ϕ • (G Eve • ϕ)(X Alice ). (5)
We can deduct from this last expression that if we have an estimation function G Eve such as:

ϕ • G Eve = Id, (6)
or:

G Eve • ϕ = Id, (7)
(where Id is the identity function), in both cases the goal is reached. Now, we need to specify what these two expressions mean and how to build G Eve from them. We now detail the two types of solutions using this specification.

Minimization of the "copy" error: eq. ( 6) corresponds to the design of G Eve such as:

ϕ(G Eve (Y Alice )) = Y Alice . (8)
In practice, the print and scan process is highly stochastic and non-linear, so we cannot solve the problem analytically. To tackle numerically the problem, we need to transform it into a minimization problem. Given a, b → ab α , . α is an arbitrary norm (Minimum Square error, Bit error Rate if binary values case...); the problem in eq. ( 8), becomes:

G Eve = argmin ϕ(G Eve (Y Alice )) -Y Alice α , (9)
which is an optimization problem. But since Y Eve = ϕ(G Eve (Y Alice )) , the expression becomes simply:

G Eve = argmin Y Eve -Y Alice α , (10)
which corresponds to minimizing the copy error. The goal here is to design a code X Eve = G Eve (Y Alice ) that allows us to reproduce the observation Y Alice without using the original code X Alice . In fact, in order to solve the equation ( 8), we do not need X Alice but we need a model ϕ of the print and scan channel. Several studies explored this solution in the field of document degradations: [START_REF] Dridi | Blind detection of severely blurred 1d barcode[END_REF] used in the context of bar codes a hidden Markov process for the stochastic modeling, [START_REF] Villan | Multilevel 2 d bar codes: toward high-capacity storage modules for multimedia security and management[END_REF]uses a nonlinear model with additive noise dependent to the input in the same context, [START_REF] Kanungo | A statistical, nonparametric methodology for document degradation model validation[END_REF] provides a text degradation a model using flipping probabilities and morphological filtering.

Minimization of the decoding error: Another alternative to solve eq. ( 4) is to consider eq. ( 7) which corresponds to the building of G Eve such as:

G Eve (ϕ(X Alice )) = X Alice . ( 11
)
Using the norm defined in subsection 1.2:

G Eve = argmin G Eve (ϕ(X Alice )) -X Alice α , (12)
But since Y Alice = ϕ(X Alice ) , the expression becomes:

G Eve = argmin G Eve (Y Alice ) -X Alice α , (13)
which corresponds to the minimization of the decoding error. For this solution the adversary Eve tries to retrieve the original code, but since she does not know X Alice , Eve needs to infer the decoding function G Eve using arbitrary codes X i and arbitrary samples Y i coming from the printing process. Contrary to the first solution, the second solution is not well studied in this specific domain. However its efficiency has been proved for a wide set of applications dealing with complex empirical data (cf. [START_REF] Breiman | Statistical modeling: The two cultures (with comments and a rejoinder by the author)[END_REF]). In this paper, we adoptthe second method (minimization of the estimation error) and we use statistical inference methods, especially supervised classification to build the decoding function.

2 Maximizing the decoding performance

Practical setup

To constitute the database, we printed 100 random binary codes (size: 100 × 100 dots) with 50% of black dots. The printer used is a laser printer (Dell 2350dn). The acquisition of the printed codes were done using a high resolution scanner (Canon CanoScan 9000F). The main channel is constituted by the printer, the scanner and the codes extraction algorithm which perform various treatments on the code. The printing and scanning conditions are the following:

-The Resolution of the printer is set to 600dpi (native resolution of the printer); -The intensity of the printer is set to 8 (out of 10), -The Quality of the printing is set to "raw".

-The Resolution of the scanner is set to 9600dpi (highest resolution).

With those conditions, the output obtained is a grayscale image of size: 1500 × 1500 pixels. We now show the design of the decoding function under these conditions.

Local specification of G Eve

Let X the 100×100 binary code before printing; and Y the 1500×1500 grayscale code obtained after printing and scanning. The goal here is to find an decoding function G Eve such as:

X = G Eve (Y ). (14)
Because of the dimension of the codes (X is described by 10,000 dots while Y is described by 2,250,000 pixels), writing directly a functional form for G Eve is hardly conceivable. The solution adopted here is to consider the local evolution within the codes. X is in fact a collection of dots, each dot located at position (i , j) is characterized by its binary value x i,j . Let y i,j a vector of R 225 , corresponding to the 15 × 15 high resolution printed image of x i,j . We locally specify the estimator G Eve by a function g such as:

∀i, j, x i,j = g(y i,j ). ( 15
)
The input is a vector of R 225 while the output is binary. Therefore, we can use a basic threshold function to specify the local estimator g. We call this estimator the baseline decoder and we assume in the sequel that it is used by the authentication system. In the next subsection, we present a more efficient design using supervised classification. This specification, however introduce several additional biases. Firstly, we ignore the interactions within the dots after the printing; in fact the information about x i,j is spread within the scanned image. Secondly, we assume that we can estimate each dot independently while the dots printed interact strongly. To partially attenuate these effects, we assume that by taking in account the printed image of dots in a 3 × 3 neighborhood of x i,j , we capture the relevant information. If we call u i,j the vector obtained:

u i,j = [y i-1,j-1 , ... , y i,j , ... , y i+1,j+1 ], (16)
The dimension of u i,j is 225 × 3 × 3 = 2025 . The local estimator becomes: ∀i, j, x i,j = g(u i,j ).

Using the local and contextual specification, we transform our problem into finding a decoding function from R 2025 to {0, 1}.

Supervised classification

We present here the tools that have been used to infer the original code. Given:

t ∈ T d a vector of d structural characteristics also called features, which summarizes a given observation; -c(t) ∈ {c 1 , c 2 , ..., c k } a characteristic about the observation we want to identify (in our case x i,j );

We assume that each observation is obtain by an i.i.d. sampling from an unknown distribution p(t) . The problem of classification consists in building a function δ that outputs a class to each features vector:

δ : t -→ c. ( 18
)
using a finite sequence of data called training set:

D = {(t 1 , c 1 ) , (t 2 , c 2 ) , ... , (t m , c m )} (19)
Statistical decision theory provides a solution which consists in partitioning the input space according to each class by using decision boundaries which separate the classes. For binary classification (k = 2) for instance, if F : f (t) = 0 is a decision boundary and if we encode the classes such as: c 1 = 1 and c 2 = -1, we have:

δ(t) = sign(f (t)). (20)
Classification algorithms or classifiers require:

-A category of boundaries (linear, quadratic, nonlinear and nonparametric...); -A loss function (misclassification, exponential...) to penalize misclassifications; -A regularization term to limit overfitting (i.e. dependance to the training set) .

So then, the classifier choose the boundary that minimize the sum of these two terms. To evaluate classifiers, the solution consists in generating a new sequence D test :

D test = {(t 1 , c 1 ) , (t 2 , c 2 ) , ... , (t m , c m )}, (21)
and to evaluate the classifiers on it by calculating the generalization or prediction error rate:

Err g = 1 m (t,c)∈Dtest |c -δ(t)|. (22)
Theoretically, the size of D test should be "infinite" (i.e. sufficiently large in practice) to cover the whole distribution p(t) . In general, D test is not large enough; therefore, other estimates as cross-validation (K-fold and Leave-one-out) and bootstrap validation are computed. Since its output is binary, the local estimator g is in fact a classifier. In this work, we compare 5 classifiers :

-Three linear classifiers: Linear Discriminant Analysis, Naive Bayes, Logistic Regression, -Two nonlinear classifiers: Quadratic Discriminant Analysis , Support Vector Machine.

[2,7] provides full description of these methods. They are widely used supervised classification techniques and achieve good performances in general.

Feature extraction

The dimension of the feature vector chosen (2025) can constitute a serious issue for classification. In fact, in high dimensions, the vectors are far from each others and finding good boundaries becomes increasingly difficult. The number of samples required increases exponentially with the dimension. This problem is well known as the "curse of dimensionality" and to break it, we need to represent all the information with less features. This operation is called feature extraction in statistical learning, it consists in concentrating the information in privileged directions with minimal loss. We tested three methods:

-Statistics: we summarize the 2025 features by taking the 4 first moments (mean, variance, skewness, kurtosis) for the 3×3 context after printing which give us 36 features. These new features are linear and nonlinear functions of the 2025 features. The moments summarizes the spatial distribution of the 9 images. They can be completed with the median, the quartiles, the min or the max. -Principal Components Analysis (PCA); PCA performs linear projection to lower dimensional space. The new features obtained are decorrelated and ranked according to their variance. The percentage of variance preserved during the projection is a measure of the quantity of information saved during the projection.

-Partial Least square Regression (PLS), PLS is very similar with PCA; but PLS take in account the preservation of the variance of the targets simultaneously in its projection.

The statistics does not give a criteria to evaluate the quantity of information loss, while PCA and PLS methods provide the percentage of variance captured according to the number of variables kept. That percentage gives a possible criteria to select the dimension of the new space. We defined various group of features for our classification task using these feature extraction methods (see also Fig. 3):

-The first set F1 is constituted by the 15 × 15 = 225 pixels of a dot printed (cf. 2.2); -F2 is constituted by the pixels of the central dot printed and by those of the neighboring dots in its 3×3 neighborhood (so then, we have 3×3×15×15 = 2025 features); -F3 is constituted by Statistical Moments obtained from each 15 × 15 printed image of a dot printed and by those in its 3 × 3 context; we add moments of 4 crossover blocks to capture the transitions between the dots; we have then 52 features; -F4 is constituted by PCA features deduced from F2; we retained 200 first features using the ratio of variance of the input explained; those features explained 99% of the variance; -F5 is constituted by PLS features deduced from F2; we retained 500 first features using the ratio of variance of the input and the target explained; those features explained 99% of the variance.

Results

To test the methods selected, we used the 50 graphical codes kept in 2.1. We use 5 codes as a training set; which give us 5 × 10, 000 = 50, 000 training samples.

The classifiers are afterward tested on the rest of the codes (45 codes). For each code (= 10, 000 examples) we compute a Bit Error Rate. We assume that Bob's decoder uses a basic thresholding as a baseline method. It consists in averaging each scanned dots, and choosing an optimal threshold between 0 to 255. The baseline approach enables to obtain a BER of 32 % with a standard deviation of 1.6% on the testing set. We compare now this naive approach with respect to one used by the adversary. Table 3 and Fig. 5 depict an overview of the results for the different feature sets and classification tools.

3.1 Using F1 and F2 (raw inputs with and without neighborhood)

The table (a1) and the boxplot (b1) shows results for F1. LDA and logistic regression provides the best results when F1 is used. However, the boxplot shows variability according to the images tested. In fact, we encounter this effect for all set of features. QDA is very good in training, but produces bad predictions. This is typically overfitting. Naive Bayes classifier gives a robust result i.e. with less variability but is less accurate than LDA and Log. Reg.; as for SVM, its average performance can be explained by its sensitivity to irrelevant and nonweighted variables. However, because LDA and Log. Regression implicitly weight the variables in several directions, they are more robust to those features. When F2 are used (cf. (a2) and (b2)), there isa degradation of the performance of the classifiers and a general trend to overfit except for the Naive Bayes classifier. The extension to 2025 features add irrelevant variables, which increases the effect of the "curse of dimensionality".

Using F3 (moments)

Using those features improves the BER for all classifiers, especially SVM (22.1%) which now is the most accurate among the ones tested. However, LDA and logistic regression (22.6%) manage to give very close results than those obtained with SVM. QDA avoid overfitting but it is still outperformed by the others. Naive Bayes does not show any improvement compare to the results obtained using F2.

Using F4 and F5 (PCA and PLS )

The results with PCA are very close to those obtained with the moments. The exception is Naive Bayes which gives results even better than LDA. The possible explanation is the fact that Continuous Naive Bayes assumes independent features. Therefore, the covariance matrix of the features is forced to be diagonal. In the previous representations, this assumption is violated. So then, Naive Bayes assumption results in loss of possible discriminative loss. Since PCA provide uncorrelated features, the covariance is really diagonal this time. Therefore, Naive Bayes is equivalent to LDA in this context. The other exception is QDA which is overfitting again.

We obtained similar results (cf. a5, b5) using PLS features; the exception is SVM. In fact, we suspect a default in the hyperparameters setting. Since they are set by cross-validation (best error rate among a set of values using a small testing set), it is more likely that the range of values chosen should be extended.

Summary

Moments provides good results in classification followed by features generates from PCA (see Table 3 and Fig. 5). As for the classifiers, the linear ones assure good results compare to SVM.

Another observation is that the mean BER is in general than 22%. That constitutes an empirical lower bound about the amount of information that we can retrieve using the methods tested.

Impacts on authentication

Classification allows a BER of 22% while the baseline method give us 32%. We now evaluate the impact of this gain on the authentication system described in section 1.1. To do so, we perform a second printing considering 2 cases: (1) the adversary Eve uses the same baseline method as the decoder and (2) Eve uses the LDA classifier with moments as features (F3). The reprinted code or copy is called Y Bas Eve in case (1) and Y LDA Eve in case [START_REF] Bishop | Pattern recognition and machine learning[END_REF]. We assume also (cf. table 1) that Bob uses the baseline method to perform the hypothesis test. Under those assumptions, we obtained in table 2 the results when Bob decodes authentic and copied codes. We may observe that the results of the decoding of Y Bas Eve and Y LDA Eve are very close. The significant gain that the adversary obtains in recovering the original code gives a slight improvement for the copy. However, the baseline method is more sensitive to print and scan instabilities; for instance when there is a significant variation of the quantity of ink per code, the copy performed using baseline method can reach for the darkest codes a BER close to 50% while LDA copy manages to give a BER under 42%. To have a better understanding of the differences between the two decoding methods, we compute the Receiver Operating Characteristic (ROC) curve for each of them (fig. 4). To do so, we assume that the distributions of the BER after one and two printing are Gaussian. We use the results in table 2 for the parameters of the distribution. By varying the threshold of the hypothesis test, we compute analytically the true and false positive rate (respectively TPR and FPR). The figure 4 shows that the authentication is more difficult when the adversary uses LDA because the ROC curve in this case is closer to the diagonal than when the adversary uses the baseline decoder. This is not only due to a better average performance obtained when decoding with LDA, but also due to the stronger variability of this method.

Conclusion

This paper proposes to assess the security of a PUF based authentication system which uses the printing process as a non-invertible function. The security analysis has been carried out using a "black box" strategy where we try to infer the inverse of the physical system from a set of observations without modeling the printing process itself. This approach enables to already show that the adversary can improve the recovery of the original code with respect to a naive decoding by a substantial amount (the BER drops from 32% to 22%) but with a higher dispersion (std BER of 4% instead of 1.6%). That gain allows him to perform copies which are more difficult to detect and our primary results indicate that the performances of the authentication system are considerably affected. Further works will try to perform better decoding using structural and/or prior information about the 2D codes to improve our inference. We will also study the impact of the bias and variance of the decoder on the whole authentication system.

Fig. 1 .

 1 Fig. 1. The different communication channels.

Fig. 2 .

 2 Fig. 2. (a) Graphical code before printing (X). (b) Graphical code after printing (Y ) (The segments around the corners are onlt used for synchronization purposes).

Fig. 3 .

 3 Fig. 3. The different 15 × 15 blocks: the bold one is used to build F1, the set of 9 blocks in solid line to build F2, F4 and F5, and the dashed blocks are also used to compute moments (F3).

Fig. 4 .

 4 Fig. 4. ROC curve for each method of copy

  b1) F1 (225 features) b2) F2 (2025 features) b3) F3 (Moments) b4) F4 (200 PCA features) b5) F5 (500 PLS features).

Fig. 5 .

 5 Fig. 5. Boxplots of the BER per image for different feature sets. On each box, the central mark in red is the median of the BER. Under the lower edge of the box, we have 25% of the cases. Under the upper edge we have 75%. The whiskers extend to the most extreme data points not considered as outliers.

  Table 1 summarizes these different assumptions.

	Tools	Eve	Bob
	Acquisition tool	Same than Bob's	Scanner
	Printer	Same than Alice's	Same than Alice's
	Authentication Method	-	Estimation + Hypothesis testing
	Y Alice	Yes	Yes
	X Alice	No	Yes
	Decoder	Advanced	Baseline
	Table

Table 2 .

 2 BER obtained by Bob using baseline

	Printed code Mean BER Std BER
	Y Alice	32%	1.6%
	Y LDA Eve	38.7%	1.2%
	Y Bas Eve	40%	0.5%

Table 3 .

 3 Bit Error Rates w.r.t. different feature sets.

	Algorithm	Mean BER Std	Algorithm	Mean error Std
	LDA	24.4% 3.9%	LDA		27.3% 3.8%
	QDA	32.6%	3%	QDA		45.7% 0.9%
	Naive Bayes	31.3% 2.4%	Naive Bayes	35.4% 1.2%
	Logistic regression 24.3% 4.2%	Logistic regression 27.6%	4%
	Kmeans + SVM	27.6% 3.9%	Kmeans + SVM	41.8%	2%
	a1) F1 (225 features),		a2) F2 (2025 features),
	Algorithm	Mean error Std	Algorithm	Mean Error Std
	LDA	22.6% 4.1%	LDA		22.9%	4%
	QDA	26%	2.9%	QDA		37.7%	2.4%
	Naive Bayes	35%	1.2%	Naive Bayes	22.8%	4.1%
	Logistic regression 22.6% 4.6%	Logistic regression	22.9%	4.4%
	Kmeans + SVM	22.1% 3.9%	Kmeans + SVM	22.6%	4.2%
	a3) F3 (Moments),		a4) F4 (200 PCA features),
		Algorithm	Mean Error Std
		LDA		22.9%	4.1%
		QDA		25.9%	3.6%
		Naive Bayes	22.9%	4%
		Logistic regression	22.9%	4.3%
		Kmeans + SVM	28.5%	3.5%
		a5) F5 ( 500 PLS features).

This work was partly founded by the French National Research Agency program referenced ANR-10-CORD-019 under the Estampille project.


Antonio Giovannini
email: antonio.giovannini@univ-lorraine.fr

Alexis Aubry
email: alexis.aubry@univ-lorraine.fr

Hervé Panetto
email: herve.panetto@univ-lorraine.fr

Michele Dassisti
email: m.dassisti@poliba.it

El Hind

Haouzi

Hind El Haouzi
email: hind.elhaouzi@trane.com

Ontology-based system for supporting manufacturing sustainability

Keywords: Sustainability, Manufacturing Processes, Knowledge-Based Systems, Expert Systems, Ontology

published or not. The documents may come

INTRODUCTION

Today, the introduction of the sustainability concept in industries stresses the need of change towards a more sustainable perspective. The U.S. Department of Commerce defines Sustainable Manufacturing as the creation of manufactured products that use processes that minimize negative environmental impacts, conserve energy and natural resources, are safe for employees, communities, and consumers and are economically sound1 . From this definition, it is possible to highlight the fundamental roles of the creation of manufactured products and the use of manufacturing processes to obtain the sustainable manufacturing goals (in the three sustainability pillars, economic, social and environmental). In this vision, the most effective way for infusing sustainable manufacturing culture is to support decision makers to shift towards the sustainable manufacturing paradigm. To this purpose, it is possible to simulate the behaviour of a sustainable manufacturing expert that is able to identify opportunities and to design and deploy sustainable manufacturing solutions based on the analysed scenario. For this aim, in this paper, authors propose a model to formalize and relate required concepts for making a knowledge-based system (KBS), a system that is able to identify change opportunities and to support decision makers with the appropriate knowledge for the solutions deployment.

In order to identify change opportunities it is needed to formalize concepts about product, resources and manufacturing processes. Alternatives can be determined only defining limits to proposals: it is necessary to fix what is not changeable. Limits are represented by required functionalities, i.e. obviously it is not allowed to replace a process with another one that provides different outputs. Therefore it is needed to know how product parts, resources and manufacturing processes are related to their functions (why they are used). Doing so, it is possible to assure that the implementation of more sustainable alternative results in a design fulfil the same original requirements. The deployment of the solution involves not only the formalisation of product knowledge. In order to propose changes in an effective way, it is needed to know information about the initial production scenario. Therefore it is needed information that, usually, is stored in different data sources. This heterogeneity can cause semantics losses avoiding the full understanding of relationships between available information. In order to deal with these issues, in this paper, it is extended a product centric ontology, initially designed for information interoperability, with concepts of functions and sustainable manufacturing. Moreover, it is designed an Ontology-Based System (OBS) that uses formalized knowledge for supporting the design of products and related manufacturing processes. The resulting system is able to exploit knowledge about product, processes, resources and sustainable manufacturing for proposing design and manufacturing process changes. Next sections are structured as follows: in section 2, existing on concepts of (KBS), ontology and functional representation researches are analysed; in section 3, the approach for supporting sustainable manufacturing is detailed; in section 4, an industrial case is presented; finally, conclusions are discussed in section 5.

KBS, ONTOLOGIES AND THE CONCEPT OF FUNCTION

KBS for sustainable manufacturing

From 1976, with the first KBS (or expert system) [START_REF] Freitas | Ontology Issues and Applications[END_REF], the growth of this type of systems never stops. A KBS consists of four main components (D. [START_REF] Pham | Expert Systems in Mechanical and Manufacturing Engineering[END_REF]: a knowledge base (KB) containing knowledge about the problem to solve; an inference engine to use the stored knowledge for obtaining solutions from problems; a user interface for justifying resulting solutions; eventually a knowledge acquisition module for developing/updating the system.

Already in 1988, [START_REF] Iwata | Application of Expert Systems to Manufacturing in Japan[END_REF] copes with the status of KBS, most of all in the manufacturing domain. As shown in (Tab.1), the support of design and process planning stages already dealt with a lot of issues, such as understanding of product and production functional requirements, formation of product concept, process and operation planning and so forth.

Tab. 1 -Extract of a table on KBS applications in [START_REF] Iwata | Application of Expert Systems to Manufacturing in Japan[END_REF] In the sustainable manufacturing domain, there was not the same quick growth. Today, most of KBS in the domain of sustainable manufacturing focuses on material and manufacturing alternatives evaluation. The assessment of alternative solutions is often based on a Life-Cycle Assessment (LCA) methodology. [START_REF] Pineda-Henson | Developing an Expert System for GP Implementation[END_REF] developed a KBS for the green productivity (GP) evaluation. The GP assessment is based on the integration of the LCA methodology and a multi-criteria decision analysis, namely analytic hierarchy process (AHP). LCA technical framework provides decision factors (impact and improvement options) for the evaluation. The AHP gives indexes priority and structure relationships between them.

In [START_REF] Zhou | Multi-objective Optimization of Material Selection for Sustainable Products: Artificial Neural Networks and Genetic Algorithm Approach[END_REF], authors use genetic algorithms (GA) and artificial neural networks (ANN) for a multi-objective optimization of material selection for sustainable products.

GA is used to feed ANN with refined data, reducing the complexity of the network structure and the learning time.

Other researches aim for supporting engineers during the usage of sustainable manufacturing methodologies. [START_REF] Zarandi | A Material Selection Methodology and Expert System for Sustainable Product Design[END_REF] developed a KBS to preliminary filter materials for shortening the candidates' list for Life-Cycle Engineering (LCE) analysis. The input interface asks for candidate material properties and gives the material evaluation. [START_REF] Duflou | Pro-active Life Cycle Engineering Support Tools[END_REF] cope with the data availability in the early design phases (functional parameters) for supporting the LCE. These authors developed a KBS that uses product, design and environmental requirements knowledge for adapting general eco-design guidelines to the specific problem situation. In [START_REF] Vargas Hernandez | Development of an Expert System to Aid Engineers in the Selection of Design for Environment Methods and Tools[END_REF], the authors developed a KBS to guide engineers in the choice of the most appropriate tool for DfE (Design for Environment).

Principles that apply the engineer objectives are the required inputs whereas the output of the system is a list of guidelines referring to specific applications for obtaining the user goals.

A system that takes into account standards and laws for sustainability can be found in [START_REF] Houe | Knowledge Modeling for Eco-design[END_REF]. Authors stress the need for better interpreting environmental standards and laws. In their paper, they build a conceptual model and show how concepts in norms can be modelled as rules based on these concepts. In perspectives, these authors design a decision support system (DSS) that has features such as integration with CAD/CAM or product life-cycle management (PLM) systems, possibility to select different standards and to assess the on-going product design according the selected norms.

To our best of knowledge, no researches deal with the usage of expert knowledge about sustainable manufacturing for identifying change opportunities and for proposing sustainable solutions.

Ontologies in manufacturing and sustainability

The development of KBS in mid '80 is the main reason for the use of ontologies in computer science and artificial intelligence (AI) [START_REF] Freitas | Ontology Issues and Applications[END_REF]. Ontology is an explicit specification of a conceptualization [START_REF] Gruber | A Translation Approach to Portable Ontology Specifications[END_REF]. Through the use of ontologies for representing knowledge, this can be understood, shared and communicated across people and computers [START_REF] Darai | Knowledge Engineering-an Overview[END_REF]. The development of ontologies as a tool for knowledge representation has been a revolution in knowledge engineering, so that according to [START_REF] Staab | Handbook on Ontologies[END_REF], AI researchers have highlighted the need of a more robust and theoretically sound engineering ("ontology engineering") which enables knowledge sharing/reuse and formulation of the problem solving process itself. For a KBS, the knowledge base development is the most expensive task [START_REF] Freitas | Ontology Issues and Applications[END_REF]. Hence, it is easy to understand the great opportunity given by ontologies. In fact, in early KBS, knowledge was about specific tasks while ontologies formalize knowledge about a domain improving expertise reusability. Therefore, ontologies are natural candidates as knowledge bases in KBS.

In the manufacturing context, there have been some efforts in developing ontologies, at different levels, for supporting information exchange and reuse, and creation of new knowledge. A consistent number of ontologies developed in this domain are mainly taxonomies (i.e., particular classifications arranged in a hierarchical structure and organized by generalization-specialization relationships or parent-child relationships). Really few research works reached the effective development of a formal ontology.

Some ontology has been developed so far in the field of manufacturing. [START_REF] Lemaignan | MASON: A Proposal for an Ontology of Manufacturing Domain[END_REF] propose an ontology applied to manufacturing, named MASON (MAnufacturing's Semantics ONtology). MASON has been built upon three head concepts: entities, operations, and resources. The main applications of this ontology are: 1) to develop architectures and tools for automatic cost estimation; 2) to link a high level ontology with a multiagent framework for manufacturing simulation. To achieve an effective and efficient support to product design decisions, [START_REF] Wang | An Ontology of Manufacturing Knowledge for Design Decision Support, 1-5[END_REF] proposed an ontological approach for analysing what kinds of manufacturing knowledge are needed for design decisions. An ontology in the domain of manufacturing knowledge has been thus designed by using the ontology development tool Protégé 2 3.3.1 with the intention to investigate its application in design decision support. In [START_REF] Tursi | Ontological Approach for Products-centric Information System Interoperability in Networked Manufacturing Enterprises[END_REF]Panetto et al., 2012), authors have developed a product ontology, named ONTO-PDM, based on two standards, for providing a semantic layer to business, design and manufacturing product-related information (in the section 3.2, a description of this work is presented with more details). The knowledge management in industrial scenarios, instead of its modelling, has been the objective of the Know-Ont ontology of (Harshit [START_REF] Harshit Kumar | Know-Ont: A Knowledge Ontology for an Enterprise in an Industrial Domain[END_REF].

The proposed ontology is used to provide reusability of stored information in an efficient and effective way.

Quite a few authors have faced the problem of ontologies for sustainability. Many of the sustainability factors in manufacturing do interact, influence, restrict and depend on each other. This complexity is the main reason why an ontology may be a suitable tool to successfully reach the target of a sustainable manufacturing [START_REF] Kibira | A System Dynamics Modeling Framework for Sustainable Manufacturing[END_REF]. [START_REF] Reyes-Cordoba | Contribution of Knowledge Management for the Implementation of Waste Minimisation Measures into Process Industries[END_REF] stress the role of knowledge management coupled together with management actions to support decisions concerning the different engineering activities that have to be performed for waste minimisation. The authors adopt an ontology for mapping and organising the whole knowledge to provide an effective way for reducing gaps in the information needed to fully understand the process and identify the signs that point towards waste generation. In [START_REF] Brilhante | Information Integration Through Ontology and Metadata for Sustainability Analysis[END_REF] the authors present a very general framework based on an ontology and metadata, in connection with a software implementation, to analyse systems sustainability making use of quantitative and/or qualitative sustainability indicators.

In a preliminary study, [START_REF] Dori | Mapping Knowledge About Product Lifecycle Engineering for Ontology Construction via Object-process Methodology[END_REF] stress on shifting from an older energy-driven paradigm to a knowledgedriven one related to manufacturing. For building a comprehensive ontology, the authors firstly face the problem of knowledge mapping by adopting an Object Process Methodology-based approach for modelling product lifecycle knowledge. In [START_REF] Ceccaroni | OntoWEDSS: Augmenting Environmental Decision-support Systems with Ontologies[END_REF]) a decision-support system for wastewater management is presented. The strength of the proposed application is the possibility to manage the complexity of multidisciplinary knowledge necessary for wastewater management in supporting the DSS, particularly for qualitative knowledge. In [START_REF] Garrido | Proposal of Ontology for Environmental Impact Assessment: An Application with Knowledge Mobilization[END_REF] the authors propose an ontology for impact assessment by including natural language definitions. The system supports an environmental indicator assessment contributing to information about the state of the ecosystem or something relative to it. The same ontology is devised as a support to a decision support system for environment impact assessment.

In literature it is possible to find a lot of ontologies that deal with concepts of product, processes or resources, but in order to be able to identify alternative solutions it is needed to relate this concept with a functional view.

Moreover, information about these notions is often managed by several different data sources according different points of view. For the scope of this paper, an ontology is required: the ontology has to be able to align all collected information about this concepts on common semantics as well as to associate these with functions related concepts. For this purpose, in this paper it is extended ONTO-PDM [START_REF] Panetto | ONTO-PDM: Product-driven ONTOlogy for Product Data Management Interoperability Within Manufacturing Process Environment[END_REF] associating existing concepts (processes, resources and product view) with proper concepts to express functional requirements.

The concept of function

In order to suggest alternatives, knowledge about changes propagation in the product is required. Therefore, to manage changes in product design or manufacturing processes, it is necessary to deeply understand functional dependencies [START_REF] Kocar | ADVICE: A Virtual Environment for Engineering Change Management[END_REF], because it is needed to propose changes that not bias the original product purpose.

To this aim, it is required to identify why specific product parts, manufacturing processes, resources are used and how they satisfy the required functions. In the next section, literature works on function representation are presented.

The definition of the function concept has been the subject of many researches. [START_REF] Umeda | Function, Behaviour, and Structure[END_REF] wanted to clarify notions of behaviour, structure and function. For these authors, a function is a "description of behaviour abstracted by humans through recognition of the behaviour in order to utilise it". [START_REF] Deng | Function and Behavior Representation in Conceptual Mechanical Design[END_REF] proposes an input-output action transformation scheme for semantic function representation. This representation method decomposes functions in three basic transformations: transformation of state, of object (intended input in intended output) and of action (driving input in functional output). In [START_REF] Kumar | Component-ontological Representation of Function for Reasoning About Devices[END_REF], authors propose an ontological representation of function designed for diagnosis. In this representation, functions are behaviour abstractions and their definition is context independent. (Luca [START_REF] Chittaro | Reasoning About Function and Its Applications to Engineering[END_REF] unify different perspectives of the concept of function that is viewed as a relation among a specific system, the behaviour of it in a specific context and its purpose. [START_REF] Chandrasekaran | Function in Device Representation[END_REF] use a device ontology (ontologies on functional design, based on what components or devices are able to do) to stress the difference between two visions: i) device-centric, in which functions are described in terms of devices properties and behaviours; ii) environment-centric, in which functions are described as effects of devices on the world around them.

In [START_REF] Kitamura | Deployment of an Ontological Framework of Functional Design Knowledge[END_REF] In literature there are different systems that use the concept of function. [START_REF] Bhatta | A Functional Theory of Design Patterns[END_REF] presented IDEAL, a system that, starting from functional requirements and structural constrains, uses knowledge about design and causal patterns, for assigning or adapting a design solution that fulfil requirements. In [START_REF] Bracewell | Designing a Representation to Support Function-means Based Synthesis of Mechanical Design Solutions[END_REF] functional decomposition and satisfaction rules are used to represent design knowledge. Rules contain knowledge about ways that parts or networks of these can perform single functions or functions structures. [START_REF] Chandrasekaran | Functional Representation as Design Rationale[END_REF] investigate the use of functional representation for diagnostic generation, design verification and redesign. (L. [START_REF] Chittaro | Functional and Teleological Knowledge in the Multimodeling Approach for Reasoning About Physical Systems: A Case Study in Diagnosis[END_REF] propose an approach for using functional and teleological (the teleology of a system is defined as the specification of the goals assigned to it by the designer) knowledge within the multi-modelling technique for problem solving in physical systems. They show a system called DYNAMIS, which copes with operator diagnosis, diagnosis focusing and functional conflict recognition. [START_REF] Malmqvist | Improved Function-means Trees by Inclusion of Design History Information[END_REF] worked on a function-based system to store history design (why the solution has been selected). In this latter paper, the authors extend Function-means Trees (that shows how particular means for solving a function lead to requirement on a sub-function) with constraints on goals, extended definition of functions and concepts on effects of different means on requirements.

In the current paper, authors propose to use the functional representation of a product, processes and resources as a pivot for proposing sustainability-based changes in the manufacturing processes, without biasing product functionalities. Functions (and other related concepts) need to be associated to product, processes and resource notions for permitting reasoning about manufacturing sustainability knowledge.

THE PROPOSED APPROACH

In this paper it is proposed a system based on an ontology in which sustainable manufacturing knowledge is associated with concepts of resources, processes, product and their functions. This model allows formalizing required knowledge for identifying change opportunities and proposing new solutions taking into account the sustainability of manufacturing. Java code allows interfacing users with the knowledge base and the inference engine. The OBS that exploits this model uses enterprise information (product, resources, processes) for supporting engineers with relevant propositions. In [START_REF] Giovannini | Knowledge-Based System for Manufacturing Sustainability[END_REF], authors already proposed a model able to manage knowledge about sustainable manufacturing. In that case, links between solutions and functions have to be performed manually. That is to say, there was not a way to automatically infer functions starting from product information. In this paper a model able to associate functions and sustainable knowledge is proposed, to perform inference for supporting product, process and resources functions associations. The function and sustainable constraints representations allow detailing solutions respecting required product functionalities. The first step of our approach is to collect information about the product and related resources and processes initially planned for its manufacturing. Mappings between this data and semantics allow the instantiation of the ontology (Fig. 1 (a)). The ontology contains detailed knowledge about sustainable manufacturing and functions of manufacturing processes and resources. This knowledge permits to infer, by means of an inference engine, functions of entities (resources, processes, product parts) described by mapped information. The inference engine uses sustainable manufacturing knowledge in the ontology to infer alternative design and/or manufacturing processes solutions (Fig. 1 (b)). Solutions are based on identified functions. At the end, an expert accepts or rejects single suggestions until building a feasible sustainable solution (Fig. 1 (c)).

Functional decomposition

In our system, functions are pivots for deciding changes in manufacturing. A change proposal must not bias product functionalities, which are stored in other alternative proposals. Links between concepts of product, processes and resources with related functions are here modelled. It is used the definition of function in [START_REF] Umeda | Function, Behaviour, and Structure[END_REF]as an abstraction of a behaviour. Moreover, a function can be represented by means of an input-output transformation [START_REF] Deng | Function and Behavior Representation in Conceptual Mechanical Design[END_REF]. A set of rules is employed in order to associate parameters and properties of inputs (processes, resources, product parts) with functions effects (results that are expect to be achieved by the function realization) (Fig. 2). In order to represent relations between functions, associations as defined in [START_REF] Kitamura | Deployment of an Ontological Framework of Functional Design Knowledge[END_REF] are used. Generalizations and is-composed-by relations characterize associations between functions. The former are is-a relations that allow formalizing functions hierarchies. The latter allow formalizing functional decompositions. The concept of means to achieve a function is expressed as way-of-achievement concepts in order to distinguish alternatives for achieving same functions. Means to achieve a function are parts of hierarchies (is-a trees) of detail alternative solutions for the achievement of a function. Each way-of-achievement can be decomposed in others functions or can be a trees leaf. Each function and way-of-achievement is associated to its function effects that are expressed as a set of range values of function output. Each node can refer to a set of resources and processes: resources properties and processes parameters are inputs that determine function effects (outputs) on the basis of expressed rules. Resources and/or processes are eligible to achieve a function if -instantiating these rules with their properties and/or parameters, or results _ are in the range values defined for the function effects. In this interpretation, to achieve sustainable manufacturing is required a further set of criteria on a function to be fulfilled. It is possible to identify an ordinary way and a sustainable way to achieve the functional requirements. To obtain effects on sustainability aspects, it is needed to associate concepts related to product configurations, part features, processes, their parameters, resources and their consumption with their sustainability characteristics (durability, recyclability, energy consumption, etc.).

Representing sustainable manufacturing as criteria on function allows to take into account the resource and/or process usage and verify if the solution is compliant to those defined manufacturing sustainability criteria. In fact, a solution that seems to be smart if it is employed in a specific scenario could be bad when combined with a different one. Linking knowledge about sustainable manufacturing with the concept of function of product, process and resources allows performing propositions usage-aware.

A sustainable solution concerns information about resources to use, resources quantity, resources way to use, processes, process parameters and product design.

Ontology extension

The intention in our system is to exploit all those useful product-and manufacturing-related information for proposing solutions that influence the sustainability.

Required knowledge assisting experts in design is related to product, manufacturing processes and resources. In each enterprise, information about these concepts is managed by heterogeneous applications. Users and software have to interoperate according to this shared heterogeneous information. This heterogeneity might cause a "babel tower effect" that can make manufacturing sustainability culture harder to diffuse. To solve the information sources heterogeneity issue, [START_REF] Tursi | Ontological Approach for Products-centric Information System Interoperability in Networked Manufacturing Enterprises[END_REF][START_REF] Panetto | ONTO-PDM: Product-driven ONTOlogy for Product Data Management Interoperability Within Manufacturing Process Environment[END_REF] proposed a product-centric information view. The same authors developed the ONTO-PDM product ontology extending and formalising this concept. ONTO-PDM is a domain ontology based on two standards, STEP -PDM [START_REF] Ungerer | Usage Guide for the STEP PDM Schema V1. 2[END_REF] In the Process Segment Model, a process segment is a set of resource capabilities required to implement a phase of manufacturing, referred to as process segment which is product-independent. In the model, segments are lists of parameters, resources (material, personnel and equipment)

and related quantities required for the process. Material, Equipment and Personnel models contain information about resources. Structures of models are very similar: they are always presenting classes related to resources, groups of resources with similar properties, resources properties and classes defining tests for similarity behaviour and their relative results. The models are formalized in OWL using SWRL rules (Semantic Web Rule Language - [START_REF] Horrocks | SWRL: A Semantic Web Rule Language Combining OWL and RuleML[END_REF]).

Using an OWL inference engine, concepts and rules can be verified to check their consistency, but it is not possible to formalize rules that are able to work with unknown individuals. That is to say, it is not possible to infer a new value of a property starting from a formula defined in a rule. This causes a problem for the formalization of functions inputs/outputs rules. For this aim, appropriate SQWRL (Semantic Query-enhanced Web Rule Language) [START_REF] O'connor | SQWRL: a Query Language for OWL[END_REF] queries are used for formalizing this type of rules. The advantage is that it is then possible to associate terms of formulas with ontology concepts. Java codes are required to interpret queries results and to add these as new properties.

Erreur ! Source du renvoi introuvable. shows the part of the ontology concerning the relations between functions, product, process and resources concepts. Functions are described by sets of effects that are defined as range of values. Mappings between information and the ontology allow to instantiate resources and related properties, product parts and processes and related parameters. On the basis of these values and the knowledge about functions and with proper SWRL rules, the inference engine is able to infer hasFunction (or usedToAchieve) relations between introduced instances and functions (or way-of-functionachievement). Starting points are product parameters values that are compared with functions effects values (e.g. R1).

R1. Function(fixedFunction)

∧ Effect(fixedEffect) ∧ hasEffect(fixedFunction, fixedEffect) ∧ Value(?v1) ∧ hasEffect(fixedFunction,?v1) ∧ hasValue(fixedEffect, ?v1) ∧ ProductSegment(?ps) ∧ Parameter(fixedParameter) ∧ hasParameter(?ps, fixedParameter) ∧ Value(?v2) ∧ hasParameter(?ps, ?v2) ∧ hasValue(fixedParameter, ?v2) ∧ unitOfMeasure(?v2, fixedUnit) ∧ hasMinValue (?v1, ?vmin) ∧ value(?v2, ?val2) ∧ swrlb:greaterThanOrEqual(?val2, ?vmin) → hasFunction(?ps, fixedFunction)

In the same way, inferences on other hasFunction relations (for product components, processes and resources) are evaluated comparing function effects (outputs) for the instances values (inputs are material properties, processes parameters, etc.) that are calculated through function (and way of function achievement) related rules, formalized in SWRL (e.g. R2).

R2. ProductSegment(?pd)

∧ ProcessSegment(?pc) correspondsTo(?pd,?pc) ∧ Parameter(fixedParameter) ∧ hasParameter(?pc,fixedParameter) ∧ Value(?v1) ∧ hasParameter(?pc,?v1) ∧ hasValue(fixedParameter, ?v1) ∧ isACollectionOf(?pc,?mspec) ∧ specifies(?mspec,?mat) ∧ MaterialClass(?mat) ∧ hasProperty(?mat,fixedProperty) ∧ Value (?v2) hasProperty(?mat,?v2) ∧ hasValue(fixedProperty, ?v2) ∧ value(?v2,?val2) ∧ value (?v1,?val1) ∧ (fixedEffect,?v3) ∧ hasMaxValue(?v3,?vmax) ∧ unitOfMeasure(?v1, fixedUnit1) ∧ unitOfMeasure(?v2, fixedUnit2) ∧ swrlb:multiply (?mul,?val1,?val2) ∧ swrlb:lessThanOrEqual(?mul, ?vmax) → hasFunction(?mat, fixedFunction) ∧ hasFunction(?pc, fixedFunction)

Function(fixedFunction) ∧ Effect(fixedEffect) ∧ hasEffect(fixedFunction, fixedEffect) ∧ Value(?v3) ∧ hasEffect(fixedFunction,?v3) ∧ hasValue
R1 and R2 allow defining relations between instance of product, resources, processes and their functions. On the basis of these relations, the alternatives inference can start. SWRL rules verify if other processes, product parts and resources -that can instantiate functions rules (i.e. if there is a value associated to their properties/parameters to reckon results) -lead to values compliant to function effects ranges values (see e.g. R3). The same kind of verification is performed for sustainable functions effects.

In this case the fulfilment of sustainable constraints is added on conditions required for function effects. That is to say, a sustainable alternative needs to satisfy also functional requirements (expressed by function effects).

These rules allow composing alternatives: they permit inference of relations between functions rules inputs (processes parameters, products parts parameters and/or resources properties) and inputs with satisfied functions. (fixedFunction, ?mat, ?pc, fixedEffect, ?mul) The formalised rules have the same structure and scope for inferences about way of function achievement and sustainable manufacturing criteria. Finally, for each function, achievement or sustainable manufacturing rule, it is needed to formalize three SWRL rules and a SQWRL query: a) R1 and R2 rules for associating individuals introduced by mappings; b) an R3 rule for looking for alternatives; c) an R4 query for calculating function effects for newer alternatives. In the functional decomposition, function inputs can be outputs of one or more other functions. In this case, it is needed the same number of rules (two SWRL and one SQWRL) for each level of the tree that links basic functions (or way-to-achieve) to produce required function effects.

In our approach, sustainable alternatives can be associated to a evaluation of the sustainable solutions, even though it is not possible to propose an evaluation method for sustainability. By formalizing manufacturing sustainability using constraints to achieve sustainable functional effects, it is possible to add evaluation criteria based on resources, manufacturing processes or their impact for a specified function.

INDUSTRIAL CASE

In this section, an industrial case is here used to explain the instantiation of the extension of the ontology and to test the inferences based on the SWRL rules/SQWRL queries above presented. The case concerns a multinational company working in the sector of air conditioning and refrigeration units for industrial and commercial use. Currently the Trane Company is dealing with the sustainability issue of its products. Trane products are characterized by modularity (see Fig. Sheet metal parts are at least involved in a punching and a bending process. Here we will concentrate only on the manufacture of panels that compose the external covering of each product module. Each panel is usually (one of the configuration option is) made of two skins of galvanized steel. Each skin is punched and bended. After machining operations, skins are injected with isocyanate/polyol foam.

Each panel fulfils the following functional requirements: acoustic isolation, thermic isolation, resistance at weathering agents; bending rigidity. Every function has been decomposed till elementary ones. In Fig. 4 the decomposition of thermal and acoustic insulation requirements is shown. At each level, dependences between functions of same level are formalized to make feasible to infer the effect of a change on other processes, resources or product parts involved in the fulfilment of product requirements. To make possible inferences in the system, these functions have to be expressed by means of the panel parameters (e.g. resistance at bending, resistance to corrosion measured as time resistance in salted moisture, conductivity, noise reduction, etc.) (Fig. 4).

Product is associated automatically (by rules like R1) to its functions, by comparing its properties values with allowed ranges for functions. For instance, to be associated with the function resistance at weathering agents, panel must have a resistance to corrosion value greater than 500h in salted moisture. In the same way, rules permit to identify functions fulfilled by processes and/or resources. For instance, rules like R2 are instantiated for foam injection for acoustic insulation. The inject foam function allows achieving an insulation layer with a desired density. This density depends of foam mix properties, injection foam flow rate and process time. This density biases the desired acoustic insulation value. Similar rules types are expressed for others solutions to achieve the same function (e.g. add insulation sheet). Sustainable constraints on insulation function can be achieved from a life-cycle assessment (LCA). Here in fact it is possible to find relation between materials features and their environmental impact.

Alternatives that respect functional and sustainable constraints are inferred by R3 type rules. R4 queries allow visualizing alternative solutions details. In this case, natural insulation materials (e.g. sheep wall, hemp and cotton) are inferred. For this inferred solution, an assembly process for enclosing the layer between the panel skins replaces the injection process. On the basis of materials specifications and thermal/acoustic insulation rules, parameters of required modifications are inferred.

CONCLUSION AND PERSPECTIVES

In this paper, a formal approach and its related software tool able to identify sustainable opportunities in product and manufacturing processes design is presented. An extension of a product-centric ontology based on a functional vision is proposed. In doing so, concepts about all knowledge needed for this task are described and required information from heterogeneous sources to common semantics is aligned. Sustainability is perceived as a different and more comprehensive way to obtain functions, taking into account impacts on environment and society. In order to be acceptable, an alternative has to fulfil all functional requirements while maintaining all required initial functionalities of a product. It is thus considered sustainable if it is compliant to given formalized manufacturing conditions.

Two critical points of the approach are: the definition of functions and the formalisation of sustainable manufacturing rules. To infer knowledge about functions and sustainable solutions, it is in fact needed a high level of detail for function effects definition and in product, processes and resources descriptions. Moreover, if it is required deployment of the ontology on more production sites, differences in the formalization of sustainable manufacturing constraints should be found. For instance, different applied norms and/or standards lead to different interpretation of sustainability criteria. Future researches should be oriented on how an OBS can manage this type of issues in this domain.

Currently, alternative solutions are adapted to information but they ignore dynamics of enterprise business processes. The inference engine considers as feasible a solution that respects all functional constraints, but constraints of a local production site can narrow its applicability. An interesting perspective should be the analysis of how sustainability solutions can be fitted to enterprises processes, in order to make possible a more effective support for the deployment. This can be not only an adaptation, but it is possible to find strategies to enhance solutions effects on the basis of business processes knowledge. Finally, output information can be mapped directly with enterprises databases for further reducing the time to deployment.

Aknowledgement

This paper has been developed under the partial granting from GALILEO Project -n. 25974QF "Product-centric interoperability for systems integration in a sustainable environment".

  , authors stress the importance of ontological modeling (see next section) to support the formalization of functions. They propose a framework, based on four types of functional schematization. Functions in this framework are associated by means of three main relations. The is-a relation of functions describes generalizations between functions. The isachieved-by (part-of) relations associate macro and micro functions. The is-a relations are also used to define ways of function achievement trees.

Fig. 1 -

 1 Fig. 1 -The path from ontology instantiation to the solution choice (black arrows point out automatic tasks).

Fig. 2 -

 2 Fig. 2 -Relations between functions and sustainable manufacturing constraints.

Fig. 3 -

 3 Fig. 3 -Ontology excerpt from Protégé 4 (http://protege.stanford.edu): relations between functions effects and other classes.

  3 (a), (b)); every module needs several sheet metal parts as in Fig.3 (c).

Fig. 3 -

 3 Fig. 3 -Trane product modularity and punched/bended parts.

Fig. 4 -

 4 Fig. 4 -Relations between Trane panels functions and way of functions achievement.

  Effect(fixedEffect) ∧ hasEffect(fixedFunction, fixedEffect) ∧ Value(?v3) ∧ hasEffect(fixedFunction,?v3) ∧ hasValue(fixedEffect, ?v3) ∧ hasMaxValue(?v3,?vmax) ∧ swrlb:lessThanOrEqual(?mul, ?vmax) → hasAlternative(?mat, fixedFunction) ∧ Proper SQWRL queries (R4) allow to calculate sustainable alternatives details for required functions: information about input parameters and functions effects.∧ hasAlternative(?mat, fixedFunction) ∧ hasAlternative (?pc, fixedFunction) ∧ hasAlternative (?pc, fixedEffect) ∧

	R3. MaterialClass(?mat1) Function(fixedFunction) fixedFunction) ∧ hasFunction(?pc1, fixedFunction) ∧ ∧ ∧ ProcessSegment(?pc1) ∧ hasFunction(?mat1, MaterialClass(?mat) ∧ ∧ ProcessSegment(?pc) ∧ Parameter(fixedParameter) hasParameter(?pc,fixedParameter) ∧ Value(?v1) ∧ hasParameter(?pc,?v1) ∧ hasValue(fixedParameter, ?v1) ∧ MaterialClass(?mat) ∧ hasProperty(?mat,fixedProperty) ∧ Value(?v2) ∧ hasProperty(?mat,?v2) hasValue(fixedProperty, ?v2) ∧ value(?v2,?val2) ∧ value(?v1,?val1) ∧ unitOfMeasure(?v1, fixedUnit1) ∧ unitOfMeasure(?v2, ∧ fixedUnit2) swrlb:multiply(?mul,?val1,?val2) ∧ hasAlternative(?pc, fixedFunction) ∧
	composeAlternativeWith (?pc, ?mat)
	R4. MaterialClass(?mat) Function(fixedFunction)	∧	∧	ProcessSegment(?pc) Effect(fixedEffect)	∧
	composeAlternativeWith(?pc, Parameter(fixedParameter) hasParameter(?pc,fixedParameter) hasParameter(?pc,?v1) ∧ hasValue(fixedParameter, ?v1) ∧ ∧ ?mat) ∧ ∧ Value(?v1) ∧ hasProperty(?mat, fixedProperty) ∧ Value(?v2) hasProperty(?mat,?v2) ∧ hasValue(fixedProperty, ?v2) ∧ value(?v2,?val2) ∧ value(?v1,?val1) ∧
	swrlb:multiply(?mul,?val1,?val2)	→
	sqwrl:select

U.S.Department of Commerce (2009), available at http://www.trade.gov/competitiveness/sustainable manufacturing/