Eva Coupeté
email: eva.coupete@mines-paristch.fr

Fabien Moutarde
email: fabien.moutarde@mines-paristech.fr

Sotiris Manitsaris
email: sotiris.manitsaris@mines-paristech.fr

A User-Adaptive Gesture Recognition System Applied to Human-Robot Collaboration in Factories

Keywords: Human-robot collaboration, Gesture recognition, User adaptation, Assembly line, Depth camera. Categories and Subject Descriptors I.2.9. [Robotics]: Operator interfaces I.2.10. Vision and Scene Understanding: Miscellaneous H.5.2. User Interface: Interaction styles

Enabling Human-Robot collaboration (HRC) requires robot with the capacity to understand its environment and actions performed by persons interacting with it. In this paper we are dealing with industrial collaborative robots on assembly line in automotive factories. These robots have to work with operators on common tasks. We are working on technical gestures recognition to allow robot to understand which task is being executed by the operator, in order to synchronize its actions. We are using a depth-camera with a top view and we track hands positions of the worker. We use discrete HMMs to learn and recognize technical gestures. We are also interested in a system of gestures recognition which can adapt itself to the operator. Indeed, a same technical gesture seems very similar from an operator to another, but each operator has his/her own way to perform it. In this paper, we study an adaptation of the recognition system by modifying the learning database with a addition very small amount of gestures. Our research shows that by adding 2 sets of gestures to be recognized from the operator who is working with the robot, which represents less than 1% of the database, we can improve correct recognitions rate by ∼3.5%. When we add 10 sets of gestures, 2.6% of the database, the improvement reaches 5.7%.

INTRODUCTION

Collaborative robots tend to be more and more present in factories. Indeed, they allow more automation on supply chains, which saves place and cost while increasing productivity. These robots can work with operators in a common workstation on low addedvalue tasks or tasks source of musculoskeletal disorders. To enable a smooth collaboration, the robot has to be synchronized with the operator, and therefore needs to understand which action has been executed by the operator. To allow the robot to perceive its environment is also necessary for ensuring a safe collaboration.

Gesture recognition can be a solution to facilitate a fluid and safe collaboration. By recognizing worker's gesture, the robot can understand which task has been executed, can adapt his speed, and can react properly if something unexpected happens. We chose to use a depth camera to be able to detect a situation of danger, when a robot and an operator are too close for example. One of the difficulties of this goal is to have a gesture recognition system that can correctly recognize gestures made by a large number of operators, without disturbing them during their work. Indeed, when an operator is working on a supply chain next to a collaborative robot, he will not repeat an action to be certain that the robot understand correctly what he just did. We chose to use HMMs on our gesture recognition pipeline. Each HMM represents a technical gesture and it is learnt with a large number of examples of this gesture executed by several operators. But each operator has his/her own way to perform a gesture which could lead to mistake in recognition. We want to know if an adaptation of the gestures recognition pipeline to a new operator, which is not in the leaning database, could improve our correct recognition rate. We imagine that if we could record some gestures from this new operator we could just modify the learning database with this few number of gestures. Also, we do not work on adaptive HMMs, we chose to learn again the HMMs with this new database. Indeed, in our use case, the time to learn the HMMs is below 5 minutes, which is a quite reasonable "loss of time" if we project to record a new operator with the aim to make his/her collaboration with a robot more productive and robust during several days of work.

This paper is organized in five parts. In the first part we will present related work, in the second part we will introduce our use case and in the third part we will explain our pipeline of gesture recognition from the depth map images to recognized gesturse. In the fourth part we will show our methods of evaluation and in the last part we will conclude and discuss about this study.

RELATED WORK

In this section we present related work on the topics of humanrobot collaboration and gesture recognition.

Human Robot collaboration

With the automation of factories and the arrival of interactive robots in our everyday life, research on human-robot collaboration has been very active these last years [START_REF] Bauer | Human-robot collaboration: a survey[END_REF]. Robots are already used to help children with autism [START_REF] Robins | Robot-mediated joint attention in children with autism: A case study in robot-human interaction[END_REF], to interact with elderly people [START_REF] Walters | Companion robots for elderly people: Using theatre to investigate potential users' views[END_REF] or to guide visitors in a museum [START_REF] Thrun | MINERVA: A second-generation museum tour-guide robot[END_REF]. For these applications, the robots used are mainly anthropomorphic. For the industry, collaborative robots are designed to be safe and to provide complementary skill to human co-worker like the Kuka LWR [2] and the Universal Robot UR [3]. They work nearby the operator, on a common task, like carrying the same object [START_REF] Wojtara | Human-robot collaboration in precise positioning of a three-dimensional object[END_REF]. In [START_REF] Shi | Levels of human and robot collaboration for automotive manufacturing[END_REF] the authors categorize robotic systems in low, medium and high levels of human-robot collaboration. In [START_REF] Weistroffer | Assessing the acceptability of human-robot co-presence on assembly lines: A comparison between actual situations and their virtual reality counterparts[END_REF] the authors evaluate the worker's acceptability to work with a collaborative robot. In [START_REF] Nikolaidis | Human-robot cross-training: computational formulation, modeling and evaluation of a human team training strategy[END_REF] the authors showed that working with a robot adds uncertainty about the worker's next action. These last studies illustrate the high interest and potential of the insertion of collaborative robot in factories, but also all existing difficulties to create a productive and safe collaboration.

Gesture recognition

Since the technical breakthrough in human-computer interaction, gesture recognition has been a well studied field. The emergence of depth-cameras allowed to make improvement in human body skeleton tracking. In [START_REF] Shotton | Real-time Human Pose Recognition in Parts from Single Depth Images[END_REF] the authors used randomized decision forests trained with a large number of training depth images and a simple depth comparison features to find the joint position of a human filmed with a depth camera. In [START_REF] Schwarz | Human skeleton tracking from depth data using geodesic distances and optical flow[END_REF], the authors do not have a learning database to train a system to find the joints positions, therefore they use geodesic distances of a human body to track them. Numerous methods to recognize dynamic gestures have been set up. The most known are HMM (Hidden Markov Model) [START_REF] Rabiner | A tutorial on hidden Markov models and selected applications in speech recognition[END_REF], [START_REF] Lovell | Model Structure Selection and Training Algorithms for an HMM Gesture Recognition System[END_REF] and [START_REF] Kellokumpu | Human activity recognition using sequences of postures[END_REF]. Other machinel-learning alogorithm are used, like SVM (Support Vector Machine); Dynamic Time Wrapping (DTW) [START_REF] Gavrila | Towards 3-D model-based tracking and recognition of human movement: a multi-view approach[END_REF], decision forest or K-Nearest Neighbours.

The adaptation of HMMs to user has, in a first place, been studied for speaker adaptation. In [START_REF] Leggetter | Maximum likelihood linear regression for speaker adaptation of continuous density hidden Markov models[END_REF] a speaker-independent system is adapted to a new speaker by updating the HMMs parameters. More recently, user adaptation has been applied on video based studies, like for face recognition in [START_REF] Liu | Video-based face recognition using adaptive hidden Markov models[END_REF] or gesture recognition [START_REF] Wilson | Realtime online adaptive gesture recognition[END_REF]. Adaptation process has also been applied to DTW for gesture recognition by updating the estimated parameters to provide a continuous human-machine interaction [START_REF] Caramiaux | Adaptive Gesture Recognition with Variation Estimation for Interactive Systems[END_REF]. More precisely in the human-robot collaboration field, the authors of [START_REF] Nikolaidis | Efficient Model Learning from Joint-Action Demonstrations for Human-Robot Collaborative Tasks[END_REF] adapt their learned models to different human types after a first joint-action demonstrations step with the new user and the robot. They have shown that this adaptation led to an improvement in team fluency and a decrease in the human idle time.

PRESENTATION OF THE USE CASE

We work on a scenario where the worker and the robot share the same space and work together. The task is inspired from the assembly of motor hoses on supply chain. Presently, the assembly process of motor hoses has some drawbacks: the worker has to find the appropriate parts of the motor hoses among other motor parts, which is a lack of time and increase the cognitive load of the worker. In our set-up, the robot and the worker are facing each other, a table is separating them, see Figure 1(a).

On an assembly line, mounting operations must be achieved quickly and efficiently, the actions to be executed by human operators are (a) (b)

Figure 1: Description of our experimental use-case, (a): the robot gives motor parts to the worker, (b): we equipped the scene with a depth-camera standardized as a rather strictly-defined succession of elementary sub-tasks. To ensure a natural human-robot collaboration, the robot has to perform an action according to which task the operator is executing, in order to be useful at the right time and not delay the worker. In our use-case, the assembling of motor hoses requires the worker to take two hose parts respectively on left and right side, join them, screw them, take a third part from left, join it, screw it, and finally place the mounted motor hose in a box. The only actions performed by the robot are giving a piece with the right claw and giving a piece in the left claw. The set of human operator's gestures to be recognized by our system is therefore rather straightforwardly deduced from above-mentioned sub-tasks as:

