+ All Categories
Home > Documents > Design Collaboration with security - STAR · Design Collaboration with security. 1 | P a g e ......

Design Collaboration with security - STAR · Design Collaboration with security. 1 | P a g e ......

Date post: 06-Sep-2018
Category:
Upload: lelien
View: 215 times
Download: 0 times
Share this document with a friend
44
Project Final Report for ECE 658 Component Based Software Systems GROUP 11 Seongha Han (20520583) Design Collaboration with security
Transcript

Project Final Report for

ECE 658 Component Based Software Systems

GROUP 11

Seongha Han (20520583)

Design Collaboration with security

1 | P a g e

Contents 0. ABSTRACT .................................................................................................................................................. 4

I. INTRODUTION ............................................................................................................................................ 4

1) Product and Collaboration .................................................................................................................... 4

2) Definition of PLM Features ................................................................................................................... 5

II. DESCRIPTION ............................................................................................................................................. 6

1) Cad Content Security ........................................................................................................................ 6

2) Collaboration with Policy .................................................................................................................. 7

III. EXSITING APPROACH ................................................................................................................................ 7

1) Security Management for CAD data ..................................................................................................... 7

3) Policy Based Collaboration Management ......................................................................................... 8

IV. BENEFIT OF THESE METHODS .................................................................................................................. 8

V. DATA/PROCESS FLOW............................................................................................................................... 9

VI. LIMITATION OF PROOF OF CONCEPT .................................................................................................... 10

VII. TASK FLOW............................................................................................................................................ 11

VIII. DEFINE PLATFORM INDEPENDENT MODEL ......................................................................................... 12

IX. PLATFORM DEPENDENT MODEL ............................................................................................................ 13

X. CLASS DIAGRAM ...................................................................................................................................... 15

1) Template Element and Template Security Process. ........................................................................... 15

2) Collaborator and Collaboration Policy ................................................................................................ 16

3) Distribution ......................................................................................................................................... 17

XI. SEQUENCE DIAGRAM ............................................................................................................................. 18

1) Security Process .................................................................................................................................. 18

2) Distribute Process ............................................................................................................................... 20

XII. LIFECYCLE DESIGN ................................................................................................................................. 21

XIII. WORKFLOW DESIGN ............................................................................................................................ 23

1) Check Template Model ....................................................................................................................... 23

2) Execute Template Security Process .................................................................................................... 24

3) Lifecycle/Workflow Mapping .............................................................................................................. 25

XIV. SEPARATION USING DEDICATED QUEUE ............................................................................................. 25

1) Benefit ................................................................................................................................................. 26

2) How it works ....................................................................................................................................... 27

2 | P a g e

2.1) Separation CollaborationMethodServer in existing BackgroundMethodServer ......................... 27

2.2) Add dedicated queue ................................................................................................................... 28

2.3) Send task to dedicated queue ..................................................................................................... 28

XV. ADMINISTRATION PAGES ..................................................................................................................... 29

1) Main page for data creation and confirmation .................................................................................. 29

2) EPMDocument .................................................................................................................................... 30

3) Template Element ............................................................................................................................... 31

4) Collaborator ........................................................................................................................................ 32

5) Collaboration Policy ............................................................................................................................ 33

6) Collaborator Policy .............................................................................................................................. 34

XVI. TEST SCENARIO 1 – TEMPLATE SECURITY PROCESS ............................................................................ 35

1) Prepare Test EPMDocument ............................................................................................................... 35

2) Change state ....................................................................................................................................... 36

3) View template process result ............................................................................................................. 37

XVII. TEST SCENARIO 2 – DISTRIBUTE PROCESS .......................................................................................... 38

1) Prepare Collaborator .......................................................................................................................... 38

2) Create Collaboration Policy ................................................................................................................ 38

3) Create Collaborator Policy .................................................................................................................. 39

4) Prepare target date for distribution ................................................................................................... 39

5) Execute distribution ............................................................................................................................ 40

6) View distribution result ...................................................................................................................... 40

6.1) Check Collaboration History ........................................................................................................ 40

6.2) Check Intermediate Data for Sending to Legacy ......................................................................... 41

XVIII. CONCLUSION ..................................................................................................................................... 41

XIX. REFERENCE ........................................................................................................................................... 42

Table of Figures Figure 1 : List of parts consisting of Hyundai Santa Fe[2] ............................................................................. 4

Figure 2 : Enterprise PLM features[7] ........................................................................................................... 5

Figure 3 : CAD model relation[6] .................................................................................................................. 6

Figure 4 : steps of distribution with policy .................................................................................................... 7

Figure 5 : Data/Process flow ........................................................................................................................ 9

3 | P a g e

Figure 6 : Task flow for building system...................................................................................................... 11

Figure 7 : Platform independent model ...................................................................................................... 12

Figure 8 : Platform Specific Model .............................................................................................................. 13

Figure 9 : Windchill service architecture[4] ................................................................................................ 14

Figure 10 : Class diagram for Template element and Template Process .................................................... 15

Figure 11 : Class Diagram for Collaborator Policy and Collaborator ........................................................... 16

Figure 12 : Class Diagram for Distribution ................................................................................................. 17

