Meriem Ouederni

Gwen Salaün

Javier Cámara

Ernesto Pimentel

Comparator: A Tool for Quantifying Behavioural Compatibility

We present Comparator, a tool that measures the compatibility between two behavioural interfaces. Comparator can be used as a stand-alone Web application, and is also integrated into a model-based adaptation toolbox.

Introduction

Context. Building new applications by composing existing software components or Web services is now mainstream. However, this task remains error-prone, especially when reusing stateful components accessed through their behavioural interfaces. Techniques and tools are therefore necessary to support this composition task, and to make sure that the new system will behave correctly, avoiding undesired behaviours such as deadlocks. Model. In this work, we assume that component interfaces are described using their interaction protocols represented by Symbolic Transition Systems (STSs) which are Labelled Transition Systems extended with value-passing (parameters coming with messages). In particular, a STS is a tuple (A, S, I, F, T ) where A is an alphabet which corresponds to the set of labels, S is a set of states, I ∈ S is the initial state, F ⊆ S is a nonempty set of final states, and T ⊆ S × A × S is the transition relation. Note that a label is either the (internal) τ action or a tuple (m, d, pl) where m is the message name, d indicates the communication direction (either an emission ! or a reception ?), and pl is either a list of typed data terms if the label corresponds to an emission, or a list of typed variables if the label is a reception. STSs can be easily derived from higher-level description languages such as Abstract BPEL for instance where such abstractions were used for verification, composition or adaptation of Web services. Contributions. In this tool paper, we present Comparator, a tool supporting the composition task by analysing the behavioural interfaces of the components to be composed. Comparator accepts as input two behavioural interfaces described using STSs. We assume that both STSs interact wrt. a synchronous communication model. Our tool indicates whether the interfaces can interoperate correctly. Otherwise, it provides three outputs: a detailed compatibility measure for all states in both STSs, a list of mismatches, and a global compatibility measure.

Comparator can be used as a stand-alone application through a Web interface. It is also integrated into ITACA [START_REF] Cámara | ITACA: An Integrated Toolbox for the Automatic Composition and Adaptation of Web Services[END_REF], a toolbox for model-based adaptation.

Quantifying Behavioural Compatibility

Interfaces are compatible if they interact successfully with no mismatch wrt. a criterion set on their observable actions. This criterion is called compatibility notion, e.g., unspecified receptions where all reachable emissions can be received in the other STS, and unidirectional complementarity where all actions in one STS have a matching in the other STS [START_REF] Durán | A Generic Framework for N-Protocol Compatibility Checking[END_REF].

In this section, we overview the main ideas behind our measure computation. All the theoretical background for identifying possible mismatches and measuring the compatibility of two STSs is presented in [START_REF] Ouederni | Measuring the Compatibility of Service Interaction Protocols[END_REF]. The computation process accepts as input two protocols ST S 1 = (A 1 , S 1 , I 1 , F 1 , T 1 ) and ST S 2 = (A 2 , S 2 , I 2 , F 2 , T 2 ) and computes a compatibility degree for each global state, i.e., each couple of states (s 1 , s 2 ) with s 1 ∈ S 1 and s 2 ∈ S 2 . All compatibility scores range between 0 and 1, where 1 means a perfect compatibility. Our approach is parameterised by a compatibility notion, that is, we measure how far the two interfaces are from being compatible wrt. this compatibility notion.

To measure the compatibility of two STSs, we compute the compatibility degree for all possible global states in two steps. We first compute a static compatibility based on the comparison of state nature (i.e., initial, final, or none of them), labels, and types of exchanged parameters. These measures are then used to quantify the behavioural compatibility taking the label ordering into account and the structure of both STSs. The second step returns the compatibility measure for all global states in both STSs. State compatibility is based on the fact that two states are compatible if their preceding and succeeding neighbouring states are compatible, where the preceding and succeeding neighbours of state s ′ in transitions (s, l, s ′ ) and (s ′ , l ′ , s ′′ ) are respectively the states s and s ′′ . Hence, in order to measure the compatibility degree of two protocols, we consider an iterative approach which propagates the compatibility degree from one state to all its neighbours. This process is called compatibility flooding and works using a double propagation (forward and backward).

Online Comparator Tool

Our approach for measuring the protocol compatibility degree has been fully implemented in a tool called Comparator. We encoded it in Python 2.6 using Eclipse 3.5.1 as programming IDE. The tool accepts as input two XML files corresponding to the interfaces, and a compatibility notion used as comparison criterion.

Comparator returns the compatibility matrix, the mismatch list, and the global compatibility degree, which indicates how compatible the two interfaces are. The implementation of our proposal is highly modular, thus facilitating its extension with other compatibility notions. In order to make our Comparator tool widely available to any potential users, we implemented a Web interface [START_REF]Comparator Web Page[END_REF] so that anyone can use and run it online (Fig. 1). Experimental Results. We validated our tool on about 110 real-world examples, e.g., a car rental service, a travel booking system, a medical management system, or an online email service. Some of these examples are available online [START_REF]Comparator Web Page[END_REF] to illustrate the results returned by our compatibility measure. Note that Comparator computes the compatibility degree of quite large systems (e.g., interfaces with hundreds of states and transitions) in a reasonable time (a few minutes). Evaluation. We evaluate our tool accuracy using precision and recall metrics [START_REF] Salton | Introduction to Modern Information Retrieval[END_REF], which estimate how much our measure meets the expected result. Precision measures the matching quality (number of false positive matches) and is defined as the ratio of the number of correct state matches found out of the total of state matches found. Recall is the coverage of the state matching results and is defined as the ratio of the number of correct state matches found out of the total of all correct state matches in the two protocols. An effective measure must produce high precision and recall values. We have computed these metrics for the examples of our database using both UC and UR notions. We assume (s 1 , s 2 ) is a correct match if the state s 1 ∈ S 1 has the highest compatibility degree with s 2 ∈ S 2 among those in S 2 . Our measuring process yields a precision and recall of 100% for compatible protocols. Our empirical analysis also showed the good quality of our approach for comparing incompatible protocols. For instance, the study of the car rental service [START_REF]Comparator Web Page[END_REF] produces a precision and recall equal to 85% and 95%, respectively. We applied the same evaluation to a flight advice system [START_REF]Comparator Web Page[END_REF] which helps travellers to find flight information. This yields a precision and a recall equal to 91% and 100%, respectively. We measured precision and recall for the other examples of our dataset as well, and our study revealed very high values for both metrics (more than 90% in average).

Application to Model-based Adaptation of Web Services

Our compatibility degree results have some straightforward applications for, e.g., service selection, ranking, and adaptation. We focus in the rest of this section on software adaptation [START_REF] Yellin | Protocol Specifications and Component Adaptors[END_REF]. Adaptation aims at computing an intermediate component or adaptor to resolve mismatches existing between services interacting with each other. An adaptor is built from abstract descriptions, a.k.a adaptation contracts, specifying how the involved services can successfully interact together for fulfilling some specific requirements in spite of the mismatches existing in their interfaces. The Comparator tool was integrated into a graphical environment, called ACIDE, for the interactive specification of adaptation contracts. This module belongs to a complete framework, called ITACA, dedicated to the design and synthesis of adaptors for Web services [START_REF] Cámara | ITACA: An Integrated Toolbox for the Automatic Composition and Adaptation of Web Services[END_REF]. ACIDE includes a graphical representation of STSs and a visualization of their ports. Each label on the STS corresponds to a port in the graphical description. Ports include a data port for each parameter contained in the parameter list of the label. Correspondences between STSs are represented as port bindings and data port bindings. Starting from the graphical representation, the architect can specify these bindings by successively connecting ports and data ports. The resulting collection of bindings is the adaptation contract.

