Towards a Proactive Interoperability Solution in Systems of Information Systems: A PLM Perspective

. PLM is an approach which aims to manage a product throughout its life cycle. Today, there are powerful and well-adapted tools for each phase of the product lifecycle, such as CAD (Computer Aided Design), SDM (Simulation Data Management), Enterprise Resource Planning (ERP) etc. However, their complete integration and more particularly the linkage from one phase to another are not yet fully operational and effective. To reach the PLM goal, it is necessary to guarantee the interoperability between the information systems (IS) supported by the business applications throughout the product lifecycle. Also, in the extended enterprise, from one project to another, the applications used for the product development process can change as business partners may change as well. An interoperability solution should be designed taking into account the potentially changing contexts of enterprise cooperation. A possible solution consists in designing the interoperability solution of the PLM systems by adopting the principles of the system of systems (SoS) concept. This work proposes a system of systems of PLM based on multi-agent systems to treat the interoperability, as well as knowledge capitalization issues.


Introduction
PLM is "a product centriclifecycle-oriented business model, supported by ICT, in which product data are shared among actors, processes and organisations in the different phases of the product lifecycle for achieving desired performances and sustainability for the product and related services" [1]. Nowadays, there are many effective tools for each phase of products lifecycle such as CAD (Computing Aided Design), SDM (Simulation Data Management), ERP (Enterprise Resource Planning), etc. The PLM approach requires the ability to jointly use all of these systems. However these tools had been conceived independently. To reach the PLM goal, it is necessary to guarantee the interoperability between the information systems (IS) supported by the business applications throughout the product lifecycle. So, in the current industrial context, several companies collaborate during a project to develop a new product. This is known as the "extended enterprise". From one project to another, all applications used for the product development process can change as business partners may change as well. An interoperability solution should be designed taking into account the potentially changing contexts of enterprise cooperation, which leads us to study the concept of a "system of systems" (SoS). A SoS is a set of heterogeneous and existing subsystems assembled together to achieve a global, mission that a system alone cannot fulfil, a SoS has five key features [2]: (i) Operational independence of elements (ii) managerial independence of elements (iii) evolutionary development (iv) emergent behavior (v) geographical distribution. In the PLM context, all the business applications involved in product management have the characteristics of being heterogeneous, autonomous, each having its own functions and objectives; all of their functionalities contribute in achieving the goal of the PLM strategy. PLM can be seen therefore as a SoS, or at least promoting the interoperability solution between different PLM applications can be thought by adopting the concept of SoS. According to [3], the architecture of a SoS must be designed according to the following principles: (i) the complexity of the SoS framework does not grow as constituent systems are added, removed, or replaced (ii) the constituent systems do not need to be reengineered as other constituent systems are added, removed, or replaced. Furthermore, PLM systems generate a large amount of information that may contain explicit knowledge. This knowledge constitutes the enterprises' immaterial heritage that it is necessary to capitalize, share and maintain.
In this work we are interested in the problem of interoperability of IS PLM systems and the capitalization of PLM knowledge by adopting the SoS concept. To do this, we use the collaborative MEMORAe platform for knowledge management (KM), ontologies to be used both for KM and semantic interoperability between the different PLM systems, the multi-agent system (MAS) to design a SoS PLM that respect the key features of a SoS. It should be noted that this work is under development. In section 2, we discuss the problem of interoperability. Section 3 presents our solution for interoperability and knowledge capitalization. In Section 4, we present a first prototype of technical interoperability between ARAS and MEMORAe platform.