Figure 13 : Sequence Diagram for Security Process ................................................................................... 18

Figure 14 : Sequence Diagram for Distribution Process ............................................................................. 20

Figure 15 : Definition of EPMDocument Lifecycle ...................................................................................... 21

Figure 16 : Mapping Windchill Lifecycle Definition Tool ............................................................................ 22

Figure 17 : Windchill Workflow Definition for Check Template Model ...................................................... 23

Figure 18 : Windchill Workflow Definition for Processing Template .......................................................... 24

Figure 19 : Lifecycle and Workflow mapping for ‘Processing Template’ state ........................................... 25

Figure 20 : Separation of security process .................................................................................................. 26

Figure 21 : Definition of CollaborationMethodServer for Security Process in cbsProject.xconf ................ 27

Figure 22 : Windchill Queue creation for Security Process......................................................................... 28

Figure 23 : Implementation Code of Calling Method for Dedicated Queue ............................................... 28

Figure 24 : Administration Page Main ........................................................................................................ 29

Figure 25 : EPMDocument Management.................................................................................................... 30

Figure 26 : Create new EPMDocument ....................................................................................................... 30

Figure 27 : Template Element Management .............................................................................................. 31

Figure 28 : Create new Template Element ................................................................................................. 31

Figure 29 : Collaborator Management ........................................................................................................ 32

Figure 30 : Create new Collaborator ........................................................................................................... 32

Figure 31 : Collaboration Policy Management ............................................................................................ 33

Figure 32 : Create new Collaboration Policy ............................................................................................... 33

Figure 33 : Collaborator Policy Management ............................................................................................. 34

Figure 34 : Map Collaborator with Policy ................................................................................................... 34

Figure 35 : Create test EPMDocument ....................................................................................................... 35

Figure 36 : Change state of target EPMDocument ..................................................................................... 36

Figure 37 : Check Process Result ................................................................................................................. 37

Figure 38 : Prepared Data for Testing Distribution ..................................................................................... 39

Figure 39 : Result of Collaboration History ................................................................................................. 40

Figure 40 : Result of Send to Legacy ........................................................................................................... 41

4 | P a g e

0. ABSTRACT Design collaboration in manufacturing industry is more and more significant factor of company’s profit

these days. International division of labour is very common in current globalized world, and most

automotive OEMs such as Toyota, GM, and Hyundai have a lot of suppliers[5]. There are many research

topics in design collaboration including concurrent engineering, integration vendor specific CAD models,

and AVL(approved vendor list)/AML(approved manufacturer list) etc. However, there are reverse story

in collaboration. Some design deliverables must be used internally because they are company’s own

properties. This paper deals with both security aspects of design deliverables and collaboration aspects

among multiple collaborators.

I. INTRODUTION

1) Product and Collaboration

Figure 1 : List of parts consisting of Hyundai Santa Fe[2]

5 | P a g e

Figure 1 shows the part lists which are mode by different suppliers for Hyundai Santa Fe. There are more

than 30 large parts consisting of single car, and multiple vendors in different countries worked each

other for producing a single car.

2) Definition of PLM Features

Figure 2 : Enterprise PLM features[7]

All approaches in this paper are based on PLM environments. PLM is abbreviation of product lifecycle

management, and Figure 2 describes the general components consisting of PLM. The key components

related with this paper are CAD, BOMs & Parts and Enterprise Change. CAD is abbreviation of computer

aided design, and CAD contents are direct target to secure during collaboration. Parts are logical unit of

management for building products, and Parts can be represented by CAD model. BOM is abbreviation of

bill of materials, and it describes the relationship among Parts in parent-child relation. In other words, all

products can be represented by BOM, and BOM consist of Parts relationship, and each part can have

CAD documents.

6 | P a g e

II. DESCRIPTION

1) Cad Content Security

Figure 3 : CAD model relation[6]

As mentioned before, some CAD models must be used internally, but this does not mean these models

must not be used in collaboration. This paper approaches the content replacement of original CAD

document, and replacement method can be simplification or just removal. Figure 3 show the definition

of relation of pro engineer. Assume that designer want to hide the relation during collaboration because

he or she thinks definition of relation is really important top secret of his company. In this case, security

process should remove the relation and replace relation result with calculated value. There are many

features which should be replaced in collaboration, but this paper will not tackle CAD dependent

algorithms but only concentrate on content replacement approach. In this paper, CAD model need

security is call “Template” model in this paper.

7 | P a g e

2) Collaboration with Policy

Figure 4 : steps of distribution with policy

Figure 4 explains steps of collaboration and distribution processes. Key attribute for this approach is to

define policy. Policy determines how collaborators collect data including security process. Basically, all

these operations run in PLM environments, and each step is connected with PLM component.

III. EXSITING APPROACH

1) Security Management for CAD data

There are many solutions to support CAD content security, and there may be also many in-house

applications. Generally, most important and security needed information are in 3D model. The easiest

way to overcome security problem is using only 2D drawing file, and this is really general case in reality.

Sometimes, viewable file distribution can be another solution, and most CAD solutions such as AutoCAD,

Pro-Engineer, CATIA, and UGS have functionality to create viewable document from original CAD model.

In addition to CAD type based approach, DRM is another key factor to guarantee collaboration security.

