multi-user architectures for computer-aided engineering collaboration

10
Proceedings of the 2011 17th International Conference on Concurrent Enterprising (ICE 2011) Klaus-Dieter Thoben, Volker Stich and Ali Imtiaz (Eds.) ISBN: 978–3–943024–05–0 Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 1 of 10 Multi-User Architectures for Computer-Aided Engineering Collaboration Edward Red 1 , Gregory Jensen 2 , David French 3 , Prasad Weerakoon 4 1 Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] 2 Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] 3 Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] 4 Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] Abstract Concurrent engineering, defined as product development by teams working in parallel, is severely limited by the serial functionality of modern computer-aided applications (CAx) like CAD/CAE/CAM. Ultimately, any develop- ment project is decomposed into assemblies and components which are then sub-divided into single models. Each model is then assigned to one technical person: designer, analyst, or process planner. The function of this paper is to consider CAx architectural changes that will allow product teams to concurrently and simultaneously collaborate on product models. Several prototypes will demonstrate multi-user effectiveness, and expose collaborative and architectural deficiencies in modern CAx tools. Keywords Multi-user collaboration, collaborative architectures 1 Introduction Concurrent engineering is limited by the serial design of modern CAx tools like CAD/CAE/CAM; these tools limit model and assembly creation and editing to one active user/engineer. Collaborators are restricted to an observer’s role or to sharing a mouse through a sharing application. Each assigned user independently edits the design, analysis, or manufactur- ing model as the product floats down the design stream. Any modelling error or manufacturing resource deficiency will necessitate model changes and divert the model modifications upstream in a convoluted feedback system that lengthens the product development cycle. These present methods are the antithesis of concurrent engineering and the very reason of three decades of under achieved/realized concurrent engineering research. What is the root problem? Simply stated - our modern computer operating systems and engineering applications are based on architectures designed for single users: one active application and one active cursor. This paper proposes CAx architectural changes that will allow product teams to concurrently/simultaneously collaborate on product models. We acknowledge the excellent research conducted in multi-user CAD over the last decade, and note the emergence of a few multi-user tools like Google Docs - see the extensive literature review by [Red, et al. 2010]. Several prototypes will demonstrate multi-user effectiveness, and expose collaborative and architectural deficiencies in modern CAx tools. The prototypes presented in the paper consist of multi-user versions of Siemens NX (NX Connect), Siemens NX with an integrated Skype interface (NX Skype) and CATIA (CATIA Connect), and the first multi-user finite-element analysis (FEA) pre-processor based on the Cubit FEA software supported by Sandia Labs (Cubit

Upload: independent

Post on 18-Nov-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

Proceedings of the 2011 17th International Conference on Concurrent Enterprising (ICE 2011)

Klaus-Dieter Thoben, Volker Stich and Ali Imtiaz (Eds.)

ISBN: 978–3–943024–05–0

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 1 of 10

Multi-User Architectures for Computer-Aided

Engineering Collaboration

Edward Red1, Gregory Jensen

2, David French

3, Prasad Weerakoon

4

1Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] 2Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected]

3Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected] 4Mechanical Engineering, Brigham Young Univ., Provo, UTAH 84602, USA, [email protected]

Abstract

Concurrent engineering, defined as product development by teams working in parallel, is severely limited by the

serial functionality of modern computer-aided applications (CAx) like CAD/CAE/CAM. Ultimately, any develop-

ment project is decomposed into assemblies and components which are then sub-divided into single models. Each

model is then assigned to one technical person: designer, analyst, or process planner. The function of this paper is to

consider CAx architectural changes that will allow product teams to concurrently and simultaneously collaborate on

product models. Several prototypes will demonstrate multi-user effectiveness, and expose collaborative and

architectural deficiencies in modern CAx tools.

Keywords

Multi-user collaboration, collaborative architectures

1 Introduction

Concurrent engineering is limited by the serial design of modern CAx tools like

CAD/CAE/CAM; these tools limit model and assembly creation and editing to one active

user/engineer. Collaborators are restricted to an observer’s role or to sharing a mouse through a

sharing application. Each assigned user independently edits the design, analysis, or manufactur-

ing model as the product floats down the design stream. Any modelling error or manufacturing

resource deficiency will necessitate model changes and divert the model modifications upstream

in a convoluted feedback system that lengthens the product development cycle. These present

methods are the antithesis of concurrent engineering and the very reason of three decades of

under achieved/realized concurrent engineering research.

What is the root problem? Simply stated - our modern computer operating systems and

engineering applications are based on architectures designed for single users: one active

application and one active cursor. This paper proposes CAx architectural changes that will allow

product teams to concurrently/simultaneously collaborate on product models. We acknowledge

the excellent research conducted in multi-user CAD over the last decade, and note the emergence