Interoperability
Wegner [4] defines interoperability as "the ability of two or more software components to co-operate with differences in language, interface, and execution platform". EIF [5] defines three levels of interoperability: the technical level, the semantic level and the organizational level. The technical level should ensure the continuity of the digital flow between the different business applications. The semantic level treats the sustainability of the semantic flow. The organizational level addresses the processes, users and people participating in the system operation. Thus, three solutions to deal with semantic interoperability are possible [6]: integration, unification and federation. Integration approach means to define a standard data model shared between all systems. Unification approach is based on a high level common format used to establish the semantic mapping between the information of the different IS. To ensure interoperability by unification, two solutions are possible [7]: the first one consists in defining an ad hoc model specific to the needs. The second solution consists in using a standardized model such as STEP [8]. Regarding the federative approach, the mapping between the different information coming from the different systems is established in a dynamic and ad hoc way. Among the approaches that are used to treat interoperability and knowledge management in PLM field, we find web services (WS), ontologies and MAS. WS and ontologies deal with the technical and semantic interoperability. MAS is generally used to ensure the knowledge management or to exploit autonomously information scattered across the PLM systems.
Ontology. Ontologies are considered as a relevant solution to ensure interoperability and knowledge capitalization throughout the product lifecycle. Indeed, since ontology is a formal specification of a shared conceptualization, it allows data exchange between business applications while preserving the semantic of the information exchanged. In the PLM context, several ontologies have been proposed. For example, in [9] the authors proposed a product-centric ontology called ONTO-PDM based on STEP ISO 10303 and IEC 62264 standards to allow interoperability between CAD data, PDM, MES and ERP. In [10], the authors proposed CPM (Core Product Model) to represent the product in design phase. In [11] an ontology-based methodology for exchanging information between PLM systems based on semantic web and the I-Semantic platform called SPIKE was proposed. In [12], PARO (Product Activity Resource Organization) ontology based on PLM requirements to ensure the linkage at meta-level between the concepts of the different companies for product development was proposed. PARO was enriched with recent works on mechanical ontologies. The early and detailed design phases are support by classical data model, as STEP AP239 PLCS or CPM integrating an interface model especially designs for multidisciplinary integration [13]. The simulation step is based on [14] where an ontology based on STEP AP209ed2 is proposed. In [15], an ontology called OntoSTEP-NC which represents information of the manufacturing phase was proposed.
Web services. Provide a robust framework for interoperability between heterogeneous applications, allowing them to create flexible and reactive links without imposing any restrictions on their technical features. In the PLM domain, several solutions based on WS have been proposed. For example, "PDMs Enablers" based on middleware technologies and "PLM Services" are web technologies developed to facilitate communication between PLM systems [16]. PDMs Enablers make PDM services accessible to applications in a Common Object Request Broker Architecture [17]. In [18] a technical framework exploiting predefined WS to ensure interoperability between the knowledge management platform developed within the ADN (Digital Data Alliance) project and PLM systems was proposed. This framework was implemented through a connector tested between Windchill and the ADN system. So, in the industrial world, commercial PLM companies have also adopted WS technologies as a solution for interoperability. For example, ARAS Innovator offers a full panel of open WS. An external application can interface directly with ARAS via XML / SOAP. Windchill offers several WS such as REST to ensure integration with other systems.
Multi Agents system. Is one of the most appropriate technologies to develop complex distributed systems. Indeed, agent paradigm offers the ability to model distributed activities and information exchange between heterogeneous applications. In the PLM field, several works based on MAS have been proposed. For example, [19] proposed a product-centric modeling framework for PLM systems based on agent approach, including a business process model and a product information model. The main idea is to consider the product as a proactive entity capable of identifying the opportunities to be exploited and helping business actors in their decision-making process. The product is then represented by the "Product Agent" which acts as an automated expert connected to all applications supporting PLM activities, able to identify events occurring in its environment and act accordingly. Concerning semantic interoperability, the authors proposed an extension of the CPM ontology [10] as a standard data model common to all systems. In [20] a collaborative system architecture based on MAS, virtual reality and RIOCK (Role, Interaction, Organization, Competence, and Knowledge) formalism to help designing industrial processes as well as the analysis and the simulation of these processes was proposed. Knowledge management is ensured by an agent-based system called KATRAS that interacts with business stakeholders in order to identify, validate and evaluate the knowledge to capitalize.