DRM basically supports user, role, and data encryption methods. Generally, CAD model consists of

hierarchical assembly structures, it is common to separate viewing using role based authorization

8 | P a g e

management in DRM environments[3]. All above methods, however, is not perfect because they do not

provide the functionalities of handling 3D CAD model itself.

3) Policy Based Collaboration Management

Approved Vendor List Management and Approved Manufacturer List is one of the key features in PLM

system, and there are many tools, solutions, or products based on collaboration management. Windchill

Supplier Management Solution is one of the sub-packages in Windchill PLM, and it provides well defined

and useful functions[1]. In addition to commercial solution, there are many in-house systems in reality.

Introduction of solution, however, is generally expensive, and it sometimes has supernumerary

functions and needs complicated post actions such as management, operation, and training. In case of

in-house systems, it is hard to integrate with PLM solution because CAD data handling really depends on

solution provider’s technology.

IV. BENEFIT OF THESE METHODS

Methods in this paper about CAD data handling aims direct content replacement approach. Because

most CAD tool suppliers are very exclusive each other and direct CAD data handling needs CAD

dependent techniques, it is really true that it is hard to provide common functions of content

replacement. Nevertheless, it is also true there is a way to customize the CAD content directly. The most

common example is Engineering Order Number stamping. When engineering order is in release process,

all related CAD models are need to be stamped by dedicated number for identification. This operation

accompanies modification of attributes of CAD file directly. Template security process is in extensions of

this approach. Though general security process needs complex modification of CAD file, the basic

principle is exactly the same. All CAD models which contain security information will be dually managed

by original and secured model. Dual management is key benefit of security process method. In addition,

security process method is designed and implemented based on existing PLM solution. PLM functions

9 | P a g e

such as lifecycle and workflow definition were considered together, and this means that this method is

more flexible or reusable. Role based distribution process is simpler than commercial solutions, and it

focuses on data distribution process only. Most commercial solutions assume that main manufacturer

company and its suppliers use same solution or single system. Introduction of solution might be really

huge work, but data distribution process in this paper is lighter and more flexible.

V. DATA/PROCESS FLOW

Figure 5 : Data/Process flow

Figure 5 represents data and process flow this paper explains. From requirement analysis or problem

statement, some engineering changes may be needed. These needs can be defined by engineering

change request, and this request commonly consists of design change, part change, or BOM change.

When it comes to design change, design template can be accompanied if company has design template

10 | P a g e

libraries. If the request is accepted as reasonable, engineering change order is published, this order

contains detail information about the real tasks. When order is released after approval process, all data

in this order can be distributed to defined collaborator. In general, there are three types of collaborator

which are vendor, other department, and subsidiary.

VI. LIMITATION OF PROOF OF CONCEPT

This paper deals with the story about CAD model and its content handling. Definitely, demonstration

using real CAD tool can be reasonable enough. However, because of time and resource problem,

operations or features with regard to CAD tool is replaced with simple substitutes. From this limitation,

creation of CAD document is affected automatically because creation of CAD document is basic function

of CAD tool under the PLM environment. Furthermore, manual creation of CAD document is not be

provided as default function in PLM solution. Therefore, creation of CAD document is customized in this

paper. This customization, however, does not impact on proving concept of this paper. From above

limitation, CAD file is also affected by customization of CAD document creation. Generally content

handling of real CAD file can be done by vendor provided toolkit, yet this toolkit application technique

needs specific background knowledge and experiences about CAD solution. This paper regards simple

text file as real CAD file. That means content handling of CAD file is replaced by simple modification of

text file. Though real CAD file is not used in this paper, target system in this paper runs in real PLM

system. This paper explains and describes processes in the PLM perspectives not the detail algorithm of

CAD file handling.

11 | P a g e

VII. TASK FLOW

Figure 6 : Task flow for building system

Figure 6 explains tasks for building system. First step is defining high level architecture of system. This

architecture can be represented by PIM (platform independent model) and PSM (platform specific

model). After defining high level architecture, detail design process is followed. Design process contains

the UML diagrams, and this paper describes class and sequence diagrams for important features. The

implementation of this paper is not done from scratch. This paper introduces specific PLM solution, and

implementation is based on this running environment. Therefore, except direct customization, mapping

specific functions and existing solution is mandatory steps during implementation. These mapping

activities contain server configuration, queue handling, and lifecycle/workflow definition. After finishing

mapping, final step is implementing designed class, testing, and verifying results.

12 | P a g e

VIII. DEFINE PLATFORM INDEPENDENT MODEL

Figure 7 : Platform independent model

Figure 7 shows the platform independent model of target system. Though it is not represented,

architectural style of entire system is basically based on n-tier. Boxes filled with dark represent designed

components, and other filled with white represent existing PLM components. There are four main

components which are TEMSys, TPMSys, DistributeSys, and CPMSys. TEMSys is abbreviation of Template

Element Management System, and this component is related with template element definition. TPMSys

is abbreviation of Template Process Management System, and this component is in charge of the detail

execution method during template security process. CPMSys is abbreviation of Collaboration Policy

Management, and this component deals with collaborator, collaboration policy, and policies of each