Our compatibility measure can be used in different ways to specify the adaptation contract in ACIDE. Firstly, it is possible to automatically generate port bindings for labels that perfectly match. Secondly, the designer can also select a state (label, resp.) in one protocol, and Comparator returns the best state (label, resp.) matching in the other protocol. For instance, Fig. 2 shows the state-based matching results when the designer selects state number 2 in the top left STS and compares it with all the states in the client STS on the right.

Fig. 1 . 2 .

 12 Fig. 1. Online Comparator Fig. 2. State-based matching in ACIDE


Keywords: Data quality, information quality, digital manufacturing

This work focuses on the increasing importance of data quality in organizations, especially in digital manufacturing companies. The paper firstly reviews related works in field of data quality, including definition, dimensions, measurement and assessment, and improvement of data quality. Then, by taking the digital manufacturing as research object, the different information roles, information manufacturing processes, influential factors of information quality, and the transformation levels and paths of the data/information quality in digital manufacturing companies are analyzed. Finally an approach for the diagnosis, control and improvement of data/information quality in digital manufacturing companies, which is the basis for further works, is proposed.

I. INTRODUCTION

In digital manufacturing (DM) industry, large amount of data and information has been collected during the product manufacturing process. However, much of the data/information has quality problems, and Data Quality /Information Quality (DQ/IQ) problems are becoming increasingly evident, particularly in manufacturing databases. Poor DQ/IQ in DM can severely hamper organizations' effectiveness and these problems are pervasive and costly [START_REF] Orr | Data quality and system theory[END_REF] [START_REF] Redman | The impact of poor data quality on the typical enterprises[END_REF]. As Davenport stated, "no one can deny that decisions made based on useless information have cost companies billions of dollars" [START_REF] Davenport | Information Ecology: Mastering the Information and Knowledge Environment[END_REF]. Solving DQ problems typically requires a very large investment of time and energy -often 80% to 90% of a data analysis project is spent in making the data reliable enough that the results can be trusted [START_REF] Johnson | Data quality and data cleaning: an overview[END_REF].

There have been much works on DQ/IQ problems, however, most works focused on general database field and others focused on DQ in accounting, spatial, statistical, healthcare, environment fields, etc. Few works have been done on the analysis and solving of DQ problems in DM field.

For the purpose of the improvement of DQ/IQ in DM industry, this paper aims to analyze the DQ problems in DM companies. Particularly, some fundamental issues in this field will be investigated. This paper is organized as follows: Section II reviews related works on DQ/IQ researches. Section III proposes the different information roles in DM, information manufacturing process, influential factors of IQ, and the transformation levels and paths of the DQ/IQ in DM companies. An approach for the diagnosis, control and improvement of DQ/IQ in DM is proposed in Section IV, which is the basis for further works. Finally, Section V concludes this paper with discussion and future works.

II. RELATED WORKS

This section will review some related works which cover the following four questions of DQ: [START_REF] Orr | Data quality and system theory[END_REF] What is the definition of data quality? [START_REF] Redman | The impact of poor data quality on the typical enterprises[END_REF] What are the dimensions of data quality? (3) How is data quality measured and assessed? (4) How to deal with poor quality data?

A. DQ Definitions

The research group led by Professor Strong from MIT is one of the most successful groups in DQ field. Adopted from the definition of "quality" by Juran [START_REF] Juran | Juran's Quality Handbook (5 th Edition)[END_REF], Strong et al. defined DQ as fitness for use by data consumers [START_REF] Strong | Data quality in context[END_REF], which is a widely adopted criterion.

From the standpoint of feedback-control system, DQ is actually quite easily defined as the measure of the agreement between the data views presented by an information system and that same data in the real world [START_REF] Orr | Data quality and system theory[END_REF]. A system's DQ of 100% would indicate, for example, that our data views are in perfect agreement with the real world, whereas a DQ rating of 0% would indicate no agreement at all. Now, no serious information system has DQ of 100%. The real concern with DQ is to ensure that the DQ system is accurate enough, timely enough, and consistent enough for the organization to survive and make reasonable decisions.

B. DQ Dimensions

Just as a material product has quality dimensions associated with it, an information product has IQ dimensions [START_REF] Wang | A product perspective on total data quality management[END_REF]. Many scholars have proposed different numbers of DQ/IQ dimensions. Wang concluded that there was no general agreement on DQ/IQ dimensions [START_REF] Wang | A framework for analysis of data quality research[END_REF]. There are three primary types of researches who have attempted to identify appropriate DQ dimensions: 1) data quality, 2) information systems, and 3) accounting and auditing.

In DQ area, Ballou et al. [START_REF] Ballou | Modeling data and process quality multi-input, multi-output information systems[END_REF][START_REF] Ballou | Cost/quality tradeoffs for control procedures information systems[END_REF][START_REF] Bajlou | Methodology for allocating resources for data quality enhancement[END_REF][START_REF] Ballou | Modeling data manufacturing systems to determine data product quality[END_REF] dimensions: 1) accuracy, which occurs when the recorded value is in conformity with the actual value, 2) timeliness, which occurs when the recorded value is not out of date, 3) completeness, which occurs when all values for a certain variable are recorded, and 4) consistency, which occurs when the representation of the data value is the same in all cases. Wang identified DQ/IQ with four DQ/IQ categories and fifteen dimensions [START_REF] Wang | Beyond accuracy: what data quality means to data consumers[END_REF], as shown in Table 1. Others identified DQ dimensions as data validation, availability, traceability, and credibility, and so on [START_REF] Wang | An objectoriented implementation of quality data products[END_REF][START_REF] Janson | Data quality: the achilles heel of end-user computing[END_REF][START_REF] Liepins | Accuracy and relevance and the quality of data[END_REF].

In the information systems area, Halloran et al. [START_REF] Halloran | Systems development quality control[END_REF] proposed various factors such as usability, reliability, independence, etc. Kriebel [START_REF] Kriebel | Evaluating the quality of information systems[END_REF] identified attributes as accuracy, timeliness, precision, reliability, completeness, and relevancy, Ahituv [START_REF] Ahituv | A systematic approach toward assessing the value of an information system[END_REF] suggested relevant attributes such as timeliness, accuracy, and reliability.

Many works in the accounting and auditing literature specifically emphasized on internal control systems and audits [34][35], where internal control systems require maximum reliability with minimum cost, the key DQ dimension used is accuracy -defined in terms of the frequency, size, and distribution of errors in data. Others, for example, Feltham [START_REF] Feltham | The value of information[END_REF] identified relevance, timeliness, and accuracy as the three dimensions of DQ.

C. DQ Measurement and Assessment

Commonly used methods for measurement of DQ and/or IQ are through multiple data dimensions. Recent years Wang and his team focus on Total DQ Management (TDQM) based on the Total Quality Management (TQM). The TDQM methodology adapted for the evaluation of DQ in an information system (by assuming that each piece of produced information can be considered as a product) [START_REF] Wang | A product perspective on total data quality management[END_REF]. Following the TQM cycle (Definition, Measurement, Analysis and Improvement), the measurements step produces the quality metrics. Lee et al. [START_REF] Lee | AIMQ: a methodology for information quality assessment[END_REF] developed the AIMQ (AIM Quality) methodology for assessing and benchmarking IQ in organizations, which has been applied in manufacturing industry.