1. to take a motor hose part in the robot right claw (G1)

2. to take a motor hose part in the robot left claw (G2)

3. to join two parts of the motor hose (G3)

4. to screw (G4)

to put the final motor hose in a box (G5)

These gestures will allow the robot to be synchronized with the operator by understanding when an operator is taking a piece from a claw and when the next piece is needed.

The classical sequence of gestures to assemble motor hoses is: (G1 then G2) or (G2 then G1), then G3, then G4 then G2, then G3, then G4, then G5. Some workers prefer to do the two screwings after the second execution of G3, so that we cannot suppose a strictly-defined ordering of operations, as it is essential to leave to human workers some freedom degree in their work.

We equipped the scene with a depth-camera which is filming the worker with a top-view. With this set-up, we are avoiding most of the possible occultations on a supply-chain due to workers or objects passages, see Figure 1(b).

METHODOLOGY

In this section we explain our methodology to achieve technical gesture recognition. Using segmentation and computation of geodesics on top-view depth image, we estimate a six-dimensions feature vector used for gesture recognition, see the first subsection. Geodesics represents the distance between the top of the head and every pixel on the torso, following the body shape. In the second subsection we present our pipeline for gestures learning and recognition using a hybrid system of K-Means and HMM.

Features extraction

To localize and track hands of the worker, we have adapted and extended to top-view case the method proposed in [START_REF] Schwarz | Human skeleton tracking from depth data using geodesic distances and optical flow[END_REF]. We only need the upper-body of the operator to recognize his gestures, because the worker is staying in small area during his work and he only uses his hands for assembling the motor hoses.

From the raw depth-image (see Figure 2(a)), we segment the upperbody by keeping only depth pixels that are above the assembling table (see typical result on Figure 2(b)). The top of the head is located as the pixels of the upper body nearest to the depth camera. In order to locate hands, we make the assumption that they are the visible parts of the upper-body that are farthest from the head, not in Euclidean straight line distance, but following the body surface. To find these "farthest" points, we calculate geodesic distances between head-top and all points of the upper-body. We apply Dijkstra [START_REF] Dijkstra | A note on two problems in connexion with graphs[END_REF] algorithm in order to find the shortest route between each point of the upper-body and the head center. The result can be seen on Figure 2(c): pixels with colder colours (blue, green) are those that are geodesically-closest to the top of the head; conversely, pixels with warmer colours (orange, red) are geodesically-farthest from the top of the head. The hands approximate locations are then found by computing the two biggest blobs inside the part of upper-body that are farthest from the top of the head, with typical outcome shown on Figure 2(d). Finally, as can be seen on Figure 2(e), we obtain hands locations, as well as the corresponding geodesics from head-top.

After the tracking of the hands positions, we need to define features describing the worker's posture, see Figure 3. To enable learning and recognition on several persons, we need a feature that is independent from each person's morphology. We chose to use the hands 3D locations (red dots on Figure 3). The third dimension of our vectors is equal to the value of the associated pixels in the depth map. These data are then concatenated in a six-dimensions vector.

Pipeline of gesture recognition

To do learning and recognition we use discrete HMM, a combination of K-Means and HMM, see Figure 4. For learning, once we have extracted features from all the frames independently of which gesture, we use this training set to determine K clusters with the K-Means algorithm, the centroid of each cluster represents an average posture. We use this trained K-Means to quantize each series of postures, i.e. gesture. These quantized series are used as input for the HMMs for learning and recognition. We train one HMM for each gesture. When we want to estimate which gesture is being performed, we test our quantized series of postures on each HMM. The gesture associated to the HMM with the highest likelihood to have generated this series of posture is "recognized". The Forward algorithm, described in [START_REF] Rabiner | A tutorial on hidden Markov models and selected applications in speech recognition[END_REF], is used to establish the most likely gesture.

RESULTS

In this section we present the performances of our gesture recognition pipeline. In the two first subsections we introduce two methods to evaluate our pipeline and show the results. In the two subsections following we present our user adaptation database and the results of correct recognition. Finally, in the last subsection, we explain how we implemented our gesture recognition pipeline.

Methods of evaluation of our gesture recognition pipeline

To evaluate the performance of the gesture recognition pipeline we use two methods. Figure 5: Illustration of our gestures database division according to which method of evaluation we use. Each color is associated to an operator in the database, each dot is a gesture. (a) the jackknife method, (b) the 80%-20% method.

The first method, called jackknife, allows assessment of the recognition of gestures performed by an operator of whom no gestures are in the learning database. In practice, we learn the HMMs with gestures from all operators from our database except one, and we test recognition on this last operator. We evaluate our system by testing all possible combinations of (N-1 operators) for learning, 1 operator for recognition. For N operators, we have N combinations. This method allow us to evaluate the recognition rates for new operator working with the robot.

The second method, called 80%-20%, evaluates the recognition system when the database for learning is composed of 80% of all gestures of the entire database. The 20% left are used to evaluate the result therefore estimates the gestures recognition rate for operators included in training database. Contrary to the jackknife, with the 80%-20% method, we evaluate the recognition rate for operators who already are in the database.

Evaluation of our gesture recognition pipeline

We have a database of 13 operators for this study. We recorded the operators working with the robot, doing the assembly task between 20 to 25 times each. The results presented below were computed with a K-Means of 20 clusters and a HMMs with 7 states.

The jackknife method

The Table 1 include all the results for all the combinations of (N-1) operators for the learning and 1 operator for the recognition.

The recall of a gesture i represents the rate of gesture i which are recognized to be a gesture of class i. The precision is the percentage of actual i gesture among all gestures that the system labels as class i.

We obtain a good result of 80% of correct recognitions. We can observe some mistake between gestures G1 and G2 and between gestures G3 and G4. Indeed the recall of G4 is 72% and almost 20% of gestures G4 are recognized as gesture G3. These two gestures, to join two parts of the motors hose (G3) and to screw (G4), look very similar from a top view with a depth camera. For both, the operator is holding pieces and have the hands almost clasped in front of him. The ambiguity between gestures G1, to take a motor hose part in the robot right claw, and G2, to take a motor hose part in the robot left claw, can be explained by the fact that the operator are sometimes doing these two actions simultaneously, at the beginning of a cycle, when the operator has to take a piece in each claw.

The 80%-20% method

We have the same database with 13 operators, as for the jackknife method. We used 80% of gesture from our database to learn the HMMs and we used the 20% left to evaluate recognition. Results, given in Table 2, provide an estimation of recognition performances for operators included in training database. The average correct recognition rate obtained is 85%, which is 5% higher than or previously unseen operators (as estimated by jackknife).

Comparison with DTW

We compared our pipeline with a method using DTW. The features are the same that above, but they are not discretized, and are directly used to train the DTW templates and to recognize gestures. We used the method explained in [START_REF] Gillian | Recognition Of Multivariate Temporal Musical Gestures Using N-Dimensional Dynamic Time Warping[END_REF] called ND-DTW. This method allows using DTW with N-dimensional features. Each gesture template corresponds to the gesture in the training base that minimizes the normalized wrapping distance to the other gestures in the training set. We have the same dataset that we used for the HMM pipeline.

With the jackknife method we obtain a very low accuracy of gesture recognition of 20%. This result is improved using the 80%-20% method by 3%, but remains low, 23% of correct recognition. This can be explained by the computation of the gesture template. Using one gesture on the database to be a template is not robust enough to the gesture variations. Indeed, we have gestures of 13 operators who all have their own way to perform the technical gestures we want to recognize. A probabilistic method, like HMM, is a more suitable solution to describe these variations. In the rest of the study, we will then concentrate on HMM.

User-adaptive gesture recognition system by modifying the learning database

As presented above, we observe that gestures recognition rate is 4% higher for users included in training dataset (cf. 80%-20% evaluation compared to jackknife evaluation). This is rather natural and somewhat expected. An interesting issue is therefore to define a methodology for user-adaptive recognition. A simple way to handle new unknown operator is to enrich training database with at least a few examples of his way of performing gestures, and then retrain. We therefore conducted experiments to evaluate what would be the minimal number of recordings of the new operator to be added, in order to obtain for him performances similar to those for operators included in the initial large training dataset. For this purpose, we modified the jackknife method by adding a small amount of the "test" operator gestures in the learning database and test the system on the remaining gestures from this same "test" operator, see Figure 6.

