Service Model for Collaborating Distributed Design and Manufacturing Moon Jung Chung1, Woongsup Kim1, Ravi Gopalan1, Hong Suk Jung1, Hyun Kim2 1 Computer Science and Engineering, Michigan State University, East Lansing MI 48824, {chung, kimwoong,gopalanr jungho}@cse.msu.edu 2 ETRI,Taejon, Korea , hyunkim@etri.re.kr Abstract integration in a closely coupled design and manufacturing environment. These systems therefore This paper presents a Service-Oriented Process have inherent weaknesses in terms of scalability and Model (SOM) to build a web-services based process extensibility in loosely coupled application integration. management system, called MIDAS that would support Moreover, they do not address run-time process distributed Design and Manufacturing process. SOM reconfiguration sufficiently, which is necessary to uses OWL specification, and describes the semantics of reflect dynamic manufacturing environments. Most the design process with an underlying mathematical systems react to dynamic changes based only on pre- mode, Process Grammar, which supports dynamic defined routines composed at the process definition process creation and enactment. The rich semantics stage. provided by SOM offers a unique functionality of web In this paper, we present a semantic model, which a service-based process composition and iterative Web service framework may use for Distributed Design process enactment that may be used for any design and and Manufacture. The Semantic model called Service manufacturing process, and hence makes it appropriate Oriented process Model (SOM) is the underlying for usage in scenarios involving distributed and foundation for the framework, the Manufacturing collaborative design and manufacturing process. The Integration and Design Automation System (MIDAS) use of OWL and Process Grammar makes SOM very that supports distributed design processes to integrate suitable for coordination of processes in loosely design engineering, process engineering, business plan coupled collaborative environment. We also introduce and assembly operations in a loosely coupled a framework, MIDAS, which is built upon SOM. environment. The system uses the semantic service Through semantics of SOM, the framework provides model to enable a machine agent in actively locating a facilities for business/technological entities to discover Web service and choreographing collaborative services services that other collaborative entities provide, into an optimized process workflow. Through such monitor dynamic process environments, and operations, a user in distributed design process will get reconfigure process logic by iteration. more sophisticated intellectual aid on process design and management. The framework provides collaborative dynamic process management using web 1. Introduction service composition. The MIDAS framework provides a truly distributed architecture for management of The advent of dynamic markets, changes in manufacturing process composition and inter-operation production economics coupled with rapid in two aspects. 1) Process integration is described in advancements in information technology have set a new terms of choreography of web services, which is stage for manufacturing practices in the fiercely achieved by using the Process Grammar, which is a competitive global industry. To stay competitive, process model helps MIDAS to configure processes manufacturers must be able to 1) manage increasing dynamically. 2) Also we developed a service-oriented product complexity and product innovation driven by process model, which specifies semantics on market demands, 2) have faster and flexible product manufacturing process. It provides standardized development cycle, and 3) control globally distributed facilities for companies to integrate processes on outsourcing operations. Collaborating Distributed distributed design environment using web services. Design and manufacture enables manufacturing This paper is organized as follows. Section 2 organizations in maintaining competitiveness by provides a background on distributed design and web- creating products with lesser turnaround time, lesser service based process management. Section 3 describes cost, and with fewer defects. The distributed design the Process Grammar used for dynamic process solution unifies the product life cycle by enabling the configuration. Section 4 introduces the semantic model, sharing of product knowledge and incumbent which consists of process definition model, process manufacturing applications [1]. enactment model, and process monitor model. Section 5 A variety of frameworks and specifications have shows a general MIDAS architecture and illustrates been proposed to manage manufacturing processes in how distributed design works at the MIDAS framework. heterogeneous business environment [4]. However, these frameworks mostly focus on the system 2. Background web. In such a scenario choreography cannot be realized unless the cooperating entities do not share Significant research to automate and coordinate similar semantic views of the processes involved. design and manufacturing from the perspective of Existing frameworks are closely tied to a specific process management [5, 12, 16]. The distributed design domain and platform. Therefore there is a need for a process should be easily reconfigured when changes in semantic model that would enable frameworks to user requirements occur or when the results may not manage and support dynamic manufacturing process conform to the constraints and companies should be design through collaborative web services. able to execute their own processes concurrently with others during collaboration [22]. Managing processes in 3. Process Grammar distributed design is highly dynamic and poses challenges completely different from conventional Our semantic model uses the terms, process workflow management where workflows are static. In grammar for process representation and task [6] they call such type of process as “enacted decomposition. Process grammar [3, 6] has been processes”. These involve sub-processes which are proposed to represent design and manufacturing process designed “on the fly”, by the participants, as part of the and to generate process flow dynamically. Process flow main process that is being executed. These graphs describe the information flow of a design characteristics pose challenging problems. methodology, and process grammars provide the means To support inter-operability of business processes, a for transforming high-level task into progressively a variety of standards and languages have been proposed. more detailed set of tasks as well as selecting a method WSFL [19] is a workflow language that provides among many alternatives for a task. recursive composition of web services. BPEL4WS In process grammar, the process flow graph consists allows a composer to aggregate two or more web of two types of entities: tasks and data specifications. A services into processes which may be abstract for a task is a single unit of design activity as defined with high-level business transaction or executable as a the process flow diagram. The flow diagram shows how compiled process [17, 18]. BPML [15, 17] specifies to compose a task and the input and output web services orchestration and choreography. specifications of the task. Data specifications are design Orchestration in this context refers to an executable data, where the output specification produced by a task business process that can interact with both internal and can be consumed by another task as an input external Web services, while choreography describes specification. There are two types of tasks, a logical relationship and process flow among multi parties or task and an atomic task. A logical task can be multi organizations. WSCI [2] was proposed as a decomposed into a set of subtasks. An atomic task is guideline for web service choreography to define and the simplest form of the task, which cannot be represent complex behaviour of the set of collaborating decomposed any further. Invoking an atomic task services. Reliable and large-scale interoperation among represents the execution of an application program or a trading partners is being attempted by creating a specific tool. In essence, an atomic task is defined as an semantic web for each trading partner’s service whose encapsulated tool. properties, capabilities, and interfaces are encoded in an The process grammar provides an abstraction unambiguous, computer-understandable form [8, 9, 10]. mechanism so that designers are not overly burdened The most noticeable result from these efforts is OWL-S with details. It allows a user to represent and manipulate specification, a language for ontology definition, a small number of abstract, higher-level tasks that can manipulation, and reasoning [11, 14]. OWL-S provides be expanded into detailed, executable alternatives. This a mechanism to allow web service autonomy for can be especially valuable when engineers from identifying operational metrics at the design stage and different disciplines are working together on a project. hence facilitates heterogeneous web services discovery Process grammar can also support the dynamic, and integration. A number of Business Process iterative nature of the design process. During the Modelling methods like SAP's Event Process Chain execution of a process, if the execution of certain task (EPC), IMG AG's Promet and the Communication does not meet the requirement, a roll back can occur to Structure Analysis (CSA) known from Bonapart have an appropriate point and a new production can be also been proposed. Each of these methods graphically applied to generate alternative process flow represents the process flow but are coupled with the dynamically. underlying platform. These frameworks are working their way to combine Web services to create higher level and 4. Description of SOM cross-organizational business processes that requires The Service-Oriented Process Model (SOM) of standards to model the interactions. But, there is an MIDAS is the key semantic model that enables a important missing piece to realize truly reliable and contract initiator in actively locating a distributed scalable processes of design and manufacturing over the design process flow, collaborating on discovered process flow, and generating an optimized collaborative Figure 1 (a) shows ontology graph of process definition workflow. The ultimate goal of SOM is to provide a model. standardized way to understand distributed workflows and its executions among heterogeneous systems. 4.2 Process Enactment Model Effective representation of semantics of the participating process and components are required to Process enactment model provides standardized realise the above-mentioned goal. To realize such a goal, view of processes to be called subsequent state changes SOM specifies a semantic definition of distributed to be made upon calling. Process enactment model design process and process flow execution in terms of stipulates seven standard operations, which are essential service flow and service flow execution. to gear up operations of heterogeneous distributed SOM is written with OWL (Web Ontology design system. These operations are described as Language), which is a standard language to describe follows. semantics for Web resources [14, 20]. OWL-based Web • Provide input delivers input data to a service. service ontology, supplies Web service providers with a • Invoke enactment brings a cue to start process enact core set of mark-up language constructs for describing ment the properties and capabilities of Web services in • Retrieve workflow graph generates workflow graph unambiguous, computer-interpretable form so that the from a service to a viewer. participating entities could have comprehensive • Retrieve output transports output data from a service information about each other’s capabilities. From the to a viewer. semantic representation of process, it is possible that • Execute task carries out applying of production even each collaborating unit understands each other partner’s t or tool execution event. heterogeneous process representations. SOM consists of • Rollback instantiates rollback event by user to a serv three sub models: Process Definition Model, Process ice. Enactment Model, and Execution Monitor Model. • Enforced rollback delivers abort event by user to a s ervice. 4.1 Process Definition Model Process enactment model also defines five basic exe Generically, a model describes the way in which a cution states. Figure 1 (b) illustrates the relationship am service works and what happens when it is invoked. ong standard operations and execution states. Process definition model defines the semantics for a • un-initialized indicates that nothing has been service provider’s process flow in the context of a initialized in a service. service flow. The process definition model regards each • ready shows that input data has been bound to a task as a Service. Figure 1 shows our semantic model, SOM. service, but service execution is not invoked yet. SOM follows syntactic specification of process • proceeding points out that execution of a task has grammar. So, Service can be classified into two types been invoked and keeps on going. namely, Atomic Service and Logical Service, which are • finished is the state that execution of a service has analogues of Atomic Task and Logical Task of process been finished. Two sub states are success and fail. grammar. A service model should also define the pre • exception indicates that unexpected event has conditions and post conditions along with the expected occurred during proceeding state. inputs and outputs of a service. Service includes Input and output Specification and Pre- and Post-Condition. 4.3 Process Monitor Model MIDAS framework had earlier utilized such marks when a service provider posts the service flow at the Process monitor model provides standardized view registry, and a service requester selects a service that of how to capture and deliver the distributed design meets requirements from the registry. process execution to viewers. Users of MIDAS can Process definition model has the Service Composite monitor a process by capturing traces of task executions as a placeholder for service provider’s service flow. and data binding through Execution Monitor Model. Service composite consists of a set of component Figure 1 (c) shows ontology graph of process monitor services along with the task dependencies between model. Process monitor model follows the process component services. The dependencies between enactment logic of Process Grammar. A logical task component services are captured by linkTo and will be accompanied by a service composite as a mark linkFrom properties of component services. Logical of execution. A tool will do an atomic task, in the same service has alternative choices of service composites. manner. According to the mathematical model of The Alternative Choice encapsulates multiple service Process Grammar, the execution of logical task means composites inside. Each dependent component service an applying of a production to the logical task, while the links each other by linkTo/linkFrom. Services in a execution of atomic task means execution of a given Service Composite share semantic marks of service. tool for the atomic task. Input specifications are bound to input data before task execution, and output specifications are bound to output data after task provides a means 1) to locate manufacturers execution. dynamically, 2) to select and make contracts with particular manufacturer in agreement with requirements, :OWL class : inherited : collection : model -defined OWL property 3) to create the collaborative process by incorporating distributed services among manufacturers, and 4) to AtomicService provide a flexible and interoperable execution environment for the collaborative process. The distinct Service features of MIDAS are: • Separation of process specification from the linkTo execution environment. Syntactic structures, such as linkFro Logical Service (and) m dependency among tasks and input output requirement, hasAlternative together with alternatives are specified using the Choices Component Service process grammar. Execution details and constraints are AlternativeChoice encoded as a part of execution environment. • A task is a unit of an activity in a distributed design process. A task can be accomplished by service ServiceComposite providers, or by someone in the same organization. There may be several different alternatives of accomplishing the task, with each service provider its (a) Process definition model own alternative. The service provider can be located within the organization itself or a company where the Un - initialized task can be outsourced. • Guiding the designer to select appropriate processes En ack Ro En ack for Ro llb for ced Input Provide llb and service providers. Through user interaction, the ced Rollback Enforced i framework generates a process configuration that Exception nvo ke provides an optimal solution within a given set of constraints. Ready • Process flow generated is modulated and archived Ex In ex vo cep iterative ec ke for future use. Archived process flows and alternatives tio ut io n n Rollback can be retrieved, revised and reused. iterative Service Registry read Finished execution Process engine write Proceeding BB en g AA y in B rol process l definition er qu (b) Process enactment model Service Web Service provider Discovering Module Service decision on enactment appliedBy Registering Module Service requests for execution ServiceComposite ServiceComposite discovering tool enacting status enf roll orc Internet LogicalService LogicalService bac Semantic Web Service ed reader k Deploying Module ComponentService ComponentService (= Service) AtomicService AtomicService Service provider’s loy Web Service dep Process engine hasTool Calling Module reports ha execution status sI d cockpit np woispla by process ha tool tool ut monitor model sO rkf ys Web service low ut s pu ExecutionState Service t requester invokes execution One Of Specification Specification • •Un-initialized - ••Ready ••Proceeding boundBy Figure 2: MIDAS framework ••Finished ••Exception data We have integrated service-oriented distributed (c) Process monitor model design functionality into MIDAS framework. MIDAS Figure 1: Three sub models of SOM has been developed for collaborative entities to work together to complete a manufacturing design process [6, 5. Distributed Design with MIDAS 7]. Figure 1 illustrates general MIDAS framework. The system consists of four components as follows. The MIDAS framework is a collaborative • Cockpit: Cockpit in MIDAS provides the following engineering framework that coordinates various tasks in main functionalities: Process Editing, Display and design and manufacturing using web services. It maintenance of process information archive, Operations of process design. • Process Engine: They provide services to distribute expanded process meets constraints, and if not, rollback the process design execution snapshot, through to step 1. Figure 3 represents each of the steps process library and tool library. mentioned above. • Process/Tool Library: Process/Tool information is In step 1, service requester checks the semantic organized in production libraries. marks of processes registered in the service registry, • Web Service Module: It provides facilities such as and selects one that meets the requester’s requirements. browsing service semantics, and calling Web service Through step 2 to step 4, all operations are done by to the engine. MIDAS web service module is collaboration among service requester and provider. composed of Web Service Discovering Module, This collaboration follows the enactment model of Service Registering Module, Web Service Deploying SOM. In step 2, importing service provider’s OWL Module, and Web Service Calling Module. process definition expands service requester’s process. In step 3, the service requester invokes process Distributed design workflow generation by MIDAS execution by calling invoke enactment operation of proceeds in interaction between manufacturing service provider’s Web service. During the execution, companies. For each alternative for sub process the service provider finishes distributed design tasks in generation, there is a manufacturing service provider his process and generates output data. MIDAS allows who can be outsourced. Service providers offer their service requester to participate service provider’s manufacturing process as a service flow, and MIDAS process execution. The service provider can participate guides a designer to select an appropriate service the process execution by calling execute task and provider and his service flow. The figure 4 illustrates rollback operations. In step 4, the service requester how companies use MIDAS to outsource a distributed validates finished process and result data. The service design tasks. The contract initiating company performs provider can get the finished process by calling retrieve a referencing for distributed design task as shown in the workflow graph, and can get the result data by calling figure 3. After selecting one service provider, the two retrieve output data. If the finished process doesn’t companies negotiate, and reach an agreement on meet given distributed design requirement, the service cooperation. Incorporating subcontractor’s process and provider can reinitiate another process configuration execution of merged process flow will be simply done with new service provider. During the iterative by calling subcontractor’s Web services. workflow configuration, the service requester can check Distributed design by MIDAS framework proceeds the execution status by calling retrieve workflow graph in two major steps: (1) Service deployment and operation. This operation returns execution state of each registration by geologically distributed manufacturers. element of service provider’s process in format of OWL (2) Iterative workflow configuration among distributed document defined in the process monitor model of manufacturers. SOM. 5.1 Service Deployment and Registration A Semantic Registry Service provider writes process definition in OWL following the process definition model schema. Process definition includes product description, manufacturing pr p o s s fl oc r c to st ow e process for the product, required input and output t ra co n specification, and etc. Based on this definition, the su b service-deploying module of service provider ect se l automatically generates Web service code and deploys nd sa a te it on the Web. Then, the service-registering module Potential l oc enrols deployed Web service on the Web service subcontractors registry. Service registry registers not only the Web service, but also semantic marks of manufacturing Selected process that the Web service provides. subcontractor Contract initiator negotiates and incorporates process flow Figure 3: task outsourcing on MIDAS 5.2 Iterative Workflow Configuration In order to reflect dynamic nature of process 6. Conclusion management, MIDAS provides support for iterative process configuration including service discovery and This paper presents an all purpose semantic model process enactment. MIDAS process enactment consists and a framework architecture of a web-services based of four steps: (1) Locate and select service provider and process management system for collaborative design his process. (2) Expand initial process with selected and manufacturing. Our service-oriented process model process. (3) Execute expanded process. (4) Check if provides a unique functionality of web service based process composition and iterative process enactment. Processes are designed with modular structure. Process [11] IBM, "Using Service-Oriented Architecture and logic is constructed by compositing modular process Component-Based Development to Build Web Service logics through choreography of Web services. We have Applications", Rational Whitepaper, 2003. implemented a prototype using Java and OWL. The [12] Lavana, H., Khetawat, A., Brglez, F., and Kozminski, K., collaborative dynamic process design and management "Executable Workflows: A Paradigm or Collaborative Design of MIDAS is purely task-oriented, which gives Web on the Internet", Proceedings of the 34th ACM/IEEE Design services choreography capability to each task, not to a Automation Conference, June 1997. central process management unit in each cooperative organization. The main advantage of the framework is [13] Leymann, F., "WSFL 1.0", http://www- that it is truly distributed architecture, which enables it 3.ibm.com/software/solutions/webservices/pdf/WSFL.pdf to exploit loosely coupled heterogeneous networks, and hence the framework facilitates distributed design [14] Paolucci, M., Srinivasan, N., Sycara, K., Solanki, M., Lassila, O., McGuinness, D., Denker, G., Martin, D., Parsia, between totally different types of partners. In addition, B., Sirin, E., Payne, T., McIlraith, S., Hobbs, J., Sabou, M., SOM provides generic collaborative dynamic process and McDermott, D., "OWL-S", management and the same has been demonstrated using http://www.daml.org/services/owl-s/1.0/owl-s.pdf MIDAS. SOM helps MIDAS in effectively monitoring dynamic process environment and reconfiguring [15] Peltz, C. "Web Services Orchestration and process logic by iteration. Choreography," IEEE Computer (October), pp 46-52, October 2003. 7. References [16] Schey, J. A., (1987), Introduction to Manufacturing Processes, 2nd edition, McGraw-Hill, New York, NY [1] AberdeenGroup, “Beating the competition with collaborative product commerce,” June 2000. [17] Shapiro, R., "A Comparison of XPDL, BPML, and BPEL4WS." xml.coverpages.org/Shapiro-XPDL.pdf, 2002. [2] Arkin, A., Askary, S., Fordin, S., Jekeli, W., Kawaguchi, K., Orchard, D., Pogliani, S., Riemer, K., Struble, S., [18] Weerawarana, S. and Francisco, C., "Business Process TakacsiNagy, P., Trickovic, I., and Zimek, S., "WSCI", with BPEL4WS: Understanding BPEL4WS”, Part1", http://www.w3.org/TR/2002/NOTE-wsci-20020808 http://www-106.ibm.com/developerworks/webservices/library /ws-bpelcol1/ 2002. [3] Baldwin, R. and Chung, M.J. “Design Methodology Management: A Formal Approach,” IEEE Computer, pp. [19] WSFL. 54-63, February 1995. http://www-3.ibm.com/software/solutions/webservices/pdf/W SFL.pdf [4] Bourke, R. “Software Survey: Collaborative Product Commerce, “ Midrange Enterprise, November 2000. [20] OWL www.daml.org [5] Chung, M.J., and Kwon, P. “A Web-based Framework for [21] Christian Fillies, Frauke Weichhardt, Semtalk, “Towards Design and Manufacturing a Mechanical System,” DETC, the Corporate Semantic Process Web,” Atlanta, Georgia. Sep. 1998. http://www.semtalk.com [6] Chung, M.J., Kwon, P. and Pentland, B. “Making Process [22] Burdick, D. “Collaborative Product Commerce: The Visible: A Grammartical Approach to Managing Design Proc Technology Vision,” Research Note Technology by Gartner esses,” ASME Transaction, Journal of Mechanical Design. vol Group, January 4, 2000. . 124, 364-374, 2002. [7] Curbera, F., et al., “The Next Step in Web Services,” Communication of the ACM. 46(10): p. 29-34. 2003. [8] Ding, Y., Fensel, D., Klein, M., and Omelayenko, B., "The semantic web: yet another hip?," Data & Knowledge Engineering, Vol. 41, No. 2, pp. 205-228, 2002. [9] Fensel, D., Horrocks, I., Harmelen, F., McGuinness, D. L., and Patel-Schneider, P. F., "The semantic web OIL: an ontology infrastructure for the semantic web", IEEE Intelligent Systems & Their Applications, Vol. 16, No. 2, pp. pp. 38-45, 2001. [10] Hendler, J., "The Semantic Web - Agents and the Semantic Web," IEEE Intelligent Systems & Their Applications. Vol. 16, No. 2, pp. 30-37, 2001.