collaborator. Finally, DistributeSys is responsible for distribution process include the concrete method of

13 | P a g e

data gathering and how collaboration policies operate during distribution. CADSys component executes

CAD related functions, PartSys component executes Part related functions, BOMSys component

executes BOM data related functions, and ECMSys component executes Engineering Change

Management data process.

IX. PLATFORM DEPENDENT MODEL

Figure 8 : Platform Specific Model

Figure 8 shows the platform specific model, and target platform is Windchill solution. ‘Windchill

Component’ stereotype represents these are existing components in Windchill solution,

14 | P a g e

‘UWCollaboration’ stereotype means these are designed components for building target system. CADSys

in PIM is represented as EPMDocumentSys in PSM because CAD document is described as

EPMDocument in Windchill. By the same rationale, PartSys is represented as WTPartSys, BOMSys is

represented as ProductConfigurationSys, and ECMSys is represented as EngineeringChangeOrderSys.

Figure 9 : Windchill service architecture[4]

For better understanding of Windchill solution, it needs to know what Windchill is. Figure 9 is the service

architecture of Windchill solution. In this picture, it is notable that Windchill service is based on J2EE

pure internet infrastructure. In other words, Windchill is a kind of J2EE application such as JBoss,

Weblogic, and Websphere. But Windchill has its own functions which includes common business

services and integral applications. Part, BOM, ECO in PSM model is sub functions of Windchill service.

15 | P a g e

Though Windchill can be called as a kind of J2EE application server, EJB technologies is not used in

Windchill application, and Windchill has its own technologies analogous with EJB. The most important

characteristics of Windchill is PLM solution which provides huge functionalities for supporting the

system in the manufacturing industry.

X. CLASS DIAGRAM

There are three key features in target system. First is about template feature and process definition,

second is about collaboration process definition, and last but not least is about distribution process. This

paper describes the object relation as class diagram for these three major features.

1) Template Element and Template Security Process.

Figure 10 : Class diagram for Template element and Template Process

16 | P a g e

Figure 10 describes the relation of template element and template security process. ITemplateElement

is the interface class which defines all methods about template element, and UWTemplateElement is

implemented class for interface ITemplateElement. TemplateElement is entity class which defines the

attributes for template element. ITemplateProcess is the interface class describes the methods about

template security process, and UWTemplateProcess class implements the interface ITemplateProcess.

During executing template security process, UWTemplateProcess uses TemplateSecurityManager. This

TemplateSecurityManager gets defined template elements, and is in charge of real execution process.

2) Collaborator and Collaboration Policy

Figure 11 : Class Diagram for Collaborator Policy and Collaborator

The relation of collaborator and collaboration policy is described in figure 11. ICollaboration is interface

class defines all methods about collaborator, collaboration policy, and collaborator policy.

UWCollaboration is implemented class for the interface ICollaboration. Collaborator, CollaborationPolicy,

and CollaboratorPolicy are entity class which describe the attributes of each class.

17 | P a g e

3) Distribution

Figure 12 : Class Diagram for Distribution

Figure 11 describes the classes related with distribution. IDstribute is interface class defines methods for

distribution process, and UWDistribute is implemented class for that interface. Target data of

distribution process is defined by distribute element. AbstractDistributeElement is abstract class for

describing distribute element, and UWDistributeElement inherits AbstractDistributeElement. The

relation between distribute element and collaboration policy is defined by distribute policy mapper.

IDistributePolicyMapper is interface class defines how distribute element is connected with

collaboration policy, and UWDistributePolicyMapper is implemented class for that interface. When

distribution process needs to extend some functions, it will be done by extension of this distribute policy

mapper class. The difference between distribute element and policy mapper is in its level of abstraction.

Distribute element just defines what target element exists, but distribute policy mapper defines

18 | P a g e

concrete extraction method in the system. For example, distribute policy mapper for eco data do not

gather all eco data but extract only ‘RELEASED’ state eco data. ISendToLegacy is interface class for

immediate data waiting for real transmission, and UWSendToLegacy is implemented class for that

interface class. Extracted data for sending to Collaborator is stored temporarily using by this interface

method in intermediate table. The characteristic of this intermediate table is that this is common

relational database format. All other entity classes in class diagram basically are designed by Windchill

service framework.

XI. SEQUENCE DIAGRAM

There are two key functions in this paper. One is template security process, and another is distribution

based on collaboration policy. This paper provides two sequence diagrams for each key function.

1) Security Process

Figure 13 : Sequence Diagram for Security Process

19 | P a g e

Figure 13 shows the sequence diagram for template security process. If EPMDocument has attribute

‘TEMPLATE_BASED’ and the value of this attribute is not null and not empty, this EPMDocument must

be processed template security process during distribution. The exact trigger is done by state change of

target EPMDocument. If state of target EPMDocument is changed to ‘VERIFICATION_DONE’, workflow

connected this state is spawned automatically and execute state change to ‘PROCESSING_TEMPLATE’.

Then, workflow method of the state ‘PROCESSING_TEMPLATE’ calls ‘sendTargetSecurityTask’ method of

‘UWTemplateProcess’. The method ‘sendTargetSecurityTask’ calls ‘processTemplateSecurityTask’