Database for the learning

Database for the recognition Figure 6: Illustration of our method to modify the learning database. Each color is associated to an operator in the database, each dot is a gesture.

We evaluate the result of recognition with different amount of gestures from the "test" operator in the learning database. These new training examples gesture are added by set of the five gestures we want to recognize. One set is equal to one example of each of these five gestures, two sets is two examples, etc. We compare the results obtained with the new learning database with those obtained before using standard jackknife method for the same "test" operator. The results presented below are an average of the results on 6 combinations of (N-1) operators for the learning, 1 for the testing, with N still equal to 13. In future work, we will extend these results with all possible combinations.

Evaluation of our user adaptive gesture recognition system

We injected only small numbers of gestures from the "test" operator in the learning database for several reasons. The first one is that if we ask an operator to perform some gestures to adapt the system to his own way to work, it is likely that this recording will be short and only a small number of gestures will be added in the learning database. The second reason is that if we inject a large number of gestures form the "test" operator to the learning database, we will not have enough remaining examples to evaluate properly the recognition system.

We can see on Table 3 that with a small number of gestures, 2 set or 10 gestures, from the test operator injected in the learning database, the correct recognition rate can quickly improve improve by 3.5%. This implies that recording only 2 cycles of a new operator and adding those gestures examples to training dataset, seems enough to recover recognition performance similar to that for operators included in initial database. In our case, 10 gestures represent less than 0.5% of the gestures in the learning database. These results allow us to expect that with a small number of gestures from an operator, it can be easy and fast to adapt the gesture recognition system to his own way of making gestures and improve the performance of the system.

We also looked at the impact of the new gestures in the learning database on the precision and recall rates. We can see the results for the evolution of the precision in Table 4 and of the recall in Table 5. The numbers are in green when the precision or recall improved by more than 2.5%. They are in red if they reduce more than 1%.

Table 4: Precision evolution in percent

Gesture class G1 G2 G3 G4 G5

Number of set added

1 -1.9 -1.1 2.9 6.1 0.0 2 0.1 0.1 0.5 7.3 -1.1 3 -0.8 0.4 3.6 5.9 0.2 4 -2.2 1.0 3.2 5.7 -0.8 5 0.1 0.5 3.6 8.9 0.2 10 6.3 3.7 3.7 16.4 -0.9

Table 5: Recall evolution in percent Gesture class G1 G2 G3 G4 G5

Number of

sets added 1 -0.4 -0.1 0.6 6.9 -0.4 2 -3.2 0.5 2.9 8.8 -0.4 3 -0.3 1.0 1.9 8.8 0.0 4 1.1 0.3 3.0 6.1 -2.2 5 -0.1 0.6 1.9 7.1 -2.3 10 -0.8 3.1 5.4 8.1 6.0

In both cases, precision and recall, we can observe a significant improvement for gesture G4, to screw. This gesture was sometimes mistaken with gesture G3, to join two parts of the motor hose. There is also improvements in the precision and recognition rates for gesture G3. It seems there are less mistakes between these two gestures when we add gestures from the "test" operator in the learning database.

For gesture G5, to put the final motor hose in a box, there is not a great improvement, the rates stay quite similar to the result with the jackknife. Indeed, gestures G5 was already well discerned from the other gestures and had good rates of recall and precision.

Similarly for gestures G1, to take a motor hose part in the robot right claw, and G2, to take a motor hose part in the robot left claw, there is no noticeable improvement. The rates tend to stay similar as they were with the jackknife.

It seems that to adapt the database to a system user can lead to an improvement for gestures with high confusion, but do not improve the recognition of gestures which are already well discriminated from others.

Implementation and computation time

We implemented our gesture recognition pipeline on C++ using the GRT library [1].

In Table 6 we present the computation time of our learning system. The numbers in green correspond to a computation time below 1 minute, in orange between 1 and 2 minutes 30 seconds and red above 2 minutes 30 seconds. The time to recognize a gesture, for all the configurations presented on Table 6, is below the millisecond.

We looked at the evolution of the computation time according to the database size, see Figure 7. We plotted on the same graph the computation time for different database sizes and a linear regression of these data. The database used for this graph is the same that we used for the study. Each dot on the Figure 7 We can observe that the computation time seems to linearly evolve with the database size. Indeed, the learning is done, for each sequence in the learning base, by running the Forward-Backward algorithm and then using the Baum-Welch algorithm to reestimate the HMM parameters, [START_REF] Rabiner | A tutorial on hidden Markov models and selected applications in speech recognition[END_REF]. The complexity of the learning algorithm is then linearly dependent of the number of example in the learning base. The slope of the linear regression we can see Figure 7 is equal to 0.0318, which means that, in average, for each new gesture exemple in the leaning base, the learning time will increase by 0.0318s. If we add 10 sets of gestures in learning base, which represents 50 gestures, the learning time will increase in average by 1.59s, which is negligible.

To add new gesture to our sytem, no new calibaration is needed. We just have to record a fixed number of gestures, 25 for 5 sets of new gestures. On our previous recordings, we observed that the operators are peforming 20 gestures in 3 min approximately. Then, a segmentation and labelling step is needed. It is the longest part of the process, but for this amount of gestures (25 for 5 sets), it takes less than an hour. Then the learning step is quite short, as we can see above. We could improve the process by automating the segmentation and labelling step by doing separate recordings for each gesture, which will save time.

CONCLUSION

In this paper we have presented our research related to humanrobot collaboration in factories. The goal is to enable a smooth and robust collaboration between a human worker and a collaborative safe robot. To this end, it is necessary to provide to the robot a capacity to understand what the worker is doing. This is why we studied gesture recognition with a depth camera to have information on the worker posture and his distance to the robot. We track hands using geodesic distances and the Dijkstra algorithm. For the gesture recognition we use the 3D locations of the two hands as features. We discretized all possible locations using K-Means and use the output clusters to train our HMM.

We have collected a large database with 13 different operators, each one recorded while performing 20 assembling cycles (providing a total of 160 gestures per operator). Using this database, we obtain 85% correct gesture recognition for operators included in training set. We also evaluated the expected recognition rate for "new" operators (i.e. not present in training data) as 80%. Motivated by this significant performance difference, we studied the possibility to adapt the gesture recognition pipeline to new worker in order to improve its correct recognitions rates. We supposed that it could be possible to record a few examples of gestures from the new operator to modify the learning database of the HMM, and then learn them again (which takes at most ∼6 minutes of computation time). We observed that even a small amount of added gestures can significantly improve the correct gesture recognition rates: more than 3,5% with only 2 sets of gestures, which represents 1,5% of the learning database.

This method could be applied to numerous gestural interfaces. The varibility in the gestures performed by severel people can also be an issue to enable an natural communication between a person and a digital interface. Also, recording new gestures from a new user to modify the leanring database seems to be a quick and robust way to improve the accuracy of the gesture recognition.

In order to further increase recognition performances in our use case, we work in parallel on the addition of inertial sensors on tools, the screwing-gun for this use case, to have new information on the worker's actions, [START_REF] Coupeté | Recognition of Technical Gestures for Human-Robot Collaboration in Factories[END_REF]. The advantage of the inertial sensors on tools, rather than on the operator himself, is that he does not have to wear any equipment. Combined with the user-adaptive method-ology presented and evaluated here, it should be possible to obtain a very robust system allowing a safe, reliable and efficient collaboration between operator and robot.

Figure 2 :

 2 Figure 2: Our hands-tracking method. (a): initial depth map, (b): upper body of the worker, (c): geodesic distances between each point of the upper body and the head (blue to red), (d): farthest upper body parts from the head, (e): head and hands locations with the shortest paths between the hands and the head

Figure 3 :

 3 Figure 3: Representation of our features : the two hands (red dots)

Figure 4 :

 4 Figure 4: Pipeline of our learning and recognition method

Figure 7 :

 7 Figure 7: Computation time for the learning depending on the database size; red dots : the data computed using our pipeline, blue line : the linear regression

Table 1 :

 1 Gestures recognition rates for unknown operators, es-

	timated by jackknife method
			Output (Maximum likelihood)
			G1	G2	G3	G4	G5	Recall
	Input Gesture	G1 G2 G3 G4	141 38 21 15	19 232 0 10	1 -214 56	6 22 32 193	1 -10 1	84% 79% 77% 72%
		G5	1	-	2	-	146	98%
		Precision 65% 89% 78% 76% 92% 80%

Table 2

 2

		: Gestures recognition rates for operators included in
	training set, estimated by 80%-20% method
			Output (Maximum likelihood)
			G1	G2	G3	G4	G5	Recall
	Input Gesture	G1 G2 G3 G4	46 7 -2	11 103 -2	2 -88 10	2 8 8 62	--2 2	75% 87% 90% 79%
		G5	0	2	1	1	51	93%
		Precision 84% 87% 87% 77% 93% 85%