Synthesis
We have presented briefly three approaches to treat interoperability and KM in PLM field. Thanks to web services the different systems used to manage product along its lifecycle moves from isolated automation system towards a set of systems that can communicates and exchange information and services. It allow thus to guarantees the continuity of the digital flow. Regarding semantic interoperability, the integration approach is not appropriate for addressing the interoperability in the context of SoS of existing systems. Indeed, integration approach requires the use of a common format for all information models. So, there are no problems of interoperability within a single PLM system. But the problems appear when we aim for add or change a system in the SoS. In the unification approach each system maintains its own data model. However, this standards-based approach also has limitations as the lack of sharing a common semantics that limits mutual understanding of the information contained in the models. The federative approach, advocates establishing automatic connection between models based on logic. The ontologies are seen as the adequate tools to realize this dynamic exchange, because ontological models are based on logic and can reason. Federative approach seems to be the appropriate approach to ensure semantic interoperability in the context of SoS. As we have indicated previously this work is in progress, we aim later to explore the federation approach by using the PARO ontology to ensure the semantic interoperability in the SoS PLM. MAS in PLM field allow introducing reactivity and pro-activity, exploiting autonomously information that are distributed across PLM systems, integrate the business actor in the process of knowledge validation. MAS, a computing paradigm for developing intelligent systems, can be a credible approach to design SoS of PLM systems. Indeed, SoS features specified in the introduction are consistent with the notions of autonomous agents and of MAS. Loose coupling, unified interfaces and protocols in agent systems' architecture allows build a SoS PLM systems that respect the principles of SoS presented in the introduction.

Proposed PLM SoS approach
This paper aims to provide a SoS of PLM systems to handle interoperability and knowledge capitalization of existing information systems having the following features: (i) not intrusive interoperability, that is the participating systems are not modified in their usual features (ii) the addition of a system should not cause important developments (iii) enable user to seamlessly access heterogeneous and distributed resources of PLM. Figure 1 shows the architecture of our proposal. We defined four groups of agents: knowledge agents, interface agents, observer and mediator agents.

MAS for Interoperability
PLM data volume and the associated evolution require the control of their consistency throughout the product life cycle. For example, product bill of material (MBOM) generation is based on design nomenclature (EBOM). This is generated by PLM application while the MBOM is generated by ERP application. These two nomenclature are strongly linked and without communication between ERP and PLM, the company has to manage the mapping manually between these BOM. This may lead to errors and a loss of time for the business actors. It is necessary thus to be able to automatically generate the MBOM from the EBOM. Also, in concurrent engineering the different phases of the PLM may occur simultaneously. It is possible to generate the MBOM while its corresponding EBOM may be further modified. Therefore, it is not enough to be able to automatically generate the MBOM from the EBOM, but also to be able to reconcile these two BOM dynamically. Our goal is firstly to ensure interoperability at technical and semantic level between PLM business applications and secondly to propagate any data updates between different PLM applications transparently to the user. For that we have defined what we call "observer agent". Each system (PDM, ERP, SDM ...) is associated with an observer agent whose role is to scrutinize the IS of its application and to notify the other agents of the system at a modification, addition / deletion of data of It IS. Agents are organized in networks of acquaintances; each agent interacts by direct communication with the other agents of its environment. Thus, when an agent receives notification from another agent, it notifies in turn the user of its business application. The user will be thus informed of changes undergone by information concerned by its business application. However, user should be able to evaluate changes' impact on his own activities and data to make modification if necessary; he should access details of changes. For this, each observer agent also interacts with the mediator agent. This latter is responsible for translating information to a format usable by the application of the target agent, allowing user to access details about changes and to evaluate them. For example, the PDM agent observes a change in the EBOM, it will forward the modified EBOM to the mediator agent that will generate a MBOM conform to the target application data model. The PDM agent alerts the ERP agent of the change by sending it the new MBOM. The ERP agent in turn notifies the user with the new MBOM. The user will have the choice to validate the modification or not. If the change is enabled, the new MBOM will replace the previous MBOM; otherwise, the user can put a note of the reason for rejecting the change. The ERP agent will notify the PDM agent of the user's choice, which will in turn notify the user.