method of TemplateSecurityManager, then ‘processTemplateSecurityTask’ method gets defined

template element from method ‘getTemplateElement’ of UWTemplateElement object. Using this

template element information, TemplateSecurityManager object executes template security task. When

everything executes well, workflow change the state of target EPMDocument to

‘PREPARE_PUBLICATION’.

20 | P a g e

2) Distribute Process

Figure 14 : Sequence Diagram for Distribution Process

Figure 14 shows the sequence diagram for distribution process. The start of distribution process is done

by ‘UWDistributeBatch’ object. As the object name shows, this is batch processing object for distribution.

First step of batch processing is to gather collaborators using by ‘getCollaboratorList’ method of

‘UWCollaboration’ object. Then, for gathered collaborators, ‘UWDistributeBatch’ object execute method

‘transferData’ of UWDistribute object, and ‘UWDistribute’ object gather policy list for given

collaborators using method ‘getCollaboratorPolicyList’. Then, ‘UWDistribute’ object gather distribute

element lists using method ‘getDistributeElementList’ of ‘UWDistributeElementPolicyMapper’ object.

Extracted distribute element lists from above results are put to intermediate table using ‘putData’

21 | P a g e

method of UWSendToLegacy object. After data distribution for extracted data is done, ‘UWDistribute’

object record the history using method ‘recordCollaborationHistory’.

XII. LIFECYCLE DESIGN

Lifecycle management for key object is one of the most important functions of PLM system. The

composition of lifecycle is from conceptual definition of each state, and this conceptual model can be

realized by using Windchill lifecycle defining tool. Because template security processing which is key

function of this paper is content handling operation of EPMDocument, the target object of lifecycle

design is EPMDocument object. Of course, there is existing default lifecycle for EPMDocument in

Windchill system, but that does not contain states about template security process. Therefore, the

lifecycle of EPMDocument must be customized to show the proof of concept of this paper.

Figure 15 : Definition of EPMDocument Lifecycle

Figure 15 is conceptual definition for EPMDocument. First state of EPMDocument is ‘In Work’, and this

means target object is on working stage. In this state, the owner of EPMDocument will change the

model multiple times as he or she wants to change. If designer decide to finish his or her design change,

the state of EPMDocument is changed to ‘verification done’, and this means designer finished

22 | P a g e

verification of EPMDocument. If EPMDocument used template features, next step must be ‘Processing

Template’, and template security process is done in this stage. After template security processing, at last,

EPMDocument can be distributed to defined collaborators. Before collaboration, however,

EPMDocument should be accompanied by approval process as data in engineering change process.

‘Prepare Publication’ state means EPMDocument can be used as data in approval process. When

EPMDocument is approved by approver, EPMDocument state is changed to ‘Released’, or

EPMDocument state is changed to ‘Rejected’. Finally, EPMDocument is not used anymore, and then the

state will be changed to ‘Obsolete’.

Figure 16 : Mapping Windchill Lifecycle Definition Tool

23 | P a g e

Figure 16 shows that conceptual definition of EPMDocument is mapped by the Windchill lifecycle design

tool. As above picture shows, there are many functions about access control for each state, but this

paper will not tackle authorization related functions.

XIII. WORKFLOW DESIGN

Windchill workflow engine is efficient tool for designing runtime behaviors of specific business object.

Workflow alone is meaningless, and all workflow must be mapped to specific lifecycle state. This means

workflow defines actions of particular lifecycle state. If lifecycle managed object is changed to specific

state, and connected workflow exists on that state, at the same time of state change, connected

workflow is spawned and executed. This paper defines two workflows for template security process.

One is for checking template based model or not, and another is actual template security task.

1) Check Template Model

Figure 17 : Windchill Workflow Definition for Check Template Model

24 | P a g e

Figure 17 shows the workflow definition of ‘UW_Check_Template_Model’ using by Windchill workflow

authoring tool. Like above picture, Windchill workflow design is composed by definition of node and

connector, and some executable java code can be attached to define actual business process. If state of

EPMDocument is changed to ‘VERIFICATION DONE’, then above workflow process is executed. This

workflow just check if EPMDocument is template based model or not. If target object is template based

model, then workflow change its state to ‘PROCESSING_TEMPLATE’, or change to

‘PREPARE_PUBLICATION’.

2) Execute Template Security Process

Figure 18 : Windchill Workflow Definition for Processing Template

Figure 18 shows the workflow definition for template security process. This workflow consists of simple

expression robot which contains java code for calling template security process.

25 | P a g e

3) Lifecycle/Workflow Mapping

Figure 19 : Lifecycle and Workflow mapping for ‘Processing Template’ state

Figure 19 shows how the workflow and lifecycle state mapping is done. This picture shows ‘Processing

Template’ lifecycle state of EPMDocument has workflow ‘UW_TemplateProcess’.

XIV. SEPARATION USING DEDICATED QUEUE

Windchill solution provides the method of separation of running virtual machine for dedicated queue.

Windchill queue can be regarded as instance of Java message queue, and because PLM environment

generally handles large amount of data, queue management is one the important features considerable

in design and maintenance.

26 | P a g e

1) Benefit

Figure 20 : Separation of security process

