An Overview of the Approaches for A PLM Application's Customization

5 downloads 0 Views 68KB Size Report
addressing companies' unique product lifecycle management requirements, PLM applications may call for codeless or code full customization. Customization ...
XV International Scientific Conference on Industrial Systems (IS'11)

Novi Sad, Serbia, September 14. – 16. 2011. University of Novi Sad, Faculty of Technical Sciences, Department for Industrial Engineering and Management Available online at http://www.iim.ftn.uns.ac.rs/conferences/is11/

An Overview of the Approaches for A PLM Application's Customization Sonja Ristic Associate Professor, Faculty of Technical Sciences, University of Novi Sad, Trg Dositeja Obradovica 6, Novi Sad, Serbia, [email protected]

Marija Rakic-Skokovic Lecturer, Faculty of Technical Sciences, University of Novi Sad, Trg Dositeja Obradovica 6, Novi Sad, Serbia, [email protected]

Al-Dahoud Ali Associate Professor, Al-Zaytoonah University of Jordan P.O.Box 130 Amman 11733 Jordan, [email protected]

Abstract Each company has a different background and different requirements which must be taken into consideration in the design of PLM (Product Lifecycle Management) software (application). The PLM applications provide generic features mainly from product data management perspective. While addressing companies' unique product lifecycle management requirements, PLM applications may call for codeless or code full customization. Customization involves adapting of the application kernel to the context, by adding new (possibly unforeseen) features to meet individual customers' specific requirements. PLM vendors provide different customization mechanisms to extend functionality in order to fulfil the business objectives of the company. Since considerable time and specialized human resources are needed to customize a generic PLM system, PLM vendors are coming up with new classes of solutions, such as Business Modelling Applications (BMA) or an integration of BMA with UML (Unified Modelling Language) tools. The purpose of this paper is to review different approaches for a customization of PLM applications. Key words: PLM customization, PLM software, Software customization, Software upgrade

1. INTRODUCTION PLM (Product Lifecycle Management) is a holistic approach that helps a company get control of its products and services, and enables it to take responsibility for them across lifecycle [16]. Over the last two decades PLM has become the central, integrated, management approach in engineering in the manufacturing industry. PLM system (PLMS) encompasses a consistent set of methods and models, data and processes, information technology (IT) tools (PLM software), a data vault as file server or data repository, a set of user functions, a set of utility functions, a data management system for meta-data, appropriate information-communication technology (ICT) infrastructure, human resources responsible for developing, deploying, implementing, maintaining and using PLMS. PLMSs have been introduced to increase efficiency and productivity, to manage product data and to reduce costs for product development. Although the PLM approach and the PLMSs are much more than just the pieces of software, PLM software, alongside with ICT infrastructure is important enabler for PLM [1].

A successful implementation of PLM system is crucial for reducing time to market, increasing product quality and reducing total cost. The extent of the company's operations or the available financial or human resources might not allow for immediate investment in a full PLM system. A company that decides to invest in a PLM system faces a laborious period in which it must attempt to discover which implementation model and system suit it best [13]. The selection of PLM software (PLM application) is one of the main decisions that would be made in the process of implementing PLM system. There are a lot of PLM software vendors. Their PLM applications provide generic features, mainly from product data management (PDM) perspective. The pioneers in implementing PLM are large global corporations from the aerospace and automotive industry. But, the small and medium enterprises (SMEs), especially in industrial sectors outside the automotive or aerospace industry do not exploit the high potential PLM benefits [1]. In large companies the product development process is formalized at a high level and project managers have to respect the general

IS'11

218

Ristic et al.

identified phases and milestones [4]. Therefore, coordination of the information flows can be managed through generic PLM software features. On the other hand, the flexibility is the main characteristic of design process in SMEs. When implementing a PLM system in a SME we face two antagonistic problems: first to improve the level of formalization of information flows and second to keep a certain level of flexibility [18]. The PLM system and PLM software would be implemented in compliance with each company's own work processes and product data. Most PLM applications can be tailored (customized) to conform to company's standards and to improve the efficiency of operations for individual users. In addition to normal user interface customization, the operational features of PLM systems can be tailored in many ways, including: user interface layout; modification of system messages and terminology; integration of third-party applications; and addition of new functionality [11]. PLM software vendors provide different mechanisms for customizing generic PLM software for company-specific requirements. In implementation of PLM software there are two different roads: to use the inbuilt features of the PLM software; or to customize the PLM software to match users' requirements. The PLM software customization is timeconsuming and requires highly specialized human resources. It is expensive, not only due to the direct costs. Indirect costs often appear when upgrading to a new version of base PLM software. The changes that would be made in order to preserve the customizations in the new version of the base program might be laborious and very expensive. Since the need for customization is the reality, PLM vendors are coming up with new classes of customization solutions trying to make the customization process easier, less timeconsuming and less expensive.

disables features that are already present in the kernel or added by the customization. In the paper we are dealing with a PLM software customization. A static approach to customization imports new features into the software when it is compiled and linked. In a dynamic approach additional functionality is provided via software components dynamically loaded into running application. In the latter approach, wellspecified interfaces between the kernel and the software, that implements additional functionality, are required. Sometimes, for the complex software products (PLM software for sure is very complex), it is difficult or even impossible to foresee what kinds of customization will be needed. Consequently, it is hard to design interfaces that are both general enough and specific enough. In this case it may be required to edit the kernel software itself [14]. In the late 80s Wasserman described the five dimensions (aspects) of software tool integration: Control, Data, Platform, Presentation, and Process [17]. PLM software integrates different software tools. With this in mind, Wasserman's integration dimensions inspired us to define analogues dimensions of the PLM software customization. We have adapted the definitions of these dimensions presented in [2] to the context of PLM software customization: - Control/Behaviour customization is tailoring of the application behaviour in fairly broad concept, including the command issuing and notifications between different applications. - Data customization enables an application to adapt the data exchange mechanism to exchange information in a meaningful way, within the system of interest. For PLM software the customization of both the format and the content of the data and meta-data are very important.

In the paper, different PLM system customization mechanisms will be presented. In the second chapter we deal with the notions of software product customization, configuration and upgrade. The classification of PLM application customization mechanisms is introduced in the third chapter. The review of different approaches for a customization of PLM applications is presented in the fourth chapter.

- Platform customization adapts the way how the applications share a common environment (in the very broad sense – both software and hardware environment). - Presentation customization enables changes in the visual presentation and setting up user interaction so that the application input/output is perceived correctly.

2. CUSTOMIZABLE SOFTWARE The particular PLM software can be seen as a software product, in the sense that in can be implemented and used in different contexts (different companies, e.g.). Generally speaking, software products are contrasted with software that has been developed in a project for a particular purpose. A software product instance is a deployment of a software product in a particular context or organization. It is consisting of a software kernel, customizations and possibly further configurations [14].

- Process customization deals with the supervising of tools' interaction mechanisms. A successful software product is expected to be used for many years. Hence, the kernel must evolve to accommodate changing demands and environments. Like other systems in the real world, the software system must be adapted in response to application and domain changes, operational extension and need or desire for new capability. Lehman in [8] emphasises the importance of software evolvability:

Customization is an adaption of the kernel to the context, by adding new (possibly unforeseen) features to software. Configuration is, by most authors, distinguished from the customization. It enables or

IS'11

„Software evolvability, the ability for responsiveness and timely implementation of needed changes, will play an ever increasing more critical role in ensuring the survival of a society ever more dependent on

219

Ristic et al.

computers. This requires means to ensure timely adaptation of the ever more integrated computer systems to maintain compatibility between the subsystems and the forever changing circumstances with, within and under which they operate.“ Aforementioned statement states, even more, for the PLM software which would support the product lifecycle management throughout very long period of time. PLM application may be seen as E-type program [8], meaning that is embedded in the real world and become part of it, thereby changing it. This leads to a feedback system where the program itself (PLM software e.g.) and its environment evolve together. Companies produce different products and/or services, have different organization and processes. Therefore, instances of PLM software product on different sites have different customization parts. The PLM software supplier continues to improve the product, adding new features and new technology in response to developments in the user requirements and the opportunities for new features provided by advances in technology. Over time PLM software kernel evolves. The problem occurs when the company decide to upgrade to a new version of kernel. The customizations of the deployed software (the old PLM software instance) must be carried over to the new PLM software instance. In general, it may involve a „rewriting“ of the customizations which require comprehensive knowledge of the customizations themselves, applied customization mechanisms, as well as the old and the new kernel, alongside with the former's and latter’s interface specifications. Extensive customization of existing software can make upgrading to a new version a very laborious task. This risk is particularly evident in large-scale customization, for instance when modifying data models [13].

3.

PLM CUSTOMIZATION COMPONENTS

ISSUES

and laborious. The customizer would be an individual conversant with: the programming skills, Application Programming Interfaces (API) structure of the PLM application, general PLM concepts, PLM software product specific knowledge and build and deployment process. But, on the other hand, this kind of customization offers the greatest amount of flexibility. The second category includes the customization methods that do not involve changing the source code directly (codeless customization). The codeless customization is conducted without manual coding of programs, or even without knowing the syntax of a particular domain-specific or general-purpose programming language. Some of the most often used mechanisms for codeless customization are: macros, visual builders, scripts and code generators. These customization mechanisms can be applied by less skilled users, but have limited scope. During the PLM customization, especially that changing the source code, following issues are commonly faced [3]: - It is very difficult to induct a customizer into this role without intensive training, unless he/she has relevant experience in the past. - The absence of common framework for customization or codebase library results in significant redundancy in codebase. The code written by one person within a project could not be recognized as solution and reused for similar customization needs in another project. - Ad-hoc customization results in multiple rewriting of the same code and lack of the program quality. Alongside with the use of inappropriate APIs it impacts the execution time and the performance of the application as a whole.

AND

- Complex code, very often combining business logic and presentation logic, leads to greater maintenance efforts.

It is hard to imagine PLMS implementation without software customization, unless the PLM application is developed exclusively for specific company. The level of customization varies in different PLM software instances. Generally it is recommended not to exceed 20-25% of the customized PLM features. The customization is ongoing activity. During the initial phases of PLMS's implementation there would be more customizations required. Even in the postimplementation phases the customization continues. More the end users work with the PLM applications the greater is their comprehension of PLM system and its possible benefits. New requirements arise up, which lead towards new customizations.

- With new release of a product the PLM vendors replaces some of APIs with new ones. The old APIs need to be replaced wherever are used in existing customizations. This requires considerable efforts in program coding, followed by rigorous testing. - In ideal software architecture, software kernel component is accessed through well-specified interfaces. The software kernel may evolve: i) due to its implementation changes, while the interface specification remains the same; and ii) due to a changing of interface specification. The later case is much more challenging and results in serious upgrade problems.