Mas for knowledge management
One of the enterprise challenges is to capitalize the knowledge generated by the PLM systems. In this work, we have chosen MEMORAe 1 to ensure knowledge capitalization of PLM systems.
MEMORAe. Is the combination of a model and a web platform to manage heterogeneous knowledge in an organization based on OWL languages and semantic web standards [21]. Regarding the purpose of this work, MEMORAe allow business actors to capitalize their relevant information based on a semantic map. Capitalization is done through the process of indexing the various resources coming from the PLM systems according to the map concepts. MEMORAe gives thus the actors the possibility to "classify" the resources according to different points of view expressed by the semantic map, which has the advantage of delimiting the context and giving a common understanding to the different concepts and consequently to the different resources indexed by these concepts. A resource can be a BOM, a CAD document, a note, etc. The set of resources is therefore made visible in MEMORAe through the semantic map. Each resource is accompanied by a description and a link allowing to directly accessing the resource in its original application. The first step in the knowledge capitalization process is to define the semantic map that will be shared by the experts in MEMORAe. The second step consists in making accessible the different PLM resources in MEMORAe so that they can be indexed. It is therefore a question of being able to query the IS of PLM systems. A user of MEMORAe may have to capitalize information about a product / project that are distributed in different SI. The necessary work consists in being able to: (i) formalize requests made by users (ii) decompose this requests into sub-queries (iii) formulate these requests in a format consistent with the target IS (iv) transcribe the answers into a format that can be used by MEMORAe. To do so, we define two groups of agents: interface and knowledge agents.
Interface Agent. Its role is to interact on the one hand with the user of the platform MEMORAe in order to acquire his requests and on the other hand with the knowledge agents to collect the resources requested by the user. A query from the user is then reformulated by the interface agent into a query language (e.g. XQuery, SQL). Once formalized, the interface agent decomposes the query into a set of basic queries that will then be sent to the knowledge agents. Upon receipt of the results sent by the knowledge agents, the interface agent translates them into a format that can be indexed by the user in MEMORAe (e.g. JSON).
Knowledge Agent. The knowledge agent interacts on the one hand with the interface agent and on the other hand with its business application. In fact, there are as many knowledge agents as there are business applications. Each agent requires the development of a specific interface that allows communication with the business application and this according to the communication protocol. The knowledge agent is responsible for transforming the request (s) received from the interface agent into the language used by its business application so that it can query its application. The interface and knowledge agent ensure technical interoperability between MEM-ORAe and the different IS PLM, the semantics of PLM resources accessible in MEMORAe is defined by the users through the process of indexing by the concepts of the map. MEMORAe creates an environment allowing the emergence and sharing of knowledge trough the services they offer such as annotation, forums etc.

Prototype
The technical level is the first step to guarantee the interoperability between PLM systems. We carried out a first implementation to test the feasibility of the connection between Aras 2 and MEMORAe by using Jade 3 multi-agent platform. The objective is to test requests on our Aras server in order to retrieve information about the resources and make them accessible in MEMORAe. We have developed two simple agents that extend jade.core.Agent class: InterfaceAgent and KowledgeAgent. The behavior of KowledgeAgent consists in querying the Aras server through AML queries. Queries are currently manually defined before being encoded. The user specifies trough the MEMORAe platform the resource to visualize, for example, Part, BOM, workflow, etc. (Fig2). These keywords are sent by the InterfaceAgent that is connected to MEMORAe to the KowledgeAgent to retrieve the requested resource. Upon receiving the data, the AgentInterface converts them into JSON format so that they can be made visible and thus indexed in MEMORA. Figure 2 shows an example of the description of the "Part" entity in Aras while figure 3 shows its description in MEMORAe.

Conclusion
We have described our architecture for the interoperability of information systems PLM and the capitalization of knowledge. To do so, we proposed to interoperate PLM application with MEMORAe platform; the knowledge distributed through the business applications used in PLM field can now be capitalized in MEMORAe platform while constructing a shared understanding of these knowledge. Also, we have postulated that an interoperability solution adapted in the context of extended enterprises should be thought in accordance with the principles of a SoS. Adding a new system should not require much development. For this, we have separated the agent responsible for the semantic translation of the information between the different applications from the agents in charge of maintaining the consistency of the information in the PLM systems. The addition of a new business application therefore requires instantiating an observer agent as well as developing the interface that binds the business application to its agent without worrying about the overall functioning of the SoS. Concerning the capitalization of knowledge, the addition of a new application requires only the instantiation of a knowledge agent as well as the development of the interface between the application and this agent.
Future work will include the development of the semantic interoperability based on federative approach. Also, in the actual prototype we tested the feasibility of the connection between Aras and MEMORAe using queries that are defined manually. In future work, these queries will be established and formalized automatically; in addition, we aim to interoperate MEMORAe also with OdooERP. It is necessary thus to treat the issue of query decomposition. A user of MEMORAe may be lead to capitalize knowledge distributed through several platform (ex. Aras, OdooERP), the interface agent have to decompose this queries before sending them to knowledge agents. Finally, a refinement and the assessment on the applications architecture are needed.