Comet, a Case Study Distributed Factory Automation System Software Engineering 2000-2001 Petta Davide.

Slides:



Advertisements
Similar presentations
COMET Approach for UML Overview
Advertisements

Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Case Studies Elevator control system Elevator control system Comet case studies From task structuring to target system configuration.
Modeling Main issues: What do we want to build How do we write this down.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Modeling Main issues: What do we want to build How do we write this down ©2008 John Wiley & Sons Ltd. vliet.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 04. Other.
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 3, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 3 ECEN5053 SW.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Copyright W. Howden1 Lecture 4: Sequence Interaction Diagrams.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 2, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 2 ECEN5053 SW.
1 SWE Introduction to Software Engineering Lecture 15 – System Modeling Using UML.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented design 2.
ECEN5053 SW Eng of Dist Systems, Arch Des Part 4, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems, Part 4 ECEN5053 SW.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Use Case Analysis – continued
9/20/2004 Arch. Des. of Dist. Sys., ECEN5053, Univ of Colorado, Boulder1 Architectural Design of Distributed Systems ECEN 5053 Software Engineering of.
SE-565 Software System Requirements More UML Diagrams.
Chapter 7: The Object-Oriented Approach to Requirements
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
The Design Discipline.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
An Introduction to Software Architecture
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 21. Review ANALYSIS PHASE (OBJECT ORIENTED DESIGN) Functional Modeling – Use case Diagram Description.
Software Design The Dynamic Model Design Sequence Diagrams and Communication Diagrams Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Eng. Mohammed Timraz Electronics & Communication Engineer University of Palestine Faculty of Engineering and Urban planning Software Engineering Department.
UML Diagrams: Class Diagrams The Static Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Dynamic Modeling Chapter 11 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
1 Software Design Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13, 5 th edition and Ch. 10, 6 th edition.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
1 Software Design Overview Reference: Software Engineering, by Ian Sommerville, Ch. 12 & 13.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
4. UML. CPSC 333: Foundations of Software EngineeringJ. Denzinger 4.1. Motivation The Unified Modeling Language tries to integrate older approaches Developed.
The Static Analysis Model Class Diagrams Prof. Hany H. Ammar, CSEE, WVU, and Dept. of Computer Science, Faculty of Computers and Information, Cairo University.
UML Diagrams: The Static Model Class Diagrams. The Static Model Define the static structure of the logical model Represent classes, class hierarchies.
Use Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Architectural Design of Distributed Applications Chapter 13 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with.
INFORMATION SYSTEM-SOFTWARE Topic: OPERATING SYSTEM CONCEPTS.
SWT - Diagrammatics Lecture 4/4 - Diagramming in OO Software Development - partB 4-May-2000.
Logical view –show classes and objects Process view –models the executables Implementation view –Files, configuration and versions Deployment view –Physical.
Introduction to OOAD and the UML
Lecture 9-1 : Intro. to UML (Unified Modeling Language)
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 31. Review Creational Design Patterns – Singleton Pattern – Builder Pattern.
1 Software Design Lecture What’s Design It’s a representation of something that is to be built. i.e. design  implementation.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
DESIGN OF SOFTWARE ARCHITECTURE
1 LAB What is Collaboration diagram? 4 Collaboration diagrams illustrate the interaction between the objects, using static spatial structure. 4.
CSC 480 Software Engineering High Level Design. Topics Architectural Design Overview of Distributed Architectures User Interface Design Guidelines.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Slide 1 Chapter 10 Object-oriented Design. Slide 2 Characteristics of OOD l Objects are abstractions of real-world or system entities and manage themselves.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
Object and Class Structuring Chapter 9 Part of Analysis Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
University of Palestine Faculty of Engineering and Urban planning Software Engineering Department Project : Factory Automation System Eng : Mahmoud Hashem.
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
1 Object-Oriented Static Modeling of the Banking System - III Lecture # 33.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 14 Slide 1 Object-Oriented Design.
Lesson 3 SCADA.
UML Diagrams: Class Diagrams The Static Analysis Model
Main issues: • What do we want to build • How do we write this down
Dynamic Modeling of Banking System Case Study - I
UML Diagrams: The Static Model Class Diagrams
Service-centric Software Engineering
An Introduction to Software Architecture
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Comet, a Case Study Distributed Factory Automation System Software Engineering Petta Davide

Summary Problem description Requirements modeling Use case model Analysis modeling Conceptual static model Object structuring Finite state machine modeling Dynamic model Design modeling Subsystem structuring Distributed software architecture System configuration