The methods that can be used to implement a customization varied and may be placed in two categories.

- Code review and testing are not unbiased since customization tasks are very often developed and tested by the same person.

The first category includes methods that operate directly on the source code (code full customization). On the one hand this kind of customization is difficult

Most of PLM applications have at least two-tier architecture, while some matured PLM applications also support four-tier architecture. This means that all of

IS'11

220

Ristic et al.

them have at least one server and many clients communicating with the server with different task requests. The customization code resides either on the client or on the server side. Client side mainly includes presentation customization, while other customization dimensions are mostly implemented on the server side. The most common PLM customization components are [3]: - Implementing predefined pre/post methods (server side); - Defining custom objects, new attributes and new methods (server side); - Implementing event based triggers, generally used in workflows (server side); - Processing objects in batch mode using standalone programs (client/server side); - Modifying the look and feel of the PLM application interface, adding new menus, options, dialogs, etc. (client side); and - Interfacing or integrating external applications (client/server side). In the next chapter an overview of different PLM customization approaches, is presented.

4. PLM CUSTOMIZATION APPROACHES There have been many attempts to address all or some of the customization problems mentioned in previous chapters. In order to enable reuse of the code the Utility Library with commonly used customization functions may be developed. Customization engineers may call functions from this library, thus reusing the code avoiding duplication and reducing the testing efforts. System integrators attempt to develop Code Generating applications that can take user inputs and generate the code in the background. This is more useful to define custom objects, new attributes on the existing objects, and to define new methods. It essentially provides a skeleton for the customization code. PLM vendors further developed aforementioned solution coming up with Business Modeller application, where the PLM configuration engineer can define business rules on different objects. These definitions are stored in XML format, and can be very easily packaged and deployed on either Test server or Production server environment. A more advanced approach is to integrate such business modelling applications with Unified Modelling Language (UML) tools. UML is considered as a structured notation system understandable without to many explanations. It could be used as a common language providing a shared point of view between users and engineers implementing PLM/PDM. Eynard et al. in [5] illustrates the usage of UML approach and emphases that UML

