Comet, a Case Study - PowerPoint PPT Presentation

About This Presentation
Title:

Comet, a Case Study

Description:

Creates work orders to process new parts (work order: # of parts of a type) ... Work Order user Production Manager aggregate Factory composite Factory ... – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 39
Provided by: s73046
Category:
Tags: case | comet | study

less

Transcript and Presenter's Notes

Title: Comet, a Case Study


1
Comet, a Case Study
  • Distributed Factory Automation System

Software Engineering 2000-2001 Petta Davide
2
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

3
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

4
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
5
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 pickplace, assembly
    robot)
  • Receive part
  • Process part at workstation
  • Ship part
  • Use just-in-time algorithm ws receive part
    only when ready to process

6
Use Case Model
ltltuse case packagegtgt FactoryOperatorUseCasePackage
ltltuse case packagegtgt ProcessEngineerUseCasePackage
View alarms
Create/Update Operation
View ws status
Process Engineer
Generate ws Status And Notify
ltltextendgtgt
Factory Operator
Create/Update Process Plan
Generate Alarm And Notify
FactoryRobot
7
Use Case Model
ltltuse case packagegtgt ProductionManagerUseCasePacka
ge
Ship Part
Process Part At Workstation
Receive Part
ltltincludegtgt
ltltincludegtgt
ltltincludegtgt
Pick Place Robot
Manufacture Part
Production Manager
Assembly Robot
Create/Modify Work Order
8
Conceptual Static Model
  • Is very important for this case its 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 PickPlace and Assembly robots
  • Receiving, shipping have only PickPlace 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

9
ConceptualStaticModel
ltltusergtgt Process Engineer
1
ltltaggregategtgt Factory
1
Creates

Creates
ltltentitygtgt Process Plan
1
Contains
1
Defines
1..
1..

1
Processes
ltltcompositegtgt Factory Workstation
ltltentitygtgt Operation
1..
1
Generates
Generates
1

1
ltltentitygtgt Part
1..
ltltentitygtgt Workstation Status
ltltentitygtgt Alarm
1..

Defines of
1

ltltentitygtgt Work Order
Views
Views
1
0..1


ltltexternal systemgtgt Assembly Robot
ltltexternal systemgtgt PickPlace Robot
ltltusergtgt Factory Operator
ltltcompositegtgt Shipping Workstation
ltltcompositegtgt Line Workstation
ltltcompositegtgt Receiving Workstation

Creates
1
ltltusergtgt Production Manager
Composite classes
10
Classes and Their Attributes
ltltusergtgt ProductionManager
ltltusergtgt ProcessEngineer
ltltentitygtgt ProcessPlan
ltltusergtgt FactoryOperator
partType String rawMaterialTypeString numberOfS
teps Integer
userID String password String shift
Integer factoryArea String
userID String password String engineerPrivileg
esString
userID String password String shift Integer
ltltentitygtgt Alarm
ltltentitygtgt Part
ltltentitygtgt WorkOrder
ltltentitygtgt Operation
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 nextOperationInteger startDate
Date finishDate Date
alarmNumber Integer alarmType
String alarmMessage String
operation Integer operationName
String workstationTypeWsType programName
String cycleTime Integer
ltltentitygtgt WorkstationStatus
ltltexternal systemgtgt PickPlaceRobot
ltltexternal systemgtgt AssemblyRobot
workstationID String factoryArea
String location String state WorkstationState
robotID Integer state RobotState maxWeight
Integer
robotID Integer state RobotState
11
System Context Model
One external class per actor
ltltexternal usergtgt ProcessEngineer
ltltexternal usergtgt FactoryOperator
1..
1..
Interacts with
Interacts with
1
1
ltltsystemgtgt Factory Automation System
1
1
Interacts with
Interfaces to
1
1..
Interfaces to
ltltexternal usergtgt Production Manager
1
ltltexternal systemgtgt PickPlaceRobot
1..
ltltexternal systemgtgt AssemblyRobot
12
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

13
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 pickplace 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

14
Line W.S. Controller Statechart
Line Workstation Controller Superstate
Part Processing
Part Processing Superstate
B1 Workstation Startup
Part Requesting
Part Requesting Superstate
B1 Workstation Startup
Part Processing Superstate
Part not Requested
B15 Part Coming
C2 Part Request
Part has been Requested
15
Line W.S. Controller Statechart
B3Part Coming/ B4 Next Operation Request
B10Part Ready/ B11 Start Assembly
B1WS startup / B2 Part Request
B8Part Arrived/ B9 Robot Pick
Assembling Part
Robot Picking
Part Arriving
Awaiting Part From Predecessor WS
B12 Operation End Part Has Been Requested
/ B13 Robot Place
B14Part Placed/ B15 Part Coming B15a Part
Request
B12 Operation End Part Not Requested
C2 Part Request / B13 Robot Place
Awaiting Part Request from Successor WS
Robot Placing
Part Processing Superstate
16
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