Problem Description Workstations on an assembly line Programmable WSs: different parts can be processed Part moving on a conveyor belt  Processed in sequence Two kinds of workstations: Receiving (the first one), shipping (the last one) Pick & place robot Assembly Pick & place robot, assembly robot One operation per workstation Factory operators, one per workstation Views workstation status and alarms Process engineer Creates process plan to define mfg (manufacturing) steps for a part Production manager Creates work orders to process new parts (work order: # of parts of a type) Robots have sensors and actuators

Problem Description Workstations on an assembly line Programmable WSs: different parts can be processed Part moving on a conveyor belt  Processed in sequence Two kinds of workstations: Receiving (the first one), shipping (the last one) Pick & place robot Assembly Pick & place robot, assembly robot One operation per workstation Factory operators, one per workstation Views workstation status and alarms Process engineer Creates process plan to define mfg (manufacturing) steps for a part Production manager Creates work orders to process new parts (work order: # of parts of a type) Robots have sensors and actuators Noun Identification Technique

Use Case Model Grouped by actors: Factory operator View alarms View workstation status Generate workstation status and notify (with factory robot) Generate alarm and notify (with factory robot) Process engineer Create/update process plan Create/update operation Production mgr Create/modify work order Manufacture part (with pick&place, assembly robot) Receive part Process part at workstation Ship part Use just-in-time algorithm: ws receive part only when ready to process

Use Case Model View alarms Generate ws Status And Notify View ws status Generate Alarm And Notify > FactoryOperatorUseCasePackage Factory Operator Factory Robot Create/Update Operation Create/Update Process Plan > ProcessEngineerUseCasePackage Process Engineer >

Use Case Model Manufacture Part Create/Modify Work Order > ProductionManagerUseCasePackage > Ship Part Process Part At Workstation Receive Part > Production Manager Assembly Robot Pick & Place Robot

Conceptual Static Model Is very important for this case: it’s an information-intensive application Factory consists of WSs Aggregate Factory class, composed of WS classes Three types of WSs: Receiving, Line, Shipping Generalization/specialization hierarchy Line WSs have Pick&Place and Assembly robots Receiving, shipping have only Pick&Place robots WS generates one Status and multiple Alarms Both viewed from Factory Operator Process plan defines with operations all parts of a given type Operation defines a single step carried out at a WS Work order: number of parts to be manufactured of a given type

> Process Engineer > Process Plan > Operation > Part > Work Order > Production Manager > Factory > Factory Workstation > Shipping Workstation > Alarm > Factory Operator > Workstation Status > Line Workstation > Receiving Workstation <<external system>> Assembly Robot <<external system>> Pick&Place Robot * Views * * * * Processes Generates * 1 1..* Creates * 1 Defines # of 1..* 1 1 * Creates 1 1..* Contains Creates 1 * Defines 1 1..* Conceptual Static Model Composite classes

> ProductionManager > AssemblyRobot workOrderID : String customerName : String partType: String quantity : Integer priority : Integer startDate : Date shipmentDate : Date status : WoStatusType partType: String partID : String status : PartStatusType location : String priority : Integer nextOperation#:Integer startDate : Date finishDate : Date > ProcessEngineer Classes and Their Attributes > ProcessPlan partType : String rawMaterialType:String numberOfSteps : Integer > Alarm > FactoryOperator > Part > WorkstationStatus > WorkOrder > Operation > Pick&PlaceRobot userID : String password : String shift : Integer factoryArea : String userID : String password : String shift : Integer userID : String password : String engineerPrivileges:String alarmNumber : Integer alarmType : String alarmMessage : String workstationID : String factoryArea : String location : String state : WorkstationState robotID : Integer state : RobotState robotID : Integer state : RobotState maxWeight : Integer operation# : Integer operationName: String workstationType:WsType programName : String cycleTime : Integer

> Production Manager System Context Model > Factory Automation System 1..* > FactoryOperator > Pick&PlaceRobot > AssemblyRobot > ProcessEngineer 1..* Interacts with Interacts with Interfaces to Interfaces to Interacts with One external class per actor:

Object Structuring Idea: we determine the objects that participate in each use case dividing the system into objects: Entity objects for data storing objects: Process Plan, Operation, Work Order, Part, Workstation Status, Alarm They are all server  corresponding server objects on collaboration diagrams For each Human actor: user interface object Factory Operator Interface, Production Manager Interface, Process Engineer Interface Adding controllers objects Receiving/Line/Shipping Workstation controller to control manufacturing workstation Each robot has a controller and its mfg operations are downloaded from the Factory Automation System

Finite State Machine Modeling There is a state-dependent object: the WS controller More in detail, each Workstation Requests a part only if ready Completes a part Waits for message from successor workstation When received, says pick&place robot to place part on the conveyor belt Send part coming message to successor Send part request message to predecessor Receiving ws controller counts remaining number of parts Shipping ws controller Removes part from conveyor belt Send part complete message to production manager interface For this state-dependent object: statecharts

Line W.S. Controller Statechart Line Workstation Controller Superstate B1: Workstation Startup Part Processing Superstate Part Requesting Superstate Part Requesting Part Processing Superstate Part not Requested Part has been Requested B1: Workstation Startup B15: Part Coming C2: Part Request

Line W.S. Controller Statechart Awaiting Part From Predecessor WS Robot Picking Assembling Part Awaiting Part Request from Successor WS Part Arriving Robot Placing B1:WS startup / B2: Part Request B3:Part Coming/ B4: Next Operation Request Part Processing Superstate B8:Part Arrived/ B9: Robot Pick B10:Part Ready/ B11: Start Assembly B14:Part Placed/ B15: Part Coming B15a: Part Request B12: Operation End [Part Has Been Requested] / B13: Robot Place B12: Operation End [Part Not Requested] C2: Part Request / B13: Robot Place

Dynamic Model Idea: we refine use cases using collaboration diagrams Factory operator has client/server use cases Client: OperatorInterface Server: AlarmHandlingServer, WSStatusServer Process Engineer has client/server use cases Client: ProcessEngineerInterface Server: ProcessPlanServer, OperationServer Production Manager has: client/server use case: Create/Modify Work Order Client: ProductionManagerInterface Server: ProcessPlanServer, WorkOrderServer distributed control use case: Manufacture Part

S1.1: Alarm Request Collab. Diagrams: View Alarms, View WS Status > : OperatorInterface > : AlarmHandlingServer > : FactoryOperator S1: Operator Request > : OperatorInterface > : WorkstationStatusServer > : FactoryOperator S1.3: Display Info S1.2: Alarm Data V1: Operator Request V1.3: Display Info V1.1: WS Status Request V1.2: Workstation Data Use Cases

Collab. Diagrams: Generate Alarm and Notify M1: Workstation Input > : Robot > : WorkstationController > : FactoryOperator M4: Display Info > : AlarmHandlingServer > : OperatorInterface M2: Alarm M3: Alarm Multicast Use Cases

Collab. Diagrams: Generate WS Status and Notify N1: Workstation Input > : Robot > : WorkstationController > : FactoryOperator N4: Display Info > : WorkstationStatusServer > : OperatorInterface N2: Workstation Data N3: Workstation Status Multicast Use Cases

Collab. Diagrams: Create/Update Operation, Create/Update Process Plan > : ProcessEngineerInterface > : ProcessPlanServer > : ProcessEngineer O1: Operation Input, P2: Process Plan Input > : OperationServer P2.2: Operation Request P2.3: Operation Info O1.3: Operation Info, P2.5: Process Plan Info P2.1: Create Process Plan P2.4: Process Plan Info O1.1: Create Operation O1.2: Operation Info Use Cases

Collab. Diagrams: Create/ Modify Work Order > : ProcessEngineerInterface > : ProcessPlanServer > : ProductionManager R1, R2: Production Input > : WorkOrderServer R2.2: Create R2.3: Part Info R1.3, R2.5: Production Info R1.1: Process Plan Request R1.2: Process Plan Info R2.1: Create R2.4: Work Order Info > : PartServer Use Cases

Collaboration Diagrms: Receive Part > : ProductionManager Interface > : Pick&PlaceRobot > firstLineWS Controller > : ReceivingWS Controller > : ProductionManager A1: Production Input A5 = B3: Part Coming A3: Pick & Place Robot Command A4: Pick & Place Robot Status A2: Start Part B2: Part Request Use Cases Note: it isn’t an UML notation

Collaboration Diagrams: Process Part at WS > : AssemblyRobot > successorLine WorkStationController > aLineWorkStation Controller C2, C15a: Part Request B11: Start Assembly B2, B15a: Part Request > : Pick&PlaceRobot > : OperationServer > predecessorLine WorkStationController > : ProcessPlanServer A15=B3: Part Coming B15=C3: Part Coming B5: Operation Request B6: Operation Info B12: Operation End B4: Next Operation Request B7: Operation Info B9: Robot Pick, B13: Robot Place B8: Part Arrived, B10: Part Ready, B14: Part Placed

Collaboration Diagrams: Ship Part > : ProductionManager Interface > : ShippingWorkStation Controller C2: Part Request > lastLineWorkStation Controller B15=C3: Part Coming > : Pick&PlaceRobot > : ProductionManager C7: Part Complete C5: Pick & Place Robot Command C4: Part Arrived C6: Pick & Place Robot Status C8: Production Info Use Cases

Subsystem Structuring Idea: we structure the system in subsystems and then develop the subsystem collaboration diagrams Two things to considerate: Geographical distribution (e.g. client/server) Use-case-based collaboration diagrams From View alarms: alarm handler server, operator interface From View ws status: ws status server From Create/update operation/process plan: process engineer interface, operation server and process plan server Two servers used together  process planning server Process planning server + process engineer interface  process planning subsystem From Create/modify work order: production manager interface, part server, work order server Two servers  production management server From Manufacture part: Receiving/Line/Shipping Workstation controller, ws status server All in a part processing subsystem

Factory Automation System > : Production Manager > : Process Engineer <<aggregate subsystem>> : ProcessPlanning > : Operator Start Part <<server subsystem>> : AlarmHandling Server <<aggregate subsystem>> : Production Management <<aggregate subsystem>> : PartProcessing > : Operator Interface <<external system>> : Pick&PlaceRobot <<external system>> : AssemblyRobot > : FactoryAutomationSystem Process Plan Input Process Plan Info Process Plan Info Process Plan Request Production Input Production Info Operation Info Display Info Alarm Request Alarm Data Part Complete WS Request WS Data Operator Request Assembly Robot Command Assembly Robot Status Pick & Place Robot Command Pick & Place Robot Status Next Operation Request Tasks

Process Planning Subsystem : Process Engineer Operation Request > : ProcessPlanning Process Plan Input Process Plan Info Process Plan Info Create Process Plan Operation Info <<aggregate subsystem>> : Production Management <<aggregate subsystem>> : PartProcessing Next Operation Request Operation Info Process Plan Request Process Plan Info Create Operation Info > : ProcessPlanningServer > : ProcessEngineer Interface Tasks > : ProcessPlan Server > : Operation Server

Production Management Subsystem > Start Part <<aggregate subsystem>> : PartProcessing Production Input Production Info Part Complete > : ProductionManagement > : Production Manager Interface > : WorkOrder Server > : PartServer <<server subsystem>> : ProcessPlanning Server Process Plan Request Process Plan Info : Production Manager Create Work Order Info Part Info > : ProductionManagementServer Tasks

Part Processing Subsystem <<server subsystem>> : AlarmHandling Server <<aggregate subsystem>> : Process Planning <<aggregate subsystem>> : Production Management > : Receiving Workstation Controller > : Shipping Workstation Controller > : Line Workstation Controller <<server subsystem>> : Workstation StatusServer > : Operator Interface <<external system>> : Assembly Robot <<external system>> : Pick&Place Robot <<external system>> : Pick&Place Robot <<external system>> : Pick&Place Robot Alarm WS Request WS Data Start Part Coming Part Request Part Coming Part Complete Part Request Pick & Place Robot Command Pick & Place Robot Command Pick & Place Robot Command Operation Info Next Operation Request Pick & Place Robot Status Pick & Place Robot Status Pick & Place Robot Status Assembly Robot Command Assembly Robot Status WS Status Tasks > : PartProcessing

Static Model of Composite Classes <<server subsystem>> AlarmHandling Server > Operator Interface <<server subsystem>> Workstation Status Server <<control subsystem>> Line WS Controller <<control subsystem>> Shipping WS Controller <<control subsystem>> Receiving WS Controller > Production Manager Interface <<server subsystem>> Process Planning Server > Process Engineer Interface <<server subsystem>> Production Management Server Is Client of * Is Client of Starts Part at Sends Part to Sends WS status to Sends Alarm to Sends Alarm to Sends Alarm to Sends Message to Conceptual model

Distributed Software Architecture Idea: each component of a distributed architecture executes on its own physical node and communicates with other components with messages. Steps: 1. Splitting system in separate nodes; can operate separately Each ws controller: each one can operate if others are unavailable (  sensors and actuators associated to them) Process planning server, production management s., alarm handling s.: if separated can respond quickly to requests Ws status server; two possibilities: One server for the whole system One per ws The second one is better for two reasons: High message traffic between this server and corresponding line ws controller Each ws node can supply both controller and server Interfaces subsystems: production manager (1), process engineer (1 each), operator(1 each)

Distributed Software Architecture 2. Design precise message communication Synchronous msg for client/server communication Loosely coupled msg for alarms, … For greatest flexibility, loosely coupled msg for communication between various ws controller components, production manager interface, robots and alarm handling server 3. Multiple-client/multiple-server communication Operator interface – ws status server: Status displayed not only when requested, but on change Can receive data from differents workstations concurrently

alarm Request (in request, out alarmData) Factory Automation System: Subsystem Interfaces > : Production Manager > : Process Engineer <<aggregate subsystem>> : ProcessPlanning > : Operator startPart (partInfo) <<server subsystem>> : AlarmHandling Server <<aggregate subsystem>> : Production Management <<aggregate subsystem>> : PartProcessing > : Operator Interface <<external system>> : Pick&PlaceRobot <<external system>> : AssemblyRobot > : FactoryAutomationSystem Process Plan Input Process Plan Info processPlan Request (in request, out processPlan Info) Production Input Production Info Display Info alarm (alarmData) alarmNotification (alarmData) part Complete (partInfo) WS_Request (in request, out wsData) WS Notification (wsData) Operator Request assembly RobotCommand assembly RobotStatus pick&place Robot Command pick&place Robot Status next Operation Request (in request, out operation Info) Back

createProcess PlanRequest (in request, out processPlanInfo) Process Planning Subsystem: Subs. Interfaces : Process Engineer > : ProcessPlan Server > : Operation Server > : ProcessPlanning Process Plan Input Process Plan Info <<aggregate subsystem>> : Production Management <<aggregate subsystem>> : PartProcessing > : ProcessPlanningServer > : ProcessEngineer Interface createOperation Request (in request, out operationInfo) operationRequest (in request, out operationInfo) processPlanRequest (in request, out processPlanInfo) nextOperation Request (in request, out operationInfo) Back

workOrderRequest (in request, out workOrderInfo) Production Management Subsystem: S. Interfaces > startPart (partInfo) <<aggregate subsystem>> : PartProcessing Production Input Production Info partComplete (partInfo) > : ProductionManagement > : Production Manager Interface > : WorkOrder Server > : PartServer <<server subsystem>> : ProcessPlanning Server processPlanRequest (in request, out processPlanInfo) : Production Manager partInfoRequest (in request, out partInfo) > : ProductionManagementServer Back

ws Status (status) Part Processing Subsystem: Subsystem Interfaces <<server subsystem>> : AlarmHandling Server <<aggregate subsystem>> : Process Planning <<aggregate subsystem>> : Production Management > : Receiving Workstation Controller > : Shipping Workstation Controller > : Line Workstation Controller <<server subsystem>> : Workstation StatusServer > : Operator Interface <<external system>> : Assembly Robot <<external system>> : Pick&Place Robot <<external system>> : Pick&Place Robot <<external system>> : Pick&Place Robot alarm (alarmData) ws Notification (wsData) wsRequest (in request, out wsData) startPart (partInfo) part Coming (partInfo) part Request (partInfo) pick&Place Robot Command pick&Place Robot Command nextOperation Request (in request, out operationInfo) pick&Place Robot Status pick&Place RobotStatus assembly Robot Status alarm (alarmData) alarm (alarmData) part Coming (partInfo) part Request (partInfo) part Complete (partInfo) pick&Place Robot Command pick&Place RobotStatus assembly Robot Command Back > : PartProcessing

System Configuration To configure individual target systems we may Define different workastations Define parameters such as wsID, alarm name, … for parameterized components Connect component instance and allocate them to phisical nodes There are different target configurations Highly distributed: see next slide Localized autonomy Adequate performance Failure of a node not impacting on another immediately Grouping process planning server, production management s., alarm handling server As above + Process engineer interface + production manager interface in a single node Multiuser interactive node

System Configuration : ProcessEngineer Interface {1 per Engineer} : Prodution ManagerInterface {1 node} > : Receiving WS Controller {1 node} > : AlarmHandling Server {1 node} : Operator Interface {1 per operator} : Line WS Node {1 node} : Shipping WS Controller {1 node} : ProcessPlanning Server {1 node} : ProductionMa- nagementServer {1 node}