can be useful: in the clarification of the process and the data to be used in the system; in the identification of interactions between users and the system; and as efficient solution to communicate between team members who had heterogeneous views and understanding of PLM systems. In [6], UML-based method for PDM implementation has been proposed and validated within the business case study of design chain. Various abstraction levels with the same kind of diagrams have been described: the needs of business case study, the global architecture, and the links between objects with class diagrams. The user interactions with the system have been clarified with use case diagrams and generic processes with activity diagrams. Eynard at al. suggested that UML can be considered as a relevant and efficient notation enabling the modelling, specification, and implementation of PDM system especially concerning the product structure and workflow. Both [5] and [6] are dealing with featured approaches for designing PDM schemas and specifications, thus the data dimension of customization is treated. Song et al. in [15] proposed a PDM authoring framework that relies on a UML-based object model. Further, to enhance this authoring framework, they develop a PDM customization tool called modeloriented application development (MOAD). The MOAD authoring tool obviates the need for directly coding jobs, and thereby allows PDM engineers to concentrate on system modelling. In addition, because the MOAD authoring tool can be managed within a single system during the customization of a PDM system, the PDM deployment process is standardized and improves the efficiency of application development. In the on-site implementation of a PDM system, a consultant from the PDM firm creates or modifies the data schema by using their method and the MOAD authoring tool, while an engineer in the field can continue the remaining work after the modification of data. They proposed a user interface (UI) builder for the convenience of UI manipulation in the client application of the PDM system. Through the UI builder, one can automatically create a suitable UI in real-time once the object engine provides the requisite information on the window layout of the PDM system. This capability enables users, who lack programming skills, to participate in the development of the PDM system; it can also reduce the time and cost that is involved in customizing the PDM system. The proposed PDM authoring framework is the example of data, presentation and control customization. Huang et al. [7] used JAVA and J2EE technology to develop a Web-based system of PDM. The proposed Web-based Product Data Management (WPDM) application was developed using Java and J2EE to take advantage of, at that time, emerging web technology. WPDM is based on a J2EE three-tier web application model to provide security and flexibility and allows designers/users to create, view and manipulate product data through World Wide Web.