17
Collab. Diagrams View Alarms, View WS Status
S1 Operator Request
ltltactorgtgt
ltltuser interfacegtgt OperatorInterface
S1.3 Display Info
FactoryOperator
S1.1 Alarm Request
S1.2 Alarm Data
ltltentitygtgt AlarmHandlingServer
V1 Operator Request
ltltactorgtgt
ltltuser interfacegtgt OperatorInterface
V1.3 Display Info
FactoryOperator
V1.2 Workstation Data
V1.1 WS Status Request
ltltentitygtgt WorkstationStatusServer
Use Cases
18
Collab. Diagrams Generate Alarm and Notify
ltltexternal systemgtgt Robot
M1 Workstation Input
ltltstate dependent controlgtgt WorkstationControlle
r
M2 Alarm
ltltentitygtgt AlarmHandlingServer
M3 Alarm Multicast
M4 Display Info
ltltactorgtgt
ltltuser interfacegtgt OperatorInterface
Use Cases
FactoryOperator
19
Collab. Diagrams Generate WS Status and Notify
ltltexternal systemgtgt Robot
N1 Workstation Input
ltltstate dependent controlgtgt WorkstationControlle
r
N2 Workstation Data
ltltentitygtgt WorkstationStatusServer
N3 Workstation Status Multicast
N4 Display Info
ltltactorgtgt
ltltuser interfacegtgt OperatorInterface
Use Cases
FactoryOperator
20
Collab. Diagrams Create/Update Operation,
Create/Update Process Plan
O1 Operation Input, P2 Process Plan Input
ltltactorgtgt
ltltuser interfacegtgt ProcessEngineerInterface
O1.3 Operation Info, P2.5 Process Plan Info
ProcessEngineer
O1.2 Operation Info
P2.4 Process Plan Info
P2.1 Create Process Plan
O1.1 Create Operation
P2.2 Operation Request
ltltentitygtgt ProcessPlanServer
ltltentitygtgt OperationServer
P2.3 Operation Info
Use Cases
21
Collab. Diagrams Create/Modify Work Order
ltltactorgtgt
R1, R2 Production Input
ltltuser interfacegtgt ProcessEngineerInterface
ProductionManager
R1.3, R2.5 Production Info
R2.4 Work Order Info
R1.2 Process Plan Info
R1.1 Process Plan Request
R2.1 Create
ltltentitygtgt ProcessPlanServer
ltltentitygtgt WorkOrderServer
R2.3 Part Info
R2.2 Create
ltltentitygtgt PartServer
Use Cases
22
Collaboration Diagrms Receive Part
A1 Production Input
ltltactorgtgt
ltltuser interfacegtgt ProductionManager Interface
Note it isnt an UML notation
ProductionManager
A2 Start Part
A5 B3 Part Coming
ltltstate dependent ctrlgtgt firstLineWS Controller
ltltstate dependent ctrlgtgt ReceivingWS Controller
B2 Part Request
A3 Pick Place Robot Command
A4 Pick Place Robot Status
ltltexternal systemgtgt PickPlaceRobot
Use Cases
23
Collaboration Diagrams Process Part at WS
C2, C15a Part Request
B2, B15a Part Request
ltltstate dependent ctrlgtgt successorLine WorkStation
Controller
ltltstate dependent ctrlgtgt aLineWorkStation Controll
er
ltltstate dependent ctrlgtgt predecessorLine WorkStati
onController
A15B3 Part Coming
B15C3 Part Coming
B4 Next Operation Request
B7 Operation Info
B8 Part Arrived, B10 Part Ready, B14 Part
Placed
ltltentitygtgt ProcessPlanServer
B11 Start Assembly
B12 Operation End
B9 Robot Pick, B13 Robot Place
B5 Operation Request
B6 Operation Info
ltltexternal systemgtgt PickPlaceRobot
ltltexternal systemgtgt AssemblyRobot
ltltentitygtgt OperationServer
24
Collaboration Diagrams Ship Part
C2 Part Request
C7 Part Complete
ltltuser interfacegtgt ProductionManager Interface
ltltstate dependent ctrlgtgt ShippingWorkStation Con
troller
ltltstate dependent ctrlgtgt lastLineWorkStation Contr
oller
B15C3 Part Coming
C4 Part Arrived
C8 Production Info
C5 Pick Place Robot Command
C6 Pick Place Robot Status
ltltactorgtgt
ltltexternal systemgtgt PickPlaceRobot
ProductionManager
Use Cases
25
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