of a few multi-user tools like Google Docs - see the extensive literature review by [Red, et al.

2010].

Several prototypes will demonstrate multi-user effectiveness, and expose collaborative and

architectural deficiencies in modern CAx tools. The prototypes presented in the paper consist of

multi-user versions of Siemens NX (NX Connect), Siemens NX with an integrated Skype

interface (NX Skype) and CATIA (CATIA Connect), and the first multi-user finite-element

analysis (FEA) pre-processor based on the Cubit FEA software supported by Sandia Labs (Cubit

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 2 of 10

Connect). In addition the paper considers important issues for multi-user interfaces, under the

acronym MUG which stands for Multi-User Graphical user interfaces.

2 NX Connect

NX Connect, as an add-on to the existing CAD package Siemens NX, allows multiple users to

access and make changes simultaneously to a single part file, Figure 1. This prototype software

was designed in C# to investigate the limitations of collaborative modelling using a primary

commercial CAx application, rather than develop a new application from the ground up. NX

Connect allows multiple users to open and actively make changes to a part file simultaneously.

Each user can view the part independently and zoom and rotate without affecting the view of the

remaining users.

NX Connect utilizes Client-Server (CS) with a thin server and strong client. The server stores

the data for the part file and broadcasts changes to each client workstation. Each client maintains

a local copy of the part file which is constantly updated. NX Connect uses four custom modules

as shown in Figure 1b.

The Information Storage Module (ISM) in the server stores the part features and related data,

including all information relating to part location and multi-user access. We applied Microsoft’s

SQL Server as the RDMS which is easily accessible by calls made in C#. A series of tables are

created and linked together to organize the various data types. A hierarchical structure was

implemented where each part stored in the Parts table is assigned a Part ID which is then used in

the child table that contains all of the features, Figure 1c.

Two modules were developed to monitor and store model changes that were continually

broadcast to all clients: 1) Data Capture Module (DCM) and 2) Data Sync Module (DSM).

Data Capture Module - The DCM monitors the NX session to determine when changes have

been made to the part file. When a change is detected the DCM determines the feature that has

been created, modified, or deleted and then alerts the NX Controller of the change, then passing

the change information for the modified feature.

Data Sync Module - The DSM monitors the ISM to determine if any changes have been

uploaded by another user. Upon finding a change to the database, the NX Controller is alerted to

the changes.

NX Controller - This module converts all part information into their primitive values for storage

in the database, as well as converting these parameters back into useful data to construct the

corresponding features in the NX session on each users machine. When the DCM reports a

a) CS architecture b) NX Connect modules c) Server feature attributes

Server

Client

Figure 1: NX Connect architecture

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 3 of 10

change in the local NX part file, the controller gathers all pertinent information about the

modified feature by utilizing the NX API. Using API commands the controller determines the

feature type and then deconstructs the feature into the basic parameters such as extrude start and

stop distance, draft angle, and Boolean type. If a sketch is used for the specific feature the

controller stores the sketch name for later name reference. All such information is sent to the

corresponding table in the database for distribution to each user.

After a user modifies the existing CAD document, and changes are uploaded to the database, the

DSM alerts the Controller of a change ready to be distributed to each user. The NX Controller

will then read the feature data and place each parameter in the appropriate API function to

recreate locally the feature or modification on all user workstations.

Figure 2 shows three client multi-users simultaneously building a jet engine front frame in

various stages of coordination. The final model is shown in Figure 4d. The design time required

for three users was about 1/3rd

the time for a single user, although some preliminary coordination

planning was required.

3 NX Skype

The NX Skype prototype was designed for two purposes: 1) to show that a popular collaborative

tool like Skype could be integrated inside Siemens NX, and thus provide a means of on-line

communication between distributed collaborators; and 2) to demonstrate a method that allows

design rationale communicated between distributed users to be captured, stored and retrieved

[Mix, et al. 2010].

Key to this method is a tight integration between current industry CAx tools and computer-based

VoIP software. The method focuses on minimizing user interaction with the system to increase

adoption and long-term future use of the system. Figure 3 shows several intermediate interac-

Figure 2: NX Connect front frame multi-user session

a) Client 1 b) Client 2

c) Client 3 d) Design done

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 4 of 10

tions between two users as one user queries another user for a part dimension. This early

prototype implemented IM and audio to multiple modelling collaborators, but did not provide a

video interface.

Figure 3: NX Skype session

4 CATIA Connect

The CATIA Connect prototype uses a CS architecture similar to NX Connect, but the Visual

Basic version for CATIA (VBA) could not make calls to the SQL database directly. Thus, we

used Microsoft SQL Server 2008, but resorted to intermediate text files and a C# program to

communicate with the server.

VBA detects new features, then writes the data to a text file in JSON format (JavaScript Object

Notation - a lightweight data-interchange format). VBA calls an executable program created