Pierce assesses DQ with Control Matrices [START_REF] Pierce | Assessing data quality with control matrices[END_REF]. Cappiello proposed and verified one model for assessing DQ from the user's perspective [START_REF] Cappiello | Data quality assessment from the user's perspective[END_REF]. Ref. [START_REF] Paradice | An MIS data quality methodology based on optimal error detection[END_REF] developed a quantitative measure of DQ by formulating the error rate of MIS records, which are classified as being either correct or erroneous. Ref. [START_REF] Vassiliadis | Towards quality-oriented data warehouse usage and evolution[END_REF] showed how subjective quality goals were evaluated using more objective quality factors. In DaQuinCIS system [START_REF] Mecella | Managing data quality in cooperative information systems[END_REF] [START_REF] Scannapieco | The DaQuinCIS architecture: a platform for exchanging and improving data quality in cooperative information systems[END_REF], data source providers were evaluated by data source users in a peerto-peer system. Unfortunately, the system relied heavily on the participation of users in the review of the quality of data in the system, which might not be practical. Ref. [START_REF] Cao | Information quality and the evaluation index system[END_REF] proposed detailed IQ evaluating indicators and evaluated the IQ by AHP method. Zhang [START_REF] Zhang | Investigation on TQM for manufacturing information[END_REF] and Su et al. [START_REF] Su | An approach for information quality assessment for mechanical product[END_REF] studied much about manufacturing information TQM. They evaluated the quality of manufacturing information through five quality variables such as functionality, dependability, timeliness, usability, and economy. Then the manufacturing information could be evaluated at length by three quality variable sets which include 30 quality variables in total which belonged to the five aspects mentioned above.

D. DQ Improvement

Conventional approaches employ control techniques (like edit checks, database integrity constraints) to ensure DQ. The approaches have improved intrinsic DQ substantially, especially the accuracy dimension. However, attention to accuracy alone does not correspond to data consumers' broader DQ concerns. Furthermore, controls on data storage are necessary but not sufficient [START_REF] Strong | Data quality in context[END_REF].

In the TQM cycle of TDQM methodology, the "improvement" step provided techniques for improving IQ [START_REF] Wang | A product perspective on total data quality management[END_REF]. The AIMQ methodology [START_REF] Lee | AIMQ: a methodology for information quality assessment[END_REF] is useful in identifying IQ problems, prioritizing areas for IQ improvement, and monitoring IQ improvements over time.

Winkler [START_REF] Winkler | Methods for evaluating and creating data quality[END_REF] proposed methods for evaluating and creating DQ. The author presented a statistician perspective on methods for statistical data editing and imputation and for data cleaning to remove duplicates. Scannapieco et al. [START_REF] Scannapieco | The DaQuinCIS architecture: a platform for exchanging and improving data quality in cooperative information systems[END_REF] proposed DaQuinCIS architecture which is a platform for exchanging and improving DQ in cooperative information systems. Ref. [START_REF] Bajlou | Methodology for allocating resources for data quality enhancement[END_REF][31] presented various analytical models and procedures for data enhancement in database and data warehouse environments. Helfert, Zellner, and Sousa [START_REF] Helfert | Data quality problems and proactive data quality management in data warehouse systems[END_REF] proposed some means ensuring DQ. Ken Orr [START_REF] Orr | Data quality and system theory[END_REF] claimed that one certain way to improve the quality of data: improve its use!

III. MANUFACTURING PROCESS OF DQ/IQ IN DM

There are different roles in information related processes of DM. At the same time, the information will be regarded as product which is produced during the manufacturing processes. This section will analyze the information roles in the information manufacturing process (IMP). Then the transformation levels and paths of IQ will also be analyzed for further investigation of weak points along with the transformation paths.

A. Information Roles in DM

Everyone in DM companies has to use information. Thus, all the people act as different types of roles in the information related processes. We adopt the perspective that the information roles include information provider, information processor, information manager, and information consumer.

The information roles can be discussed from three perspectives. Firstly, the same person or entity (i.e. other information processing units) can act as information provider, information processor, information manager, or information consumer. For example, the process designer is information consumer of the product parameter design information, at the same time he is information provider for manufacturing engineers, as illustrated in Fig. 1(a).

Secondly, the same information can be consumed by different people or entities. For example, as regarding to the same parameter design information, both the process designer and manufacturing engineers may be information consumer, as illustrated in Fig. 1(b).

Thirdly, different information consumer may require the same information. The same information consumer may require different information. As illustrated in Fig. 1(c).

B. Information Manufacturing Process

In DM companies, different types of information are manufactured, just like the manufacturing process of material product, we call them information products (IP). The information is roughly classified into three categories: product design information, production information, and management information.

The manufacturing process of each type of information starts from the information sources, along with gathering, processing, storing, and transformation, finally arriving at the information consumers. Besides above-mentioned activities included in the manufacturing process, some other activities may be always accompanied including maintenance, management, and updating of the information.

In IMP of IP, the information undergoes complicated changes. Some typical changes of the IP are described as follows: Firstly, one piece of information may diverge into different pieces of information for different next-step information processor. Secondly, on the contrary, many different pieces of information may become converged into one piece of information for further consumption. Thirdly, the same information may be just processed without any interaction with other pieces of information.

Here we call it the information serialization. Fourthly, different pieces of information may never be converged into one piece of information, called parallel information.

In fact, most of the information interaction in the IMP includes the four above-mentioned types of information changes. The four types of information changes are described in Fig. 2. Here the information processors are ignored deliberately in order to see the information changes clearly.

C. Influential Factors of Information Quality

There exist many types of IQ problems in DM companies. All the IQ problems may be influenced by some specific factors. As we know in quality management field, the quality problems are often analyzed through 5M1E (Man, Machine, Material, Methods, Measurement and Environment). Just as we call IP as well as material product, the IQ problems in DM companies can also be analyzed through 5M1E. This paper will analyze the major influential factors of IQ problems along with 5M1E.

Here we propose the meaning of 5M1E factors which influence the IQ problems in DM. Men, the people who act as different information roles in the DM, of course have influence on the IQ during the IMP. Machine, in IQ problems means information processing units such as database, information systems, etc. Material is raw data or raw information for further processing. Methods mean different approaches on how information roles process information. Measurement plays important roles in IQ assessment and evaluation. Different kind of measurement may result in different IQ precision and cause different IQ problems. The 5M1E factors will be presented next for the analysis of the transformation levels and paths of IQ.

D. Transformation Level and Path of Information Quality

Along with the IMP, the IQ is also transformed at the same time. Meanwhile the transformation path of IQ can also be identified. We call it the information transformation levels and paths based on IMP. As mentioned above, there are 5M1E factors influencing the IQ and may cause IQ problems. Thus it is necessary to present the transformation levels and paths along with the IQ manufacturing process.

An example is illustrated in Fig. 3 for understanding of the transformation level and path of IQ. As shown in Fig. 3 What should be noted is that the situations illustrated in the figures are just for purpose of analysis. In real DM companies, the situation may be much more complicated.

IV. APPROACHES TO IMPROVE DQ IN DM

Based on the analysis of information roles, IMP, the influential factors of IQ problems, and the transformation levels and paths of IQ, the diagnosis, control and improvement of the IQ level for DM companies are the final goals of our project. The IQ project undertaken by our team proposes one approach for the diagnosis, control and improvement of IQ, as shown in Fig. 4.