26
Factory Automation System
ltltsystemgtgt FactoryAutomationSystem
ltltactorgtgt
Process Plan Input
ltltaggregate subsystemgtgt ProcessPlanning
ltltserver subsystemgtgt AlarmHandling Server
Process Engineer
Process Plan Info
Process Plan Info
Alarm Data
Operation Info
Alarm Request
Process Plan Request
Next Operation Request
Alarm
Operator Request
Production Input
WS Request
ltltactorgtgt
ltltactorgtgt
Start Part
ltltuser interfacegtgt Operator Interface
ltltaggregate subsystemgtgt Production Management
ltltaggregate subsystemgtgt PartProcessing
WS Data
Operator
Production Info
Display Info
Part Complete
Production Manager
Assembly Robot Command
Pick Place Robot Status
Assembly Robot Status
Pick Place Robot Command
ltltexternal systemgtgt PickPlaceRobot
ltltexternal systemgtgt AssemblyRobot
Tasks
27
Process Planning Subsystem
ltltaggregate subsystemgtgt ProcessPlanning
ltltactorgtgt
Process Plan Input
ltltuser interfacegtgt ProcessEngineer Interface
Process Engineer
Process Plan Info
Create Process Plan
Create Operation
Operation Info
Process Plan Info
ltltserver subsystemgtgt ProcessPlanningServer
Operation Request
ltltentitygtgt Operation Server
ltltentitygtgt ProcessPlan Server
Operation Info
Operation Info
Process Plan Request
Process Plan Info
Next Operation Request
ltltaggregate subsystemgtgt Production Management
ltltaggregate subsystemgtgt PartProcessing
Tasks
28
Production Management Subsystem
ltltaggregate subsystemgtgt ProductionManagement
Production Input
ltltactorgtgt
Start Part
ltltuser interfacegtgt Production Manager Interface
ltltaggregate subsystemgtgt PartProcessing
Part Complete
Production Info
Production Manager
Work Order Info
Create
Process Plan Request
ltltserver subsystemgtgt ProductionManagementServer
Process Plan Info
ltltentitygtgt WorkOrder Server
ltltserver subsystemgtgt ProcessPlanning Server
Part Info
Create
ltltentitygtgt PartServer
Tasks
29
Part Processing Subsystem
ltltserver subsystemgtgt AlarmHandling Server
ltltaggregate subsystemgtgt Process Planning
Alarm
Alarm
Next Operation Request
Operation Info
Alarm
Tasks
ltltaggregate subsystemgtgt PartProcessing
Part Complete
Part Coming
Part Coming
Start Part
ltltaggregate subsystemgtgt Production Management
ltltctrl subsystemgtgt Receiving Workstation Control
ler
ltltctrl subsystemgtgt Shipping Workstation Controll
er
ltltctrl subsystemgtgt Line Workstation Controller
Part Request
Part Request
WS Status
Pick Place Robot Command
ltltserver subsystemgtgt Workstation StatusServer
Pick Place Robot Status
Pick Place Robot Command
Assembly Robot Command
WS Data
Pick Place Robot Command
Pick Place Robot Status
WS Request
Assembly Robot Status
Pick Place Robot Status
ltltuser interfacegtgt Operator Interface
ltltexternal systemgtgt Assembly Robot
ltltexternal systemgtgt PickPlace Robot
ltltexternal systemgtgt PickPlace Robot
ltltexternal systemgtgt PickPlace Robot
30
Static Model of Composite Classes
1
Is Client of
ltltserver subsystemgtgt Process Planning Server
ltltuser interfacegtgt Process Engineer Interface
1..
1
1
Is Client of
Is Client of
Sends Part to
1
1..
1
1
1
ltltcontrol subsystemgtgt Receiving WS Controller
ltltuser interfacegtgt Production Manager Interface
ltltcontrol subsystemgtgt Line WS Controller
ltltcontrol subsystemgtgt Shipping WS Controller
1
Starts Part at
Sends Part to
Sends Part to
1
1
1
1
1
1
1
1
1
1
Sends WS status to
1
ltltserver subsystemgtgt Workstation Status Server
Is Client of
Sends Message to
1..
Is Client of
1
1
ltltuser interfacegtgt Operator Interface
ltltserver subsystemgtgt Production Management Server
Sends Alarm to
1..
Is Client of
1
1
ltltserver subsystemgtgt AlarmHandling Server
1
Sends Alarm to
1
Conceptual model
Sends Alarm to
31
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)

