4 Data, Structure, and Logic
In this lab you will complete the remainder of the fourth phase of the HCCM framework, with your group. Again the goal is to give experience using the HCCM framework, and understand how to formulate the detailed components of a conceptual model. To get the lab signed off your group will need to complete the:
- data modules;
- formal definition of entities;
- transitions;
- activities;
- events;
- logic;
- and both assumptions and simplifications.
4.1 Define the Data
Firstly, you need to give detailed definitions of the data modules. You may not have collected data during car making, but complete the following table that describes the kind of data you would need to collect to simulate car making. Also add a comment on how the entry for CutTapeDuration would change if no person-by-person data was available, but an Exponential distribution that estimated the time it takes for a person to cut tape was available.
| Name | Source | Model | Type | Input | Output |
|---|---|---|---|---|---|
| NumPencils | System info | Constant | Deterministic | - | The number of pencils available |
| NumScissors | System info | Constant | Deterministic | - | The number of scissors available |
| NumTape | System info | Constant | Deterministic | - | The number of rolls of tape available |
| System info | Constant | Deterministic | - | ||
| TraceCarDur | Experimental data | Lookup | Deterministic | Person | Time to trace car |
| CutNetDur | Experimental data | Lookup | Deterministic | Person | Time to cut the net out |
| CutTapeDur | Experimental data | Lookup | Deterministic | Person | Time to cut a piece of tape |
4.2 Define the Structure
The first part of the structure to define is the entities. Table 4.2 lists the entities again, but adds attributes that the entities will need to capture the performance of the system, e.g., waiting time until the cube was cut. It is assumed that all entities have the three attributes: ID, CurrentActivity, and CurrentStart. These are omitted in the table to prevent repetition.
| Entity | Attributes |
|---|---|
| Paper | WaitForTrace[0.0] |
| WaitForCutShape[0.0] | |
| WaitForFold[0.0] | |
| WaitForTapeCube[0.0] | |
| Pencil | WaitForTrace[0.0] |
| Scissors | WaitForTask[0.0] |
| Tape | WaitForCut[0.0] |
| TapePieces | WaitForTape[0.0] |
| ArrivalTime[0.0] | |
| LeavingTime[0.0] | |
| Person | WaitForTask[0.0] |
The next part of the structure is the transitions, which describe how entities move between activities and events. Table 4.3 lists the transitions for making paper cars. These transitions are prefixed by entity of the behavioural pathway they come from. Complete the transitions for the Scissors pathway.
| Participant | Name | From Event | To Event |
|---|---|---|---|
| Paper | P.1 | Paper Created | Paper Wait for Trace.Start |
| P.2 | Paper Wait for Trace.End | Trace Car.Start | |
| P.3 | Trace Car.End | Paper Wait for Cut Net.Start | |
| P.4 | Paper Wait for Cut Net.End | Cut Car Net.Start | |
| P.5 | Cut Car Net.End | Paper Wait for Fold.Start | |
| P.6 | Paper Wait for Fold.End | Fold Car.Start | |
| P.7 | Fold Car.End | Paper Wait for Tape.Start | |
| P.8 | Paper Wait for Tape.End | Tape Car.Start | |
| P.9 | Tape Car.End | Car Finished | |
| Pencil | N.1 | Pencil/Template Created | Pencil Wait for Trace.Start |
| N.2 | Pencil Wait for Trace.End | Trace Car.Start | |
| N.3 | Trace Car.End | Pencil Wait for Trace.Start | |
| Scissors | S.1 | Scissors Created | |
| S.2 | |||
| S.3 | |||
| S.4 | |||
| S.5 | |||
| Tape | T.1 | Tape Created | Tape Wait for Cut.Start |
| T.2 | Tape Wait for Cut.End | Cut Tape.Start | |
| T.3 | Cut Tape.End | Tape Wait for Cut.Start | |
| Tape Piece | TP.1 | Tape Pieces Created | Tape Pieces Wait for Tape.Start |
| TP.2 | Tape Pieces Wait for Tape.End | Tape Car.Start | |
| TP.3 | Tape Car.End | Tape Pieces Leave | |
| Person | H.1 | Person Created | Person Wait for Task.Start |
| H.2 | Person Wait for Task.End | Trace Car.Start | |
| H.3 | Trace Car.End | Person Wait for Task.Start | |
| H.4 | Person Wait for Task.End | Cut Car Net.Start | |
| H.5 | Cut Car Net.End | Person Wait for Task.Start | |
| H.6 | Person Wait for Task.End | Fold Car.Start | |
| H.7 | Fold Car.End | Person Wait for Task.Start | |
| H.8 | Person Wait for Task.End | Cut Tape.Start | |
| H.9 | Cut Tape.End | Person Wait for Task.Start | |
| H.10 | Person Wait for Task.End | Tape Car.Start | |
| H.11 | Tape Car.End | Person Wait for Task.Start |
Table 4.4 lists the activities from the behavioural pathway diagrams along with the state changes for the start and end event of each activity. Complete the activities for:
- Paper Wait for Tape Car
- Tape Car
- Person Wait for Task (Hint look at Scissors Wait for Task)
| Activity | Participants | Event | Type | State Change |
|---|---|---|---|---|
| Paper Wait for Trace | Paper (P) | Start | Scheduled | |
| End | Controlled | |||
| Trace Car | Paper (P), Person (H), Pencil (N) | Start | Controlled | |
| End | Scheduled | |||
| Paper Wait for Cut Net | Start | |||
| End | ||||
| Cut Car Net | Paper (P), Person (H), Scissors (S) | Start | Controlled | |
| End | Scheduled | |||
| Paper Wait for Fold | Paper (P) | Start | Scheduled | |
| End | Controlled | |||
| Fold Car | Paper (P), Person (H) | Start | Controlled | |
| End | Scheduled | |||
| Paper Wait for Tape Car | Start | |||
| End | ||||
| Tape Car | Start | |||
| End | ||||
| Pencil Wait for Trace | Pencil (N) | Start | Scheduled | |
| End | Controlled | |||
| Scissors Wait for Task | Scissors (S) | Start | Scheduled | |
| End | Controlled | |||
| Cut Tape | Tape (T), Person (H), Scissors (S) | Start | Controlled | |
| End | Scheduled | |||
| Tape Wait for Cut | Tape (T) | Start | Scheduled | |
| End | Controlled | |||
| Tape Pieces Wait for Tape | Tape Pieces (TP) | Start | Scheduled | |
| End | Controlled | |||
| Person Wait for Task | Start | |||
| End |
Table 4.5 lists the events to start and finish the simulation along with the events from the behavioural pathway diagrams along with the state changes for each event. Complete the events for:
- Tape Pieces Created
- Person Created
4.3 Define the Logic
The last part of the structure to define is the logic. You need to define the logic for each of the triggers (the red squares in the behavioural paths, and TRIGGER statements in the state changes). Tables 4.6, to 4.14 show the logic for some of the triggers. Complete the logic for: - OnStartTapeWaitForCut - OnStartCubeWaitForFold - the last condition of OnStartPersonWaitForTask
4.4 Assumptions and Simplifications
What assumptions did you make when defining your model? What simplifications did you make? These details are important when communicating your model to others. List them in the box below. Remember, assumptions are beliefs about the system that we take to be true, and inform part of the model. Assumptions enable us to resolve uncertainties about the actual system. We use assumptions complete parts of the model that we do not have the information about. Simplifications are intentional changes to the model that make it different from the system being modelled. Simplifications are usually used to replace a complex part (or parts) with a simpler one, that is either more easily: defined in the conceptual model; implemented in the simulation; or communicated.
You have now completed the conceptual model of the cube making activity and you could use this model as the staring point for implementing a simulation model in JaamSim using the HCCM library. Show your work to a lab tutor to get it signed off.