from C# which reads the output text file and sends those changes to the database. The executa-

ble then calls the database to fetch new features from other users and creates a second text file (in

JSON-format) that VBA then reads in to create new parts from other users.

The first multi-user session tutorial re-created the previous jet engine front frame while

demonstrating the ability to create pads, shafts, pockets, grooves, and circular patterns with

complete crown. The interfaces were developed using the CATIA Visual Basic API, since the

CATIA C++ API is quite difficult to use.

Several of the user instructional steps that follow show a few of the coordinated actions. We also

note that the user activity periods were sometimes staggered to demonstrate that users could

enter or depart a multi-user session at any time. It is also important to note that in this implemen-

tation that entities created by one modeller could easily be taken and patterned by another

modeller. The final CATIA design looked very similar to that shown in Figure 2d.

4.1 User 1

Step 1 - To create the front frame’s inner case, make the sketch of Figure 3 in CATIA V5 on the

XY plane and use it to create a 360 degree shaft (CATIA solid of revolution) around the Z axis.

Dimensioning the part Bringing up a buddy

Skype integrated into Siemens

After user help on proper dimension, user exits

and saves interaction history

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 5 of 10

Step 2 - Update CATIA Connect after completing the shaft. Figure 4 shows the inner case along

with the bypass case and a vane (created by users 2 and 3).

Figure 3: Sketch plane cross-section of inner

case

Figure 4: Revolved inner case and other client

additions

4.2 User 2

Step 1 - Create the middle rim by making the sketch of Figure 5 on the XY plane and revolving it

for a 360 deg shaft. The thickness is 0.1 inches with the front constrained along the V axis.

Figure 5: Sketching and revolving the middle rim

Step 2 - Create the sketch for the fin attachments on the surface of the bypass case, Figure 6.

Create a circular pattern with 10 instances of the feature using the complete crown method and

any of the cases as the reference axis, Figure 7.

Figure 6: Sketching vane boss

Figure 7: Apply 10 instances of extruded pad

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 6 of 10

4.3 User 3

Step 1 - Build the vane by making the sketch shown in Figure 8 on the new plane and pad it 1

inch to -2 inches. Update part. Edge of fin is constrained to edge of case and arc is tangent to

both lines.

Step 2 - Pattern the vane in a complete crown circular pattern with 10 instances using any case as

a reference; see Figure 9.

Figure 8: Sketch a vane

Figure 9: Pattern the vane

5 Cubit Connect

Cubit is a mesh generation tool developed primarily by Sandia National Laboratories. Cubit

comprises two distinct portions: 1) Cubit Core (executes the FEA method); and 2) Claro

(Graphical User Interface). The Core and the GUI communicate with each other using a C++

method called Cubit Interface as shown in Figure 10. Since we had access to the Cubit source

code we were able to program in C++ to develop our prototype within Cubit Interface.

Figure 10: Cubit Connect Interface

Whenever the user creates geometry, mesh, etc. a command string is automatically generated and

passed through to the Cubit Core through the Cubit Interface. That command is then executed

and the results are passed back to the GUI for displaying through the same interface.

In the multi-user mode each user is able to:1) skew elements; 2) apply loads; 3) apply constraints

around their locality; and 4) use their cursor independent of other user cursors. A P2P network-

ing client was built with Qt Creator and modified for this purpose as shown in Figure 11.

Under investigation is how to filter update commands from other clients/users. A propagated

client command may stop the current user from editing the model for minutes or hours while the

FEA algorithms are executed. Figure 12 shows three users simultaneously editing the elements

on a race car, each assigned a different region.

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 7 of 10

Figure 12: Cubit Connect multi-user session

6 MUG (Multi-User Graphical Interface) Prototype

Yue Xu investigated contextual preferences for a MUG [Xu, 2010]. Product collaboration

involves technical personnel from different backgrounds and cultures. New multi-user interfaces

must be able to set context preferences for each multi-user. Contextual changes in a user’s MUG

must not affect the application data communicated among multi-users and be general enough to

integrate into any multi-user CAx application regardless of distribution network type with these

User 2

Intercept

Commands

CUBIT CORE

Filter

Output file

Network Client

Pass commands to

the entire network

(to peers)

Read output file

Read incoming

command strings

from network

(from peers)

Write incoming

commands to

input file

Input file

Read file & pass the

commands to Core.

To Cubit GUI

Write commands to file

To peer users

Figure 11: Cubit Connect communication

User 1

User 3

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 8 of 10

contexts: 1) display control contexts - each user will set a display mode context, which identifies

whether user remote sessions and their screen displays are to be observed locally; 2) communica-

tion contexts – allow multi-users to communicate by video, audio/voice, text, and emotive icon;