Figure 20 is screenshot of server monitor console of demo system. In default configuration environment,

Windchill server consists of three kinds of servers which are ServerManager, MethodServer, and

BackgroundMethodServer. ServerManager is the highest level of server. It controls other servers such as

MethodServer and BackgroundMethodServer. It monitors and detects the condition of registered server.

For example, if MethodServer falls into unstable status, ServerManager kill MethodServer and restart

again. MethodServer process most of user driven tasks such as retrieving data, or data transaction task.

BackgroundMethodServer is generally dedicated to queue tasks. Every workflow process runs in

processing queue, and visualization process runs in scheduling queue. CollaborationMethodServer is a

kind of dedicated BackgroundMethodServer for the queue ‘UWCollaboration’. When the new entry of

queue is put, execution of this queue entry runs in CollaborationMethodServer. Though real CAD model

is not used in this paper because of limitation of time and resource, actual template security process is

very huge task. The size of CAD model may be more than 1GB, and it occurs heavy network traffic. In

27 | P a g e

addition to file size, the number of CAD model in actual manufacturing environment is relatively huge.

This means template security process may cause serious damage to server, and sometimes may result in

entire system down. Therefore, separation of running server can be method of safety for system health

avoiding cascade catastrophes.

2) How it works

Separation of queue execution consists of following steps. First step is configuration of separated

BackgroundMethodServer. Second step is creation of dedicated queue, and the last put entry in that

queue.

2.1) Separation CollaborationMethodServer in existing BackgroundMethodServer

Figure 21 : Definition of CollaborationMethodServer for Security Process in cbsProject.xconf

Figure 21 shows the configuration file for setting CollaborationMethodServer separation. The key point

of this configuration is name of queue group which is ‘Collaboration’. Other configuration defines the

heap size, port number, etc.

28 | P a g e

2.2) Add dedicated queue

Figure 22 : Windchill Queue creation for Security Process

Figure 22 is the screenshot of creation for queue ‘UWCollaboration’. In above picture, the name of

group is mapped to the name of queue group in Figure 21.

2.3) Send task to dedicated queue

Figure 23 : Implementation Code of Calling Method for Dedicated Queue

29 | P a g e

Figure 23 is actual java code for putting entry in dedicated queue ‘UWCollaboration’. It is notable that

method ‘doSecurityJob’ is defined during putting entry. When ‘UWCollaboration’ queue executes its

entry, ‘doSecurityJob’ is called, and template security process is done in this method.

XV. ADMINISTRATION PAGES

In order to test core function of this system, creation and view the test data is necessary. Below pages

and figures show the detail function and its usage.

1) Main page for data creation and confirmation

Figure 24 : Administration Page Main

Figure 25 shows the main administration page. Main page list up all functionalities provided to manage

collaboration system data. From ‘EPM Document List’ to ‘Collaboration Policy List’, each link provides

listing up and creation function for each data entity. Remain threes deal with execution of distribution

and checking the result of distribution.

30 | P a g e

2) EPMDocument

Figure 25 : EPMDocument Management

Figure 26 represents all EPMDocument list in the system, and it provides brief information of

EPMDocument. As mentioned earlier, EPMDocument is core object of Windchill system; therefore, more

detail information of each EPMDocument can be given by OOTB EPMDocument information page. In this

picture, ‘primary content’ column is key column for testing and verifying EPMDocument security process.

Comparing original primary content and secured primary content can explain how the template security

process which is one of the two key features in this paper is possible.

Figure 26 : Create new EPMDocument

Creation of EPMDocument is generally integrated with CAD authoring tools such as Pro-Engineer, CATIA

in real case, but because CAD authoring tools could not be used, EPMDocument creation page was

implemented for replacing the functionality of CAD authoring tools. Primary content is mainly real CAD

file, but only text file is meaningful in this paper.

31 | P a g e

3) Template Element

Figure 27 : Template Element Management

Template elements can be defined as target elements need to be secured during collaboration. This

page lists up existing template elements in the system. Though corresponding post operation for each

template element during security processing is mostly complicated and needs CAD tool dependent

running environment in reality, these complex operations were simplified as content replacement of

simple text file in this paper. In other words, if template element is defined as Figure 27, expected result

will just modify add text message in primary content of original EPMDocument.

Figure 28 : Create new Template Element

Figure 28 is screenshot of template element creation page. Because element name is directly related

with template security processing, definition of element name should not be arbitrary. As a sample,

‘ANALYSIS_FEATURE’ and ‘TOLERANCE_ANALYSIS’ can be used in this project. Additional definition of

32 | P a g e

element name needs related implementation how to execute security process for newly added one.

Definitely, there are more cases in reality. Execute method is one of ‘REMOVE’ or ‘SIMPLIFY’. Target

group means the name of filtering group for applying security process. For example, assume

‘ANALYSIS_FEATURE’ element is important in ‘Cylinder Block’ design team, but it does not need to be

template element in ‘Transmission’ design team. For the same ‘ANALYSIS_FEATURE’ element, some

EPMDocuments needs security processing, and sometimes it’s not necessary.

4) Collaborator

Figure 29 : Collaborator Management

Figure 29 shows the lists of collaborator defined in the system. Collaborator can be different