Note that the detail operation is not as simple as illustrated in the figure. Fig. 4 is just for purpose of illustration of our approach. The detailed content of the approach will be discussed in further works. The IQ diagnosis and control will adopt the SPC (Statistical Process Control) toolkit and Six Sigma methodology. The SPC toolkit includes historical diagram, Pareto diagram, fishbone diagram, control chart etc [START_REF] Oakland | Statistical Process Control (Sixth Edition)[END_REF]. The six sigma methodology [START_REF] Pyzdek | The Six Sigma Handbook: The Complete Guide for Greenbelts, Blackbelts, and Managers at All Levels (2nd[END_REF] is about the DMAIC cycle (Define -Measurement -Analysis -Improvement -Control).

The improvement of IQ level in DM companies will adopt the CMM (Capacity Maturity Model) approach which is popular in software engineering field. There are five levels in the CMM model, level 1 is the lowest and level 5 is the highest. Most companies are in the level 2 or 3. It is hard for most companies to go up to level 5. The DM companies can identify its IQ level through the analysis of its IQ situation, and then propose the improvement goal of next operation. The detailed standard for the five levels in DM IQ situation will be defined in future works.

V. CONCLUSIONS AND FUTURE WORKS

DQ/IQ problems are becoming increasingly evident in DM companies. It is clear that wrong data is likely to result in wrong decisions in manufacturing process. The literature review shows that few DQ/IQ works has been done in DM fields even we have already recognized the importance of DQ/IQ in DM. By the analysis of the information roles, IMP, influential factors of IQ problems, and the transformation levels and paths of IQ in DM, it will be clear to know where the IQ weak points may exist. The relationships identified between DQ/IQ and its influential factors are valuable for manufacturers to investigate and solve the DQ/IQ problems. The approach proposed for the diagnosis, control and improvement of DQ/IQ in DM is the final goal of our project.

However, this paper just analyzed some fundamental issues concerning the DQ/IQ problems in DM. Some works need to be done in future. The IQ problems must belong to different modes, how to identify these IQ problem modes is important. The relationship model between the IQ problems and their influential factors need to be investigated in detail. How to diagnose and control the DQ/IQ is the core work for manufacturers. The DQ maturity model should be built for the evaluation of the DQ/IQ level of the manufacturing companies.

Fig. 2 .

 2 Fig. 2. Information manufacturing process.

Fig. 3 .

 3 Fig. 3. Transformation level and path of IQ.

  (a), the design IQ problem A can be analyzed by decomposition into next level until the complete IQ transformation level and path. Fig. 3(b) shows the whole hierarchical model of the different IQ problems and its influential factors.

Fig. 4 .

 4 Fig. 4. Approach for IQ diagnosis, control and improvement.

defined four DQ Analysis of Data Quality and Information Quality Problems in Digital Manufacturing K

  . Q. Wang 1 , S. R. Tong 1 , L. Roucoules 2 , B. Eynard3

TABLE I DQ

 I

	CATEGORIES AND DIMENSIONS [13]
	DQ Category		DQ Dimensions
	Intrinsic DQ	Accuracy,	Objectivity,	Believability,
		Reputation
	Accessibility DQ	Accessibility, Access security
	Contextual DQ	Relevancy, Value-Added, Timeliness,
		Completeness, Amount of data
	Representational DQ	Interpretability, Ease of understanding, Concise representation, Consistent representation

School of Management, Northwestern Polytechnical University, Xi'an, China

Laboratory of Mechanical Systems and Concurrent Engineering, University of Technology of Troyes, Troyes, France

Department of Mechanical Systems Engineering, University of Technology of Compiègne, Compiègne, France (keqin.wang@nwpu.edu.cn, stong@nwpu.edu.cn, lionel.roucoules@utt.fr, benoit.eynard@utc.fr)

ACKNOWLEDGMENTS

The authors gratefully acknowledge the support of National Natural Science Foundation of China (NSFC, No. 70771091), the Aeronautics Science Foundation of China (No. 2007ZG53074), and the Youth for NPU teachers Scientific and Technological Innovation Foundation.


Dimitri Van
email: dimitri.van_wijk@pi3c.com

Wijk Pi3c

Alain Etienne
email: alain.etienne@utt.fr

Emmanuel Guyot
email: emmanuel.guyot@utt.fr

Benoit Eynard
email: benoit.eynard@utc.fr

Lionel Roucoules
email: lionel.roucoules@utt.fr

ENABLED VIRTUAL AND COLLABORATIVE ENGINEERING COUPLING PLM SYSTEM TO A PRODUCT DATA KERNEL

Keywords: Concurrent Engineering, Collaborative Design, Product Lifecycle Management, Interoperability, Virtual Engineering

Nowadays, the use of digital modelling through multiple CAx systems becomes more and more unquestionable. It allows many benefits (3D, automations, simulations, etc.) in spite of the fact that those different systems are individually used and are relatively isolated (i.e. not interoperable) during the product design process. Then more enhancement of product development might be possible if the whole design expertises (and IT applications), could collaborate dynamically (i.e. interoperate) in a complete virtual and collaborative engineering platform. For instance, product definition could be therefore seen as the synthesis of multidisciplinary information defined and assessed with respect to both collaborative activity and individual domain of expertise. At the same time, PDM/PLM systems are developed in most of cases as product data vault (product data referential of a company with internal PDM or projects collaborative referential with collaborative engineering platform). Nevertheless, current PLM are not able to manage more than only files (and not data breakdown) and then are not yet efficient for CAx systems interoperability.

The paper aims at giving some first concepts and software demonstrators in order to tackle the problem of interoperability in virtual engineering design. The proposal is based on the PPO data kernel: a dynamic data structure able to integrate and merge multidisciplinary product data breakdown and to exchange them with other CAx applications. Then the current PDM/PLM systems will be defined as one of the CAx systems which interoperate with the kernel to benefit of both PLM and CAx potential functionalities. A business case will be studied between the PPO product data kernel and the Windchill (from PTC vendor) PLM system. Some recommendations for future work are then discussed to present what could be a generic interoperable software platform.

INTRODUCTION

Thanks to scientific advances and led by industry competitiveness, industrial products become inevitably more and more complex (ex: more functions and associated services) and multidisciplinary (ex: mecatronics). In consequence, the different competencies of a company (engineering design, mechanical analysis, tolerancing, electrical design, etc.) must henceforth collaborate in order to innovate, to improve quality and to reduce costs [START_REF] Bianconi | Interoperability among CAD/CAM/CAE systems: A review of current research trends[END_REF]. In fact, the project teams in charge of developing a product need to aggregate people of many different skills. But paradoxically, engineering activities are still mainly centred on a geometric representation (i.e. CAD model) and not on real multidisciplinary representations coming from multi-domain expertises. Moreover, currently, there is no software system that supports such heterogeneous collaboration. As functional solutions, Product Lifecycle Management (PLM) systems try to allow the collaboration between the different design experts. But they are not adapted to this because: First PLM systems are too strongly linked to the 3D representation; or rather they are not focused enough on a multidisciplinary representation. Secondly, PLM systems are only able to manipulate files instead of data (The difference will be explained in the next part of this paper). Authors try in this paper to answer these problems by proposing another use of PLM systems connected to a PPO kernel (Product, Process, and Organisation).

Obviously, one of the key to support the collaboration is interoperability (from a general point of view). Now lots of researches and investments are concentrated on this topic [START_REF] Sudarsan | A product information modeling framework for product lifecycle management[END_REF]. That is why, after an explanation of what is understood as "interoperability", the paper will expose what has been done concretely to make interoperable the systems we used.

In a first time, the paper will give some definitions about the concepts in use. A quick review of related work will be done concerning the actual CAx collaboration and PLM systems use. Then, interoperability and possible interactions between PLM systems and the PPO kernel will be described. Finally an example will be exposed to validate what is explained in the paper.

FRAME

To avoid confusions, this first section explains the semantic of the employed terms as they are understood and used in this paper.

PRODUCT

First, the term "product" can represent many different things. At a high abstraction level, a "product" has many different aspects; for instance: organisational, material, etc. And from now we will especially be interested in the informational aspect. Then, under the "product" term we will refer to all the different data coming from the development process steps of a project to make an item and allowing this concrete item to be made. It means that the product could be seen as a collection of intellectual results coming from the work of all the different experts in the companies. In consequence, each expert looks at the product with a specific viewpoint, which leads to a corresponding product representation. A product will finally have as many views as expert skills. We could also consider the views as understood in the industry (Example: design, manufacturing assembly, maintenance, etc.) however, they are only groups of the experts points of view we told before.

At a lower abstraction level, the representation of such product information could take different forms. In fact, persistent files which contain the product data could be differentiated from product data itself: Product data are platform and language independent whereas files encrypt data in a specific format, with a specific syntax. Product data could be parameters, behavior law, attributes. One of the advantages of this separation is the possibility to consider the communication between the CAx systems as exchanges of product data and to be avoided of format problems.

INTEROPERABILITY

We saw previously that from a general point of view interoperability can support the collaboration, but the global term "Interoperability" could have many meanings and consequently many domains like attested in [START_REF] Ford | A survey for interoperability measurement[END_REF]. The number of interoperability definitions for this term in literature is also a strong proof of this affirmation. In fact, each field of application could provide a particular sense of interoperability. Among all these definitions, the most cited is the definition from IEEE, which give general bases of interoperability: "The ability of two or more systems of elements to exchange information and to use the information that has been exchanged" (IEEE, 1990). Other definitions were proposed to add the concepts of services to this definition, like United States Department of Defence definition (DoD, 2004). Services exchanges have effectively some importance for the interoperability as understood in this paper. Authors are finally attached to the notion of "effort to couple", even if this definition is not very popular [START_REF] Ford | A survey for interoperability measurement[END_REF]; Effort to couple is important for the reason that interoperability is quite always possible if enough time and the money is spent to develop a solution for a specific application case. Reduce efforts to interoperate is also clearly an essential purpose of interoperability research. Moreover this notion allows making a strong difference between point-to-point approach and mediator approach.

Under the global term "Interoperability", we also have to consider different interoperability domains. In some work addressing interoperability problems, three mains levels were identified, namely the technical, semantic and business levels (ATHENA, 2007;I-DEAS, 2002 ). As the paper focus on the product (cf. previous paragraph), only the two first levels will be taken in account. Some approaches propose to start with the business level to structure and drive the interoperability levels below. And the PPO (Product, Process and Organisation) kernel also proposes a process dimension, but the goal of this paper is to validate the interaction possibilities between a PDM/PLM system and the PPO kernel. Moreover, the business level is mainly focused the on collaboration between organisations, whereas this paper will first consider the collaboration inside a company. So we will not take into account the business processes interoperability.

RELATED WORK

SUPPORT FOR INTEROPERABILITY

Nowadays, interoperability is became a full-fledged research domain (justified by researcher groups like the European INTEROP excellence network). In addition, these last years, many companies have developed technologies and solutions to improve interoperability, especially between existing management system like, PLM, PDM, ERP, etc.

To give some concrete examples, the OpenPDM software from ProSTEP (and additions to this software) allows to make STEP AP214 based exchanges of product structure definitions between different PLM systems [START_REF] Net> Yang | OpenPDM-based product data exchange among heterogeneous PDM systems in a distributed environment[END_REF]. Those exchanges are done through XML technologies allowing the definition of a virtual reference database that will be used by the concerned actors.

Another example could be, the Share-A-Space software from EuroSTEP as presented in (CIMDATA, 2004), that offer a STEP AP239 based environment allowing translation and conciliation of data produced during the whole product lifecycle. In opposition to the first given example, the reference database will be real and receive the data through connectors adapted to the different systems. Share-A-Space implements an interesting approach, which has some similar points with the PPO kernel in the sense that a repository with a generic data model is created. Then this repository is able to receive heterogeneous data, to conciliate and give out adapted data to the other heterogeneous systems.

In PLM systems domain mainly, more and more works are turned towards the PLM services to capsulate the heterogeneity [START_REF] Gunpinar | Interfacing heterogeneous PDM systems by PLM services for design collaboration[END_REF][START_REF] Lämmer | PLM Services in Practice[END_REF] and to allow the communication between heterogeneous systems.

Nevertheless, all these works are, so far, only turn toward the PLM systems and does not take in account interoperability between CAx expert software.

COLLABORATION AROUND THE PRODUCT

Concerning research work on collaboration between design experts during product development, there are many approaches. One of them is the VIM (View Information Modelling) methodology proposed by [START_REF] Million | De l'intégration des métiers par les données techniques vers la maîtrise de la modélisation conceptuelle : la méthode[END_REF]. The principle of VIM is to have a unique mono-block data model composed of a reference model and completed by sub models. These sub models are bridged to the reference model by common concepts. The so added sub data models, specific to design expertises, allow the dynamic building the whole data model. So each data model translates an expert "Viewpoint" and the representation of the product from this viewpoint led to a view of this product [START_REF] Harik | Product model adjustment methodology to support its product lifecycle management[END_REF].

Other works try to address the problem exhaustively treating all the interfaces between the different experts tools [START_REF] Twigg | Managing the design/manufacturing interface across firms[END_REF]. This approach is opposed to the approach used in PPO kernel. In fact, there is also one reference data model, but this one is generic enough to allow any mapping of the different concepts that come from the different design/manufacturing digital systems. If elements are missing, it is possible to create them on the base of the generic elements. There is then new specifically typed elements based on generic ones. This approach has similarities with norms, but norms are functional models and try to allow this representation but are not powerful enough (because to specific. There is an example with the different Application protocols of STEP).

INTERACTIONS BETWEEN THE PPO KERNEL AND PLM SYSTEMS

POSITION OF PPO AND PLM SYSTEM

Position relative to industry

Among the solutions presented before, many of them are essentially concentrated on PLM system environment or systems relatively close to this environment (CAD systems, ERP, etc.). Moreover, they are focused on managing files and not product data. Following those remarks, PPO aims to contribute and bring a missing brick in current interoperability works and the interactions with a PLM system will allow managing, product data container as well as product data content.

In industry it can be observed that collaborative platforms based on PLM systems are developed to support the collaboration between partners (suppliers, customers, others) of a project (NGuyen [START_REF] Van | System engineering for collaborative data management systems: Application to design / simulation loops[END_REF][START_REF] Guyot | Gestion de données techniques et structuration des échanges au sein de partenariats de co-développement aéronautique[END_REF][START_REF] Van Wijk | Towards collaborative design platform for the aeronautics industry: Improvement of data exchanges[END_REF]. So the PLM system manages an "external" collaboration (as shown on figure 2) because PLM systems allow managing accurately access right, data flow, and configuration. But in many cases, external collaboration is done through the intermediate of Enterprise PDM systems and then integration with PLM collaborative platform may be done by solutions we presented in paragraph 3.1. On the same figure, it is shown that the collaboration "inside" a company between all the competencies should be supported by a system able to manipulate product data at a more fine level of granularity. Such a role should be given to systems like the PPO kernel. Anyway, the two collaboration systems (PLM system and PPO kernel) have to be synchronized because even if the collaboration is done at a different level it is about the same product. In fact, we do not consider the case of collaboration between the different competences of different companies though the PPO kernel because there are administrative and property rights constraints that make for the moment this type of collaboration very difficult.

To summarize, the PLM system could be seen as an organisational mediator, it will structure and officially formalize the different generated parts. However, the content of product data will be inaccessible to the expert systems (We could see it as "black boxes"). The PPO kernel could then be seen as competencies mediator but managing product data informally ("White boxes" collaboration).

In addition, such architectures beg the question of document property and document validity. In fact, product data in PPO does not have really formal representation. So the validity, property and uniqueness of the product data are difficultly managed. Moreover, files may be present in the PPO kernel (for example a CAD Model) and in this case, copies of files between PPO and PDM will be redundant. In this case, a simple link to the file should be the best way to preserve the data uniqueness. However, authors have first validated the PPO-PDM interoperability copying files during the exchanges.

Functionalities

Following the previous paragraph of this paper, functionalities of both PLM system and PPO kernel have to be differentiated. Thus, the PPO kernel is in charge to concentrate the product data (format independently) and to assure the coherence between those data. It will then structure and distribute the data during collaborative design tasks. When the data reach a sufficient maturity and that a part ("assembly" or "component") can be concretized then this formalisation of the competencies concentration can be managed by the container inside the company (Case of simple PDM) or for

CORRESPONDENCE DESCRIPTION

The semantic correspondence of the two data models has been possible thanks to the genericity of the PPO data model (Like shown below for the case of PLM parts). However, due to the generic aspect of the reference data model, create more specific object (cf data model reminder) based on the existing generic objects is quite mandatory (cf. paragraph 3.2). For instance, the link between the two systems is kept registering the unique ID for each entity on both sides. In consequence we have to create a specific object of type "Attribute" for each entity with adapted characteristics in the PPO At a higher scale, the parent root concepts that were mapped are those in the following table :   It could be considered that a project is linked to a product, and a product is an output technical data of an enterprise task. All the components appearing in the PPO kernel in this task reflect a creation desire of a concrete item. That is why; common components are mapped to parts in corresponding Engineering Bill of Material structure (EBOM). Then each expert viewpoint is ordered in the PLM system views (cf. 3.2). Product data contained in PPO kernel are concretised in part specification document and attached to it. Sometimes, the mapping of the main concepts is a correspondence between different levels. For example the type of an object (like "common" for element) could be map to a part which is a higher level definition. It is also true for the "technical data" of a task which could be affected to an entire product or project. In this case, it could be called an inspiration more than a correspondence. Indeed, the lower level (Often PPO) is used to structure the higher level (Often Windchill). Then the complementarities are about links and organization more than data and information itself. This organization done, it could be feed by correspondence between product information, like attributes and so on.

2-Mapped root instances

Domain PPO WINDCHILL

It is maybe the fact that the two models don't address the same level that makes them complementary.

TECHNICAL IMPLEMENTATION

From a technical point of view, a problem encountered was how to extract the data from the different CAx systems. Two main choices were taken into account.

There is the possibility to use SOA (Services Oriented Architecture) capabilities. In fact, some projects addressing interoperability problems make the hypothesis all systems have such architecture. However, even if such technologies allow encapsulating heterogeneities, it is still a recent approach and in consequence not often implemented in the CAx systems. That's why another solution will be explored but the SOA possibility must be considered.

In order to allow the communication between every CAx system, the choice was to use XML import/export. In fact, most of the systems are already able to give XML data as output, and even if there are not those functions, it is often possible to quickly develop it via APIs. Moreover, the data model information can be extracted at the same time.

In every case, the output and input data can be written in XML format that make easier the correspondence between the considered CAx system data model and the PPO data model.

Figure 4 -Functional architecture

To operate the correspondence between the data and to manage the exchanges between the PPO kernel and the other systems, a communication module has been developed (See the figure 4). This module is composed of a PPO connector, a PPO intermediate processor (to change the PPO original schema in a more comprehensible schema), a XSLT processor, a post treatment engine and a communication manager.

The use of XSLT will allow some portability of the mapping described. It will also be reusable (for example, if we decide to use a product like OpenPDM, cited above). From a dynamic point of view, the evolution of the XSLT mapping in the context of subscription as described in (Etienne A. et al, 2008) will also be studied. there is missing functions due to the actual implementation of the W3C recommendation (functions in XSLT 2.0 would be useful but are still not implemented (W3C, 1999 and W3C, 2007)).

In consequence, complete rules have been added to the code to answer those missing functionalities. At the same time a post treatment has been applied to the file to prepare the reintegration (By instance: cutting, archiving, renaming the files).

The choice of XSLT is not incompatible with exploitation of SOA architecture. In fact, web services were used to operate the import / export of the mapped elements on both sides. Then, web services are used to answer the technical level interoperability for this specific case of PLM/PPO communication. As already said in this paper, the systematic use of web services to answer the semantic interoperability need to take the hypothesis that every CAx tool dispose of SOA architecture to cooperate with the PPO kernel. It could work for the case of PLM system but not for many other systems. However, web services use for direct semantic correspondence could solve problems encountered (like document version increment). Moreover, conforming to the interoperability definitions authors adhere to (cf. paragraph 2.1), the "service" dimension of interoperability have to be taken in account and these possibilities will be considered deeply in further works.

APPLICATION CASE

For our application case, the paper will observe the product data exchanges PPO-PDM of a portative electric drill. After simplifications, it will be supposed that the drill is composed of a battery block, an electric motor, a reducer, a drill chuck, a carter, an electrical command and a couple-reducer mechanism (See figure 6).

From now the paper will follow a scenario of product design step by step. And, in the scenario, the use of the PPO system with other CAx systems will be inspired by the descriptions given in [START_REF] Noël | Specification of product modeling concepts dedicated to information sharing in a collaborative design context[END_REF][START_REF] Dufaure | Integration of a tolerance analysis tool (MECAmaster) in a Tolerancing framework based on IPPOP, an open collaborative platform[END_REF]. The scenario is nearby the scenario described in the following figure 5. This represents one of the possible uses of the couple PPO kernel/PLM system. Shortly, engineers express their first ideas on IPPOP. That will constitute a beginning of structure which will be managed in the PLM system.

Figure 5 -A scenario of use

At the very beginning, a task "Design a drill" as been entered in PPO kernel and the needs for the designed drill are translated in "Function" objects. Then experts (Electrical designer, Mechanical designer, moulding expert, etc.) created a "component" entity of "common" type for each element of the product in the PPO kernel (See figure 6). After that, each "Common component" entity is loaded with pre-calculation and pre-project information. So for each "common" component entity and linked to it, experts create new "component" entity of "view" type (cf. data model reminder). There is here the notion of Viewpoint (cf. paragraph 3.2). New attributes are added whose values are filled by first parameters. "Behaviour" objects are also created then linked to the components. This step allows the mechanical designer to take in account the electrical designer parameters using the parameters coming from the electrical view (for instance the power and then the dimensions of the batteries in order to dimension the battery shell). All this drives to the next step.

From the different parameters and behaviours linked to the different "component" objects, the mechanical designer is able to build a skeleton. Conforming to the skeleton, the experts create "Interfaces" objects relatives to the different components. Those interfaces are frontier geometry of a component that will be in contact of the interface of another component. The interfaces (ie the skeleton elements) linking the components confirm the intention of engineering of the different parts and structure an assembly.

As design intention is confirmed, skeleton elements are described in CAD files. From this moment, the traceability of just created part takes a certain importance. Moreover the links between the different parts are formalized and have to be managed and justify the need of the PLM system. A remark can be that the need of the PLM system use only begin when files are produced, especially CAD files. A first export and translation allow the creation of a product structure with the skeleton files in Windchill. In this case, the engineering BOM (Bill of Material) has been generated following the PPO entity hierarchy: this choice is adapted in the case of product constituted by low number of component. In the case the product has a lot of components; it could be chosen to structure first the engineering BOM and then design the part specification through the PPO kernel, but this is another workflow. All the created elements lifecycle is set to the "in work" step. And the version, revision and iteration are set to their initial position. At the same time, the attributes "Windchill ufid", "Windchill master ufid", "Windchill localid" are added as children of the attribute object in the PPO data model. Those attributes are essential to keep the links between the two systems. In fact, the names of the parts are attributes like others. They are no reliable references for both Windchill and PPO. The entity views described in PPO does not correspond directly to the views as defined in Windchill. In the PLM system, views are assumed much as lifecycle main states (as design, as manufactured, etc.) than experts viewpoints expression. But the PPO views entity have been ordered and classified in the PLM system views of the products. Then for example, the mechanical engineer view, the electrical engineer view and the moulding expert view have been classified in the "As design" view of the product structure. Now the imported product elements are integrated in the PLM system and then are reliable from the company's global point of view. The project leader creates a reference configuration for the product and manages the lifecycle of the product. The PLM system allows the partners to work on the product. For instance in our case, the drill chuck is supposed entierly made by a supplier. The supplier checks out the "Drill chuck" and the specification files to this part. When the PLM system is resynchronized with the PPO kernel, the drill chuck model is available for the different experts. After many iteration of synchronization between PLM/PPO, in the PLM system the project leader applies a workflow to the product that will be reviewed and then put in release state.

This paper has concretely shown the two different roles: One system (PPO) is in charged to link the product data (functions that come from the list of requirements, to physical phenomenon, to geometric shape, to parameters, etc.) and the other (PLM) is in charge to properly manage conforming to the companies' organization.

CONCLUSIONS

This paper has described how the actual PDM/PLM systems could be re positioned around a PPO kernel. The different functionalities between the two systems could be observed as well as how those systems have to be used in the product design process. A real added value in using both systems is highlighted. However the example has been, so far, quite succinct due to the effort spent on the correspondence development between the two systems. In the future, it would be interesting to develop this case more and integrate other systems. This paper has shown the abilities of the PPO kernel to interoperate with CAx system without hardcode link but through mapping definition files in XSLT.

In this case the exchanges were limited to product data exchanges and did not really explore the "services" exchanges. This will be a next part of our work. Services will also allow making the link between processes of the different systems. This paper also shown that XSLT technology allows doing some work but there is still some missing element in the implementation due to the youthfulness of the technology. Moreover, the mapping has been written by ourselves, but further work is to integrate this technology to the concept of "user subscription" (The user choose himself the concepts to map as one goes along) could be interesting.

One difficulty with the PPO kernel is that most of systems have their own and private data model. In

Result of the exchanges through the interoperability module developed

Figure 1 -

 1 Figure 1 -Reminder of a part of the PPO data model

Figure 2 -

 2 Figure 2 -Positioning of collaboration tools

  model before instantiate it (like shown in the figure below). Thus, semantic interoperability could have at concepts of data model and Enrichment of data model. Those two problematics are not differentiated in the next figure, but it has an impact in the implementation level (cf. paragraph 4.3).

Figure 3 -

 3 Figure 3 -Nom de la figure

  Figure 6 -Drill and PPO modelisation

Figure 6 -

 6 Figure 6 -Exchanges and managed information

consequence, it is really difficult extract this data model and there is still the problem of the syntax of the extract model.


Antoine Dillée

Romain Cancilliere

Fernando Lopes

Michael Atlan

Video-rate computational heterodyne holography

We present a versatile computational image rendering software of optically-acquired holograms. The reported software can process 4 Megapixel 8-bit raw frames from a sensor array acquired at a sustained rate of 80 Hz. Video-rate image rendering is achieved by streamline image processing with commodity computer graphics hardware. For time-averaged holograms acquired in off-axis optical configuration with a frequency-shifted reference beam, wide-field imaging of one tunable spectral component is permitted. This software is validated by phase-stepped hologram rendering, and noncontact monitoring of surface acoustic waves by single and dual sideband hologram rendering. It demonstrates the suitability of holography for video-rate computational laser Doppler imaging in heterodyne optical configuration.

Heterodyne holography, a variant of time-averaged holography [1,2] makes use of a frequency-shifted reference beam [3] to downconvert radiofrequency (RF) optical fluctuation spectra to the sensor bandwidth. It is a good candidate for single-frequency mechanical vibrations mapping of nanometric [4][5][6][7] to micrometric [8] amplitudes. Real-time holographic imaging was a technological issue, hindering real-world usability of holographic detection schemes, until the advent of graphics processing units (GPUs). Computational rendering techniques of optical holograms on GPUs [9,10] have led to real-time qualitative holographic vibration imaging of nanometric out-of-plane vibrations at narrow [11] and wider [12] detection bandwidths. GPU image rendering has enabled fast auto-focusing of megapixel-resolution holograms [13], speckle diversity rendering [START_REF] Trujillo | Image Processing[END_REF], three-dimensional microscopic scenes rendering [15][16][17][18][19][20]. For time-consuming holographic image rendering, in particular when real-time performance is required, hardware acceleration of computations should be considered [21,22].

In this letter, a video-rate computational holographic image rendering software is presented. We demonstrate processing of 4 Megapixel interferogram recordings at a throughput of 320 Mega bytes per second with commodity graphics hardware. At the difference of the available libraries [23,24], the software is readily usable to record holographic videos. Experimental demonstrations of phase-stepped video holography and quantitative remote monitoring of optical sideband holograms are reported.

The aim of the developed software is to compute holograms on a GPU from interferograms recorded with high throughput cameras. It is essential that the acquisition of the raw video stream from the camera does not miss any image, in order to ensure the consistency of the temporal demodulation. No other tasks should therefore disrupt video capture. The software has four main threads dedicated to (i) image acquisition, (ii) holographic image rendering, (iii) image display, and (iv) image saving. The three first threads run continuously, while the user can choose between image display and recording. The software matches real-time constraints. Unified Device Architecture (CUDA) software development kit 5.5, on single precision floating point arrays. A flowchart of its algorithm is reported in Fig. 1.

The main image acquisition thread saves the interferogram I(t) recorded at time t in the random-access memory of the computer. For the sake of performance, non-paged memory is preferred to virtual memory. However, some cameras did not support saving images into non-paged memory. Hence the software checks if the camera supports non-paged memory and whether to use it to save the image. Some cameras choose their own buffer in contrast to others which accept forced recording to any address in memory.

The hologram rendering thread constitutes the core of the software; it performs both temporal and spatial signal demodulation. Before treatment, the GPU processors are initialized for parallel processing. The program automatically adapts to the onboard graphics card in the computer and the resolution of the image to be processed through the use of CUDA functions. The newest recorded interferogram I(t) at time t is added to a "First In, First Out" (FIFO) stack of images {I n ≡ I(t -n/ν S )} from which the oldest image is deleted, so that the stack is always refreshed with the last N frames recorded. To facilitate image processing, raw images are zero-padded to 2 M × 2 M elements arrays, where 2 M is the nearest integer power of 2 above the larger lateral dimension of the camera. The N last recorded interferograms {I n }, where n ∈ {0, . . . , N -1} are temporally-demodulated numerically by short-time discrete Fourier transformation (DFT) [12]. The p-th component of the DFT takes the form

Ĩp = N -1 n=0 I n exp (-2iπnp/N ) (1)
where p ∈ {0, . . . , N -1}. The calculated array is a matrix of 2 M × 2 M complex scalar values Ĩp [m, n], with pixel indexes (m, n) ∈ {1, . . . , 2 M } × {1, . . . , 2 M }. This array carries the optical field distribution in the sensor plane, which is the input of the spatial demodulation process. Spatial signal demodulation -or holographic image rendering -from temporally-demodulated interferograms involves numerical Fourier transforms. The spatial Fourier transform F and its inverse F -1 are computed with Fast Fourier Transform (FFT) algorithms by the function cufft2d(). Several methods can be used for hologram reconstruction [25][26][27][28], among which we implemented the most basic ones : the Fresnel (1-FFT), and the angular spectrum propagation approaches (2and 3-FFT).

Under the paraxial approximation, for optical systems of low numerical aperture, the propagation integral of the optical field can be written as a Fresnel transform. Spatially-demodulated holograms by the 1-FFT rendering method take the form

H p = F { Ĩp × h} (2)
where h[m, n] is the discretized free-space propagation impulse response

h = exp ik(x 2 + y 2 )/(2z) (3)
where x[m, n] = md and y[m, n] = nd, k = 2π/λ, with (m, n) ∈ {1, . . . , 2 M } × {1, . . . , 2 M }. The parameter z corresponds to the sensor-to-object distance for a flat LO wavefront and in the absence of lens in the object path.

Since only the magnitude of the optical field is displayed, additional phase factors are not taken into account in the expression of h. This rendering method is suited for macroscopic imaging, enabling the reconstruction of holograms of extended objects located far away from the sensor. The propagation integral can also be viewed as the propagation of the angular spectrum of the optical radiation. It can be derived from the Helmholtz equation and is suitable for computing reverse diffraction in a high numerical aperture optical system, in which use of Fresnel diffraction is not suitable. In convolution approaches, spatial demodulation can be expressed as a spatial convolution product, computed with Fourier transforms

H p = F -1 {F { Ĩp } × exp(iz k 2 -k 2 x -k 2 y )} (4)
where

k x [m, n] = 2πm/(2 M d), and k y [m, n] = 2πn/(2 M d), with (m, n) ∈ {1, . . . , 2 M } × {1, . . . , 2 M }.
Eq. 4 constitutes the algorithm of 2-FFT rendering. In the case of 3-FFT rendering, the angular spectrum kernel is computed as the FFT of the free-space propagation impulse response h. The spatially-demodulated image takes the form

H p = F -1 {F { Ĩp } × F {h}} (5)
Angular spectrum propagation methods are typically used for microscopic imaging, when dealing with small objects located near the sensor.

The display thread is designed to view a sustained video stream of processed holograms. To this aim, the graphics card of the computer is set to profit by having recourse to an OpenGL control. The user has the ability to zoom the display part of the image by drawing a selection rectangle. The refreshment rate of the display is set to 25 Hz. Three kinds of images can be displayed (Fig. 1) : the magnitude of temporallydemodulated interferograms | Ĩp |, the magnitude of holograms |H p |, and the magnitude of the ratio of two holograms |H p /H q |, where p and q ∈ {0, . . . , N -1} are demodulation frequency indexes. For example, to view a standard video of sequentially grabbed frames, | Ĩ0 | should be displayed; the parameters of the temporal demodulation should be set to N = 1 and p = 0. To achieve phase-stepped interferometry [29] Optical recording of interferograms is performed with the setup sketched in Fig. 2. It is an off-axis, frequency-shifted Mach-Zehnder interferometer used for optical heterodyne detection of an object field E beating against a separate local oscillator (LO) field E LO , on a sensor array, in reflective geometry [6,11,30]. The main optical field is provided by a 100 mW, single-mode laser (wavelength λ = 532 nm, optical frequency ν L = ω L /(2π) = 5.6 × 10 14 Hz, Oxxius SLIM 532). The LO beam is diffracted by two acousto-optic modulators (AA-electronics, MT80-A1.5-VIS) driven by continuous-wave radiofrequency signals [6][7][8]11]. The observed objects are shined over ∼ 10 mm × 10 mm to ∼ 200 mm×200 mm with ∼ 50 mW of light power. When shaken with a piezo-electric actuator (PZT, Thorlabs AE0505D08F), driven sinusoidally, their nanometric vibration provoke a local sinusoidal phase modulation φ of the backscattered optical field E. This modulation results in the apparition of optical sidebands at the harmonics of the modulation frequency [1,3,8,11]. For the reported experiments, interference patterns are measured with a Ximea MQ042MG-CM camera (pixel size d = 5.5 µm), run in external trigger mode at a frame rate of ν S = ω S /(2π) = 80 Hz, at 8 bit/pixel quantization. Each raw interferogram of 2048 × 2048 pixels is digitally acquired at time t is noted

I(t) = |E(t) + E LO (t)| 2 .
In a first experiment, we performed phase-stepped video holography of a static object (plastic cows reported in Fig. 2). The optical probe field E is a monochromatic scalar wave of temporal dependence ∼ exp (iω L t). The temporal dependence ∼ exp (iω L t + i∆ωt) of the optical LO field E LO a modulation of the cross-beating contributions in the interference pattern I(t) at the angular frequency ∆ω. This modulation can be used for accurate [31] phase-stepped measurements. For instance, if the frequency detuning is set to a quarter of the camera frame rate ∆ω = ω S /4, the arrays Ĩ1 and H 1 are the 4-phase demodulated interferogram (Fig. 3(a)) and hologram (Fig. 3(b)), respectively. Their amplitude, proportional to the object field magnitude, is refreshed at video rate. The distance parameter z was changed during hologram rendering between the images reported in Fig. 3(b), and Fig. 3(c).

In a second experiment, we performed quantitative imaging of nanometric optical pathlength modulations, by using a dual LO signal input in one of the acoustooptic modulators [6]. This experiment was previously reported, with offline post-processing [7]. We assessed a thin metal plate's out-of-plane vibration modes. The structure was excited sinusoidally at the angular frequency ω. The resulting transverse motion z(t) at a given point of the surface of the plate, is a sine wave at the angular frequency ω, with local modulation depth z 0 . The local sinusoidal phase modulation of the backscattered optical field E takes the form φ(t) = 2kz 0 sin(ωt). To assess local vibration amplitudes, the hologram |H 1 | was tuned on the non-shifted light component (Fig. 3(d)). The hologram |H 3 | (Fig. 3(e)) was tuned on the first optical modulation sideband at ω L + ω. Narrowband detection of the local out-of plane vibration amplitude was realized by forming the quantity |H 3 /H 1 | ≈ kz 0 , reported in Fig. 3(f).

In conclusion, we have designed a video-rate computational narrowband laser Doppler imaging scheme with optically-acquired heterodyne holograms and stream processing on commodity graphics hardware. With the reported hardware configuration, sustained sampling of interferograms at a throughput of 320 Mega bytes per second was achieved. Real-time image rendering of holograms involving temporal signal demodulation by short-time discrete Fourier transform and spatial demodulation methods involving fast Fourier transforms was achieved. To this end, we created a robust and versatile software running on Microsoft Windows 7 64-bit. In single LO regime, video-rate computational holography could be used to monitor Doppler frequency lines due to flows [32], or thermal motion [33]. In dual LO regime, video-rate computational holography could be used for investigating low optical pathlength modulation effects at known frequencies, such as photothermal modulation [34], sinusoidal motion of small particles [35], and surface acoustic waves [7]. To enable wideband detection of optical fluctuations above the kilohertz range, one of the remaining technical challenges of computational holography for Doppler imaging with optical sensor arrays lies less in the processing power of GPUs than in the camera streaming throughput.

We gratefully acknowledge support from Fondation Pierre-Gilles de Gennes (FPGG014), Agence Nationale de la Recherche (ANR-09-JCJC-0113, ANR-11-EMMA-046), région Île-de-France (C'Nano, AIMA).

FIG. 2 .

 2 FIG.2. Optical arrangement. The main laser beam is split into two channels, forming a Mach-Zehnder interferometer. The probe beam is backscattered by an object, yielding the optical field E. In the reference channel, the optical local oscillator field ELO is frequency-shifted by two acousto-optic modulators, driven by phase-locked frequency synthesizers, from which alternate diffraction orders (±1) are selected. Holographic images are computed numerically from interferometric measurements of the diffracted object beam beating against the local oscillator beam.

FIG. 3 .

 3 FIG. 3. Images of the cows : | Ĩ1| (a), |H1| at z = 0.47 m (b), |H1| at z = 0.39 m (c). Contour modes of the plate vibrating at 21.5 kHz : |H1| (d), |H3| (e), and |H3/H1| (f).

  Temporal and spatial demodulation calculations are handled by the GPU, by an algorithm elaborated with Microsoft Visual C++ 2012 and NVIDIA's Compute

		acquire and
		move current
		image I in
		GPU memory
		move I in		calculate Ĩq
		stack {In}		from {In}
		calculate Ĩp
		from {In}
		hologram
		rendering?
		yes
	no	calculate Hp from Ĩp
		perform vibrometry?	yes	Hq from Ĩq calculate
		no
	display Ĩp	display |Hp|		display |Hp/Hq|
	FIG. 1. Flow chart of holographic image acquisition, ren-
	dering and display. Raw interferograms are recorded by the
	acquisition thread. Temporal and spatial signal demodula-
	tion are performed by the hologram rendering thread. Image
	display is performed by a separate thread.