3) supervisory control contexts - provide both a teaching context and a management context; 4)

security contexts – allow supervisors to set the collaborative access rights to CAx application

model data or extend participation rights to supply chain personnel who can identify current

problems in obtaining material resources, or supply chain limitations in globally distributed

design and manufacturing facilities; 5) recording context –recognize the importance of and

record multi-user CAx sessions as these sessions generate product development histories, and

include critical design and manufacturing intent and decisions.

As an interface layer on top of the CAx application the proposed MUG will separate the model

from the view. Contextual changes in a user’s MUG will not affect the application data inherent

to any multi-user application.

In Xu’s early prototype three users logged in as John, Lu and April and the group collaborated to

design a turbine engine front frame that required multiple features. Table 1 displays some of the

interaction contexts and sequence.

April wanted to watch John’s screen to make sure there was no intersection of their respective parts.

John accepted her request and gave April full screen access.

Later April sent John a text requesting that she be able to view his workspace.

John changed his view setting based on April’s request. Then, April sent a request to watch Lu’s

screen.

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 9 of 10

Lu received the message and translated it into Chinese, Lu’s native language, using Google Translator

accessed through the MUG.

Shortly thereafter, April sent several text messages to Lu and Lu used the Google Translator. He

figured that it might be easier to understand April’s intent using the remote view.

Later, April sent an alert to Lu and John and notified them that the model had appeared to be finished.

Table 1: NX MUG Demo

7 Architectural Considerations

The paper has reviewed several network architectures to measure collaborative effectiveness, but

our observations are still very preliminary. In the near future the prototypes will be transitioned

to a cloud serving architecture where effectiveness will depend on network latencies, and may be

ineffective across widely distributed global networks, unless the cloud servers are also distribut-

ed and updated accordingly using update timers and buffers. Cloud serving collaboration should

prove very effective in local infrastructure networks, and provide for enhanced security.

Proceedings of the 2011 17th International Conference on Concurrent Enterprising ICE 2011

Copyright © 2011 FIR e.V. an der RWTH Aachen www.ice-conference.org Page 10 of

10

The paper has considered several prototypes and research to draw conclusions as to single user

architectural limitations in modern OS’s and commercial CAx applications. For example, the

architectural access to CAx applications is limited by their API interfaces. The exception is Cubit

Connect where we had source code access. In general we get no direct access to the event

handler; we thus use undo marker files to access model parameter changes in a multi-user

environment.

API’s provide handles to geometric objects (memory addresses) that cannot be passed to other

multi-users over a network since memory locations on each computer vary. Our prototypes

required extensive programming to extract the parameters from the data structures. Multi-user

CAx will need API’s that provide the parameters directly, like copying the object, rather than just

memory addresses to the object.

CAx applications have a concept of a single display screen, a single viewpoint, and a single

cursor. Modern CAx GUI’s are built for single users and are not intended to be shared by multi-

users. Users cannot simultaneously view the model from different viewpoints or simultaneously

edit the model parameters in the same GUI.

Event interrupts are not available in API calls that signal parameter changes inside the CAx

application. Interrupts would keep the computer from busy-wait polling, and switch a context to

an interrupt handler. Interrupts make it easy to add new functions such as a sound alert when the

server receives a new update and sends it to each client.

Undo sequences do not recognize multi-user input and user undo histories are vulnerable to undo

actions by multi-users. This major architectural deficiency must be addressed by CAx developers

before multi-user collaboration can be practical.

8 Summary

It seems evident to the authors that multi-user collaboration is both feasible and desirable, given

that a few architectural modifications are made to CAx software functionality. Product timelines

can be reduced in proportion to the number of collaborators, and design rationale better

managed. The important point is that these changes are not major and can be implemented in

some future software release of popular CAx applications.

It was easier to convert Cubit to multi-user because we had access to the source code and only

had to filter the commands sent to peers. In the case of CATIA or NX the API functionality was

limited and had to be implemented bit-by-bit. Effectively, we had to write distinct code for each

implemented function.

What may be more difficult is the configuring of an optimal interaction environment for people

of different cultures and backgrounds. How can new tools of collaboration protect the intellectual

property of companies that interact to develop new products? Security and collaboration contexts

will be important future research topics.

References

Red, E., et al, (2010) “-CAx: A Research Agenda for Collaborative Computer-Aided Applications” Computer-

Aided Design and Applications, vol. 7, no. 3, pp. 387-404.

Xu, Y. (2010)A Flexible Context Architecture for a Multi-User GUI. Master’s Thesis, Brigham Young University,

December.

Mix, K. J., Jensen, C. G., and Ryskamp, J., (2010) “Automated Design Rationale Capture within the CAx

Environment” Computer-Aided Design and Applications, vol. 7, no. 3, pp. 361-375.