department in the same company or different vendor. The exact meaning of collaborator is the data

receiver from main system. All defined collaborator will be the target of distribution if corresponding

collaborator policy exists.

Figure 30 : Create new Collaborator

33 | P a g e

Figure 30 shows the creation collaborator page. Indeed there are more attributes for defining

collaborator, but only 4 attributes were used for simplicity because target system in this paper is

dedicated to data distribution only.

5) Collaboration Policy

Figure 31 : Collaboration Policy Management

Collaboration policy defines the rule for gathering distribution data. Because the definition of policy is

related with real distributing action, policy ID should be defined with executable process so that it can

correlate with distribution implementation. In this paper, ‘ECN’, ‘PART’, ‘EPM’ are available choices.

Security check attributes determine whether injection of security process is needed or not. Though it is

meaningful in EPMDocument data only in current process definition, it is also available for ‘PART’ or

‘ECN’ if additional security process is defined later.

Figure 32 : Create new Collaboration Policy

34 | P a g e

Figure 32 shows the collaboration policy creation page, if value of security check is true, security process

is added during gathering distribution data. In the reverse case, target data itself will be distributed to

collaborator.

6) Collaborator Policy

Figure 33 : Collaborator Policy Management

Collaborator policy maps collaborator with collaboration policy. Figure 33 shows the mapped policy for

collaborator ‘VX_101’.

Figure 34 : Map Collaborator with Policy

Figure34 shows the collaborator policy creation page, and only pre-defined collaborator and policy is

listed up in select box.

35 | P a g e

XVI. TEST SCENARIO 1 – TEMPLATE SECURITY PROCESS

Template security process is content replacement handling for designated EPMDocument. Regardless of

distribution rule, all EPMDocuments which contains template element defined in ‘Template Element

Management’ must be processed before the state ‘PREPARE PUBLICATION’. The identifier whether

EPMDocument is template based model or not is designated attribute ‘TEMPLATE_BASED’ of

EPMDocument. If the value of ‘TEMPLATE_BASED’ is not null and not empty, EPMDocument is regarded

as template based model, and it means post template security process must be following during state

change.

1) Prepare Test EPMDocument

Figure 35 : Create test EPMDocument

In order to demonstrate the template security process, target EPMDocument has to be prepared. As

mentioned earlier, general EPMDocument creation process is automated by CAD tools check-in process.

If designer designs CAD model and he check-in that model into system, EPMDocument is created

automatically using designated attributes defined in CAD model. In this paper, however, integration with

36 | P a g e

CAD tools is out of scope; therefore, creation EPMDocument is replaced with customized function like

Figure 35. In this figure, ‘TEMPLATE_BASED’ attribute is ‘T’, and this means target EPMDocument needs

template security processing. In addition to ‘TEMPLATE_BASED’ attribute, ‘PRIMARY CONTENT’ is

another key attribute for demonstration. As mentioned in limitation of this paper, the file of ‘PRIMARY

CONTENT’ must be text formatted, and the rationale of this constraint is to verify the change of content

clearly. In above picture, original content of EPMDocument is just text file contains simple words.

2) Change state

Figure 36 : Change state of target EPMDocument

EPMDocument creation itself is just formation of file; it does not contain any post process related with

template security. Real template security processing is accompanied by state change action. If designer

change the state to ‘VERIFICATION DONE’, connected workflow process ‘UW_Check_Template_Model’

is spawned automatically. Workflow process connected to the state ‘VERIFICATION DONE’ determines

the next state according to the value of ‘TEMPLATE_BASED’ attribute. If the value of ‘TEMPLATE_BASED’

attribute is not null and not empty, workflow process change state to ‘PROCESSING TEMPLATE’. When

37 | P a g e

the state of EPMDocument is changed to ‘PROCESSING TEMPLATE’, connected workflow

‘UW_TemplateProcess’ is spawned, and this workflow execute template security job. Figure 36 explains

how to change the state of EPMDocument.

3) View template process result

Figure 37 : Check Process Result

Figure 38 shows the result of template security process for EPMDocument ‘UW_20000-25000’. There

are three check points in this process. First, check separation of virtual machine for process is correct. In

this picture, there are execution logs of process, and target background method server is

‘CollaborationMethodServer’. As mentioned in separation dedicated queue chapter, separation of

running virtual machine is one of the key features in this paper, and this picture shows the result is the

same as expected one. Second, check new file named ‘{Original EPMDocument File Name}_TP’ is

created, and it is worthy of notice. The exact result of template security process is creating new

EPMDocument. Template security process does not change anything of original EPMDocument because

original must be managed by original designer continuously. Dual management for EPMDocument is key

38 | P a g e

aspect of this paper. Third, check the primary content is changed well by pre-defined template element

features. In above picture, pre-defined template feature is ‘ANALSYS_FEATURE’ and execute method is

‘REMOVE’. The content of processed EPMDocument contains the text ‘ANALSYS_FEATURE was removed’,

and this shows the result is the same as expected one.

XVII. TEST SCENARIO 2 – DISTRIBUTE PROCESS

1) Prepare Collaborator

Collaborator ID Collaborator Name Collaborator Type Collaborator Description

VX_101 Miss Fortune Third Vendor Wheel manufacturing vendor