Table 3 :

 3 Improvement of the gesture recognition rates

			Number of sets added
		1	2	3	4	5	10
	Improvement
	of correct	2.4% 3.5% 3.6% 3.1% 4.1% 5.7%
	recognition rate

Table 6 :

 6 Computation time for the learning, in secondsEven if HMM training time increases with the parameters size, it stays quite short. It is conceivable to easily remake a learning of the HMMs when a new operator is working on a collaborative task with a robot without a large lack of time.

				Number of states
			4	5	7	10	15
			10 26 37 59 101 219
	Number of	clusters	15 32 43 70 124 284 20 39 52 79 138 325 25 45 61 95 161 351


Beatriz Andres

Raul Poler

Dealing with the Alignment of Strategies within the Collaborative Networked Partners

Keywords: strategies alignment (SA), collaborative networks (CN), collaborative processes, sustainability, SMEs, cloud-based engineering systems

 in which a set of collaborative processes are identified. This paper particularly focuses on the strategies alignment (SA) process, highlighting its influence on the success of a CN. A preliminary framework is outlined to address the collaborative process of SA, consisting of a model, a method and a methodology. Highlighting the importance of the use of cloud-based systems to support small and medium enterprises (SMEs) to deal with the SA process. The implementation of the proposed framework allows identifying what are the strategies that are aligned and how its activation increases the network performance, resulting in more stable and sustainable collaborative relationships, and assuring the proper operation of the CNs.

Introduction

Along the last fifteen years, a wide research activity has been carried out in the CN context; this research especially focuses in small and medium enterprises (SMEs) due to their higher lack of resources and capabilities to conduct collaborative processes. A wide rage of models, guidelines and tools have been developed along the literature to assist enterprises to comply the requirements demanded by the CNs, and cope with the appearance of possible obstacles derived from the collaborative processes participation [START_REF] Andres | Relevant problems in collaborative processes of nonhierarchical manufacturing networks[END_REF]. Despite the challenges enterprises have to face up when establishing collaborative processes, taking part in a CN leads them to obtain higher competitive advantages and greater degrees of agility, facilitating their survival in the current competitive and globalised environments.

According to the definition provided by [START_REF] Camarinha-Matos | Collaborative Networks: A new scientific discipline[END_REF] a CN consist of a set of heterogeneous and autonomous entities, which collaborate to better achieve common or compatible goals. Each autonomous entity defines its own objectives and formulates its own strategies apart from defining a common goal. The raised strategies encompass a set of actions described to achieve the objectives defined, whose accomplishment is measured through key performance indicators (KPIs). Once the strategies are formulated the enterprises have to decide which ones activate in order to achieve the objectives defined and obtain the desired performance [START_REF] Andres | Computing the strategies alignment in Collaborative Networks[END_REF]. When deciding what strategies activate, an enterprise may opt for making this decision from an isolate perspective, that is, by only taking into account the extent to which the activation of its strategies will benefit the achievement of its own objectives. An enterprise that makes this decision, by only taking into account its own objectives, may trigger a contradictory situation in which the strategies activated by one enterprise positively influence the objectives defined in the same enterprise but could negatively influence the achievement of the objectives defined by the other network enterprises, leading to a partnership failure. On the other hand, an enterprise can opt for deciding what are the strategies to activate by considering not only its own objectives, but also taking into account the achievement of the objectives defined by the other network partners.

Research Question

CNs are characterised by the heterogeneity of the enterprises and the objectives they define, consequently, a high diversity of strategies are formulated, to achieve these objectives, which at times might contradict one each other. In order to support the network partners on deciding about what strategies to activate, so that they positively influence all the objectives defined by network partners, a set of collaborative mechanisms are needed with the main aim of identifying the strategies that are aligned. In the light of this, a research question emerges:

What would be an adequate model, method and methodology to identify amongst all the strategies, formulated by the network partners, those that must be activated so that there are aligned and positively influence the objectives of all the partners?

The opportunities derived from the proper selection of strategies opens new ways to decide what strategies to activate, considering all the objectives defined by the enterprises. In this context, the research challenge emerges evolving from the null consideration of the objectives defined by all the network partners towards deciding what strategies to activate by considering how they affect to the objectives achievement of the rest of enterprises. The measurement of the increase of KPIs when certain strategies are activated will allow SMEs to identify what is the combination of strategies that results on higher increases on the KPIs. As will be justified then, the information gathering required to implement the framework proposed to deal with the SA process will be supported by cloud-based systems. Accordingly, the paper is organised as follows: Section 2 identifies how the SA process can benefit from the application of cloud-based systems; in Section 3 the SA concept is defined and a brief overview of how this concept has ben treated in the literature is given; Section 4 provides a summarised description of the proposed framework, consisting of a model, a method and a guideline to address the SA process; conclusions and future research lines are presented in Section 5.

Benefits from Cloud-based Engineering Systems

According to [START_REF] Bal | Orchestrating New Markets Using Cloud Services[END_REF] the cloud-service term is understood as an Internet-based technology used as a repository of information and IT services provided to the enterprises (seen as customers) that updates the data, computes the required issues (computation) and maintains the IT (software). The SA process, established in a CN context, involves a large diversity of SMEs having their own information. To address the proposed SA model interoperable information systems are required to exchange the data demanded. Cloud-based systems allow achieving data interoperability between different applications belonging to different SMEs; exchanging, connecting and integrating the data required to feed the model developed to deal with the SA process [START_REF] Mell | The NIST definition of cloud computing[END_REF]. Considering the characteristics affecting the widely distributed SMEs, for which the proposed SA framework is designed, cloud-computing resources contribute to overcome some limitations of the SMEs in terms of (i) increasing their capability to process and storage the information, (ii) reducing the lack of interoperability in their applications, and (iii) shortening their limited computed power, with appropriate computational resources, technologies and software. One useful application of cloudbased systems in the context of SA is the integration of the simulation software used to solve the proposed SA model: AnyLogic® [7]. This system dynamics simulation software will be included in the cloud in order to support all the enterprises, belonging to the collaborative network, on the decision making of which strategies to activate in order to be aligned one with each other.

Definition and State of Art

In this section a definition of what in this paper is meant by the SA concept, is offered. Besides this, a brief overview on how the alignment concept has been treated in the literature is given.

Strategies alignment (SA) concept. Considering that the strategies are the set of actions to be performed in order to fulfil the objectives defined, there are characterised by being aligned when: each activated strategy not only promotes the achievement of the objectives defined by the enterprise that raises such strategy, but also positively influences the accomplishment of the objectives defined by the rest of the network partners. The SA concept is linked with the strategies complementarity, in which two or more strategies, apart from being able to exist together harmoniously if simultaneously activated (compatibility), enhance the benefits obtained in the associated objectives, receiving positive influences from the set of activated strategies

The literature has used different terms to refer to the alignment concept in the CNs context, such CN participants' alignment [START_REF] Da Piedade Francisco | Managing performance to align the participants of collaborative networks: case studies results[END_REF], strategic alliance [START_REF] Cante | Strategic alliances in food and beverage and executive recruiting industries[END_REF], collaborative strategy [START_REF] Campos | Comparing Strategies of Collaborative Networks for R&D: an agent-based study[END_REF] or values alignment [START_REF] Macedo | A qualitative approach to assess the alignment of Value Systems in collaborative enterprises networks[END_REF]. As regards the alignment in the specific context of strategies, different works have been developed, by considering in most of the cases the alignment of two particular strategies (table 1).

The analysis of the selected works has allowed identifying a common feature about how the alignment concept is treated. Concluding that, the approaches developed so far to deal with the alignment of strategies deals with the strategies compatibility. What is to say that, the alignment term is used to promote the simultaneous activation of pairs of specific strategies, which make a good combination, but does not involves, necessarily, that the enterprises performance increase when compatible strategies are activated. Accordingly, none of the works, provided so far, give a global view of the whole range of strategies defined by all the enterprises of the CN. In the light of this, the SA framework proposed in this paper goes further and develops a holistic approach identifying complementary strategies, in which the collaborative network system is analysed as a whole, considering all the strategies formulated by the enterprises that comprise it. The holistic nature of the proposed approach allows determining how the objectives of each company behave (increasing or decreasing its performance levels) as a result of the synergies arising from the activated strategies.

Research Contribution in Strategies Alignment