IS'11

221

Ristic et al.

Pol et al. in [12] made the proposal of a framework for design coordination implemented through a PLM system. An adapted method for implementing PLM systems is proposed in order to take into account both more detailed process definition and flexibility by using the analysis of collaborative practices. The framework is based on the use of workflow technologies in order to elaborate the structure and the schedule of the project phases and tasks through different and synchronized levels of granularity. Accordingly, this approach may be characterized as a process customization. Luh et al. in [9] presented a novel method, PADDE, for deploying PLM technologies to support collaborative product development in a global enterprise with many distributed sites. The method systematically analyzes a company's requirements via the organization, application, and data aspects. An optimal deployment configuration based on the analysis. The distributed PLM architecture can then be built up accordingly to support the company's collaborative development activities. The presented results are good example of PLM platform customization.

5. CONCLUSION PLM as a management paradigm is a strategic approach to creating and managing a company's product-related intellectual capital, from the product's initial conception to the product's retirement. PLM system integrates the functions of the whole company through connecting, integrating and controlling the company’s business processes and produced products by means of product data. PLM software, alongside with its ICT infrastructure is an important enabler for PLM. Accordingly, selection and deployment of PLM software are among the most important phases of PLMS's implementation. The PLM system and PLM software would be implemented in compliance with each company's own work processes and product data. But the companies are different as well as their PLM software instances. Available PLM applications provide generic features. PLM software vendors provide various mechanisms for customizing generic PLM software for company-specific requirements. In the paper we classify possible customizations according to five dimensions: Control/Behaviour, Data, Presentation, Platform and Process. We addressed the main issues that one would face during the PLM customization. An overview of different PLM customization approaches is presented. The examples are selected to cover all of suggested customization dimensions. PLM customizations play a very significant role. A customized system can more quickly provide such features required by the company that do not exist in the basic system as a generic feature. Well-conducted presentation customization, for example, may affect users' satisfaction, due to the improvement of the efficiency of operations. It further may induct better adoption of PLM philosophy, among the company staff.