32
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

33
Factory Automation System Subsystem Interfaces
ltltsystemgtgt FactoryAutomationSystem
ltltactorgtgt
Process Plan Input
ltltaggregate subsystemgtgt ProcessPlanning
ltltserver subsystemgtgt AlarmHandling Server
Process Engineer
Process Plan Info
next Operation Request (in request,
out operation Info)
alarm Request (in request, out alarmData)
processPlan Request (in request, out
processPlan Info)
alarmNotification (alarmData)
alarm (alarmData)
WS_Request (in request, out wsData)
Operator Request
Production Input
ltltactorgtgt
ltltactorgtgt
startPart (partInfo)
ltltuser interfacegtgt Operator Interface
ltltaggregate subsystemgtgt Production Management
ltltaggregate subsystemgtgt PartProcessing
part Complete (partInfo)
WS Notification (wsData)
Operator
Production Info
Display Info
Production Manager
assembly RobotCommand
pickplace Robot Status
assembly RobotStatus
pickplace Robot Command
ltltexternal systemgtgt PickPlaceRobot
ltltexternal systemgtgt AssemblyRobot
Back
34
Process Planning Subsystem Subs. Interfaces
ltltaggregate subsystemgtgt ProcessPlanning
Process Plan Input
ltltactorgtgt
ltltuser interfacegtgt ProcessEngineer Interface
Process Engineer
Process Plan Info
createProcess PlanRequest (in request,
out processPlanInfo)
createOperation Request (in request, out
operationInfo)
ltltserver subsystemgtgt ProcessPlanningServer
operationRequest (in request, out operationInfo)
ltltentitygtgt Operation Server
ltltentitygtgt ProcessPlan Server
processPlanRequest (in request, out
processPlanInfo)
nextOperation Request (in request, out
operationInfo)
ltltaggregate subsystemgtgt Production Management
ltltaggregate subsystemgtgt PartProcessing
Back
35
Production Management Subsystem S. Interfaces
ltltaggregate subsystemgtgt ProductionManagement
Production Input
ltltactorgtgt
startPart (partInfo)
ltltuser interfacegtgt Production Manager Interface
ltltaggregate subsystemgtgt PartProcessing
partComplete (partInfo)
Production Info
Production Manager
workOrderRequest (in request, out workOrderInfo)
processPlanRequest (in request,
out processPlanInfo)
ltltserver subsystemgtgt ProductionManagementServer
ltltentitygtgt WorkOrder Server
ltltserver subsystemgtgt ProcessPlanning Server
partInfoRequest (in request, out partInfo)
ltltentitygtgt PartServer
Back
36
Part Processing SubsystemSubsystem Interfaces
ltltserver subsystemgtgt AlarmHandling Server
ltltaggregate subsystemgtgt Process Planning
alarm (alarmData)
alarm (alarmData)
nextOperation Request (in request, out
operationInfo)
alarm (alarmData)
Back
ltltaggregate subsystemgtgt PartProcessing
part Coming (partInfo)
part Coming (partInfo)
part Complete (partInfo)
startPart (partInfo)
ltltaggregate subsystemgtgt Production Management
ltltctrl subsystemgtgt Receiving Workstation Control
ler
ltltctrl subsystemgtgt Shipping Workstation Controll
er
ltltctrl subsystemgtgt Line Workstation Controller
part Request (partInfo)
part Request (partInfo)
ws Status (status)
pickPlace Robot Command
ltltserver subsystemgtgt Workstation StatusServer
pickPlace RobotStatus
pickPlace Robot Command
ws Notification (wsData)
pickPlace Robot Command
assembly Robot Status
wsRequest (in request, out wsData)
pickPlace Robot Status
assembly Robot Command
pickPlace RobotStatus
ltltuser interfacegtgt Operator Interface
ltltexternal systemgtgt Assembly Robot
ltltexternal systemgtgt PickPlace Robot
ltltexternal systemgtgt PickPlace Robot
ltltexternal systemgtgt PickPlace Robot
37
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

38
System Configuration
ProcessEngineer Interface 1 per Engineer
Prodution ManagerInterface 1 node
ltltInternetgtgt
ProcessPlanning Server 1 node
ProductionMa- nagementServer 1 node
AlarmHandling Server 1 node
Operator Interface 1 per operator
ltltfactory LANgtgt
Receiving WS Controller 1 node
Line WS Node 1 node
Shipping WS Controller 1 node
Write a Comment
User Comments (0)
About PowerShow.com