The strategies alignment process is considered a key factor that, if carried out, leads the CN to have higher levels of performance, and therefore, success. The problem identified in this paper is the strategies misalignment, which may lead to partnership failure. In order to deal with this relevant problem, the paper bases its research on a theoretical body of knowledge regarding Collaborative Networks, Industrial Management, and System Dynamics. The research scientific methodology used has its ground on the Constructive Research method [START_REF] Kasanen | The Constructive Approach in Management Accounting Research[END_REF]. A framework consisting of (i) a model, to represent the links between the objectives and the strategies formulated by all the networked partners, (ii) a method, selected to solve the particular modelled process, the SA, and (iii) a methodology, to guide the CN enterprises on how to apply the model, to solve the specific problem of SA, is proposed. This framework identifies the set of strategies to activate in order to be aligned.

Strategies Alignment Modelling

The SA model addresses the decision making of what strategies to activate though an approach that allows to identify the set of strategies that if activated positively influence (or its negative influence is minimum) all the objectives defined by all the network partners. The model computes the increase (or decrease) of the KPIs, used to measure the objectives, depending on what strategies are activated. Accordingly, the model is based on deciding which strategies to activate so that the increase of the KPIs is maximised. The set of parameters characterising the SA model are depicted in (table 2). These parameters allow defining the function that models the influence the strategies exert over the KPIs (fig 1). The objective function is defined by maximising the parameter kpinet through modifying the decision variables defined by ti_stris and u_ stris.

max. kpinet [START_REF] Andres | Research on Collaborative Processes in Non-Hierarchical Manufacturing Networks[END_REF] = ∑

(2)

= ∑

(3)

= • (4) _ _! " # _ = $ 0; < _! " # + ) _! " # ∧ < + _! " # !,-._! " # _ ; _! " # + ) _! " # ≤ ≤ _! " # + ) _! " # + 0 _! " # _! " # _ ; _! " # + ) _! " # + 0 _! " # < ≤ + _! " # (5)

Method: Systems Dynamic (SD)

The systems dynamic [START_REF] Forrester | Industrial Dynamics[END_REF] is the method selected to solve the SA model, due to allows characterising the causal relationships between the strategies and the objectives, and models the influences that the objectives experience when certain set of strategies are activated. The parameters that characterise the model are arranged according to the classification given by SD method: stock variables, flow variables and auxiliary variables (table 2, Type of Variables column) [START_REF] Andres | Identifying the Strategies to be activated for Optimising the Performance in Collaborative Networks[END_REF]. The tool used to solve the SA model is AnyLogic® [7], allowing simulating in SD. This software includes an optimiser package that allows obtaining the best set of parameters (ti_stris, u_stris,) that maximise the network performance (kpin).

Methodology

The collection of steps that allows enterprises to identify the set of aligned strategies that optimise the network performance is described. The methodology consist of: (i) selecting the enterprises that participate in the SA process; (ii) identifying for each enterprise the objectives defined: the kpiixk used to measure these objectives and the strategies formulated (stris) to be potentially activated; (iii) gathering the data: each enterprise estimates the value, val_stris_kpiixk, that determines the strategies (stris) influence on the kpiixk when the first ones are activated, besides this, all the data regarding the strategies characterisation is also collected (costs and durations). The use of cloud-based systems support enterprises on gathering the data; (iv) feeding the

inf_str is _kpi ixk = val_str is _kpi ixk • u_str is d 2 _str is t 0 t i _str is d 1 _str is F_inf_str is _kpi ixk t kpi ixk t f _str is d 4 _str is kpi ixk ! "#$% _! "# ! " _! " # ! " # = !" #_! "# ! " _! " # !" # ! ! _! "# !"
! model with the gathered data; (v) the SA model is simulated in AnyLogic® software.

The number of units to activate of each strategy, u_stris, and the time unit in which each strategy is initiated, t_stris, are determined, maximising the kpin. The use of cloud-based systems is used to provide to all the collaborative SMEs with software. We refer readers to Andres and Poler [START_REF] Andres | Identifying the Strategies to be activated for Optimising the Performance in Collaborative Networks[END_REF] for a detailed numerical example applying the above-developed model.

Conclusions and Future Work

This paper focuses on the SA process, addressing it through modelling the influences that the strategies exert on the KPIs, defined to measure the objectives achievement.

The System Dynamics is the method used to solve the model. AnyLogic® software is selected to implement the modelled process of SA. The provided approach supports the decision making process of which strategies activate at enterprise level from an holistic perspective considering all the strategies defined by the enterprises of a CN, allowing obtaining optimal network performance levels. Cloud-based systems are useful tools to support enterprises on gathering the information required by the SMEs in order to feed and implement the model. Despite the advantages obtained from the application of the SA framework, there is a limitation related with the information gathering, as regards the estimation of the value val_stris_kpi'ixk, specially if the strategy stris has never been activated or there is a lack of information flow between the CN enterprises. The drawbacks as regards the information exchange and uncertainty inherent to CN must be considered in the formulation of the model and definition of the methodology. In the light of this, future work is lead to (i) extend the work developed so far defining a complete model and methodology in order to deal with the identified limitations, (ii) validate the developed approach in a real supply network, and (iii) demonstrate the usefulness of the developed contribution through simulations comparing collaborative and non-collaborative scenarios, of the decision making regarding the strategies activation.

Fig. 1 .

 1 Fig. 1. Function modelling the KPIs behaviour when a strategy is activated F_stris_kpiik.

Table 1 .

 1 Alignment of specific strategies and authors.

	Alignment of specific strategies	Authors
	Business Strategy & IT Strategy	Cuenca et al. [12]
	Business Strategy & Information Assurance Efforts	Jean-Noël et al. [13]
	Business Strategy & e-Business	Raymond and Bergeron [14]
	Supply Strategies	Cousins [15]
	Global Sourcing Strategies	Selen and Ashayeri [16]
	Marketing Strategy & Sourcing Strategy	Green et al. [17]
	Supply Chain Configuration & Distribution Channels	Wu et al. [18]
	Product Design Strategies	Dell'Era and Verganti [19]
	Product & SC characteristics	Lyons and Ma'aram [20]
	Product & SC Processes	Stavrulaki and Davis [21]
	Green SCM & Business Strategy	Whitelock [22]

Table 2 .

 2 Parameters and its classification in systems dynamic

	Index
	net set of networks (net = 1, …, N)	k set of KPIs (k = 1, …, K)
	i	set of enterprises (i = 1, …, I)	s set of strategies (s = 1, …, S)
	x	set of objectives (o = 1, …, O)
	Parameters		Type of variable
	kpiixk kpii kpinet	KPI k defined by enterprise i to measure the objective x KPI at enterprise level (the sum of the kpiixk) KPI at network level (the sum of the kpii)	Auxiliary Variables (kpiixk)
	stris		Strategy s defined by the enterprise i
	u_stris	Units of strategies to activate of stris
	c_stris	Cost of one unit of strategy stris
	val_stris_kpiixk	Value estimated by the enterprise defining the increase
			or decrease of the kpiixk when one unit of stris is
			activated
	ti_stris	Time of initialisation of stris
	ti_stris	Time of finalisation of stris	Auxiliary
	d1_stris	Delay time, period of time in which, once the stris is	Variables (stris)
			initiated, the stris does not exerts influence over the kpiixk
	d2_stris	The influence that stris exerts on the kpiixk is not
			immediate, unlike it takes a time to reach the maximum
			level of influence (val_stris_kpiixk)
	slope_stris_kpiixk The progressive influence during d2_stris
	d4_stris	Duration of strategy stris
	inf_stris_kpiixk	Maximum level of influence of stris in kpiixk
	bi		Budget owned by enterprise i to activate the strategies Increase of the KPI when the strategies are activated	Stock Variables
	F_inf_stris_kpiixk Function of influence that the kpiixk experiences when the strategy stris is activated (fig 1)	Flow Variable

Acknowledgments. This work was funded by the Programa Val i+d para investigadores en formación (ACIF).


Sandeep Patil
email: sandeep.patil@ltu.se

Dmitrii Drozdov
email: dmitrii.drozdov@ltu.se

Victor Dubinin
email: victor_n_dubinin@yahoo.com

Valeriy Vyatkin
email: vyatkin@ieee.org

Cloud-Based Framework for Practical Model-Checking of Industrial Automation Applications

Keywords: Formal Verification, Closed-Loop Modelling, Model-checking, SMV, NCES, Industrial Automation, IEC 61499

In this paper we address practical aspects of applying the modelchecking method for industrial automation systems verification. Several measures are proposed to cope with the high computational complexity of model-checking. To improve scalability of the method, cloud-based verification tools infrastructure is used. Besides, closed-loop plant controller modelling and synchronization of transitions in the SMV (input language for symbolic model checking) model aim at complexity reduction. The state explosion problem is additionally dealt with by using an abstraction of the model of the plant with net-condition event systems, which is then translated to SMV. In addition, bounded model-checking is applied, which helps to achieve results in cases when the state space is too high. The paper concludes with comparison of performance for different complexity reduction methods.