On the other hand, customization is expensive. Sometimes, too little attention is given to deciding who will be responsible for the upkeep of a customized system, which is very important, laborious task. The customizer would be an individual conversant with: the programming skills, Application Programming Interfaces (API) structure of the PLM application, general PLM concepts, PLM software product specific knowledge and build and deployment process. It is very difficult to induct a customizer into this role without intensive training. Even customization on a smaller scale can cause great problem when it comes time to upgrade PLM kernel software. It is worth considering that if no customization is performed, it will be necessary to adjust operations to match the generic alternatives offered by the PLM software. It may be more expensive and causes more problems than well-scaled customization. Careful planning will allow companies to experience the full benefit of PLM by tailoring it to meet their companyspecific needs. Keeping track of what has been developed and how it was built are the first steps in building out an environment to support the custom aspects of PLM.

Acknowledgment Research presented in this paper was supported by Ministry of Science and Technological Development of Republic of Serbia, Grant TR-35050, Title: "Development of software to manage repair and installation of brake systems for rail vehicles", for the period 2011th-2014th year.

6. REFERENCES [1]

[2]

[3]

[4]

[5]

[6]

[7]

[8] [9]

IS'11

Abramovici, M., S. Schulte. (2006), PLM–State of the Art and Trends. Inovacoes Tecnologicas no Desenolvimento do Produto, 11: 2–13. Asplund F., M. Biehl, J. El-Khoury, M. Törngren. (2011), Tool Integration Beyond Wasserman, In First Workshop on Integration of Information Systems Engineering Tools (INISET 2011). Basarkod S., (2009), PLM Neutral Customization Framework, available at: http://www.geometricglobal.com/News+Room/white+papers/inde x.aspx, (accessed: 15 July 2011). Baumberger, C., U. Pulm, U. Lindemann, (2003), Coordination and controlling of distributed product development processes, Proceedings of the 13th International Conference on Engineering Design - ICED 2003, Stockholm, Sweden. Eynard, B., T. Gallet, P. Nowak, L. Roucoules. (2004), UML based specification of PDM product structure and workflow, Computers in Industry, 55, pp. 301–316. Eynard, B., T. Gallet, L. Roucoules, G. Ducellier. (2006), PDM system implementation based on UML, Mathematics and Computers in Simulation, Vol. 70, pp. 330–342. Huang M. Y., Y. Y. Lin and H. Xu, (2004), A framework for Webbased product data management using J2EE, International Journal of Advanced Manufacturing Technology, 24, 847-852. Lehman, M., J. Ramil. (2003), Software evolution—Background, theory, practice. Information Processing Letters 88, pp. 33–44. Luh Y. P., C. C. Pan, C. H. Chu, (2009), Deployment Methodology Of Distributed PLM Platform Architecture, Proceedings of DET2009 6th International Conference on Digital Enterprise Technology, Hong Kong 14-16 December 2009.

222

Ristic et al.

[10] Mens, T., J. Buckley, M. Zenger, A. Rashid. (2003), Towards a taxonomy of software evolution. In InternationalWorkshop on Unanticipated Software Evolution, Warsaw, Poland (April 2003). [11] Philpotts, M. (1996), An introduction to the concepts, benefits and terminology of product data management. Industrial Management & Data Systems 96 (4): 11–17. [12] G. Pol, C. Merlo, J. Legardeur, G. Jared. (2007), Supporting collaboration in product design through PLM system customization, In Product Lifecycle Management: Assessing the industrial relevance, M.Garetti, S.Terzi, P.Ball, S.Han (ed), PLM’07, Milano, Italy, pp. 21–30. [13] Saaksvouri, A., A. Immonen. (2008), Product Lifecycle Management. Berlin-Heildelberg: Springer-Verlag. [14] Sestoft, P., Vaucouleur, S. (2008), Technologies for evolvable software products: The conflict between customizations and evolution. In Advances in Software Technology E. Börger and A. Cisternino, Eds., vol. 5316 of LNCS, Springer. [15] Song, I-H., J. Yang, B. Park, (2008), Development of an authoring framework for the simplified customization of PDM systems, Journal of Mechanical Science and Technology, 22 pp. 2180–2189. [16] Stark, J. (2005) Product Lifecycle Management – 21st Century Paradigm for Product Realisation. London: Springer-Verlag. [17] Wasserman, A.L. (1990), Tool Integration in Software Engineering Environments. In: Long F. Software Engineering Environments: International Workshop on Environments, Chinon, France, September 1989, Proceedings. pp. 137–149, SpringerVerlag, Chinon, France. [18] Weber, C., Werner, H., Deubel, T. (2002), A Different View on PDM and its Future Potentials, 7th International Design Conference DESIGN 2002, Dubrovnik, pp.101–112.

IS'11