Monday, June 27, 2011

PLM Evoluation and Challenges

PLM initially know as PDM, Product Data management is evolved from CAD applications. Manufacturing companies started using CAD for shortening the lifecycle of Product development. Once the CAD tools are used in the manufacturing process, the challenge is how to communicate different divisions and how to maintain the data produced by CAD tools. This brought the concept of Product data Management, Which is nothing but having central database for all the CAD Data and using the workflow process to access it, review it and modify it.

Initial PDM applications are mainly focused on content data, i.e, and the data that is relevant to CAD. Later needed the little bit of metadata requirements, like Part Name, Part Number, and Reviewer etc. In Windchill world these defined as static fields in the data model. Later on, concept called Instance based attributes (IBAs) to extend the metadata requirement. Fields you can define on the instance/ type. These types can be configured in the system. This is main concept for FlexPLM data model, as the Retail,Footwear/Apparel PLM process has more metadata. Concept wise it’s same; however the implementation of data model is different. Taking the Windchill main traits like iterated, versioned, folder etc and extending it to next level on top of it, defining all the relations like Product, Product-Season, Product-Season-Source, Product-Season-Source-Specification, Product-Season-Source-Specification-BOM, made a big performance impact. Because of this complex relations FlexPLM product is becoming just transactional application rather than full fledged system where you can run margin reports, where used reports or forecast reports, and to extract/import the data. The solution to this problem will be either PTC needs to simplify their data model or tightly integrated report tools.

Tuesday, June 21, 2011

@ JVM memory management


 I would like discuss about the topic of JVM memory management for Windchill or FlexPLM application.
Tomcat /JVM memory allocation plays a very significant role in determining Windchill/FlexPLM Performance.
JVM  memory is divided broadly into Heap & non-Heap memory usage.What is Heap Memory?: Java VM allocates runtime data of all class instance and arrays to heap memory.
Heap memory is further divided in to three subtypes
1.    Eden Space/young Generation
2.    Survivor Space
3.    Old /Tenured Generation
Eden space/young generation:  is a pool where the memory is allocated when any object is initialized.
Survivor Space: is a pool where the memory is allocated for certain short lived objects (survived after Eden space garbage collection)
Old /Tenured Generation: This pool contains the long lived object (survived for sometime in Survivor Space).
Later in this article would talk about allocating Heap memory and percentage allocation for each of this Pool. Let me first clarify Non- heap memory.
Non-heap memory: This pool holds all the data related to threads, constructors, methods & related class structures.
Non-heap memory is further divided in to two subtypes
1.    Permanent Generation(Perm Gen.):
2.    Code cache
Permanent Generation (Perm Gen.): The pool holds the reflective data of the virtual machine (class & methods)
Code cache: Memory is utilized for compilation data, code data & package information.
Heap memory allocation for JVM’s :
1.We need to monitor the Heap memory usage and the heap memory requirement for the application,
It is always good to keep the initial heap memory & max heap memory size at same value.
2. In applications like Windchill, its better to allocate 40% of heap memory to Eden space/Young generation – initial size and keep the Survivor ratio as 8,
so that most of objects are collected and cleared in Eden Space and Survivor Space before getting collected in tenured Space (else it might happen Tenured /old gen. space fills up quickly)
Please specify the following options for all the JVM’s(Tomcat & Windchill method Server) so that Garbage Collection efficient and effective.
1.    Disable Explicit GC.
2.    Use parallel GC
Now coming to Non-heap memory allocation,
 We can define Max Perm Size at around 20% of max heap memory and
 Initial Perm size is 10% of max heap memory.

In my future blogs, I would like to take you through different tools/methodologies used for Performance monitoring and capturing the data, analysis the logs to identify the root causes.

Monday, June 6, 2011

PLM for Engineering Procurement Construction (EPC)

In the EPC, the contractor designs the installation, procure the necessary materials and construct it. The contractor carries the project risk for schedule as well as budget depending on the agreed scope of work. Some EPC companies doing business from proposal, design, construction, start-up, operation and decommissioning of industrial plants, in few words the whole Plant Lifecycle.

The ultimate “owners” of the projects in many cases have a different set of priorities. The problem is that every owner has different needs and wants to make changes to a “standard” plant concept.

Challenges of turnkey projects in EPC business

· Proposal

· Completion of Design

· Procurement of Equipment

· Logistics

· Managing the designer’s and contractor’s risk

· Dealing with regulators, Authorities, Third-Parties

On many complex projects, particularly in the areas of mining, manufacturing, power, nuclear and process, the cost and delivery challenges in the procurement of specialized equipment present the greatest risk to the project

While selecting the PLM application for EPC business, implementer and owner considers Engineer-Procure-Construct phases and respective stakeholders of the plant.

EPC business works on two aspects Products, which develops the equipments and Projects, which manage erection, maintenance of the plant. Projects handle more risks and ready to develop new equipments based on the plant requirement.

Leading PLM applications and their integration with CAD, ERP and environment compliance have the features to manage EPC business, still some gaps in PLM application I experienced for EPC are

1. Some CAD tools yet to integrate with PLM.

2. Design automation and PLM integration

3. Project management is not efficient or user friendly for

a. Import/Export feature

b. Alerts and follow-ups

c. Resource Management

d. Budget and costing

4. CAE tool and PLM integration

5. BOM Export / Import is not efficient

6. ERP and PLM integration is costly in terms of software license and skill set

7. Difficulties in Legacy system integration

Each of the above is very important for respective stakeholders. Development of PLM started with document management for engineering and moved towards change, collaboration and configuration management. I feel the gaps can be bridged when PLM product definition group, EPC experts and PLM product technician shake their hands.