Introduction

Formal verification is an act of proving or disproving an algorithm with respect to some specification or property and model-checking is one such formal verification approach introduced in early 1980s by Clarke and Emerson [START_REF] Clarke | Design and Synthesis of Synchronization Skeletons Using Branching-Time Temporal Logic[END_REF][START_REF] Emerson | Characterizing correctness properties of parallel programs using fixpoints[END_REF]. A model-checker generates state space of the model that includes all or some states and transitions. Each path in the state space corresponds to one system's run or a single test case. Model-checking enables the unsupervised automatic verification process of a system by generating the state space and identifies system failure via counterexamples (a scenario (state trace) that breaks the safety property of the system). Properties to be verified are specified using many methods, including temporal logic, automata, etc. While model-checking is computationally resource hungry, it has been successfully used in other adjacent areas of computer systems engineering, such as hardware design, proving its ability to handle problems of reasonably large complexity [START_REF] Fix | Fifteen Years of Formal Property Verification in Intel[END_REF][START_REF] Kern | Formal verification in hardware design: a survey[END_REF]. This suggests that it can be also applied in the industrial automation domain, and there have been impressive number of research works towards this goal [START_REF] Hanisch | One Decade of IEC 61499 Modeling and Verification-Results and Open Issues[END_REF][START_REF] Vyatkin | Formal modeling and verification in the software engineering framework of IEC 61499: a way to self-verifying systems[END_REF]. For safetycritical applications, formal verification is one of the most efficient ways to prove system's correctness.

Cloud-based Model-Checking Infrastructure

Verification tasks consume many resources and verification process can run for days and block all important personal computer resources. In this section, we present how we could run verification remotely on a service such as Amazon Elastic Compute Cloud that grows according to the need. A verification problem usually contains specifications that are to be evaluated to prove or disprove many properties and each property checking can run as a separate process. Hence the option to perform verification tasks in the cloud instead of running them on an own computer provides performance related improvements. The cloud-based solution takes advantage of highly scalable parallel computations and more cost-efficiency in comparison to supporting own computation infrastructure.

Fig. 1 shows possible decomposition of full verification with Bounded Model Checking (BMC). For each single bound, the NuSMV [START_REF] Cimatti | NuSMV 2: An OpenSource Tool for Symbolic Model Checking[END_REF] verifier can generate a separate SAT-problem [START_REF] Cimatti | NuSMV 2: An OpenSource Tool for Symbolic Model Checking[END_REF]. And all these SAT problems can be solved in parallel tasks (on many Amazon Cloud instances for example). In this work it is assumed that controllers are presented in terms of the function blocks of IEC 61499 standard that generalizes traditional programming paradigms of industrial automation for the case of component-based distributed systems.

For the function block models, memory consumption grows linearly for a single bound verification with NuSMV and this behaviour provides highly predictable resource needs. Reconfigurable clouds such as example Amazon EC2, enables us to tune cloud resources for specific model and reach high cost-efficiency.

Model Reduction with Plant Abstraction

In model-checking one of the most common problems is the state space explosion [START_REF] Clarke | Progress on the State Explosion Problem in Model Checking[END_REF], which is tackled by various techniques [START_REF] Clarke | Counterexample-Guided Abstraction Refinement[END_REF]. In this section we present an abstraction technique in order to reduce the state space of the formal model that we use. This abstraction is built on top the closed-loop modelling previously proposed in modelchecking of function block systems [START_REF] Patil | Closed-loop formal verification framework with nondeterminism, configurable by meta-modelling[END_REF].

Plant Model Abstraction using Net Condition-Event Systems (NCES)

In the closed-loop framework, both controller and plant are modelled with formalism, and then the combined model is exposed to model-checking. The controller model is automatically generated from the function block source code, using the function block (FB) operational semantics [START_REF] Patil | Neutralizing Semantic Ambiguities of Function Block Architecture by Modeling with ASM[END_REF]. Therefore abstractions cannot be applied to the controller's model without loss of important execution aspects, hence we abstract on the model of the plant.

The control signals actuating the plant can be both value (level) and event (edge) signals. The formalism of NCES [START_REF] Hanisch | Modular modeling of closed-loop systems[END_REF][START_REF] Pinzon | Modeling admissible behavior using event signals[END_REF] has sufficient expressiveness to represent them.

In works [START_REF] Patil | Closed-loop formal verification framework with nondeterminism, configurable by meta-modelling[END_REF][START_REF] Patil | Formal verification of Intelligent Mechatronic Systems with decentralized control logic[END_REF] modelling and verification of closed-loop automation systems using NCES was described. In work [START_REF] Wimmel | A BDD-based Model Checker for the PEP Tool[END_REF] the methods to model Petri net in SMV [16] were proposed. Using first and second methods in combination with event signal transfer rules from FB operational semantics, hierarchical NCES models can be transformed into SMV.

The NCES model is wrapped into FB SMV module interface and contains input transition-place pairs (Fig. 2 (a)) which are designed such that all input transitions are fired synchronously. If an activation event occurs, transition rewrites place marking regard to 'data input' value, for simple plant models with Boolean inputs, considered in this paper, the place becomes marked if 'data input' value is TRUE, otherwise the place becomes unmarked. This approach mainly corresponds to events in FB operational semantics. The code snippet below shows the SMV module with the changes, line 2 shows the enable rule and the 'next()' statements show setting/resetting rules. Fig. 2 (c) shows a typical event emitting transition. Event signal transmission is performed through signal buffers (SMV variables), which are set as 'true' when event emitting module fires and reset as 'false' every time an event consumer module runs. The code snippet below shows the SMV module exemplifies the setting and resetting of event emission. . This connection provides an entry point for system's main execution path, which may be described as a cycle of the occurrence of events REQ -> CNF -> CYL_IND -> CHG -> REQ ->… Also, input pp1 is 'true' and pp2 and pp3 are 'false' (workpiece is present in place 1 and places 2 and 3 are empty) for model testing. But in real systems checking these variables can be left "free" to verify all possible system states, or they can be connected to environment emulation module.

The simplest abstract model of the cylinder consists of only two states: 'home' and 'end' and two transition between these states. Transition emits event 'CHG' when it fires. Vacuum model contains only two states as well. Most of SMV language implementations support asynchronous module instances, implemented with keyword 'process' [16]. Usage of asynchronous processes provides simple representation or concurrent tasks but analysis of all possible execution orders together with increasing number of processes causes exponential state space growth (so-called state space combinatorial explosion). This problem affects resource consumption, for example memory and verification time. FB application SMV model, based on FB operational semantics, proposed in work [START_REF] Patil | Neutralizing Semantic Ambiguities of Function Block Architecture by Modeling with ASM[END_REF] uses FB instance mapping to asynchronous SMV processes. This approach provides intuitively clear FB types and instances mapping and allows avoiding the problem with access of multiple modules to one signal buffer. It is also the simplest way to model asynchronous execution discipline in SMV. Fig. 5 shows access of two modules to event signal buffer. Value 'TRUE' of the buffer SMV variable means the event occurred and has not been read yet. So one module "puts" an event to the buffer (set TRUE value to the buffer SMV variable) and another module receives event (reads the variable) and resets SMV variable value to FALSE.

Synchronous Module Instances with External Buffer Controller

The approach to solve the multiple access problems with synchronous modules is based on external buffer controller, which contains all assignments of the shared buffer. A composite FB model contains buffer SMV variables and it should contain buffer controllers. Composite FB SMV module and each asynchronous component instance contain own 'next' expressions to change shared event signal buffers (setting of output and resetting of input events). For synchronous modules this expressions from all component instances can be merged in composite FB and placed either in separated buffer controller modules, or in composite FB module definition.

signal_reset_rule and signal_set_rule in component FBs are declared with DEFINE statements. Alpha and beta rules should be defined in components and their 'next' statements should be merged into composite FB dispatcher.

For component event inputs.

For component event outputs.

Results

Table 1 shows comparison of RAM usage and verification time for full PnP model and reduced with the first approach (described in section 3). Table 2 shows comparison of RAM usage and verification time for bounded model checking with single bounds for PnP model with asynchronous modules and synchronous ones.

Conclusion

Proposed modification of function blocks SMV models with synchronous modules allows for reduction of BMC verification time to reasonable limits. And the abstraction technique, using NCES to represent plant model, allows us to reduce model complexity when it necessary to keep within memory limits. Both, these techniques allow us to apply model-checking for verification of IEC 61499 closedloop systems, and make this approach cost-efficient with cloud technologies.