Collaborator VX_101 was prepared for testing.

2) Create Collaboration Policy

Policy ID Policy Name Policy Description Security Check

EPM_Policy EPM Policy This policy describes the rule for distributing CAD

Document

True

ECN Engineering

Change Order

Policy

This policy describes the rule for distributing Change

Order Data.

False

There are two collaboration policies for testing. One is for ‘EPMDocument’, and the other is for

‘Engineering Change Notice’. In addition, EPMDocument policy will be followed by security process like

above table.

39 | P a g e

3) Create Collaborator Policy

Collaborator ID Policy ID

VX_101 ECN

VX_101 EPM_Security

There are two mappings for testing. Collaborator VX_101 has two policies which is for ECN and EPM

with Security.

4) Prepare target date for distribution

Figure 38 : Prepared Data for Testing Distribution

Figure 38 shows the administrative page which contains the target data and the way how to execute

distribution. There are three types of data in above picture, first is Engineering Change Order (Notice)

List, second is Part List, and third is EPMDocument List. All these data are objects are in ‘RELEASED’ state

40 | P a g e

in the system, and distribution of these data will be filtered by definition of collaborator and its policies.

The red boxed link ‘DO Distribute’ executes distribution.

5) Execute distribution

In figure 38, clicking the red boxed link executes distribution. In the target data, some data will be

distributed to target collaborator under the defined collaboration policies.

6) View distribution result

Checking result whether is valid or not consists of two steps; first is checking collaboration history data,

and second is checking sending to legacy data.

6.1) Check Collaboration History

Figure 39 : Result of Collaboration History

Figure 39 shows the collaboration history data for previous distribution. The execution of distribution

was processed on November 25, 2013 about collaborator VX_101 having two policies which are EPM

with security and ECN. Although the collaboration history is brief, this is key data for checking if

distribution was processed successfully or not.

41 | P a g e

6.2) Check Intermediate Data for Sending to Legacy

Figure 40 : Result of Send to Legacy

All distribution target data which are already filtered by collaboration policies is not directly sent to

collaboration system. These data is first moved to intermediate spaces, this is generally called interface

table. Figure 40 shows the intermediate table data to be sent by scheduler or manual processing. Of

course, moving from original system to collaborator system is out of scope, but above picture can prove

enough how distribution process is done. Because VX_101 has policies about EPMDocument and ECN,

there is no Part data, and it is notable to check the EPMDocument number in EPMDocument List. The

target EPMDocument is ‘UW_20000-25000_TP’, and suffix ‘_TP’ means that target data is secured

EPMDocument.

XVIII. CONCLUSION

Security is one of the biggest hot topics these days, and most outflows of industry technology result

from human fallacies pursuing unfair profits. These security affairs can be less if system can support

42 | P a g e

basic protection functions. Template security process topic mentioned in this paper is about security

protection activities, it focuses on CAD content security. Though proof of concept for template security

process is shown without actual CAD file demonstration, design and implementation of concept can

show enough how this approach operates. In addition, policy based collaboration method in this paper

aim at light-weight service than existing products. Furthermore, collaboration approach in this paper

assumes existence of legacy system, and prepares intermediate spaces before actual distribution. This

means that It can be applicable to any platform of collaborator environment because it provides the

data as common relational database table format which can be accessed in various way. Definitely,

when more tight management of collaborating environment is needed, commercial products can be

better choice.

XIX. REFERENCE

[1] 3HTI, “Windchill®Supplier Management Solution”. Retrieved from http://www.3hti.com/wp-

content/uploads/datasheets/Windchill-Supplier-Management-Datasheet-3HTI.pdf

[2] Automotive News, “Suppliers to the 2013 Hyundai Santa Fe” April 2013. Retrieved from

http://www.autonews.com/article/20130408/CUTAWAY/130409921/suppliers-to-the-2013-

hyundai-santa-fe#axzz2llXwggCn

[3] Cera, C. D., Kim, T., Braude, I., Han, J., & Regli, W. C. (2004). Hierarchical role-based viewing for multi-

level information security in collaborative CAD (No. DU-CS-04-01). DREXEL UNIV PHILADELPHIA PA

DEPT OF COMPUTER SCIENCE.

[4] Cisco, “Cisco Distributed Research and Development Solution Deployment Guide for PTC Windchill”.

Retrieved from

http://www.cisco.com/en/US/docs/solutions/Verticals/Distributed_RD/dist_rd.html#wp67954

43 | P a g e

[5] Dannenberg, J., & Kleinhans, C. (2004). The coming age of collaboration in the automotive industry.

Mercer Management Journal, 17, 88-94.

[6] G. Sudhir, GRABCAD, “Tutorial - Relations in Pro Engineer Wildfire aka Creo Elements Pro? ” Feb 2011.

Retrieved from http://grabcad.com/questions/tutorial-relations-in-pro-engineer-wildfire-aka-

creo-elements-pro

[7] S. Oleg, Beyond PLM, “Aras PLM lines up against Windchill, Enovia, and TeamCenter” May 2011.

Retrieved from http://beyondplm.com/2011/05/07/aras-plm-lines-up-against-windchill-enovia-

and-teamcenter/


Recommended