Fig. 1 .

 1 Fig. 1. Dividing the verification problem across multiple instances.

Fig. 2 .

 2 Fig. 2. (a) Synchronous transition-place pair and (b, c) typical NCES transitions Fig. 2(b) shows a typical event activated transition (event consumer). The simple Petri net transition SMV module [15] can be transformed into NCES transition with event trigger by adding an event in 'enable' rule and simple unconditional event reset statement.This approach mainly corresponds to events in FB operational semantics. The code snippet below shows the SMV module with the changes, line 2 shows the enable rule and the 'next()' statements show setting/resetting rules.

  MODULE pnpVacuumOn(event_in, input, output) DEFINE enabled := input & event_in; ASSIGN next(input) := case enabled : FALSE; TRUE : input; esac; (*… Output goes here … *) next(event_in) := FALSE;

3 . 2 Fig. 3 .

 323 Fig.3(a) shows the 3-cylinder Pick-and-Place manipulator case study. It consists of 2 vertical and 1 horizontal cylinders and a suction unit (vacuum). Each cylinder has two sensors indicating two end positions of the piston. Full model verification with NCES was described in works[START_REF] Patil | Closed-loop formal verification framework with nondeterminism, configurable by meta-modelling[END_REF][START_REF] Patil | Formal verification of Intelligent Mechatronic Systems with decentralized control logic[END_REF], in this paper we propose a way to verify full operational semantics-based controller model[START_REF] Patil | Neutralizing Semantic Ambiguities of Function Block Architecture by Modeling with ASM[END_REF] with plant abstraction.

Fig. 4 (

 4 Fig.3(b) shows the closed-loop model schema with MasterSlave controller[START_REF] Sorouri | Distributed control patterns for intelligent mechatronic systems[END_REF] and the NCES plant model. At the initial state, the input 'INIT' has value 'TRUE', which corresponds to the occurrence of event 'INIT' in the beginning of execution. Event output 'INITO' is connected to input 'REQ'. This connection provides an entry point for system's main execution path, which may be described as a cycle of the occurrence of events REQ -> CNF -> CYL_IND -> CHG -> REQ ->… Also, input pp1 is 'true' and pp2 and pp3 are 'false' (workpiece is present in place 1 and places 2 and 3 are empty) for model testing. But in real systems checking these variables can be left "free" to verify all possible system states, or they can be connected to environment emulation module.The simplest abstract model of the cylinder consists of only two states: 'home' and 'end' and two transition between these states. Transition emits event 'CHG' when it fires. Vacuum model contains only two states as well.Fig.4(a) shows simple NCES models for vacuum and cylinder modules. The vacuum module has two inputs 'vacuum_on' and 'vacuum_off' and two outputs:

Fig. 4 .

 4 Fig. 4. (a) Vacuum and cylinder NCES-models and (b) Plant model with FB wrapper

Fig. 5 .

 5 Fig. 5. Access to shared signal buffer

Fig. 6 (Fig. 6 .

 66 Fig.6(a)shows the controller that uses module selector variable to select one of many assignment rules, collected from accessing modules.

Table 1 :

 1 Model checking in Cadence SMV On Win32 Cadence SMV running under Windows 7 x64, reaching of 2GB memory limit cause program failure, on Windows x32 versions, verification process stuck for hours without any results.

	Model	Time	RAM
	Full PnP model	-	> 2GB*
	Reduced PnP model	294 s	1082 MB

*

Table 2 :

 2 Bounded model checking with the second approach

	Single bound	PnP model with async. instances	PnP model with sync. instances
	value	Time	RAM	Time	RAM
	20	42.93 s	2134 MB	20.37 s	1875 MB
	50	> 12 hours	~7 GB	58.15 s	4721 MB
	70	> 12 hours	~ 11 GB	73.18 s	5689 MB

Acknowledgments. This work was partially supported by the Federal Targeted Programme "Research and development in priority areas of elaboration of STC of Russia for 2014-2020" (agreement of 19.06.2014 № 14.574.21.0045), and by Luleå Tekniska Universitet, grants 381119, 381940 and 381121.


João Peixoto

José Oliveira

André Rocha
email: andre.rocha@uninova.pt

Carlos Pereira
email: cpereira@ece.ufrgs.br

The Migration from Conventional Manufacturing Systems for Multi-Agent Paradigm: the First Step

Keywords: multi-agent systems, industrial manufacturing, agility, self-adaptive systems

The consumer market ever more calls for diversified products in small batches and the industry lacks production systems that meet the demands with efficiency and ability to adapt quickly. Integrated manufacturing systems implemented have their management for programmable logic controllers and electrical interconnections, control logic and satisfactory robustness, but they do not attend the needs of diversity and flexibility in production. The solutions to these needs refer the company to migrate to the use of new technologies of control, circuit and logic. But, for an industry migrates is a very big and expensive step. Then, there is an urgent need for methods that implement the interface between logic controllers and multi-agent systems in order to evolve an integrated manufacturing system taking advantage of all electrical circuitry, control logic and the logic controller that installs itself, taking advantage of the self-adapting characteristics that the multi-agent systems provide.

Introduction

The modern consumer behavior is in constantly changing and the industry is facing the big challenge of accompanying these changes. On the one hand, consumers are seeking ever more customized products which represent their individuality, on the other hand, the industry, to remain competitive, needs to meet this demand of largescale variety.

The study of James [START_REF] James | Service-oriented paradigms in industrial automation[END_REF] has pointed out that the business environment in the future would be characterized by constant changes in market demand and the global competitiveness would push the entry of new products.

The high-volume production continues to be processed however, as pointed out [START_REF] Herrera | Integration of Multi-Agent Systems and Service-Oriented Architecture for industrial automation[END_REF], there is a tendency to mass production of highly customized product. And it leads to a large volume of small lots. And the speed that the market demands products highly customized to be delivered is important. The production line space to adapt to a new product is smaller and significant to the final cost. As stated in [START_REF] Cândido | Service-oriented infrastructure to support the deployment of evolvable production systems[END_REF], to cope with this new reality and achieve a competitive advantage over competitors, future productions systems must provide solutions to: long time for system design, commissioning and setup; complex variations requirements; inflexible implementations; scalability; faulttolerance or redundancy; and incompatibility between different technologies.

But, what method it is necessary to industries will migrate to new paradigms that attend the market requisites? One cannot simply dismantle the existing production systems and build new ones, with new paradigms. This work will be discussing the steps to migrate from a conventional manufacturing to a system self-adaptive, making use of all existing infrastructure and local logical.

This work shows a study of manufacturing industrial and the possible solution for new necessities of market. In section 2 approach how could-based can be used for support to self-organized systems. The section 3 shows de concepts of industrial manufacturing management. The section 4 shows the approaches this problematic by academics and researches groups. The section 5 discusses a need of method to migrate of conventional system to self-organized systems. And section 6 shows the conclusion of this work.

Contribution to Cloud-based Engineering Systems

The requirements of diversity in production lead the industry to need versatile systems that use shared resources. One way is to share resources through Cloudbased. This concept computing systems applied in manufacturing, such as multi-agent systems, recourse to cloud environments to seek methods, algorithms, and means for obtaining a skill required by a new production process that is presented. The multiagent systems need not have all the variants of a production process to serve it with the diversity it needs, just to have these variants seek in a cloud environment, sharing resources with all agents in the system.

With the computing resources evolution available to the manufacturing management, solutions using the "cloud" concept have emerged as a good alternative to systems which have high power of communication, but do not have elevated power to local processing. In [START_REF] Othmane | Cloud computing & multi-agent systems: A new promising approach for distributed data mining[END_REF] the application of multi-agent solutions with cloud systems is approached and can be seen in Figure 1. In Figure 1 the Process Agents resorting to the cloud environment (Cloud Storage) to obtain data on the process as well as the Task Agent resorting to cloud environment (SaaS) to learn skills with humans.

Manufacturing Systems Management

The management system has been constantly the subject of research and to every new demand that arises new paradigms are researched and implemented. This work mentions what it thinks to be the most significant in terms of solution presented to industry.

Management with Programmable Logic Controllers (PLC)

Manufacturing system has evolved from craft production with low volume, high variety and general purpose machines to production lines, dedicated machines and large enterprise, which enable the mass production [START_REF] Elmaraghy | Flexible and recongurable manufacturing systems paradigms[END_REF]. Mass production brought the concept of a manufacturing with a viewpoint centered on Programmable Logical Controllers (PLC), which operates in a loop: (i) read all inputs; (ii) execute defined logic (the process) to generate the outputs from the inputs; (iii) trigger the outputs conform the processing logic;

Flexible Manufacturing Systems (FMS)

For the same equipment being able to perform more than one operation in manufacturing, it should be resourced to enable, through feeding device, change its functionality, providing distinct processes to be performed by the same equipment. A FMS is distinguished from other forms of automated manufacturing by considering the diversity of the products they want to produce (product flexibility) and adaptive characteristics of the machines (flexibility of the equipment) [START_REF] Peixoto | When agents meet manufacturing: paradigms and implemations[END_REF] e [START_REF] Peixoto | Development of manufacturing automation systems using service-oriented architectures and mult-agents systems[END_REF];

Computer Integrated Manufacturing (CIM)

CIM is a concept where the approach aims at integrating all process stages: sales, supplies, design and development, production and delivery. The paradigm is the integration of all the company activities through the use of information technology [START_REF] Leitão | Trends In Agile And Co-Operative Manufacturing[END_REF], such as databases, networks, etc., that allows the data exchange and sharing between business units and its applications. Computer integrated manufacturing is the efficient use of information technology in manufacturing to increase productivity and efficiency of businesses;

Evolvable Assembling Systems (EAS)

EAS are the integrated systems with equipment that allow modularity, adaptability and scalability of the product. They are modules who should provide open hardware and software architecture with plug and play functionality; the connection is made without the other equipment being disconnected or reconfigured. The reconfiguration of systems allows the manufacture to be evolvable. The mounting system of the evolution is based on simple systems, reconfigurable elements with specific tasks (system modules), which allow a continuous evolution of the system. An EAS can coevolve with the product and assembly process [START_REF] Othmane | Cloud computing & multi-agent systems: A new promising approach for distributed data mining[END_REF]. The EAS can be implemented by Service Oriented Systems (SOA), that is the basic element in the abstraction of services which has properties of autonomy, interoperability, platform independence, encapsulation and availability [START_REF] Ribeiro | MAS and SOA -A Case Study Exploring Principles and Technologies to Support Self-Properties in Assembly Systems[END_REF], or by using Multi-agent Systems (MAS) defined as a paradigm derived from the distributed artificial intelligence field, characterized by decentralization and parallel execution of activities based on autonomous entities, called agents [START_REF] Leitão | Agent-Based Distributed Manufacturing Control: A State-Of-The-Art Survey[END_REF].

The table 1 shows a comparison among the proposed manufacturing management system, linking the paradigm employed, the main feature and the ability to use cloud approach.

Academic Approaches

The self-organizing systems researches are increasing, but there are still few studies with real industry application. But the fact the academics take care of this problem is a big step to find new forms of applying concepts and get new solutions. The table 2 shows some research in doctoral thesis that approaches the topic. Among the studies reported can be seen that the problems are similar, the methods are different and the results refer to the same path: industrial manufacturing. Thus, the academy has solutions by attend the need of industry to diversity of market demand.

Project Groups

The multi-agent paradigm systems used in industrial manufacturing has been the subject of research projects, sometimes there is in the group companies tendency to apply these concepts. This interest demonstrates this topic importance, and the fact of industry assumes that it finds solution to varieties of products required by the market. The table 3 cites some project groups who work among with companies and research institutes. These groups are predominating in Europe when the topic is more development in research and industries appliance.

Table 3. Groups of projects that approaches multi-agents systems in industrial manufacturing

Project

Referencies Approach Some Partners SOPRO [START_REF]SOPRO Project -Self-Organizing Production[END_REF] Self-organizing systems Fraunhofer IZM COSMOS [START_REF]COSMOS Project -Flexible Modular Automation[END_REF] Self-adapter of product variance UNINOVA, Phoenix Contact, OST, EDAG EUPASS [21] Self-integrated modules of flexible production UNINOVA IDEAS [START_REF]IDEAS Project -Instantly Deployable Evolvable Assembly Systems[END_REF] Self-adapter to changing of technologies components UNINOVA, Nottingham University, FESTO, KTH, MASMEC XPRESS [START_REF]XPRESS Project -Flexible production experts for reconfigurable assembly technology[END_REF] Design of production based on self-organizing.

University of OULU, Fraunhofer, Airbus, KUKA. PRIME [START_REF]Prime Project -Plug and Produce Intelligent Multi Agent Environment based on Standard Technology[END_REF] Plug-and-produce systems in self-organizing concepts UNINOVA, Siemens, Nottingham University, Introsys, Asyril, TQC, Simplan Here it's possible to observe the importance of the self-organizing for central researches and manufacturing industries.

Gaps among Approaches

The cited approaches, either in theses either for research groups indicate solutions to the need of quickly respond the change in the product industry, but they point the way to the deployment of a new technology. Considering the industry has controllers installed, mounted with their hardware and their defined logic locations, the proposed solutions do not take advantage of it, which is present on the factory floor. And this is a big gap in application terms, it is a fact that the industry does not want to eliminate the controllers they have and with known characteristics. But one needs to migrate to new concept, because of what not answers the new demands of the market. This is the paradox the academy is responding and has been a big gap to be studied and resolved.

Discussion of a Method to Migration

The solutions proposed by academy to attend the need of self-adaptation with multiagent systems require computer systems with high capacity, which makes the controllers that manage machines today in the industry, do not support this technology. But abandoning these controllers seems, in the industry eyes of the something unacceptable face every investment already made in installation.

The Figure 3 shows the first step proposed for migration. For the industry to join the new paradigm will require several intermediate steps. And the first step is to develop a method that can migrate the conventional management system for managing a multi-agent system.

The method can be abstract the functionality of a controller existing in an envelope, disposing in the multi-agent system to supply and request services, beyond the capability of interaction and negotiation. The method will have to define how to access controller existing, which can be learned by agents assigned in the cloud (cloud learning).

Inspection requirements and the database can also be modeled in the cloud, in order to provide specifications of the items that should be targeted in specific manufacturing agents (cloud maintenance) and storage of knowledge about the colligations system to attend a specific demand (cloud storage).

The method under discussion must then be connected in a multi-agent platform and interfaced with the hardware controller by one communication form, translate the features of each station in services and their needs must be translated into requests.

Conclusions and Future Work

Market demand is a reality that the industry must attend and that this work has examined solutions that academic and research groups had presented and took part in proposing an intermediate method between the management of current and future manufacturing. A conclusive research that refers to a method that helps to evaluate a management system for logic controller to migrate to a multi-agent platform is something wanted by the industry as the first step to adherence to new paradigm.

Once the first step is given, more multi-agent systems begin to work in and more results will be reviewed and for directing the path. As future work this paper suggests the implementation of methods that interfacing existing controllers on the factory floor with management modules of the agent in order to abstract functionality. These methods may be validated and defined its comparison of efficacy. Also suggests the search of agents that act in the cloud and can support maintenance inspection.

Fig. 1 :

 1 Fig. 1: Mult-agents using cloud concept, based on [4].

Fig. 2

 2 Fig. 2 Paradox between the current technologies installed in industry and solutions that academics offer, two would with different approaches.

Fig. 3 :

 3 Fig. 3: Proposed migration from the existing system of automation to self-adaptive systems

Table 1 .

 1 Comparison among the systems of manufacturing management.

	Management	Paradigm used	Main Feature	Cloud
	system			Solutions
	Centralized	Logic control	All control of process	-
	FMS	Logic control	Idle resources	-
	CIM	Computer control	Require availability resources	Possible
	EAS	SOA or MAS	Adaptation to manufacturing required	High
	4

Approaches to New Paradigms for Manufacturing

Table 2 .

 2 Comparative approaches in academic research.

	Ref.	Problematic		Method		Application
	[11] Need for agility on the	Multi-agent systems for	Integrated
	factory floor to handle	interface between generic and	manufacturing plant
	disturbances and uncertainty	physical environment		with 2 robots
	[12] Properties of self-x to	Product fits into modules,	Plant with 3 robots, 5
	implement self-organizing	forming	coalitions,	conveyors, and 3
	systems		generating optimized layouts	parts feeders
	[13] Diagnostics in complex	Agents make the diagnosis of	Manufacturing plant
	industrial installations with a	component	failure	and	with 2 coveyors, 2
	large number of components	estimate its propagation		robots and pallets
	[14] Attending the diversity	Agents in layers, one for	Manufacturing cell
	production requirements to	deliberation and one for rapid	with axis of rotation
	market demands	reaction			and translation
	[15] Replace the component	Converting the functionality	Plant with 2 dosage
	automation interconnected	of a device existing in a	machine	and	1
	with distinctive technology	service offering		transport line
	[16] Necessity of use dynamic	Situation analysis, objectives	Implementation	of
	allocation of resources to	and adaptation of system	power drives using
	changing production	behavior			MatLab